maxsimcli 4.0.0 → 4.0.2

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.
@@ -1,40 +1,28 @@
1
1
  ---
2
2
  name: code-review
3
- description: Use after completing a phase or significant implementation — requires reviewing all changed code for critical issues before sign-off
3
+ description: >-
4
+ Reviews all changed code for security vulnerabilities, interface correctness,
5
+ error handling, test coverage, and quality before sign-off. Use when completing
6
+ a phase, reviewing implementation, or before approving changes for merge.
4
7
  ---
5
8
 
6
9
  # Code Review
7
10
 
8
11
  Shipping unreviewed code is shipping unknown risk. Review before sign-off.
9
12
 
10
- **If you have not reviewed every changed file, you cannot approve the phase.**
13
+ **HARD GATE: NO PHASE SIGN-OFF WITHOUT REVIEWING ALL CHANGED CODE.** If every diff introduced in this phase has not been read, the phase cannot be marked complete. Passing tests do not prove code quality.
11
14
 
12
- ## The Iron Law
15
+ ## Process
13
16
 
14
- <HARD-GATE>
15
- NO PHASE SIGN-OFF WITHOUT REVIEWING ALL CHANGED CODE.
16
- If you have not read every diff introduced in this phase, you CANNOT mark it complete.
17
- "It works" is not "it's correct." Passing tests do not prove code quality.
18
- Violating this rule is a violation — not a shortcut.
19
- </HARD-GATE>
17
+ Follow these steps in order before approving any phase or significant implementation.
20
18
 
21
- ## The Gate Function
19
+ ### 1. SCOPE -- Identify All Changes
22
20
 
23
- Follow these steps IN ORDER before approving any phase or significant implementation.
21
+ - Diff against the phase starting point to see every changed file
22
+ - List all new, modified, and deleted files
23
+ - Do not skip generated files, config changes, or minor edits
24
24
 
25
- ### 1. SCOPE Identify All Changes
26
-
27
- - Run `git diff` against the phase's starting point to see every changed file
28
- - List all new files, modified files, and deleted files
29
- - Do NOT skip generated files, config changes, or "minor" edits
30
-
31
- ```bash
32
- # Example: see all changes since phase branch point
33
- git diff --stat main...HEAD
34
- git diff main...HEAD
35
- ```
36
-
37
- ### 2. SECURITY — Check for Vulnerabilities
25
+ ### 2. SECURITY -- Check for Vulnerabilities
38
26
 
39
27
  Review every changed file for:
40
28
 
@@ -48,75 +36,47 @@ Review every changed file for:
48
36
 
49
37
  **Any security issue is a blocking finding. No exceptions.**
50
38
 
51
- ### 3. INTERFACES Verify API Contracts
39
+ ### 3. INTERFACES -- Verify API Contracts
52
40
 
53
41
  - Do public function signatures match their documentation?
54
42
  - Are return types accurate and complete?
55
43
  - Do error types cover all failure modes?
56
44
  - Are breaking changes documented and intentional?
57
- - Do exported interfaces maintain backward compatibility (or is the break intentional)?
45
+ - Do exported interfaces maintain backward compatibility?
58
46
 
59
- ### 4. ERROR HANDLING Check Failure Paths
47
+ ### 4. ERROR HANDLING -- Check Failure Paths
60
48
 
61
- - Are all external calls (I/O, network, user input) wrapped in error handling?
49
+ - Are all external calls wrapped in error handling?
62
50
  - Do error messages provide enough context to diagnose the issue?
63
51
  - Are errors propagated correctly (not swallowed silently)?
64
52
  - Are edge cases handled (empty input, null values, boundary conditions)?
65
53
 
66
- ### 5. TESTS Evaluate Coverage
54
+ ### 5. TESTS -- Evaluate Coverage
67
55
 
68
56
  - Does every new public function have corresponding tests?
69
57
  - Do tests cover both success and failure paths?
70
- - Are edge cases tested (empty, null, boundary, error conditions)?
58
+ - Are edge cases tested?
71
59
  - Do tests verify behavior, not implementation details?
72
60
 
73
- ### 6. QUALITY Assess Maintainability
61
+ ### 6. QUALITY -- Assess Maintainability
74
62
 
