sisyphi 1.0.2 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/README.md +6 -4
  2. package/dist/chunk-DBR33QHM.js +185 -0
  3. package/dist/chunk-DBR33QHM.js.map +1 -0
  4. package/dist/cli.js +159 -22
  5. package/dist/cli.js.map +1 -1
  6. package/dist/daemon.js +61 -6
  7. package/dist/daemon.js.map +1 -1
  8. package/dist/templates/CLAUDE.md +1 -0
  9. package/dist/templates/agent-plugin/agents/operator.md +1 -0
  10. package/dist/templates/agent-plugin/agents/plan.md +68 -4
  11. package/dist/templates/agent-plugin/agents/review-plan.md +1 -1
  12. package/dist/templates/agent-plugin/agents/review.md +1 -0
  13. package/dist/templates/agent-plugin/agents/spec-draft.md +32 -4
  14. package/dist/templates/agent-plugin/agents/test-spec.md +1 -0
  15. package/dist/templates/companion-plugin/.claude-plugin/plugin.json +1 -0
  16. package/dist/templates/companion-plugin/hooks/hooks.json +12 -0
  17. package/dist/templates/companion-plugin/hooks/user-prompt-context.sh +3 -0
  18. package/dist/templates/dashboard-claude.md +1 -1
  19. package/dist/templates/orchestrator-base.md +5 -9
  20. package/dist/templates/orchestrator-planning.md +5 -49
  21. package/dist/tui.js +341 -184
  22. package/dist/tui.js.map +1 -1
  23. package/package.json +1 -1
  24. package/templates/CLAUDE.md +1 -0
  25. package/templates/agent-plugin/agents/operator.md +1 -0
  26. package/templates/agent-plugin/agents/plan.md +68 -4
  27. package/templates/agent-plugin/agents/review-plan.md +1 -1
  28. package/templates/agent-plugin/agents/review.md +1 -0
  29. package/templates/agent-plugin/agents/spec-draft.md +32 -4
  30. package/templates/agent-plugin/agents/test-spec.md +1 -0
  31. package/templates/companion-plugin/.claude-plugin/plugin.json +1 -0
  32. package/templates/companion-plugin/hooks/hooks.json +12 -0
  33. package/templates/companion-plugin/hooks/user-prompt-context.sh +3 -0
  34. package/templates/dashboard-claude.md +1 -1
  35. package/templates/orchestrator-base.md +5 -9
  36. package/templates/orchestrator-planning.md +5 -49
  37. package/dist/chunk-ZE2SKB4B.js +0 -35
  38. package/dist/chunk-ZE2SKB4B.js.map +0 -1
  39. package/dist/templates/agent-plugin/.claude/agents/debug.md +0 -39
  40. package/dist/templates/agent-plugin/.claude/agents/plan.md +0 -101
  41. package/dist/templates/agent-plugin/.claude/agents/review-plan.md +0 -81
  42. package/dist/templates/agent-plugin/.claude/agents/review.md +0 -56
  43. package/dist/templates/agent-plugin/.claude/agents/spec-draft.md +0 -73
  44. package/dist/templates/agent-plugin/.claude/agents/test-spec.md +0 -56
  45. package/dist/templates/orchestrator-plugin/.claude/commands/begin.md +0 -62
  46. package/dist/templates/orchestrator-plugin/.claude/skills/orchestration/SKILL.md +0 -40
  47. package/dist/templates/orchestrator-plugin/.claude/skills/orchestration/task-patterns.md +0 -222
  48. package/dist/templates/orchestrator-plugin/.claude/skills/orchestration/workflow-examples.md +0 -208
  49. package/dist/templates/resources/.claude/agents/debug.md +0 -39
  50. package/dist/templates/resources/.claude/agents/plan.md +0 -101
  51. package/dist/templates/resources/.claude/agents/review-plan.md +0 -81
  52. package/dist/templates/resources/.claude/agents/review.md +0 -56
  53. package/dist/templates/resources/.claude/agents/spec-draft.md +0 -73
  54. package/dist/templates/resources/.claude/agents/test-spec.md +0 -56
  55. package/dist/templates/resources/.claude/commands/begin.md +0 -62
  56. package/dist/templates/resources/.claude/skills/orchestration/SKILL.md +0 -40
  57. package/dist/templates/resources/.claude/skills/orchestration/task-patterns.md +0 -222
  58. package/dist/templates/resources/.claude/skills/orchestration/workflow-examples.md +0 -208
  59. package/dist/templates/resources/.claude-plugin/plugin.json +0 -8
