Commit Graph

1943 Commits

Author SHA1 Message Date
Dave
f2f558c646 Move all server deps to workspace, alphabetize
Convert serde_yaml, toml, async-stream, bytes, and tempfile from
inline versions to workspace dependencies. Alphabetize both
workspace and server dependency lists.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 11:21:12 +00:00
Dave
daee1000df story-kit: remove 4_bug_run_button_does_not_start_agent 2026-02-23 11:18:10 +00:00
Dave
fc128c474b Delete dead e2e tests for removed panels
Remove tdd-gates, story-todos, and test-protection e2e specs that
tested deleted GatePanel, TodoPanel, and ReviewPanel. Rename the
surviving boot smoke test from review-panel.spec.ts to smoke.spec.ts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 11:17:43 +00:00
Dave
4615381c41 story-kit: accept 56_story_auto_increment_work_item_ids 2026-02-20 19:48:06 +00:00
Dave
5f6cf373e2 story-kit: start 56_story_auto_increment_work_item_ids 2026-02-20 19:46:06 +00:00
Dave
7b506974a5 story-kit: accept 61_spike_filesystem_watcher_architecture 2026-02-20 19:45:15 +00:00
Dave
2f625a60c8 story-kit: create 62_story_allow_frontend_ui_to_accept_permissions_requests 2026-02-20 19:41:55 +00:00
Dave
b348ce8381 story-kit: create 62_story_allow_frontend_ui_to_accept_permissions_requests 2026-02-20 19:41:54 +00:00
Dave
810608d3d8 Spike 61: filesystem watcher and UI simplification
Add notify-based filesystem watcher for .story_kit/work/ that
auto-commits changes with deterministic messages and broadcasts
events over WebSocket. Push full pipeline state (Upcoming, Current,
QA, To Merge) to frontend on connect and after every watcher event.

Strip dead UI: remove ReviewPanel, GatePanel, TodoPanel,
UpcomingPanel and all associated REST polling. Replace with 4
generic StagePanel components driven by WebSocket. Simplify
AgentPanel to roster-only.

Delete all 11 workflow HTTP endpoints and 16 request/response types
from the server. Clean dead code from workflow module. MCP tools
call Rust functions directly and need none of the HTTP layer.

Net: ~4,100 lines deleted, ~400 added.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 19:39:19 +00:00
Dave
65b104edc5 story-kit: create story 62_story_allow_frontend_ui_to_accept_permissions_requests 2026-02-20 19:25:50 +00:00
Dave
ece46b2232 story-kit: create story 62_story_stretch_stu_s_nutsack 2026-02-20 19:22:11 +00:00
Dave
a160bde26b Spike 61: document findings and mark success criteria done
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-20 18:25:56 +00:00
Dave
a57ac257a2 story-kit: start spike 61 - Filesystem Watcher Architecture
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 17:55:28 +00:00
Dave
99613d095e Accept story 53: QA Agent Role
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 17:46:06 +00:00
Dave
122f481ab9 Story 53: Add QA agent role with request_qa MCP tool
- Add `qa` agent entry to `.story_kit/project.toml` with a detailed
  prompt covering code quality scan, test verification, manual testing
  support, and structured report generation
- Add `move_story_to_qa` function in `agents.rs` that moves a work item
  from `work/2_current/` to `work/3_qa/` and auto-commits (idempotent)
- Add `request_qa` MCP tool in `mcp.rs` that moves the story to
  `work/3_qa/` and starts the QA agent on the existing worktree
- Add unit tests for `move_story_to_qa` (moves, idempotent, error cases)
- Update `tools_list_returns_all_tools` test to expect 27 tools

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-20 17:45:43 +00:00
Dave
4a726e74c0 Add spike 61: Filesystem Watcher Architecture
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 17:44:30 +00:00
Dave
52f3a0efe0 Add .gitkeep to all work pipeline directories
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 17:38:52 +00:00
Dave
697217d8a2 story-kit: start 53_story_qa_agent_role 2026-02-20 17:37:52 +00:00
Dave
bd0e7b0017 Accept story 52: Mergemaster Agent Role
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 17:37:03 +00:00
Dave
9dab18d597 Story 52: Mergemaster agent role with merge_agent_work MCP tool
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 17:36:35 +00:00
Dave
9be55ad198 Update story 55: scope to Upcoming panel only
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 17:28:53 +00:00
Dave
9c2a4e3550 story-kit: start 52_story_mergemaster_agent_role 2026-02-20 17:25:51 +00:00
Dave
38f2656aee Accept story 60: Status-Based Directory Layout
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 17:24:40 +00:00
Dave
e15fbffbb8 Fix 25 tests for work/ directory restructure (story 60)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 17:24:26 +00:00
Dave
e1e0d49759 Story 60: Status-Based Directory Layout with work/ pipeline
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 17:17:12 +00:00
Dave
5fc085fd9e Accept story 54: Cross-Platform Binary Distribution
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 17:15:48 +00:00
Dave
158550e889 Story 54: add cross-platform binary distribution support
- Add Makefile with build-macos and build-linux targets
  - build-macos: cargo build --release (native macOS binary)
  - build-linux: cross build --release --target x86_64-unknown-linux-musl
    (produces a fully static binary via Docker/cross; zero dynamic deps)
