Commit Graph

81 Commits

Author SHA1 Message Date
Dave
b1b9799e9e Add story 50: Unified Current Work Directory
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 15:42:41 +00:00
Dave
cb29601c55 Add story 49: Deterministic Bug Lifecycle Management
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 15:41:13 +00:00
Dave
e7c4f31e34 Add story 50: cross-platform binary distribution with musl
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 15:38:03 +00:00
Dave
1331992724 Accept story 46: Deterministic Story Mutations with Auto-Commit
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 15:34:47 +00:00
Dave
ee844c0fa9 Move stories 46 and 48 to current (agents working on them)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 15:30:49 +00:00
Dave
efb0f65f98 Move bug 47 to .story_kit/bugs/
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 15:24:45 +00:00
Dave
95364cdd74 Move bug 47 to bugs/ folder
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 15:23:48 +00:00
Dave
dd40b248e3 Add bug 47: Fix Collect Coverage button error
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 15:20:02 +00:00
Dave
5c164f4855 Accept story 45: Deterministic Story Lifecycle Management
- accept_story MCP tool moves current/ to archived/
- move_story_to_archived helper with idempotent behavior
- start_agent auto-moves upcoming/ to current/

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 15:09:39 +00:00
Dave
42640fba6a Accept story 44: Agent Completion Report via MCP
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 15:02:41 +00:00
Dave
1b71449dd0 Story 44: Agent Completion Report via MCP
- report_completion MCP tool for agents to signal done
- Rejects if worktree has uncommitted changes
- Runs acceptance gates (clippy, tests) automatically
- Stores completion status on agent record
- 10 new tests

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 15:02:34 +00:00
Dave
679370e48a Add story 46: Deterministic Story Mutations with Auto-Commit
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 14:58:14 +00:00
Dave
7aa337d81b Update story 45: accept_story needs MCP tool not just REST
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 14:55:28 +00:00
Dave
8003a98a35 Update story 44: server auto-commits instead of rejecting uncommitted changes
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 14:51:57 +00:00
Dave
fc93475c78 Accept story 37: Editor Command for Worktrees
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 14:49:57 +00:00
Dave
53d9795e31 Move story 45 to current
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 14:32:57 +00:00
Dave
258d1c6b8b Move stories 37 and 44 to current
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 14:32:20 +00:00
Dave
7bcc87fcfe Add story 45: Deterministic Story Lifecycle Management
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 14:32:01 +00:00
Dave
de3c204165 Accept story 43: Unified Chat UI for Claude Code and Regular Chat
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 14:26:53 +00:00
Dave
44bc82d23a Story 43: Unified chat UI for Claude Code and regular chat
Integrate Claude Code provider into the chat UI alongside regular
Ollama/Anthropic providers. Updates AgentPanel and Chat components.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 14:26:40 +00:00
Dave
42c21f680b Accept story 42: Deterministic Worktree Management via REST/MCP API
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 14:22:24 +00:00
Dave
a9d45bbcd5 Story 42: Deterministic worktree management via REST/MCP API
Add REST and MCP endpoints for creating, listing, and removing worktrees.
Includes worktree lifecycle management and cleanup operations.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 14:22:09 +00:00
Dave
91534b4a59 Accept story 38: Auto-Open Project on Server Startup
Server detects .story_kit/ in cwd or parent directories at startup and
automatically opens the project. MCP tools work immediately without
manual project-open step. Falls back to cwd when no .story_kit/ found.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 14:11:53 +00:00
Dave
54d34d1a85 Add story 44: Agent Completion Report via MCP
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 14:09:11 +00:00
Dave
ea30faff95 Move story 43 to current: Unified Chat UI
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 13:36:00 +00:00
Dave
90e90f4428 Add story 43: Unified chat UI for Claude Code and regular chat
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 13:34:10 +00:00
Dave
e23d723ac2 Move story 38 to current: Auto-Open Project on Server Startup
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 13:29:15 +00:00
Dave
c9b33b2107 Move story 42 to current: Deterministic Worktree Management
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 13:29:05 +00:00
Dave
4c5bfe9bce Accept story 40: MCP Server Obeys STORYKIT_PORT
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 13:27:18 +00:00
Dave
022ba4ed47 Accept story 33: Copy-paste diff commands for agent worktrees
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 13:26:34 +00:00
Dave
c1eaa2da2e Accept story 33: Copy-paste diff commands for agent worktrees
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 13:25:52 +00:00
Dave
a3c20eb4d4 Accept story 40: MCP Server Obeys STORYKIT_PORT
Agent worktrees now get a .mcp.json written with the correct port from
the running server. AgentPool receives the port at construction and
passes it through to create_worktree, which writes .mcp.json on both
new creation and reuse.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 13:24:35 +00:00
Dave
c6a04f5e53 Accept story 41: Agent Completion Notification via MCP
Add wait_for_agent MCP tool that blocks until an agent reaches a terminal
state (completed, failed, stopped). Returns final status with session_id,
worktree_path, and git commits made by the agent.

