fix(status): clarify planning completion - #1505
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughThe status payload now exposes ChangesPlanning completion status
Estimated code review effort: 2 (Simple) | ~15 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 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 |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@openspec/specs/cli-artifact-workflow/spec.md`:
- Around line 29-30: Update the isPlanningComplete contract in
openspec/specs/cli-artifact-workflow/spec.md lines 29-30 so all non-skipped
planning artifacts must exist, while skipped artifacts count as satisfied;
retain isComplete as the same-value compatibility alias. Apply the same
definition in docs/agent-contract.md line 58, while preserving the rule that
skipped artifacts must not be created.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 014ddf96-3081-4d8a-8597-65c06140bbc9
📒 Files selected for processing (11)
docs/agent-contract.mddocs/cli.mdopenspec/specs/cli-artifact-workflow/spec.mdskills/openspec-continue-change/SKILL.mdskills/openspec-update-change/SKILL.mdsrc/core/artifact-graph/instruction-loader.tssrc/core/templates/workflows/continue-change.tssrc/core/templates/workflows/update-change.tstest/commands/artifact-workflow.test.tstest/core/artifact-graph/instruction-loader.test.tstest/core/templates/skill-templates-parity.test.ts
alfred-openspec
left a comment
There was a problem hiding this comment.
Approved at exact head fb4b708. The new field preserves the existing contract while making planning completion explicit; a fresh build, lint, strict spec validation, and 143 focused status, template, and skipped-artifact tests pass.
alfred-openspec
left a comment
There was a problem hiding this comment.
Exact head bf14eb9 is clean. Planning completion remains backward-compatible in JSON, skipped artifacts count correctly, human guidance no longer conflates planning with implementation, and store-aware apply instructions are preserved. A fresh build and 147 focused workflow, loader, store-lifecycle, and parity tests pass, with hosted CI green.
2dd68de to
9fc1522
Compare
alfred-openspec
left a comment
There was a problem hiding this comment.
Re-reviewed the rebased head. Planning completion remains backward-compatible, skipped artifacts count correctly, archive guidance is implementation-aware, 153 focused workflow/loader/store/parity tests and strict spec validation pass locally, and the full hosted matrix is green.
Status
LGTM. This remains a backward-compatible clarification of the existing status contract.
What was wrong
openspec status --jsonreportsisComplete: truewhen every planning artifact exists. That name led agents to interpret the change as fully implemented even when tracked implementation work was unfinished.The continue workflow, human status summary, and completion next step reinforced that ambiguity by saying all artifacts were complete, assuming a task file existed, or directing users to review tasks before implementation even when implementation had already started.
How it was fixed
isPlanningCompletewith the same value and keepisCompleteunchanged as a compatibility alias.Planning is complete!and advise archiving only after implementation and any tracked work are complete, which also supports custom schemas without a task file.All planning artifacts complete!in human output instead of the ambiguousAll artifacts complete!.nextStepsstage-neutral by directing users toopenspec instructions apply ... --jsonto inspect implementation progress, preserving--storewhen supplied.No command flags, schemas, storage, task semantics, or architecture changes.
Replication / proof
A CLI regression creates all 4 planning artifacts with 1 unchecked task. Status reports
isPlanningComplete: true, while apply instructions still reportstate: "ready"andremaining: 1. Completed-planning status now points to apply instructions rather than assuming implementation has not begun.A black-box regression covers
skip_specs: true: status reports planning complete, the compatibility alias has the same value, the specs artifact isskipped, and no specs directory is created. A store lifecycle regression confirms the apply next step retains the selected store.Generated-workflow coverage rejects both the old
All artifacts created!message and guidance that offers archive as an alternative when only planning is complete.Validation completed:
npxNotes / nits
The legacy
isCompletefield is not removed or redefined, so existing consumers keep their current behavior.Fixes #795
Summary by CodeRabbit
isPlanningCompletetostatus --jsonto indicate when all planning artifacts are complete.isCompleteremains available as a compatibility alias for older integrations.