Skip to content

docs: fix openspec status examples in cli.md#761

Open
fsilvaortiz wants to merge 1 commit intoFission-AI:mainfrom
fsilvaortiz:fix/cli-status-docs
Open

docs: fix openspec status examples in cli.md#761
fsilvaortiz wants to merge 1 commit intoFission-AI:mainfrom
fsilvaortiz:fix/cli-status-docs

Conversation

@fsilvaortiz
Copy link

@fsilvaortiz fsilvaortiz commented Feb 25, 2026

Summary

  • Fixed text output example: replaced incorrect // indicators with actual [x]/[ ]/[-], added Progress: header, fixed artifact order
  • Fixed JSON output example: replaced incorrect field names (changechangeName, schemaschemaName, status: "complete"status: "done"), added missing fields (isComplete, applyRequires, outputPath, missingDeps), removed non-existent fields (next, requires)

Test plan

  • Created a test project with partial artifacts and ran openspec status --change <name> — text output matches documented example
  • Ran openspec status --change <name> --json — every field name and value matches documented example
  • Verified artifact ordering matches real schema dependency order (proposal → design → specs → tasks)

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Updated CLI status command documentation to accurately reflect actual output format and structure.
    • Corrected JSON field names and artifact properties in examples.
    • Updated text output formatting with proper status indicators.
    • Added guidelines for verifying documentation accuracy against live CLI output.

…tput

The text and JSON output examples for the status command used incorrect
field names, indicators, and structure. Updated to match real CLI output,
validated against a test project with partial artifacts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@fsilvaortiz fsilvaortiz requested a review from TabishB as a code owner February 25, 2026 19:48
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 25, 2026

📝 Walkthrough

Walkthrough

This pull request updates CLI status documentation to align with actual command output. Changes include JSON field renames (changeName, schemaName), new fields (isComplete, applyRequires), simplified status values, and UI indicator updates. All changes are documentation-focused with no functional code modifications.

Changes

Cohort / File(s) Summary
Changeset & Documentation
.changeset/fix-cli-status-docs.md, docs/cli.md
Documents and applies CLI status output corrections: JSON field renames (change→changeName, schema→schemaName), adds isComplete/applyRequires/outputPath/missingDeps fields, updates artifact status indicators, and refreshes text output examples with checkbox-like representation ([x]/[ ]/[-]).
OpenSpec Change Metadata
openspec/changes/fix-cli-status-docs/.openspec.yaml
Adds metadata configuration file marking this as a spec-driven change created on 2026-02-25.
OpenSpec Design & Documentation
openspec/changes/fix-cli-status-docs/design.md, openspec/changes/fix-cli-status-docs/proposal.md, openspec/changes/fix-cli-status-docs/tasks.md
Specifies design decisions, goals, validation steps, and tasks for aligning CLI documentation with actual output; references source of truth in src/commands/workflow/status.ts and src/commands/workflow/shared.ts.
OpenSpec Agent Instructions
openspec/changes/fix-cli-status-docs/specs/docs-agent-instructions/spec.md
Defines requirements and validation scenarios for CLI status documentation accuracy, including indicator symbols, field names, and output format expectations.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

Suggested labels

codex

Suggested reviewers

  • TabishB

Poem

🐰 Hop hop, the docs now gleam so bright,
JSON fields aligned with output's light,
Checkboxes dance where statuses were long,
Truth and docs together, now they're strong!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'docs: fix openspec status examples in cli.md' accurately summarizes the main change—correcting documentation examples in cli.md to align with actual CLI output.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/cli.md`:
- Around line 442-445: The doc has an ordering inconsistency for the
"spec-driven" flow: one section shows "proposal → design → specs → tasks" while
another shows "proposal → specs → design → tasks"; pick the correct canonical
order for the spec-driven flow (or add a short note explaining why the two
orders differ) and update all occurrences to match; search for the "spec-driven"
heading and the sequences "proposal → design → specs → tasks" and "proposal →
specs → design → tasks" (and the nearby mention affecting the section noted as
"Also applies to: 457-460") and make the text consistent or add the explicit
explanation.

ℹ️ Review info

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d7d1860 and ef68ba2.

📒 Files selected for processing (7)
  • .changeset/fix-cli-status-docs.md
  • docs/cli.md
  • openspec/changes/fix-cli-status-docs/.openspec.yaml
  • openspec/changes/fix-cli-status-docs/design.md
  • openspec/changes/fix-cli-status-docs/proposal.md
  • openspec/changes/fix-cli-status-docs/specs/docs-agent-instructions/spec.md
  • openspec/changes/fix-cli-status-docs/tasks.md

Comment on lines +442 to +445
[x] proposal
[ ] design
[x] specs
[-] tasks (blocked by: design)
Copy link
Contributor

