Implement Issue 42 feature with strict flag#44
Merged
calvingiles merged 3 commits intomainfrom Oct 31, 2025
Merged
Conversation
Implements REQ-004 to enable flexible reference resolution in DSL validation by supporting documents outside formal type definitions. Features: - UnmanagedFile type for documents without type definitions - Auto-exclusion of VCS directories (.git, .venv, node_modules) - .gitignore support (enabled by default) - .specignore support for marking unmanaged files - --strict flag for warnings on unclassified files - Option A behavior: auto-classify unmatched files as unmanaged Changes: - Added UnmanagedFile dataclass to validator.py - Updated DSLValidator to support unmanaged files - Added file classification logic (typed vs unmanaged) - Enhanced ReferenceResolver to handle unmanaged file references - Added CLI flags: --strict, --no-gitignore, --specignore-file - Created REQ-004 specification document - Added comprehensive test suite for REQ-004 Testing: - All existing tests pass (287 passed, 1 skipped) - Fixed cardinality validation loop placement bug - Verified reference resolution for typed and unmanaged files - Added test_REQ_004.py with comprehensive coverage Addresses issue #42: validate-dsl Reference Resolution Failures 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
VCS auto-exclusion now only excludes actual version control system metadata directories (.git, .hg, .svn, .bzr), not build artifacts. Build artifacts and dependencies (.venv, node_modules, __pycache__) should be excluded via .gitignore, not auto-excluded. Changes: - Updated _is_vcs_directory() to only check VCS metadata dirs - Updated REQ-004 spec to clarify the distinction - Updated AC-01 acceptance criteria - Updated test to verify VCS metadata exclusion with .gitignore Rationale: .gitignore is the standard way to exclude build artifacts and dependencies. Auto-exclusion should only handle VCS metadata that should never be scanned regardless of .gitignore configuration. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
The Addresses section should reference a Job, not just list issues. This fixes the validate-dsl check. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Resolves #41, #42