- Subscribe-before-check pattern avoids race conditions
- Handles lagged receivers, channel closure, and configurable timeout
- Default timeout 5 minutes, includes git log of agent commits in response
- 11 new tests covering all paths

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 13:16:04 +00:00
Dave
fa5d013fe2 Add auto-commit criterion to story 42
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 13:13:55 +00:00
Dave
665d27b779 Add story 42: Deterministic worktree management via REST/MCP API
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 13:02:35 +00:00
Dave
0d48370ac0 Move story 41 to current: Agent Completion Notification via MCP
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 12:54:07 +00:00
Dave
4605db13de Add story 41: Agent Completion Notification via MCP
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 12:52:10 +00:00
Dave
00f8d16bb0 Move story 33 to current
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 12:26:57 +00:00
Dave
b3800beb61 Move story 40 to current: MCP Server Obeys STORYKIT_PORT
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 12:25:54 +00:00
Dave
dcc254f9aa Add story 40: MCP Server Obeys STORYKIT_PORT
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 12:24:03 +00:00
Dave
6e359c6bfe Rewrite story 33: copy-paste diff commands using git difftool
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 12:15:08 +00:00
Dave
cde75bd7fb Accept story 39: Persistent Claude Code Sessions in Web UI
Use --resume <session_id> with claude -p so the web UI claude-code-pty
provider maintains full conversation context across messages, identical
to a long-running terminal Claude Code session.

Changes:
- Capture session_id from claude -p stream-json system event
- Pass --resume on subsequent messages in same chat session
- Thread session_id through ProviderConfig, ChatResult, WsResponse
- Frontend stores sessionId per chat, clears on New Session
- Unset CLAUDECODE env to allow nested spawning from server
- Wait for clean process exit to ensure transcript flush to disk

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 11:51:19 +00:00
Dave
a6ea64cca7 Add story 39: Persistent Claude Code Sessions in Web UI
Use --resume <session-id> with claude -p to maintain conversation
context across messages in the web UI claude-code-pty provider.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 11:16:17 +00:00
Dave
6ea44fb5c4 Add story 38: Auto-Open Project on Server Startup
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 19:37:07 +00:00
Dave
8f095a3ec9 Renamed worktree diff story 2026-02-19 19:03:59 +00:00
Dave
6d57b06636 Accept story 34: Per-Project Agent Configuration and Role Definitions
Replace single [agent] config with multi-agent [[agent]] roster system.
Each agent has name, role, model, allowed_tools, max_turns, max_budget_usd,
and system_prompt fields that map to Claude CLI flags at spawn time.

- AgentConfig expanded with structured fields, validated at startup (panics
  on duplicate names, empty names, non-positive budgets/turns)
- Backwards-compatible: legacy [agent] format auto-wraps with deprecation warning
- AgentPool uses composite "story_id:agent_name" keys for concurrent agents
- agent_name added to AgentEvent variants, AgentInfo, start/stop/subscribe APIs
- GET /agents/config returns roster, POST /agents/config/reload hot-reloads
- POST /agents/start accepts optional agent_name, /agents/stop requires it
- SSE route updated to /agents/:story_id/:agent_name/stream
- Frontend: roster badges, agent selector dropdown, composite-key state
- Project root initialized to cwd at startup so config endpoints work immediately

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 18:46:14 +00:00
Dave
f9fc2472fd Splitting up the editor and diff stories 2026-02-19 18:22:19 +00:00
Dave
c94b3d4450 Accept story 36: Enforce Front Matter on All Story Files
Add POST /workflow/stories/create endpoint that auto-assigns story
numbers, generates correct front matter, and writes to upcoming/.
Add slugify_name and next_story_number helpers with full test coverage.
Add frontend createStory API method and types.
Update README to recommend creation API for agents.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 18:02:48 +00:00
Dave
5e5cdd9b2f Accept story 30: Worktree-based agent orchestration
Add git worktree isolation for concurrent story agents. Each agent now
runs in its own worktree with setup/teardown commands driven by
.story_kit/project.toml config. Agents stream output via SSE and support
start/stop lifecycle with Pending/Running/Completed/Failed statuses.

Backend: config.rs (TOML parsing), worktree.rs (git worktree lifecycle),
refactored agents.rs (broadcast streaming), agents_sse.rs (SSE endpoint).
Frontend: AgentPanel.tsx with Run/Stop buttons and streaming output log.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 17:58:53 +00:00
Dave
f7902c3569 Merge story-32: Multi-Instance Worktree Support
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

# Conflicts:
#	.story_kit/stories/archived/32_multi_instance_worktree_support.md
#	.story_kit/stories/current/30_worktree_agent_orchestration.md
#	.story_kit/stories/current/32_multi_instance_worktree_support.md
#	.story_kit/stories/current/36_enforce_story_front_matter.md
#	.story_kit/stories/upcoming/29_directory_based_workflow_coordination.md
#	.story_kit/stories/upcoming/32_worktree_agent_orchestration.md
#	.story_kit/stories/upcoming/33_worktree_diff_and_editor_integration.md
#	.story_kit/stories/upcoming/34_agent_configuration_and_roles.md
#	.story_kit/stories/upcoming/35_agent_security_and_sandboxing.md
2026-02-19 17:17:21 +00:00