- Document cross-platform build process in README.md including
  how to verify macOS dynamic deps (otool -L) and Linux static
  linking (file + ldd)
- reqwest 0.13 already uses rustls by default (no OpenSSL); verified
  in Cargo.lock – no Cargo.toml changes needed
- Add unit tests to http/assets.rs covering:
  - SPA fallback routing for non-asset paths
  - 404 for missing assets/ paths
  - Panic-free behaviour on empty path
  - rust-embed EmbeddedAssets iter compiles and runs correctly

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-20 17:15:28 +00:00
Dave
d496b9a839 story-kit: set test_plan to approved for story 54_cross_platform_binary_distribution 2026-02-20 17:10:07 +00:00
Dave
9ff6548bc0 Add .git/ to .ignore to prevent cargo watch restarts on commits
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 17:04:02 +00:00
Dave
b6d239d857 story-kit: start 54_cross_platform_binary_distribution 2026-02-20 16:58:58 +00:00
Dave
8568e868a6 Fix ls permission pattern: use space instead of colon
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 16:58:00 +00:00
Dave
6a9fb1cbc4 Update stories 52, 53, 59 with work/ directory paths
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 16:57:04 +00:00
Dave
7663d0ddc3 Simplify story 60: accept moves from 2_current to 5_archived only
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 16:55:29 +00:00
Dave
ee20791a18 Update story 60: add numbered work/ directory structure
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 16:53:28 +00:00
Dave
9d884eaf28 story-kit: start 60_status_based_directory_layout 2026-02-20 16:44:53 +00:00
Dave
4e3428f591 Broaden Claude Code permissions to reduce approval prompts
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 16:44:26 +00:00
Dave
dd4fa1f851 Accept story 49: Deterministic Bug Lifecycle Management
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 16:41:39 +00:00
Dave
2d28304a41 Story 49: Deterministic Bug Lifecycle Management
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 16:41:04 +00:00
Dave
b76b5df8c9 Add story 60: Status-Based Directory Layout
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 16:39:41 +00:00
Dave
5375be27b1 Add .gitkeep to .story_kit/current/
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 16:28:48 +00:00
Dave
4e0fdb2abc Remove stories/current/ — replaced by unified .story_kit/current/
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 16:28:34 +00:00
Dave
8c7a2b9c83 Accept story 50: migrate to unified .story_kit/current/, add stories 55-59
- Move stories/current/ → .story_kit/current/
- Archive story 50
- Add story 55: Live Story Panel Updates
- Add story 57: Live Test Gate Updates
- Add story 58: Live Agent Panel Updates
- Add story 59: Current Work Panel

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 16:25:43 +00:00
Dave
7f672cae5f Story 50: Unified Current Work Directory
- Move current/ to .story_kit/current/ (out of stories/)
- Type-aware routing for bugs, spikes, stories
- close_bug_to_archive() for bug lifecycle
- All path references updated across agents.rs, workflow.rs, mcp.rs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 16:25:08 +00:00
Dave
b689466a61 Updated toml a bit - still more to go 2026-02-20 16:13:05 +00:00
Dave
94ec5ddf7d Deduplicate story numbers, add stories 52-56
- Remove duplicate 52 (was renumbered copy of story 50)
- Renumber agent-created stories: 50→54, 53→55
- Add story 52: Mergemaster Agent Role
- Add story 53: QA Agent Role
- Add story 56: Auto-Increment Work Item IDs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 16:11:28 +00:00
Dave
9d41cdddd2 Add story 53: WebSocket push notifications for panel auto-refresh
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 16:03:09 +00:00
Dave
3e22654681 Fix leftover merge conflict markers in Chat.test.tsx
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 15:59:45 +00:00
Dave
024fb2b4b8 Accept story 48: Two Column Layout
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 15:56:34 +00:00
Dave
e7d4590997 Story 48: Two Column Layout — Chat Left, Panels Right
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 15:56:28 +00:00
Dave
6f6f9983a7 Renumber story 50 (unified current work directory) to 52 to avoid duplicate
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 15:54:51 +00:00