Commit 596ffbe
Revise and consolidate exclusion design document
Comprehensive rewrite of exclusion-design.md to consolidate multiple
iterations into a coherent, self-consistent design specification.
Key design decisions finalized:
- Drop --exclude/-x CLI flags (redundant with inline syntax)
- Keep jgo exclude command for managing jgo.toml (add/remove/list)
- Use inline syntax for per-coordinate exclusions in jgo.toml
- Simplified grammar: repeat x: for each exclusion to avoid ambiguity
Grammar simplification:
- Old: (x:excl1,excl2) - ambiguous comma usage
- New: (x:excl1,x:excl2) - unambiguous, each exclusion self-contained
- Eliminates nested comma confusion (e.g., is 'c' in (x:foo,c) part of
the exclusion list or a separate modifier?)
Cache key bug documented as FIXED:
- Changed from Component (G:A:V) to Dependency (G:A:V:C:P + exclusions)
- Different classifiers now get different caches
- Ready for exclusions (already in cache key design)
Document structure improved:
- Clear three-tier hierarchy: endpoint syntax → jgo.toml → jgo exclude
- Comprehensive examples for all use cases
- Phased implementation checklist
- Alternatives considered with rationale
All sections updated for consistency and accuracy with actual implementation.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <[email protected]>1 parent 9d0faf3 commit 596ffbe
1 file changed
+715
-365
lines changed
0 commit comments