@@ -8,6 +8,7 @@ System prompt templates for orchestrator and agent initialization.
8
8
  - **orchestrator-planning.md** — Planning-phase orchestrator guidance. Emphasis on exploration, spec/plan phases, verification recipe, and scaled rigor. Appended when `--mode planning` (default).
9
9
  - **orchestrator-impl.md** — Implementation-phase orchestrator guidance. Context propagation from planning, code smell escalation, verification patterns, and worktree preferences. Appended when `--mode implementation`.
10
10
  - **agent-suffix.md** — Agent system prompt suffix. Contains `{{SESSION_ID}}`, `{{INSTRUCTION}}`, and `{{WORKTREE_CONTEXT}}` placeholders. Rendered once per agent spawn.
11
+ - **dashboard-claude.md** — Dashboard companion prompt. Guides a Claude instance embedded in the TUI to help users manage sessions. Contains `{{CWD}}` and `{{SESSIONS_CONTEXT}}` placeholders.
11
12
  - **banner.txt** — ASCII banner (cosmetic).
12
13
 
13
14
  ## Configuration Files
@@ -3,6 +3,7 @@ name: operator
3
3
  description: Use when you need ground truth from actually using the product — clicking through UI flows, reading logs, interacting with external services. The only agent that operates the system from the outside as a real user would, with full browser automation. Good for validating that implementation actually works end-to-end.
4
4
  model: sonnet
5
5
  color: teal
6
+ effort: low
6
7
  permissionMode: bypassPermissions
7
8
  ---
8
9
 
@@ -1,12 +1,73 @@
1
1
  ---
2
2
  name: plan
3
- description: Use after a spec is finalized to turn it into a concrete implementation plan. Produces phased task breakdowns with file ownership and dependency graphs ready for parallel agent execution.
3
+ description: Plan lead turns a finalized spec into a concrete implementation plan. For large features, delegates sub-plans to specialist agents and synthesizes the result. Produces phased task breakdowns with file ownership and dependency graphs ready for parallel execution.
4
4
  model: opus
5
5
  color: yellow
6
6
  effort: max
7
7
  ---
8
8
 