75
- - Is naming consistent with the existing codebase conventions?
76
- - Are there code duplication opportunities that should be extracted?
63
+ - Is naming consistent with existing codebase conventions?
64
+ - Are there duplication opportunities that should be extracted?
77
65
  - Is the complexity justified by the requirements?
78
- - Are comments present where logic is non-obvious (and absent where code is self-evident)?
79
-
80
- ## Critical Issues — Block Phase Sign-Off
81
-
82
- These categories MUST be resolved before the phase can be marked complete:
83
-
84
- | Severity | Category | Example |
85
- |----------|----------|---------|
86
- | **Blocker** | Security vulnerability | SQL injection, XSS, hardcoded secrets |
87
- | **Blocker** | Broken interface | Public API returns wrong type, missing required field |
88
- | **Blocker** | Missing error handling | Unhandled promise rejection, swallowed exceptions on I/O |
89
- | **Blocker** | Data loss risk | Destructive operation without confirmation, missing transaction |
90
- | **High** | Performance regression | O(n^2) where O(n) is trivial, unbounded memory allocation |
91
- | **High** | Missing critical tests | No tests for error paths, no tests for new public API |
92
- | **Medium** | Naming inconsistency | Convention mismatch with existing codebase |
93
- | **Medium** | Dead code | Unreachable branches, unused imports, commented-out code |
94
-
95
- **Blocker and High severity issues block sign-off. Medium issues should be filed for follow-up.**
66
+ - Are comments present where logic is non-obvious?
96
67
 
97
- ## Common Rationalizations — REJECT THESE
68
+ ## Common Pitfalls
98
69
 
99
- | Excuse | Why It Violates the Rule |
100
- |--------|--------------------------|
70
+ | Issue | Reality |
71
+ |-------|---------|
101
72
  | "Tests pass, so the code is fine" | Tests verify behavior, not code quality. Review is separate. |
102
73
  | "I wrote it, so I know it's correct" | Author bias is real. Review as if someone else wrote it. |
103
- | "It's just a small change" | Small changes cause large outages. Review proportional effort, not zero effort. |
104
- | "We'll clean it up later" | "Later" accumulates. Fix blockers now, file medium issues. |
105
- | "The deadline is tight" | Shipping broken code costs more time than reviewing. |
74
+ | "It's just a small change" | Small changes cause large outages. |
106
75
  | "Generated code doesn't need review" | Generated code has the same bugs. Review it. |
107
76
 
108
- ## Red Flags STOP If You Catch Yourself:
109
-
110
- - Skipping files because they "look fine" from the diff stat
111
- - Approving without reading the actual code changes
112
- - Ignoring a gut feeling that something is wrong
113
- - Rushing through review to meet a deadline
114
- - Assuming tests cover everything without checking
115
- - Skipping error handling review because "the happy path works"
116
-
117
- **If any red flag triggers: STOP. Go back to step 1 (SCOPE) and review properly.**
77
+ Stop if you catch yourself skipping files because they "look fine," approving without reading actual code, or rushing through review to meet a deadline.
118
78
 
119
- ## Verification Checklist
79
+ ## Verification
120
80
 
121
81
  Before signing off on a phase, confirm:
122
82
 
@@ -128,9 +88,21 @@ Before signing off on a phase, confirm:
128
88
  - [ ] Naming and style are consistent with codebase conventions
129
89
  - [ ] No blocker or high severity issues remain open
130
90
 
131
- ## Review Output Format
91
+ ### Severity Reference
92
+
93
+ | Severity | Category | Example |
94
+ |----------|----------|---------|
95
+ | Blocker | Security vulnerability | SQL injection, XSS, hardcoded secrets |
96
+ | Blocker | Broken interface | Public API returns wrong type |
97
+ | Blocker | Data loss risk | Destructive operation without confirmation |
98
+ | High | Performance regression | O(n^2) where O(n) is trivial |
99
+ | High | Missing critical tests | No tests for error paths or new public API |
100
+ | Medium | Naming inconsistency | Convention mismatch with existing codebase |
101
+ | Medium | Dead code | Unreachable branches, unused imports |
102
+
103
+ Blocker and High severity issues block sign-off. Medium issues should be filed for follow-up.
132
104
 
