Commit e4b78f5
committed
feat: plan annotations, code review mode, E2E test scenarios in spec workflow
Console — Plan Annotation UI (Spec tab):
- Block-based markdown rendering with native Selection API in Specifications tab
- Select any text in annotate mode → write free-text note → auto-saves to JSON immediately
- Single annotation type (free-text only — no DELETION/INSERTION/REPLACEMENT sub-types)
- Removed type toolbar and 'Add general comment' button
- View/Review toggle next to Specifications title; smart default (annotate for unapproved PENDING, view otherwise)
- AnnotationPanel, AnnotationToolbar, BlockRenderer, PlanAnnotator, useAnnotation, parser components
Console — Code Review Mode (Changes tab):
- View/Review toggle moved to Changes page header (previously buried in DiffPanel)
- Inline diff annotations: click '+' on any hunk line, write note, auto-saves to unified JSON
- Staged/unstaged counts in file list sidebar header
- CodeReviewPanel, CodeReviewWidget, useCodeReview components extracted
Console — Unified Annotation Storage:
- Single JSON per spec at docs/plans/.annotations/{plan-filename}.json
- Both planAnnotations and codeReviewAnnotations in one file
- Auto-save on every change (debounced) — no 'Send Feedback' button anywhere
- Removed feedback markdown file generation entirely
- AnnotationRoutes.ts and annotationStore.ts refactored to unified model
- Active spec resolution for Changes tab scopes code review annotations per spec
Console — Sidebar + Layout:
- Sidebar reorder: Dashboard → Changes → Specifications → Extensions → ...
- Changes and Specifications now adjacent for the plan→review→verify flow
Spec Commands — E2E Test Scenarios:
- spec-plan Step 1.5.2: write structured TS-NNN scenarios during planning for UI features
(step table, priority, preconditions, mapped tasks — agent-browser executable)
- Task structure gains 'Mapped Scenarios' field; plan template gains '## E2E Test Scenarios' section
- spec-verify Step 3.9 refactored: executes plan's TS-NNN scenarios with TaskCreate tracking,
fix attempts (max 2 → known issue escalation), results written to '## E2E Results' in plan file
- spec-bugfix-plan: Verification Scenario for UI-facing bugs (single TS-001 acceptance scenario)
- spec-bugfix-verify Step 3.5b: executes verification scenario, loops back on 2-attempt failure
- Console Spec view: E2E Test Scenarios, E2E Results, Verification Scenario added to DISPLAYED_SECTIONS with icons
Spec Commands — Annotation JSON Integration:
- spec-plan Step 1.7b and spec-bugfix-plan Step 1.4b read planAnnotations from unified JSON
- spec-verify Step 3.12b and spec-bugfix-verify Step 3.7b read codeReviewAnnotations from unified JSON
- All annotation feedback steps updated to DELETE via new /api/annotations endpoints
Launcher — Worktree Sync Auto-Stash:
- sync_worktree() now auto-stashes uncommitted changes on base branch before merging
- Stash is preserved (never dropped) if restore encounters conflicts
- spec-verify and spec-bugfix-verify: removed pre-sync working tree cleanliness check
- Fixes GitHub issue #119 ('Main branch has an unstashed file')
Rules + Commands — playwright-cli → agent-browser:
- pilot/rules/playwright-cli.md removed; pilot/rules/agent-browser.md added
- All spec commands, rules, and settings updated to reference agent-browser
Installer:
- finalize.py: kill stale Console worker (port 41777) on install so new files take effect immediately
- dependencies.py: agent-browser replaces playwright-cli in dependency checks
- shell_config.py: encoding improvements
Other:
- LICENSE: Enterprise Source Code License clause for 100+ seat organizations
- settings.json: autoDreamEnabled; removed CLAUDE_CODE_MAX_OUTPUT_TOKENS/EFFORT_LEVEL overrides; agent-browser tip
- pilot/ui/: viewer bundle rebuilt with annotation components (PlanAnnotator.js)
- README, Docusaurus, site: updated spec workflow descriptions, E2E scenarios, console features
- docs/docusaurus: remote-control.md removed, console.md expanded with annotation features1 parent 641c0e4 commit e4b78f5
88 files changed
Lines changed: 1081 additions & 809 deletions
File tree
- console
- src
- cli/handlers
- services
- worker/http/routes
- utils
- ui/viewer
- components
- hooks
- layouts/Sidebar
- views
- Changes
- review
- Spec
- annotation
- tests
- annotation
- server
- ui
- worker
- utils
- docs
- docusaurus
- docs
- features
- getting-started
- workflows
- site/src/components
- installer
- steps
- tests/unit/steps
- launcher
- tests/unit
- pilot
- commands
- rules
- scripts
- ui
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
224 | 224 | | |
225 | 225 | | |
226 | 226 | | |
| 227 | + | |
| 228 | + | |
227 | 229 | | |
228 | 230 | | |
229 | 231 | | |
| |||
247 | 249 | | |
248 | 250 | | |
249 | 251 | | |
| 252 | + | |
250 | 253 | | |
251 | 254 | | |
252 | 255 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
70 | 70 | | |
71 | 71 | | |
72 | 72 | | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
73 | 85 | | |
74 | 86 | | |
75 | 87 | | |
| |||
94 | 106 | | |
95 | 107 | | |
96 | 108 | | |
97 | | - | |
98 | | - | |
99 | | - | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
100 | 114 | | |
101 | 115 | | |
102 | 116 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
| 51 | + | |
| 52 | + | |
51 | 53 | | |
52 | 54 | | |
53 | 55 | | |
| |||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
0 commit comments