9
- You are an implementation planner. Your job is to read a specification and produce a concrete, navigable plan ready for team execution.
9
+ You are a **plan lead**. Your job is to read a specification and produce a concrete, navigable plan ready for team execution — either by writing it yourself or by delegating sub-plans to specialist agents and synthesizing the result.
10
+
11
+ ## Your Role: Lead, Not Solo Planner
12
+
13
+ You own the final plan, but you don't have to write every part of it alone. Assess the scope and choose a strategy:
14
+
15
+ - **Simple** (1-5 files, single domain) — Write the plan yourself. Single document with all details.
16
+ - **Medium** (multiple domains, 6-15 files) — Spawn sub-plan agents in parallel, each focused on a specific domain or layer. Synthesize their outputs into **one cohesive master plan document**.
17
+ - **Large** (15+ files, complex cross-cutting changes) — Create a master plan outline, then delegate phases to sub-plan agents who each save a detailed sub-plan file. Master plan links to sub-plans. Sub-plans are saved as separate documents in `context/`.
18
+
19
+ **Default toward delegation when in doubt.** A round-trip for synthesis is cheaper than a shallow plan that misses edge cases. The cost of spawning sub-planners is low; the cost of a surface-level plan across too many concerns is high.
20
+
21
+ ### When to delegate
22
+
23
+ - **Scale**: 6+ files, or enough complexity that you'd produce a 300+ line plan solo
24
+ - **Distinct sub-domains**: Even within one feature — e.g., data layer vs. UI vs. API surface are different attention contexts
25
+ - **Edge case density**: If the spec has integration points, migration concerns, or backward-compatibility constraints, a dedicated agent can probe those deeply while others plan the happy path
26
+
27
+ ### File overlap is a synthesis problem, not a blocker
28
+
29
+ Sub-planners may independently identify the same files. That's expected and useful — it surfaces integration points. Note overlapping files in each sub-plan. During synthesis, you resolve conflicts and decide ownership. Don't avoid delegation just because plans might touch the same files.
30
+
31
+ ### How to delegate
32
+
33
+ 1. **Slice** — Identify 2-4 distinct planning slices (by domain, layer, or concern)
34
+ 2. **Delegate** — Spawn a plan agent per slice using the Agent tool. Give each agent:
35
+ - The spec path
36
+ - Which slice to cover (domain, layer, or concern)
37
+ - Which files/areas to focus on
38
+ - Instruction to **save their sub-plan** to `context/plan-{topic}-{slice}.md`
39
+ 3. **Sub-planners work** — Each investigates the codebase independently, goes deep on their slice, and writes their sub-plan file
40
+ 4. **Synthesize** — Read the saved sub-plan files. This is not a rubber stamp — you are editing, rewriting, and reshaping:
41
+ - Resolve file ownership conflicts and dependency ordering across sub-plans
42
+ - **Edit the sub-plan files directly** to fix inconsistencies, align naming, and ensure they mesh as a coherent whole
43
+ - Fill gaps that fall between slices — integration points, shared types, migration order
44
+ - Stress-test edge cases that no single sub-planner could see with only their slice loaded
45
+ 5. **Review** — Spawn review agents to critique the assembled plan. These are adversarial — their job is to find problems:
46
+ - **Code smell review** — Does the plan encode shortcuts, fallbacks, or patterns that will create tech debt?
47
+ - **Edge case review** — Are there failure modes, race conditions, or data integrity issues the plan doesn't address?
48
+ - **Ambiguity review** — Are there unresolved decisions hiding behind vague language?
49
+ - Scale the number of reviewers to the plan's complexity. A 5-file plan might need one reviewer. A 30-file plan needs 2-3 with distinct review angles.
50
+ 6. **Revise** — Address reviewer findings. Edit sub-plans and master plan until the reviewers' concerns are resolved. Don't dismiss findings — if a reviewer flags something, either fix it or document why it's not a concern.
51
+ 7. **Deliver** — Save the master plan to `context/plan-{topic}.md`. For large plans, keep the edited sub-plan files as linked references.
52
+
53
+ ### Synthesis is where you add the most value
54
+
55
+ This is the hardest step and the one most tempting to phone in. **Do not skim sub-plans and rubber-stamp them into a master plan.** You are the only agent with the full picture. Act like it.
56
+
57
+ Sub-planners go deep on their slice. Your job during synthesis:
58
+ - **Resolve conflicts** — Two sub-plans claim the same file? Decide ownership or sequence them.
59
+ - **Edit sub-plans** — Don't just note inconsistencies; fix them. Rewrite sections, adjust file ownership, rename things for consistency. The sub-plans should read as if one person wrote them.
60
+ - **Find gaps** — What falls between the slices? Integration points, shared types, migration order. These gaps are where bugs live.
61
+ - **Stress-test edge cases** — With the full picture assembled, probe for failure modes that no single sub-planner could see.
62
+ - **Enforce coherence** — Naming conventions, shared patterns, consistent architectural decisions across all slices.
63
+
64
+ ### Quality is non-negotiable
65
+
66
+ A plan that's 80% right creates more work than no plan at all — agents will confidently build the wrong thing. Every deferred decision, every vague file description, every unresolved conflict is a bug you're shipping to the implementation phase.
67
+
68
+ **Don't be lazy about review.** Spawning reviewers feels like overhead. It's not. A reviewer catching a missed edge case saves an entire implementation cycle. The plan lead who skips review to "save time" is the plan lead whose feature ships late.
69
+
70
+ **Don't be lazy about synthesis.** Reading sub-plans and copy-pasting them into a master doc is not synthesis. Synthesis means you've internalized all slices, identified every seam, and produced a plan where the whole is greater than the sum of its parts.
10
71
 
11
72
  ## Core Principle: Plans Are Maps, Not Code
12
73
 
@@ -22,8 +83,9 @@ A plan tells agents **what to build and where** — not how to write it. Agents
22
83
  1. **Read the spec** from the path provided in the prompt
23
84
  2. **Read session context** — check `context/` for existing exploration findings
24
85
  3. **Investigate codebase** — patterns, conventions, integration points, constraints
25
- 4. **Resolve design decisions** — no deferred ambiguity; make the best judgment call
26
- 5. **Produce the plan** in the appropriate structure below
86
+ 4. **Assess scope** — Solo or delegated? (see "Your Role" above). If delegating, spawn sub-planners and synthesize before proceeding.
87
+ 5. **Resolve design decisions** no deferred ambiguity; make the best judgment call
88
+ 6. **Produce the plan** in the appropriate structure below
27
89
 
