fix(workflow): keep no-spec schema changes valid - #1655
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (5)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthrough
ChangesSchema-aware change creation
Estimated code review effort: 2 (Simple) | ~15 minutes Merge Risk: ⚪ Minimal · up to The change adds metadata for no-spec schemas while preserving existing behavior for schemas that generate specs; no actionable merge-blocking risk remains after normal checks and review. Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Status
LGTM. This is a surgical, backward-compatible fix for a reproduced CLI bug.
What was wrong
A custom schema with no artifact under specs/ created changes without the existing skip_specs marker. Those changes failed validation immediately even though their schema could never generate a spec delta, forcing users to edit every new .openspec.yaml by hand.
An adversarial review also found that checking schema paths without normalization could misclassify supported Windows-style paths such as specs***.md as no-spec schemas.
How it was fixed
Change creation resolves the selected schema and writes skip_specs: true only when none of its normalized artifact paths generate under specs/. The same small path predicate is shared with instruction loading so creation, status, instructions, and validation cannot drift on separator handling.
Spec-producing schemas keep their existing metadata unchanged. The existing duplicate-change error precedence is also preserved.
Replication / proof
Notes / nits
Fixes #1638