133
- Produce a review summary for phase documentation:
105
+ ### Review Output Format
134
106
 
135
107
  ```
136
108
  REVIEW SCOPE: [number] files changed, [number] additions, [number] deletions
@@ -142,7 +114,7 @@ QUALITY: PASS | ISSUES FOUND (list)
142
114
  VERDICT: APPROVED | BLOCKED (list blocking issues)
143
115
  ```
144
116
 
145
- ## In MAXSIM Plan Execution
117
+ ## MAXSIM Integration
146
118
 
147
119
  Code review applies at phase boundaries:
148
120
  - After all tasks in a phase are complete, run this review before marking the phase done
@@ -1,28 +1,19 @@
1
1
  ---
2
2
  name: memory-management
3
- description: Use when encountering recurring patterns, errors, or decisions that should persist across sessions defines when and how to save to project memory
3
+ description: "Persists recurring patterns, error solutions, and architectural decisions to project memory files for cross-session continuity. Use when encountering the same error twice, making significant decisions, or discovering non-obvious conventions."
4
4
  ---
5
5
 
6
6
  # Memory Management
7
7
 
8
8
  Context dies with each session. Patterns discovered but not saved are patterns lost.
9
9
 
10
- **If you encountered it twice, save it. You will encounter it again.**
10
+ **HARD GATE** -- If you encountered it twice, save it. You will encounter it again. "I'll remember" is a lie -- your context resets. Write it down. Violating this rule guarantees repeated mistakes across sessions.
11
11
 
12
- ## The Iron Law
12
+ ## Process
13
13
 
14
- <HARD-GATE>
15
- RECURRING PATTERNS MUST BE PERSISTED.
16
- If you have seen the same error, pattern, or decision twice in this session or across sessions, you MUST save it.
17
- "I'll remember" is a lie — your context resets. Write it down.
18
- Violating this rule guarantees repeated mistakes across sessions.
19
- </HARD-GATE>
14
+ ### 1. Detect -- Recognize Save Triggers
20
15
 
21
- ## When to Save
22
-
23
- ### Auto-Save Triggers (MUST save)
24
-
25
- These situations require immediate memory persistence:
16
+ Save immediately when any of these occur:
26
17
 
27
18
  | Trigger | Threshold | What to Save |
28
19
  |---------|-----------|-------------|
@@ -33,36 +24,17 @@ These situations require immediate memory persistence:
33
24
  | Workaround for tooling/framework quirk | Once | The quirk and the workaround |
34
25
  | Project-specific pattern confirmed | 2+ uses | The pattern and when to apply it |
35
26
 
36
- ### Do NOT Save
37
-
38
- - Session-specific context (current task details, in-progress work)
39
- - Information already in CLAUDE.md or project documentation
40
- - Speculative conclusions from reading a single file
41
- - Temporary workarounds that will be removed
42
- - Obvious patterns that any developer would know
43
-
44
- ## Where to Save
45
-
46
- Memory files live in `.claude/memory/` (for Claude Code) or the equivalent runtime memory directory.
27
+ Do NOT save: session-specific context, information already in CLAUDE.md, speculative conclusions, temporary workarounds, or obvious patterns.
47
28
 
48
- ### File Organization
49
-
50
- ```
51
- .claude/memory/
52
- MEMORY.md # Index file — always loaded into context
53
- patterns.md # Code patterns and conventions
54
- errors.md # Error patterns and solutions
55
- architecture.md # Architectural decisions and rationale
56
- tooling.md # Tool quirks and workarounds
57
- ```
29
+ ### 2. Check -- Avoid Duplicates
58
30
 
59
- - **MEMORY.md** is the index: keep it under 200 lines, link to topic files for details
60
- - Topic files hold detailed notes organized by subject
61
- - Use headers and bullet points for scannability
31
+ - Read existing memory files before writing
32
+ - If the pattern is already documented, update it (do not duplicate)
33
+ - If it contradicts existing memory, investigate which is correct
62
34
 
63
- ### Memory Entry Format
35
+ ### 3. Write -- Persist the Memory
64
36
 
65
- Each entry should follow this structure:
37
+ Add to the appropriate topic file using this entry format:
66
38
 