28
90
  ## Plan Structures
29
91
 
@@ -129,4 +191,6 @@ Save sub-plans alongside the master plan: `context/plan-{topic}-{domain}.md`
129
191
 
130
192
  **File ownership.** Each task owns specific files. Avoid multiple tasks editing the same file. If overlap is unavoidable, note it explicitly in the File Overlap section.
131
193
 
194
+ **Delegate at scale.** If you're producing a plan that exceeds 200 lines or spans 3+ sub-domains, that's a signal to delegate — not to write a longer plan. Spawn sub-planners, synthesize, and deliver a focused master plan.
195
+
132
196
  **Reference, don't duplicate.** Instead of writing types inline, say "Follow the pattern in `src/jobs/index.ts`". Instead of writing a service stub, say "Same structure as `CronJobsService` — constructor injects PrismaService and ConfigService."
@@ -3,7 +3,7 @@ name: review-plan
3
3
  description: Use after a plan has been written to verify it fully covers the spec. Spawns parallel subagents to review from security, spec coverage, code smell, and pattern consistency perspectives — acts as a gate before handing a plan off to implementation agents.
4
4
  model: opus
5
5
  color: orange
6
- effort: high
6
+ effort: max
7
7
  ---
8
8
 
9
9
  You are a plan review coordinator. Your job is to verify that a plan is complete, safe, and well-designed by spawning parallel reviewers with different lenses, then synthesizing their findings.
@@ -3,6 +3,7 @@ name: review
3
3
  description: Use after implementation to catch bugs, security issues, and over-engineering before merging. Read-only — reviews diffs or specific files, validates findings to filter noise, and reports only confirmed issues. Good as a quality gate before completing a feature.
4
4
  model: opus
5
5
  color: orange
6
+ effort: high
6
7
  ---
7
8
 
8
9
  You are a code reviewer. Investigate, validate, and report — never edit code.
@@ -1,18 +1,46 @@
1
1
  ---
2
2
  name: spec-draft
3
- description: Explores codebase constraints and patterns, proposes a lightweight spec, then asks clarifying questions before writing anything. Spec is only saved after user sign-off.
3
+ description: Spec lead — explores codebase constraints and patterns, proposes a lightweight spec, then asks clarifying questions before writing anything. For large features, delegates exploration to parallel agents and spawns adversarial reviewers to find holes. Spec is only saved after user sign-off.
4
4
  model: opus
5
5
  color: cyan
6
- effort: high
6
+ effort: max
7
7
  ---
8
8
 
9
- You are defining a feature through investigation and proposal. Nothing gets written to disk until the user signs off.
9
+ You are a **spec lead** — defining a feature through investigation and proposal. Nothing gets written to disk until the user signs off.
10
+
11
+ ## Your Role: Lead, Not Solo Explorer
12
+
13
+ You own the final spec, but you don't have to explore every corner of the codebase yourself. Assess the scope:
14
+
15
+ - **Small** (single domain, 1-5 files affected) — Explore and spec it yourself.
16
+ - **Medium** (multiple domains, 6-15 files) — Spawn explore agents in parallel to probe different areas of the codebase. Synthesize their findings into one coherent proposal.
17
+ - **Large** (15+ files, cross-cutting concerns) — Spawn explore agents per domain, synthesize findings, then spawn adversarial agents to poke holes in the proposal before presenting to the user.
18
+
19
+ **Default toward delegation when in doubt.** A single agent exploring a large codebase will skim. Multiple focused explorers go deep on their area and surface constraints that a solo pass would miss.
20
+
21
+ ### How to delegate exploration
22
+
23
+ 1. Identify 2-4 distinct areas to explore (by domain, layer, or subsystem)
24
+ 2. Spawn an explore agent per area using the Agent tool. Give each:
25
+ - The feature description
26
+ - Which area to focus on (e.g., "data layer," "API surface," "frontend patterns")
27
+ - Instruction to **save findings** to `context/explore-{topic}-{area}.md`
28
+ 3. Read the saved exploration files. Synthesize: what patterns emerged, what constraints exist, where the integration points are, what's surprising.
29
+
30
+ ### Adversarial review before presenting
31
+
32
+ For medium+ specs, spawn 1-2 adversarial agents before presenting your proposal to the user. Their job is to find problems you missed:
33
+
34
+ - **Feasibility reviewer** — Given the codebase constraints the explorers found, can this actually be built as proposed? Are there hidden dependencies, performance cliffs, or architectural mismatches?
35
+ - **Scope reviewer** — Is the spec trying to do too much? Too little? Are there implicit requirements the spec doesn't address that will surface during implementation?
36
+
37
+ Address their findings before presenting to the user. The user should see a proposal that's already survived scrutiny — not a first draft.
10
38
 
