Feature/spec status indicators#34
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. 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.
Pull request overview
Adds per-change task progress indicators to the Spec Explorer by parsing each change’s openspec/changes/<change>/tasks.md and rendering status-specific icons/tooltips (missing/empty/partial/complete) with percent badges where applicable.
Changes:
- Compute change status from
tasks.mdcheckbox lines and pass it into change tree items for status-aware rendering. - Add unit tests covering all status states and parsing edge cases.
- Update the Spec Explorer specification and add change proposal/design docs; introduce progress-ring SVG assets; tweak repo configs (
.husky,.gitattributes).
Reviewed changes
Copilot reviewed 9 out of 19 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/mocks/vscode.ts | Extends VS Code test mocks to support ThemeColor / colored ThemeIcons used by the new UI. |
| src/providers/spec-explorer-provider.ts | Implements status computation from tasks.md and updates tree item rendering (icons/tooltips/percent). |
| src/providers/spec-explorer-provider.test.ts | Adds tests for missing/empty/partial/complete statuses and parsing edge cases. |
| openspec/specs/spec-explorer/spec.md | Specifies expected UX/behavior for change task progress indicators (incl. refresh behavior). |
| openspec/changes/add-change-status-indicators/tasks.md | Tracks implementation work for the new feature. |
| openspec/changes/add-change-status-indicators/proposal.md | Documents the feature motivation/approach and design considerations. |
| openspec/changes/add-change-status-indicators/design.md | Captures final decisions for states, parsing, rendering, and refresh strategy. |
| icons/progress/progress-0.svg | Adds progress-ring icon asset for 0% bucket. |
| icons/progress/progress-10.svg | Adds progress-ring icon asset for 10% bucket. |
| icons/progress/progress-20.svg | Adds progress-ring icon asset for 20% bucket. |
| icons/progress/progress-30.svg | Adds progress-ring icon asset for 30% bucket. |
| icons/progress/progress-40.svg | Adds progress-ring icon asset for 40% bucket. |
| icons/progress/progress-50.svg | Adds progress-ring icon asset for 50% bucket. |
| icons/progress/progress-60.svg | Adds progress-ring icon asset for 60% bucket. |
| icons/progress/progress-70.svg | Adds progress-ring icon asset for 70% bucket. |
| icons/progress/progress-80.svg | Adds progress-ring icon asset for 80% bucket. |
| icons/progress/progress-90.svg | Adds progress-ring icon asset for 90% bucket. |
| .husky/pre-commit | Modifies the pre-commit hook contents. |
| .gitattributes | Re-formats line-ending rules/comments for readability. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This pull request introduces task progress status indicators for each change listed in the Spec Explorer. The new feature computes and displays the completion state of each change based on its
tasks.mdfile, providing immediate visual feedback on progress, missing files, and completion. The implementation includes new parsing logic, UI updates, and comprehensive tests, as well as updated documentation and specifications.Feature: Change Status Indicators in Spec Explorer

Implementation and UI logic:
ChangeStatustype and acomputeChangeStatusmethod toSpecExplorerProviderthat parses each change'stasks.mdfile to determine its status:missing,empty,partial, orcomplete. The status is based on the presence and content of checkbox task lines, with percentage completion floored and shown for partial progress. [1] [2]Testing and validation:
Xin checkboxes. [1] [2]Documentation and specification updates:
Other:
.gitattributesformatting for clarity (no functional change)..husky/pre-commit(appears to remove the shebang and sourcing, possibly in error or for simplification).