67
39
  ```markdown
68
40
  ## [Short descriptive title]
@@ -73,83 +45,47 @@ Each entry should follow this structure:
73
45
  **Evidence:** How this was confirmed (dates, occurrences, test results)
74
46
  ```
75
47
 
76
- ## The Gate Function
77
-
78
- When you encounter something worth remembering:
79
-
80
- ### 1. DETECT — Recognize the Pattern
81
-
82
- - Is this the same error/pattern you saw before?
83
- - Is this a decision that will affect future work?
84
- - Is this a non-obvious convention or quirk?
85
-
86
- ### 2. CHECK — Avoid Duplicates
87
-
88
- - Read the existing memory files first
89
- - If the pattern is already documented, update it (don't duplicate)
90
- - If it contradicts existing memory, investigate which is correct
91
-
92
- ### 3. WRITE — Persist the Memory
93
-
94
- - Add to the appropriate topic file
95
- - Update MEMORY.md index if adding a new topic
96
- - Keep entries concise — future you needs the answer, not the journey
97
-
98
- ### 4. VERIFY — Confirm the Save
48
+ ### 4. Verify -- Confirm the Save
99
49
 
100
50
  - Re-read the file to confirm the entry was written correctly
101
- - Ensure the entry is actionable (someone reading it can act on it)
51
+ - Ensure the entry is actionable (someone reading it can act on it immediately)
102
52
 
103
- ## Error Pattern Detection
53
+ ## File Organization
104
54
 
105
- When debugging, track errors in a mental tally:
55
+ Memory files live in `.claude/memory/` (or the equivalent runtime memory directory).
106
56
 
107
57
  ```
108
- Error seen once → Note it, move on
109
- Error seen twice Save to errors.md with pattern and fix
110
- Error seen 3+ times → Save AND add to MEMORY.md index for immediate visibility
58
+ .claude/memory/
59
+ MEMORY.md # Index file -- always loaded into context
60
+ patterns.md # Code patterns and conventions
61
+ errors.md # Error patterns and solutions
62
+ architecture.md # Architectural decisions and rationale
63
+ tooling.md # Tool quirks and workarounds
111
64
  ```
112
65
 
113
- ### What Makes a Good Error Memory
66
+ - **MEMORY.md** is the index: keep it under 200 lines, link to topic files for details
67
+ - Topic files hold detailed notes organized by subject
68
+ - Use headers and bullet points for scannability
114
69
 
115
- Good:
116
- ```markdown
117
- ## Vitest "cannot find module" for path aliases
70
+ ## Error Escalation
118
71
 
119
- **Context:** When running tests that import from `@maxsim/core`
120
- **Error:** `Cannot find module '@maxsim/core/types'`
121
- **Fix:** Add `resolve.alias` to `vitest.config.ts` matching tsconfig paths
122
- **Evidence:** Hit 3 times across phases 01-03 (Feb 2026)
123
72
  ```
124
-
125
- Bad:
126
- ```markdown
127
- ## Test error
128
- There was an error with tests. Fixed it by changing config.
73
+ Error seen once -- Note it, move on
74
+ Error seen twice -- Save to errors.md with pattern and fix
75
+ Error seen 3+ times -- Save AND add to MEMORY.md index for immediate visibility
129
76
  ```
130
77
 
131
- ## Common Rationalizations — REJECT THESE
132
-
133
- | Excuse | Why It Violates the Rule |
134
- |--------|--------------------------|
135
- | "I'll remember this" | No you won't. Context resets. Write it down. |
136
- | "It's too specific to save" | Specific is good. Generic memories are useless. |
137
- | "Memory files are messy" | Organize them. Messy files > lost knowledge. |
138
- | "This only applies to this project" | Project memory IS project-scoped. Save it. |
139
- | "Someone else documented this" | If it's not in your memory files, you won't find it next session. |
140
- | "I'll save it later" | You'll forget to. Save it now. |
141
-
142
- ## Red Flags — STOP If You Catch Yourself:
78
+ ## Common Pitfalls
143
79
 
144
- - Encountering the same error for the second time without saving it
80
+ - Encountering the same error a second time without saving it
145
81
  - Making the same architectural decision you made in a previous session
146
82
  - Debugging a problem you already solved before
147
83
  - Saying "I think we fixed this before" without finding the memory entry
148
84
  - Leaving a session without updating memory for patterns discovered
149
85
 
150
- **If any red flag triggers: STOP. Write the memory entry NOW, before continuing.**
86
+ If any of these occur: stop, write the memory entry now, then continue.
151
87
 
152
- ## Verification Checklist
88
+ ## Verification
153
89
 
154
90
  Before ending a work session:
155
91
 
@@ -160,12 +96,12 @@ Before ending a work session:
160
96
  - [ ] No duplicate entries were created
161
97
  - [ ] All entries follow the format (Context, Pattern, Solution, Evidence)
162
98
 
163
- ## Integration with MAXSIM
99
+ ## MAXSIM Integration
164
100
 
165
- During plan execution, the executor and researcher agents load memory files at startup:
101
+ During plan execution, agents load memory files at startup:
166
102
  - **Executor:** Reads MEMORY.md to avoid known pitfalls before implementing
167
103
  - **Researcher:** Saves findings to memory for future phases
168
- - **Debugger:** Checks error memories before starting investigation the fix may already be known
104
+ - **Debugger:** Checks error memories before starting investigation -- the fix may already be known
169
105
 
170
106
  Memory persistence happens at natural breakpoints:
171
107
  - After resolving a bug (save to errors.md)
@@ -1,28 +1,20 @@
1
1
  ---
2
2
  name: roadmap-writing
3
- description: Use when creating or restructuring a project roadmap — requires phased planning with dependencies, success criteria, and MAXSIM-compatible format
3
+ description: >-
4
+ Creates structured project roadmaps with phased planning, dependency graphs,
5
+ and testable success criteria in MAXSIM-compatible format. Use when creating a
6
+ new roadmap, restructuring project phases, or planning milestones.
4
7
  ---
5
8
 
6
9
  # Roadmap Writing
7
10
 
8
11
  A roadmap without success criteria is a wish list. Define what done looks like for every phase.
9
12
 
10
- **If a phase does not have measurable success criteria, it is not a plan it is a hope.**
13
+ **HARD GATE: No phase without success criteria and dependencies. Every phase must have a number, name, goal, testable success criteria, and explicit dependencies. Violating this rule is a violation, not flexibility.**
11
14
 
12
- ## The Iron Law
15
+ ## Process
13
16
 
14
- <HARD-GATE>
15
- NO PHASE WITHOUT SUCCESS CRITERIA AND DEPENDENCIES.
16
- Every phase MUST have: a number, a name, a goal, success criteria (testable statements), and explicit dependencies.
17
- "We'll figure it out as we go" is not planning — it is drifting.
18
- Violating this rule is a violation — not flexibility.
19
- </HARD-GATE>
20
-
21
- ## The Gate Function
22
-
23
- Follow these steps IN ORDER when creating or restructuring a roadmap.
24
-
25
- ### 1. SCOPE — Understand the Project
17
+ ### 1. SCOPE -- Understand the Project
26
18
 
27
19
  Before writing phases, understand what you are planning:
28
20
 
@@ -31,26 +23,18 @@ Before writing phases, understand what you are planning:
31
23
  - Check existing STATE.md for decisions and blockers
32
24
  - Identify the delivery target (MVP, v1, v2, etc.)
33
25
 
34
- ```bash
35
- # Load project context
36
- node ~/.claude/maxsim/bin/maxsim-tools.cjs state read --raw
37
-
38
- # Check existing roadmap (if any)
39
- node ~/.claude/maxsim/bin/maxsim-tools.cjs roadmap read --raw
40
- ```
41
-
42
- ### 2. DECOMPOSE — Break Into Phases
26
+ ### 2. DECOMPOSE -- Break Into Phases
43
27
 
44
28
  Each phase should be:
45
29
 
46
30
  | Property | Requirement |
47
31
  |----------|------------|
48
- | **Independently deliverable** | The phase produces a working increment not a half-built feature |
32
+ | **Independently deliverable** | The phase produces a working increment, not a half-built feature |
49
33
  | **1-3 days of work** | Larger phases should be split; smaller ones should be merged |
50
34
  | **Clear boundary** | You can tell when the phase is done without ambiguity |
51
35
  | **Ordered by dependency** | No phase depends on a later phase |
52
36
 
53
- **Phase numbering convention:**
37
+ Phase numbering convention:
54
38
 
55
39
  | Format | When to Use |
56
40
  |--------|------------|
@@ -58,54 +42,51 @@ Each phase should be:
58
42
  | `01A`, `01B` | Parallel sub-phases that can execute concurrently |
59
43
  | `01.1`, `01.2` | Sequential sub-phases within a parent phase |
60
44
 
61
- Sort order: `01 < 01A < 01B < 01.1 < 01.2 < 02`
45
+ Sort order: `01` then `01A` then `01B` then `01.1` then `01.2` then `02`.
62
46
 
63
- ### 3. DEFINE Write Each Phase
47
+ ### 3. DEFINE -- Write Each Phase
64
48
 
65
- Every phase MUST include all of these fields:
49
+ Every phase must include all of these fields:
66
50
 
67
51
  ```markdown
68
52
  ### Phase {number}: {name}
69
- **Goal**: {one sentence what this phase achieves}
53
+ **Goal**: {one sentence -- what this phase achieves}
70
54
  **Depends on**: {phase numbers, or "Nothing" for the first phase}
71
55
  **Requirements**: {requirement IDs from REQUIREMENTS.md, if applicable}
72
56
  **Success Criteria** (what must be TRUE):
73
- 1. {Testable statement can be verified with a command, test, or inspection}
57
+ 1. {Testable statement -- can be verified with a command, test, or inspection}
74
58
  2. {Testable statement}
75
59
  3. {Testable statement}
76
60
  **Plans**: TBD
77
61
  ```
78
62
 
79
- **Success criteria rules:**
80
- - Each criterion must be testable "code is clean" is not testable; "no lint warnings" is testable
63
+ Success criteria rules:
64
+ - Each criterion must be testable -- "code is clean" is not testable; "no lint warnings" is testable
81
65
  - Include at least 2 criteria per phase
82
66
  - At least one criterion should be verifiable by running a command (test, build, lint)
83
- - Criteria describe the END STATE, not the process ("tests pass" not "write tests")
67
+ - Criteria describe the end state, not the process ("tests pass" not "write tests")
84
68
 
85
- ### 4. CONNECT Map Dependencies
69
+ ### 4. CONNECT -- Map Dependencies
86
70
 
87
- Draw the dependency graph:
88
71
  - Which phases can run in parallel? (Use letter suffixes: `03A`, `03B`)
89
72
  - Which phases are strictly sequential? (Use number suffixes: `03.1`, `03.2`)
90
- - Are there any circular dependencies? (This is a design error restructure)
73
+ - Are there any circular dependencies? (This is a design error -- restructure)
91
74
 
92
- **Rule: Every phase except the first must declare at least one dependency.**
75
+ Every phase except the first must declare at least one dependency.
93
76
 
94
- ### 5. MILESTONE Group Into Milestones
77
+ ### 5. MILESTONE -- Group Into Milestones
95
78
 
96
- Group phases into milestones that represent user-visible releases:
79
+ Group phases into milestones that represent user-visible releases. Each milestone should be a coherent deliverable that could ship independently.
97
80
 
98
81
  ```markdown
99
82
  ## Milestones
100
83
 
101
- - **v1.0 MVP** Phases 1-4
102
- - **v1.1 Polish** Phases 5-7
103
- - **v2.0 Scale** Phases 8-10
84
+ - **v1.0 MVP** -- Phases 1-4
85
+ - **v1.1 Polish** -- Phases 5-7
86
+ - **v2.0 Scale** -- Phases 8-10
104
87
  ```
105
88
 
106
- Each milestone should be a coherent deliverable that could ship independently.
107
-
108
- ### 6. WRITE — Produce the Roadmap
89
+ ### 6. WRITE -- Produce the Roadmap
109
90
 
110
91
  Assemble the complete ROADMAP.md:
111
92
 
@@ -118,7 +99,7 @@ Assemble the complete ROADMAP.md:
118
99
 
119
100
  ## Milestones
120
101
 
121
- - {emoji} **{milestone name}** Phases {range} ({status})
102
+ - **{milestone name}** -- Phases {range} ({status})
122
103
 
123
104
  ## Phases
124
105
 
@@ -135,47 +116,32 @@ Assemble the complete ROADMAP.md:
135
116
  **Plans**: TBD
136
117
  ```
137
118
 
138
- ### 7. VALIDATE Check the Roadmap
119
+ ### 7. VALIDATE -- Check the Roadmap
139
120
 
140
121
  Before finalizing, verify:
141
122
 
142
- ```bash
143
- # Write the roadmap (creates or overwrites .planning/ROADMAP.md)
144
- # Then verify phase structure
145
- node ~/.claude/maxsim/bin/maxsim-tools.cjs roadmap read --raw
146
- ```
147
-
148
123
  | Check | How to Verify |
149
124
  |-------|--------------|
150
125
  | Every phase has success criteria | Read each phase detail section |
151
- | Dependencies are acyclic | Trace the dependency chain no loops |
126
+ | Dependencies are acyclic | Trace the dependency chain -- no loops |
152
127
  | Phase numbering is sequential | Numbers increase, no gaps larger than 1 |
153
128
  | Milestones cover all phases | Every phase appears in exactly one milestone |
154
129
  | Success criteria are testable | Each criterion can be verified by command, test, or inspection |
155
130
 
156
- ## Common Rationalizations — REJECT THESE
131
+ ## Common Pitfalls
157
132
 
158
- | Excuse | Why It Violates the Rule |
159
- |--------|--------------------------|
133
+ | Pitfall | Why It Fails |
134
+ |---------|-------------|
160
135
  | "We don't know enough to plan" | Plan what you know. Unknown phases get a research spike first. |
161
- | "The roadmap will change anyway" | Plans change that is expected. No plan guarantees drift. |
136
+ | "The roadmap will change anyway" | Plans change -- that is expected. No plan guarantees drift. |
162
137
  | "Success criteria are too rigid" | Vague criteria are useless. Rigid criteria are adjustable. |
163
138
  | "One big phase is simpler" | Big phases hide complexity and delay feedback. Split them. |
164
139
  | "Dependencies are obvious" | Obvious to you now. Not obvious to the agent running phase 5 next week. |
165
140
  | "We'll add details later" | Later never comes. Write the details now while context is fresh. |
166
141
 
167
- ## Red Flags STOP If You Catch Yourself:
168
-
169
- - Writing a phase without success criteria
170
- - Creating phases longer than 3 days of work
171
- - Skipping dependency declarations
172
- - Writing vague criteria like "code is good" or "feature works"
173
- - Creating circular dependencies between phases
174
- - Putting all work in one or two massive phases
175
-
176
- **If any red flag triggers: STOP. Review the phase structure and fix it.**
142
+ Stop if you catch yourself writing a phase without success criteria, creating phases longer than 3 days of work, skipping dependency declarations, writing vague criteria like "code is good", creating circular dependencies, or putting all work in one or two massive phases.
177
143
 
178
- ## Verification Checklist
144
+ ## Verification
179
145
 
180
146
  Before finalizing a roadmap, confirm:
181
147
 
@@ -188,11 +154,11 @@ Before finalizing a roadmap, confirm:
188
154
  - [ ] ROADMAP.md matches the expected format for MAXSIM CLI parsing
189
155
  - [ ] Overview section summarizes the project and delivery strategy
190
156
 
191
- ## In MAXSIM Plan Execution
157
+ ## MAXSIM Integration
192
158
 
193
159
  Roadmap writing integrates with the MAXSIM lifecycle:
194
- - Use during project initialization (`/maxsim:plan-phase`) to create the initial roadmap
160
+ - Use during project initialization to create the initial roadmap
195
161
  - Use when restructuring after a significant scope change or pivot
196
- - The roadmap is read by MAXSIM agents via `roadmap read` format compliance is mandatory
162
+ - The roadmap is read by MAXSIM agents via `roadmap read` -- format compliance is mandatory
197
163
  - Phase numbering must be parseable by `normalizePhaseName()` and `comparePhaseNum()` in core
198
164
  - Config `model_profile` in `.planning/config.json` affects agent assignment per phase