@coderabbitai coderabbitai bot Feb 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Potential ordering inconsistency within the same doc for spec-driven flow.
This example shows proposal → design → specs → tasks, but Line 585 still says proposal → specs → design → tasks. Please align both sections (or explicitly explain why they differ).

Also applies to: 457-460

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cli.md` around lines 442 - 445, The doc has an ordering inconsistency
for the "spec-driven" flow: one section shows "proposal → design → specs →
tasks" while another shows "proposal → specs → design → tasks"; pick the correct
canonical order for the spec-driven flow (or add a short note explaining why the
two orders differ) and update all occurrences to match; search for the
"spec-driven" heading and the sequences "proposal → design → specs → tasks" and
"proposal → specs → design → tasks" (and the nearby mention affecting the
section noted as "Also applies to: 457-460") and make the text consistent or add
the explicit explanation.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch on the ordering difference — this is intentional and both are correct for their respective contexts:

  • Line 585 documents the openspec schemas command, which shows the schema's canonical definition order: proposal → specs → design → tasks. This reflects how the schema declares its artifacts.
  • The status examples (lines ~437–463) document the openspec status command, which shows the topological sort order: proposal → design → specs → tasks. This reflects how the CLI actually outputs status.

specs and design are parallel — both depend only on proposal — so neither ordering is "wrong"; they just come from different sources (schema definition vs. runtime topological sort).

Since the goal of this PR is to make the status examples match the actual CLI output, the status section must use the topological sort order. Line 585 correctly reflects the schema definition order for a different command.

No change needed here.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@fsilvaortiz, thank you for the detailed clarification! That makes complete sense now. Topological sorting can produce multiple valid orderings for graphs with parallel dependencies, and since specs and design both depend only on proposal, either order is valid depending on the context.

I appreciate you explaining the distinction:

  • Schema definition order (Line 585) = how the schema artifact flow is declared
  • Topological sort order (status output) = how the CLI runtime actually outputs the artifacts

Since your PR is ensuring the docs match the actual CLI behavior, using the topological sort order in the status examples is absolutely correct. Apologies for the noise on this one!


✏️ Learnings added
Learnt from: fsilvaortiz
Repo: Fission-AI/OpenSpec PR: 761
File: docs/cli.md:442-445
Timestamp: 2026-02-25T20:02:43.381Z
Learning: In the OpenSpec spec-driven schema, `specs` and `design` artifacts are parallel dependencies that both depend only on `proposal`. This means either can appear first in a topological sort, and both orderings are valid depending on the specific sort algorithm used.

Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.


🧠 Learnings used
Learnt from: CR
Repo: Fission-AI/OpenSpec PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-11-25T01:08:02.839Z
Learning: Use `@/openspec/AGENTS.md` to learn how to create and apply change proposals, spec format and conventions, and project structure and guidelines

Learnt from: CR
Repo: Fission-AI/OpenSpec PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-11-25T01:08:02.839Z
Learning: Always open `@/openspec/AGENTS.md` when the request mentions planning or proposals (words like proposal, spec, change, plan), introduces new capabilities, breaking changes, architecture shifts, or performance/security work, or sounds ambiguous and needs the authoritative spec before coding

@greptile-apps
Copy link

greptile-apps bot commented Feb 25, 2026

Greptile Summary

Fixed documentation examples in docs/cli.md for the openspec status command to accurately reflect the actual CLI output format.

Changes made:

  • Corrected text output format indicators from // to [x]/[ ]/[-]
  • Added missing Progress: header line in text output
  • Fixed JSON field names (changeName/schemaName instead of change/schema, status: "done" instead of status: "complete")
  • Added missing JSON fields (isComplete, applyRequires, outputPath, missingDeps)
  • Removed non-existent fields (next, requires in artifacts)
  • Corrected artifact ordering to match schema dependency order (proposal → design → specs → tasks)

The changes were validated against the actual CLI implementation in src/commands/workflow/status.ts and tested with real command output as documented in the test plan.

Confidence Score: 5/5

  • This PR is completely safe to merge with zero risk
  • Documentation-only fix that corrects misleading examples to match actual CLI implementation. Changes were thoroughly validated against the source code (src/commands/workflow/status.ts, src/commands/workflow/shared.ts, src/core/artifact-graph/instruction-loader.ts) and tested with real command output. No code changes, no behavioral changes, and includes proper changeset.
  • No files require special attention

Important Files Changed

Filename Overview
docs/cli.md Fixed openspec status examples to match actual CLI output (text indicators and JSON field names)
.changeset/fix-cli-status-docs.md Added proper changeset documenting the documentation fix

Last reviewed commit: ef68ba2

Copy link
Contributor

@TabishB TabishB left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey, you don't have to produce a spec change for just a docs update. These can be made directly. A spec here doesn't really make sense anyway. Could you remove the changeset to please! Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants