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 |
Deploying openspec-docs with
|
| Latest commit: |
569b345
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://6edf9393.openspec-docs.pages.dev |
| Branch Preview URL: | https://codex-fix-no-spec-schema-sca.openspec-docs.pages.dev |
Risk: low. Only affects changes created under a schema that has no spec artifact. Spec-producing schemas behave exactly as before.
What was wrong
If a custom schema defined no artifact under
specs/,openspec new changecreated the change without theskip_specsmarker. Validation then failed immediately with "Change must have at least one delta" — for a schema that could never produce one. Users had to hand-edit every new.openspec.yaml.What changes
Change creation checks the selected schema's artifact paths and writes
skip_specs: trueonly when none of them land underspecs/. The path check is shared with instruction loading so the two can't disagree.Why it's safe
A review found that comparing raw paths would misread Windows-style
specs\**\*.mdas a no-spec schema; paths are normalized first, with a test covering that case. Schemas that do produce specs get no new metadata.Proof
Reproduced on
main(create exits 0, validate exits 1), then fixed. End-to-end CLI regression plus POSIX/Windows/dot-prefixed path coverage. CI green on all three platforms.Fixes #1638