Skip to content

Feature/spec status indicators#34

Open
macro88 wants to merge 3 commits into
atman-33:mainfrom
macro88:feature/spec-status-indicators
Open

Feature/spec status indicators#34
macro88 wants to merge 3 commits into
atman-33:mainfrom
macro88:feature/spec-status-indicators

Conversation

@macro88
Copy link
Copy Markdown

@macro88 macro88 commented Apr 29, 2026

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.md file, 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
image

Implementation and UI logic:

  • Added a ChangeStatus type and a computeChangeStatus method to SpecExplorerProvider that parses each change's tasks.md file to determine its status: missing, empty, partial, or complete. The status is based on the presence and content of checkbox task lines, with percentage completion floored and shown for partial progress. [1] [2]
  • Updated the tree item rendering logic to display different icons, theme colors, percent badges, and tooltips according to the computed status. The percent is shown only for partial and complete states, and tooltips provide context for each state.

Testing and validation:

  • Added comprehensive unit tests to cover all status states and edge cases in task parsing, including leading whitespace, no checkbox lines, mixed content, and the handling of uppercase X in checkboxes. [1] [2]

Documentation and specification updates:

  • Added a detailed design document and proposal describing the status indicator feature, parsing rules, UI decisions, and open questions. [1] [2]
  • Updated the Spec Explorer specification to require and describe the new task progress indicator, including all relevant user scenarios.
  • Added a task list for implementation tracking.

Other:

  • Minor update to .gitattributes formatting for clarity (no functional change).
  • Minor update to .husky/pre-commit (appears to remove the shebang and sourcing, possibly in error or for simplification).

Copilot AI review requested due to automatic review settings April 29, 2026 09:30
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 29, 2026

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 5696c574-c7d3-49a2-9e5e-3cb0e0bcaac7

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


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
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

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.md checkbox 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.

Comment thread src/providers/spec-explorer-provider.ts Outdated
Comment thread src/providers/spec-explorer-provider.ts Outdated
Comment thread src/providers/spec-explorer-provider.ts
Comment thread .husky/pre-commit
Comment thread openspec/changes/add-change-status-indicators/proposal.md Outdated
Comment thread openspec/changes/add-change-status-indicators/design.md
Comment thread openspec/changes/add-change-status-indicators/design.md Outdated
Comment thread openspec/changes/add-change-status-indicators/design.md Outdated
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