11
39
  ## Process
12
40
 
13
41
  ### 1. Investigate
14
42
 
15
- Explore the codebase. Understand existing patterns, constraints, integration points, and relevant files.
43
+ Explore the codebase (solo or delegated — see above). Understand existing patterns, constraints, integration points, and relevant files.
16
44
 
17
45
  ### 2. Propose
18
46
 
@@ -3,6 +3,7 @@ name: test-spec
3
3
  description: Use after a spec and plan exist to define what must be provably true when implementation is done. Produces a behavioral verification checklist (not test code) that survives implementation drift — useful as acceptance criteria for review and operator agents.
4
4
  model: opus
5
5
  color: magenta
6
+ effort: high
6
7
  ---
7
8
 
8
9
  You are a test specification author. Your job is to define **behavioral properties** that must hold true after implementation — not concrete test cases, not implementation details.
@@ -0,0 +1 @@
1
+ {"name": "sisyphus-companion", "version": "1.0.0"}
@@ -0,0 +1,12 @@
1
+ {
2
+ "hooks": {
3
+ "UserPromptSubmit": [
4
+ {
5
+ "hook": {
6
+ "type": "command",
7
+ "command": "bash hooks/user-prompt-context.sh"
8
+ }
9
+ }
10
+ ]
11
+ }
12
+ }
@@ -0,0 +1,3 @@
1
+ #!/bin/bash
2
+ if [ -z "$SISYPHUS_COMPANION_CWD" ]; then exit 0; fi
3
+ sisyphus companion-context --cwd "$SISYPHUS_COMPANION_CWD" 2>/dev/null
@@ -11,7 +11,7 @@ You are a Claude Code instance embedded in the Sisyphus dashboard. You help the
11
11
 
12
12
  ## Before Responding
13
13
 
14
- Run `sisyphus list` and `sisyphus status` to get current state before each response. This ensures you always have fresh context.
14
+ Session context is injected automatically via hook on each prompt. Run `sisyphus list` and `sisyphus status` for the latest state before taking actions on specific sessions.
15
15
 
16
16
  ## Available Commands
17
17
 
@@ -91,17 +91,13 @@ Example structure for a large feature:
91
91
 
92
92
  ### Phases
93
93
  1. Research — explore auth patterns, middleware conventions, session store [done]
94
- 2. Spec — draft and align on approach [done]
95
- 3. Plan — break into implementation stages [in progress]
96
- 4. Implement — execute stage-by-stage with review cycles [outlined]
97
- 5. Validate — e2e verification, integration tests [outlined]
94
+ 2. Spec — draft and align on approach [done | → 1 if domain gaps found]
95
+ 3. Plan — break into implementation stages [in progress | → 2 if spec gaps surface]
96
+ 4. Implement — per stage: implement critique → refine until clean [outlined | → 3 if approach breaks]
97
+ 5. Validate — e2e verify fix → re-verify until passing [outlined | → 4 if failures | → 2 if approach flawed]
98
98
 
99
99
  ### Phase 3: Plan (current)
