Accept story 28: Show Remaining Test TODOs in the UI

All acceptance criteria verified. Always show story name/id in TODO
panel regardless of story count. Archive story.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Dave
2026-02-19 16:04:05 +00:00
parent 62905a6373
commit b4f2eacea6
3 changed files with 14 additions and 18 deletions

View File

@@ -4,10 +4,10 @@
As a user, I want the UI to show the remaining test TODOs for the current story, so I can track which Acceptance Criteria are still untested. As a user, I want the UI to show the remaining test TODOs for the current story, so I can track which Acceptance Criteria are still untested.
## Acceptance Criteria ## Acceptance Criteria
- The UI lists unchecked acceptance criteria (`- [ ]`) from the current story file. - [x] The UI lists unchecked acceptance criteria (`- [ ]`) from the current story file.
- Each TODO is displayed as its full text. - [x] Each TODO is displayed as its full text.
- When a criterion is checked off in the story file (`- [x]`), it disappears from the TODO list. - [x] When a criterion is checked off in the story file (`- [x]`), it disappears from the TODO list.
- If no unchecked criteria remain, the UI clearly indicates completion. - [x] If no unchecked criteria remain, the UI clearly indicates completion.
## Out of Scope ## Out of Scope
- Editing or checking off criteria from the UI. - Editing or checking off criteria from the UI.

View File

@@ -176,9 +176,7 @@ export function ChatHeader({
}} }}
> >
<optgroup label="Claude Code (PTY)"> <optgroup label="Claude Code (PTY)">
<option value="claude-code-pty"> <option value="claude-code-pty">claude-code-pty</option>
claude-code-pty
</option>
</optgroup> </optgroup>
{(claudeModels.length > 0 || !hasAnthropicKey) && ( {(claudeModels.length > 0 || !hasAnthropicKey) && (
<optgroup label="Anthropic"> <optgroup label="Anthropic">

View File

@@ -143,7 +143,6 @@ export function TodoPanel({
.filter((s) => s.items.length > 0) .filter((s) => s.items.length > 0)
.map((story) => ( .map((story) => (
<div key={story.storyId}> <div key={story.storyId}>
{todos.length > 1 && (
<div <div
style={{ style={{
fontSize: "0.8em", fontSize: "0.8em",
@@ -153,7 +152,6 @@ export function TodoPanel({
> >
{story.storyName ?? story.storyId} {story.storyName ?? story.storyId}
</div> </div>
)}
<ul <ul
style={{ style={{
margin: "0 0 0 16px", margin: "0 0 0 16px",