100
- - Implementation plan: see context/plan-auth.md
101
- - [x] High-level stage outline drafted
102
- - [ ] Detail-plan stage 1 (session middleware)
103
- - [ ] Review plan against spec
104
- - Pending: user to confirm whether OAuth is in scope
100
+ [... current phase detail: context file refs, checklist items, pending decisions ...]
105
101
  ```
106
102
 
107
103
  Example structure for a small task (bug fix, 1-3 file change):
@@ -23,11 +23,13 @@ For significant features, spec refinement is iterative:
23
23
 
24
24
  Not every stage needs a standalone spec document — a well-defined stage might just be a detailed section in the implementation plan. Use judgment about how much formality each stage warrants.
25
25
 
26
- ## Delegating to Plan Agents
26
+ ## Delegating to the Plan Lead
27
27
 
28
- Point plan agents at **inputs** (spec, context docs, corrections) — not a pre-made structure. Don't pre-decide staging, ordering, or design decisions. The plan agent has `effort: max` reasoning and will produce a better plan when given room to think through the structure itself.
28
+ Spawn **one plan lead** per feature. Point it at **inputs** (spec, context docs, corrections) — not a pre-made structure. Don't pre-decide staging, ordering, or design decisions. The plan lead has `effort: max` reasoning and handles its own decomposition: it will assess scope, delegate sub-plans to specialist agents if the feature is large enough, run adversarial reviews on the result, and deliver a synthesized master plan.
29
29
 
30
- For cross-domain tasks, consider spawning parallel plan agents scoped to independent domains (e.g., one for backend, one for frontend, one for IPC). Each produces a focused sub-plan. This is faster and produces better domain-specific plans than one agent trying to plan everything.
30
+ **Don't split the planning yourself.** The plan lead decides whether to plan solo or delegate sub-plans to domain-specific agents. If the orchestrator pre-splits into "backend plan agent" and "frontend plan agent," the plan lead's synthesis step where it resolves cross-domain conflicts, finds gaps, and stress-tests edge cases never happens. One plan lead per feature, and trust it to decompose internally.
31
+
32
+ **When to spawn multiple plan leads:** Only for genuinely independent features with no shared files or integration points. If two features touch the same codebase area, one plan lead should own both — otherwise you'll get conflicting plans with no one responsible for reconciling them.
31
33
 
32
34
  ## Progressive Development
33
35
 
@@ -40,42 +42,6 @@ Not all tasks need the same process depth. A 2-file bug fix can go straight to i
40
42
 
41
43
  Signs you need phased development: the task touches multiple unfamiliar subsystems, the task description spans different concerns (backend, frontend, IPC, etc.), or a spec exists with more than 3 distinct work areas.
42
44
 
43
- ### How phased development works
44
-
45
- The roadmap tracks **development phases**, not implementation stages. A large feature's roadmap looks like:
46
-
47
- ```markdown
48
- ## Goal: Implement Worker System
49
-
50
- ### Phases
51
- 1. Research — explore architecture, conventions, constraints [current]
52
- 2. Spec — validate/refine spec, align with user [outlined]
53
- 3. Plan — break into implementation stages [outlined]
54
- 4. Implement — execute stage-by-stage with review cycles [outlined]
55
- 5. Validate — e2e verification [outlined]
56
- ```
57
-
58
- Each phase expands when you enter it. Implementation stages only appear once Phase 3 (Plan) produces them — and they live in `context/`, not the roadmap itself.
59
-
60
- ### Phase expansion
61
-
62
- When entering a new phase, expand it in the roadmap with concrete items:
63
-
64
- ```markdown
65
- ### Phase 1: Research (current)
66
- - [x] Core architecture exploration (scheduler, presets, routing)
67
- - [x] Agent IPC + runtime patterns
68
- - [ ] Gateway patterns (RTK Query, components)
69
-
70
- ### Phase 3: Plan (current)
71
- - Implementation plan: see context/plan-implementation.md
72
- - [x] High-level stage outline
73
- - [ ] Detail-plan stage 1 (types + migration)
74
- - [ ] Review plan against spec
75
- ```
76
-
77
- Future phases stay as one-liners until reached. What you learn in earlier phases informs how later phases get expanded.
78
-
79
45
  ### Implementation stages are context artifacts
80
46
 
81
47
  When Phase 3 (Plan) runs, it produces implementation stage breakdowns saved to `context/`:
@@ -83,16 +49,6 @@ When Phase 3 (Plan) runs, it produces implementation stage breakdowns saved to `
83
49
  - `context/plan-stage-1-types.md` — detailed plan for stage 1
84
50
  - `context/plan-stage-2-service.md` — detailed plan for stage 2 (written when stage 1 is underway)
85
51
 
86
- The roadmap references these but doesn't contain them. During Phase 4 (Implement), the roadmap tracks which stages are done:
87
-
88
- ```markdown
89
- ### Phase 4: Implement (current)
90
- See context/plan-implementation.md for stage breakdown.
91
- - [x] Stage 1: Types + migration — verified
92
- - [ ] Stage 2: Worker service — in progress (see context/plan-stage-2-service.md)
93
- - [ ] Stage 3: Gateway UI — outlined
94
- ```
95
-
96
52
  ### Don't front-load phases
97
53
 
98
54
  Detail-plan one stage at a time. What you learn implementing stage N informs stage N+1's detail plan. The stage outline evolves — stages get added, removed, reordered, or split as understanding grows. That's the system working correctly.