maxsimcli 3.11.0 → 4.0.0
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.
- package/dist/.tsbuildinfo +1 -1
- package/dist/adapters/index.d.ts +0 -11
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +4 -40
- package/dist/adapters/index.js.map +1 -1
- package/dist/assets/CHANGELOG.md +36 -0
- package/dist/assets/dashboard/client/assets/{index-CZ8WC97G.js → index-C_eAetZJ.js} +66 -66
- package/dist/assets/dashboard/client/assets/index-CmiJKqOU.css +32 -0
- package/dist/assets/dashboard/client/index.html +2 -2
- package/dist/assets/dashboard/server.js +467 -271
- package/dist/assets/templates/agents/AGENTS.md +94 -0
- package/dist/assets/templates/agents/maxsim-debugger.md +2 -2
- package/dist/assets/templates/agents/maxsim-executor.md +5 -5
- package/dist/assets/templates/agents/maxsim-phase-researcher.md +2 -2
- package/dist/assets/templates/agents/maxsim-plan-checker.md +2 -2
- package/dist/assets/templates/agents/maxsim-planner.md +3 -3
- package/dist/assets/templates/commands/maxsim/add-todo.md +15 -5
- package/dist/assets/templates/commands/maxsim/discuss-phase.md +1 -0
- package/dist/assets/templates/commands/maxsim/init-existing.md +4 -0
- package/dist/assets/templates/commands/maxsim/new-project.md +4 -0
- package/dist/assets/templates/commands/maxsim/settings.md +1 -1
- package/dist/assets/templates/references/thinking-partner.md +41 -0
- package/dist/assets/templates/skills/batch-worktree/SKILL.md +137 -0
- package/dist/assets/templates/skills/brainstorming/SKILL.md +159 -0
- package/dist/assets/templates/skills/code-review/SKILL.md +151 -0
- package/dist/assets/templates/skills/memory-management/SKILL.md +174 -0
- package/dist/assets/templates/skills/roadmap-writing/SKILL.md +198 -0
- package/dist/assets/templates/skills/sdd/SKILL.md +175 -0
- package/dist/assets/templates/skills/simplify/SKILL.md +185 -0
- package/dist/assets/templates/skills/using-maxsim/SKILL.md +120 -0
- package/dist/assets/templates/templates/acceptance-criteria.md +10 -0
- package/dist/assets/templates/templates/config.json +1 -1
- package/dist/assets/templates/templates/decisions.md +10 -0
- package/dist/assets/templates/templates/no-gos.md +9 -0
- package/dist/assets/templates/workflows/add-tests.md +3 -3
- package/dist/assets/templates/workflows/add-todo.md +89 -0
- package/dist/assets/templates/workflows/complete-milestone.md +1 -1
- package/dist/assets/templates/workflows/discuss-phase.md +85 -1
- package/dist/assets/templates/workflows/execute-phase.md +26 -16
- package/dist/assets/templates/workflows/execute-plan.md +166 -0
- package/dist/assets/templates/workflows/init-existing.md +123 -3
- package/dist/assets/templates/workflows/new-milestone.md +4 -0
- package/dist/assets/templates/workflows/new-project.md +111 -3
- package/dist/assets/templates/workflows/plan-phase.md +5 -5
- package/dist/assets/templates/workflows/quick.md +2 -2
- package/dist/assets/templates/workflows/settings.md +8 -4
- package/dist/assets/templates/workflows/verify-work.md +1 -1
- package/dist/cli.cjs +1512 -1026
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.js +170 -278
- package/dist/cli.js.map +1 -1
- package/dist/core/artefakte.d.ts +12 -0
- package/dist/core/artefakte.d.ts.map +1 -0
- package/dist/core/artefakte.js +136 -0
- package/dist/core/artefakte.js.map +1 -0
- package/dist/core/commands.d.ts +13 -13
- package/dist/core/commands.d.ts.map +1 -1
- package/dist/core/commands.js +48 -58
- package/dist/core/commands.js.map +1 -1
- package/dist/core/config.d.ts +4 -3
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +14 -18
- package/dist/core/config.js.map +1 -1
- package/dist/core/context-loader.d.ts +20 -0
- package/dist/core/context-loader.d.ts.map +1 -0
- package/dist/core/context-loader.js +154 -0
- package/dist/core/context-loader.js.map +1 -0
- package/dist/core/core.d.ts +26 -2
- package/dist/core/core.d.ts.map +1 -1
- package/dist/core/core.js +90 -24
- package/dist/core/core.js.map +1 -1
- package/dist/core/dashboard-launcher.d.ts +56 -0
- package/dist/core/dashboard-launcher.d.ts.map +1 -0
- package/dist/core/dashboard-launcher.js +246 -0
- package/dist/core/dashboard-launcher.js.map +1 -0
- package/dist/core/frontmatter.d.ts +5 -5
- package/dist/core/frontmatter.d.ts.map +1 -1
- package/dist/core/frontmatter.js +21 -26
- package/dist/core/frontmatter.js.map +1 -1
- package/dist/core/index.d.ts +10 -3
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +40 -2
- package/dist/core/index.js.map +1 -1
- package/dist/core/init.d.ts +14 -15
- package/dist/core/init.d.ts.map +1 -1
- package/dist/core/init.js +93 -155
- package/dist/core/init.js.map +1 -1
- package/dist/core/milestone.d.ts +3 -3
- package/dist/core/milestone.d.ts.map +1 -1
- package/dist/core/milestone.js +9 -9
- package/dist/core/milestone.js.map +1 -1
- package/dist/core/phase.d.ts +9 -9
- package/dist/core/phase.d.ts.map +1 -1
- package/dist/core/phase.js +65 -63
- package/dist/core/phase.js.map +1 -1
- package/dist/core/roadmap.d.ts +4 -3
- package/dist/core/roadmap.d.ts.map +1 -1
- package/dist/core/roadmap.js +46 -108
- package/dist/core/roadmap.js.map +1 -1
- package/dist/core/skills.d.ts +19 -0
- package/dist/core/skills.d.ts.map +1 -0
- package/dist/core/skills.js +145 -0
- package/dist/core/skills.js.map +1 -0
- package/dist/core/start.d.ts +15 -0
- package/dist/core/start.d.ts.map +1 -0
- package/dist/core/start.js +80 -0
- package/dist/core/start.js.map +1 -0
- package/dist/core/state.d.ts +13 -13
- package/dist/core/state.d.ts.map +1 -1
- package/dist/core/state.js +125 -130
- package/dist/core/state.js.map +1 -1
- package/dist/core/template.d.ts +3 -3
- package/dist/core/template.d.ts.map +1 -1
- package/dist/core/template.js +12 -14
- package/dist/core/template.js.map +1 -1
- package/dist/core/types.d.ts +15 -4
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +9 -2
- package/dist/core/types.js.map +1 -1
- package/dist/core/verify.d.ts +10 -9
- package/dist/core/verify.d.ts.map +1 -1
- package/dist/core/verify.js +38 -48
- package/dist/core/verify.js.map +1 -1
- package/dist/core-TFSlUjV1.cjs +4312 -0
- package/dist/core-TFSlUjV1.cjs.map +1 -0
- package/dist/install/adapters.d.ts +6 -0
- package/dist/install/adapters.d.ts.map +1 -0
- package/dist/install/adapters.js +65 -0
- package/dist/install/adapters.js.map +1 -0
- package/dist/install/copy.d.ts +6 -0
- package/dist/install/copy.d.ts.map +1 -0
- package/dist/install/copy.js +71 -0
- package/dist/install/copy.js.map +1 -0
- package/dist/install/dashboard.d.ts +16 -0
- package/dist/install/dashboard.d.ts.map +1 -0
- package/dist/install/dashboard.js +273 -0
- package/dist/install/dashboard.js.map +1 -0
- package/dist/install/hooks.d.ts +31 -0
- package/dist/install/hooks.d.ts.map +1 -0
- package/dist/install/hooks.js +260 -0
- package/dist/install/hooks.js.map +1 -0
- package/dist/install/index.d.ts +2 -0
- package/dist/install/index.d.ts.map +1 -0
- package/dist/install/index.js +535 -0
- package/dist/install/index.js.map +1 -0
- package/dist/install/manifest.d.ts +23 -0
- package/dist/install/manifest.d.ts.map +1 -0
- package/dist/install/manifest.js +129 -0
- package/dist/install/manifest.js.map +1 -0
- package/dist/install/patches.d.ts +10 -0
- package/dist/install/patches.d.ts.map +1 -0
- package/dist/install/patches.js +124 -0
- package/dist/install/patches.js.map +1 -0
- package/dist/install/shared.d.ts +56 -0
- package/dist/install/shared.d.ts.map +1 -0
- package/dist/install/shared.js +172 -0
- package/dist/install/shared.js.map +1 -0
- package/dist/install/uninstall.d.ts +5 -0
- package/dist/install/uninstall.d.ts.map +1 -0
- package/dist/install/uninstall.js +222 -0
- package/dist/install/uninstall.js.map +1 -0
- package/dist/install.cjs +793 -1648
- package/dist/install.cjs.map +1 -1
- package/dist/mcp-server.cjs +38 -14
- package/dist/mcp-server.cjs.map +1 -1
- package/dist/skills-BOSxYUzf.cjs +6812 -0
- package/dist/skills-BOSxYUzf.cjs.map +1 -0
- package/package.json +1 -1
- package/dist/adapters/codex.d.ts +0 -19
- package/dist/adapters/codex.d.ts.map +0 -1
- package/dist/adapters/codex.js +0 -94
- package/dist/adapters/codex.js.map +0 -1
- package/dist/adapters/gemini.d.ts +0 -19
- package/dist/adapters/gemini.d.ts.map +0 -1
- package/dist/adapters/gemini.js +0 -96
- package/dist/adapters/gemini.js.map +0 -1
- package/dist/adapters/opencode.d.ts +0 -17
- package/dist/adapters/opencode.d.ts.map +0 -1
- package/dist/adapters/opencode.js +0 -111
- package/dist/adapters/opencode.js.map +0 -1
- package/dist/adapters/transforms/content.d.ts +0 -39
- package/dist/adapters/transforms/content.d.ts.map +0 -1
- package/dist/adapters/transforms/content.js +0 -125
- package/dist/adapters/transforms/content.js.map +0 -1
- package/dist/adapters/transforms/frontmatter.d.ts +0 -42
- package/dist/adapters/transforms/frontmatter.d.ts.map +0 -1
- package/dist/adapters/transforms/frontmatter.js +0 -204
- package/dist/adapters/transforms/frontmatter.js.map +0 -1
- package/dist/adapters/transforms/tool-maps.d.ts +0 -20
- package/dist/adapters/transforms/tool-maps.d.ts.map +0 -1
- package/dist/adapters/transforms/tool-maps.js +0 -64
- package/dist/adapters/transforms/tool-maps.js.map +0 -1
- package/dist/assets/dashboard/client/assets/index-DzJChB-D.css +0 -32
- package/dist/install.d.ts +0 -2
- package/dist/install.d.ts.map +0 -1
- package/dist/install.js +0 -1841
- package/dist/install.js.map +0 -1
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
---
|
|
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
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Code Review
|
|
7
|
+
|
|
8
|
+
Shipping unreviewed code is shipping unknown risk. Review before sign-off.
|
|
9
|
+
|
|
10
|
+
**If you have not reviewed every changed file, you cannot approve the phase.**
|
|
11
|
+
|
|
12
|
+
## The Iron Law
|
|
13
|
+
|
|
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>
|
|
20
|
+
|
|
21
|
+
## The Gate Function
|
|
22
|
+
|
|
23
|
+
Follow these steps IN ORDER before approving any phase or significant implementation.
|
|
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
|
|
38
|
+
|
|
39
|
+
Review every changed file for:
|
|
40
|
+
|
|
41
|
+
| Category | What to Look For |
|
|
42
|
+
|----------|-----------------|
|
|
43
|
+
| Injection | Unsanitized user input in SQL, shell commands, HTML output, template strings |
|
|
44
|
+
| Authentication | Missing auth checks, hardcoded credentials, tokens in source |
|
|
45
|
+
| Authorization | Missing permission checks, privilege escalation paths |
|
|
46
|
+
| Data exposure | Secrets in logs, overly broad API responses, sensitive data in error messages |
|
|
47
|
+
| Dependencies | New dependencies with known vulnerabilities, unnecessary dependencies |
|
|
48
|
+
|
|
49
|
+
**Any security issue is a blocking finding. No exceptions.**
|
|
50
|
+
|
|
51
|
+
### 3. INTERFACES — Verify API Contracts
|
|
52
|
+
|
|
53
|
+
- Do public function signatures match their documentation?
|
|
54
|
+
- Are return types accurate and complete?
|
|
55
|
+
- Do error types cover all failure modes?
|
|
56
|
+
- Are breaking changes documented and intentional?
|
|
57
|
+
- Do exported interfaces maintain backward compatibility (or is the break intentional)?
|
|
58
|
+
|
|
59
|
+
### 4. ERROR HANDLING — Check Failure Paths
|
|
60
|
+
|
|
61
|
+
- Are all external calls (I/O, network, user input) wrapped in error handling?
|
|
62
|
+
- Do error messages provide enough context to diagnose the issue?
|
|
63
|
+
- Are errors propagated correctly (not swallowed silently)?
|
|
64
|
+
- Are edge cases handled (empty input, null values, boundary conditions)?
|
|
65
|
+
|
|
66
|
+
### 5. TESTS — Evaluate Coverage
|
|
67
|
+
|
|
68
|
+
- Does every new public function have corresponding tests?
|
|
69
|
+
- Do tests cover both success and failure paths?
|
|
70
|
+
- Are edge cases tested (empty, null, boundary, error conditions)?
|
|
71
|
+
- Do tests verify behavior, not implementation details?
|
|
72
|
+
|
|
73
|
+
### 6. QUALITY — Assess Maintainability
|
|
74
|
+
|
|
75
|
+
- Is naming consistent with the existing codebase conventions?
|
|
76
|
+
- Are there code duplication opportunities that should be extracted?
|
|
77
|
+
- 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.**
|
|
96
|
+
|
|
97
|
+
## Common Rationalizations — REJECT THESE
|
|
98
|
+
|
|
99
|
+
| Excuse | Why It Violates the Rule |
|
|
100
|
+
|--------|--------------------------|
|
|
101
|
+
| "Tests pass, so the code is fine" | Tests verify behavior, not code quality. Review is separate. |
|
|
102
|
+
| "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. |
|
|
106
|
+
| "Generated code doesn't need review" | Generated code has the same bugs. Review it. |
|
|
107
|
+
|
|
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.**
|
|
118
|
+
|
|
119
|
+
## Verification Checklist
|
|
120
|
+
|
|
121
|
+
Before signing off on a phase, confirm:
|
|
122
|
+
|
|
123
|
+
- [ ] All changed files have been reviewed (not just the "important" ones)
|
|
124
|
+
- [ ] No security vulnerabilities found (or all found issues resolved)
|
|
125
|
+
- [ ] Public interfaces match their contracts and documentation
|
|
126
|
+
- [ ] Error handling covers all external calls and edge cases
|
|
127
|
+
- [ ] Test coverage exists for new public functions and error paths
|
|
128
|
+
- [ ] Naming and style are consistent with codebase conventions
|
|
129
|
+
- [ ] No blocker or high severity issues remain open
|
|
130
|
+
|
|
131
|
+
## Review Output Format
|
|
132
|
+
|
|
133
|
+
Produce a review summary for phase documentation:
|
|
134
|
+
|
|
135
|
+
```
|
|
136
|
+
REVIEW SCOPE: [number] files changed, [number] additions, [number] deletions
|
|
137
|
+
SECURITY: PASS | ISSUES FOUND (list)
|
|
138
|
+
INTERFACES: PASS | ISSUES FOUND (list)
|
|
139
|
+
ERROR HANDLING: PASS | ISSUES FOUND (list)
|
|
140
|
+
TEST COVERAGE: PASS | GAPS FOUND (list)
|
|
141
|
+
QUALITY: PASS | ISSUES FOUND (list)
|
|
142
|
+
VERDICT: APPROVED | BLOCKED (list blocking issues)
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## In MAXSIM Plan Execution
|
|
146
|
+
|
|
147
|
+
Code review applies at phase boundaries:
|
|
148
|
+
- After all tasks in a phase are complete, run this review before marking the phase done
|
|
149
|
+
- Blocking issues must be resolved before phase completion
|
|
150
|
+
- Medium issues should be captured as todos for the next phase
|
|
151
|
+
- The review summary should be included in the phase SUMMARY.md
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
---
|
|
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
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Memory Management
|
|
7
|
+
|
|
8
|
+
Context dies with each session. Patterns discovered but not saved are patterns lost.
|
|
9
|
+
|
|
10
|
+
**If you encountered it twice, save it. You will encounter it again.**
|
|
11
|
+
|
|
12
|
+
## The Iron Law
|
|
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>
|
|
20
|
+
|
|
21
|
+
## When to Save
|
|
22
|
+
|
|
23
|
+
### Auto-Save Triggers (MUST save)
|
|
24
|
+
|
|
25
|
+
These situations require immediate memory persistence:
|
|
26
|
+
|
|
27
|
+
| Trigger | Threshold | What to Save |
|
|
28
|
+
|---------|-----------|-------------|
|
|
29
|
+
| Same error encountered | 2+ occurrences | Error pattern, root cause, fix |
|
|
30
|
+
| Same debugging path followed | 2+ times | The shortcut or solution |
|
|
31
|
+
| Architectural decision made | Once (if significant) | Decision, rationale, alternatives rejected |
|
|
32
|
+
| Non-obvious convention discovered | Once | The convention and where it applies |
|
|
33
|
+
| Workaround for tooling/framework quirk | Once | The quirk and the workaround |
|
|
34
|
+
| Project-specific pattern confirmed | 2+ uses | The pattern and when to apply it |
|
|
35
|
+
|
|
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.
|
|
47
|
+
|
|
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
|
+
```
|
|
58
|
+
|
|
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
|
|
62
|
+
|
|
63
|
+
### Memory Entry Format
|
|
64
|
+
|
|
65
|
+
Each entry should follow this structure:
|
|
66
|
+
|
|
67
|
+
```markdown
|
|
68
|
+
## [Short descriptive title]
|
|
69
|
+
|
|
70
|
+
**Context:** When this applies
|
|
71
|
+
**Pattern/Error:** What was observed
|
|
72
|
+
**Solution/Decision:** What to do about it
|
|
73
|
+
**Evidence:** How this was confirmed (dates, occurrences, test results)
|
|
74
|
+
```
|
|
75
|
+
|
|
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
|
|
99
|
+
|
|
100
|
+
- Re-read the file to confirm the entry was written correctly
|
|
101
|
+
- Ensure the entry is actionable (someone reading it can act on it)
|
|
102
|
+
|
|
103
|
+
## Error Pattern Detection
|
|
104
|
+
|
|
105
|
+
When debugging, track errors in a mental tally:
|
|
106
|
+
|
|
107
|
+
```
|
|
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
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### What Makes a Good Error Memory
|
|
114
|
+
|
|
115
|
+
Good:
|
|
116
|
+
```markdown
|
|
117
|
+
## Vitest "cannot find module" for path aliases
|
|
118
|
+
|
|
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
|
+
```
|
|
124
|
+
|
|
125
|
+
Bad:
|
|
126
|
+
```markdown
|
|
127
|
+
## Test error
|
|
128
|
+
There was an error with tests. Fixed it by changing config.
|
|
129
|
+
```
|
|
130
|
+
|
|
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:
|
|
143
|
+
|
|
144
|
+
- Encountering the same error for the second time without saving it
|
|
145
|
+
- Making the same architectural decision you made in a previous session
|
|
146
|
+
- Debugging a problem you already solved before
|
|
147
|
+
- Saying "I think we fixed this before" without finding the memory entry
|
|
148
|
+
- Leaving a session without updating memory for patterns discovered
|
|
149
|
+
|
|
150
|
+
**If any red flag triggers: STOP. Write the memory entry NOW, before continuing.**
|
|
151
|
+
|
|
152
|
+
## Verification Checklist
|
|
153
|
+
|
|
154
|
+
Before ending a work session:
|
|
155
|
+
|
|
156
|
+
- [ ] All errors encountered 2+ times are saved to `errors.md`
|
|
157
|
+
- [ ] All significant decisions are saved to `architecture.md`
|
|
158
|
+
- [ ] All discovered patterns are saved to `patterns.md`
|
|
159
|
+
- [ ] MEMORY.md index is up to date
|
|
160
|
+
- [ ] No duplicate entries were created
|
|
161
|
+
- [ ] All entries follow the format (Context, Pattern, Solution, Evidence)
|
|
162
|
+
|
|
163
|
+
## Integration with MAXSIM
|
|
164
|
+
|
|
165
|
+
During plan execution, the executor and researcher agents load memory files at startup:
|
|
166
|
+
- **Executor:** Reads MEMORY.md to avoid known pitfalls before implementing
|
|
167
|
+
- **Researcher:** Saves findings to memory for future phases
|
|
168
|
+
- **Debugger:** Checks error memories before starting investigation — the fix may already be known
|
|
169
|
+
|
|
170
|
+
Memory persistence happens at natural breakpoints:
|
|
171
|
+
- After resolving a bug (save to errors.md)
|
|
172
|
+
- After completing a phase (save patterns discovered)
|
|
173
|
+
- After making an architectural decision (save to architecture.md)
|
|
174
|
+
- At checkpoints (save current understanding before context resets)
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
---
|
|
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
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Roadmap Writing
|
|
7
|
+
|
|
8
|
+
A roadmap without success criteria is a wish list. Define what done looks like for every phase.
|
|
9
|
+
|
|
10
|
+
**If a phase does not have measurable success criteria, it is not a plan — it is a hope.**
|
|
11
|
+
|
|
12
|
+
## The Iron Law
|
|
13
|
+
|
|
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
|
|
26
|
+
|
|
27
|
+
Before writing phases, understand what you are planning:
|
|
28
|
+
|
|
29
|
+
- Read PROJECT.md for vision and constraints
|
|
30
|
+
- Read REQUIREMENTS.md for v1/v2/out-of-scope boundaries
|
|
31
|
+
- Check existing STATE.md for decisions and blockers
|
|
32
|
+
- Identify the delivery target (MVP, v1, v2, etc.)
|
|
33
|
+
|
|
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
|
|
43
|
+
|
|
44
|
+
Each phase should be:
|
|
45
|
+
|
|
46
|
+
| Property | Requirement |
|
|
47
|
+
|----------|------------|
|
|
48
|
+
| **Independently deliverable** | The phase produces a working increment — not a half-built feature |
|
|
49
|
+
| **1-3 days of work** | Larger phases should be split; smaller ones should be merged |
|
|
50
|
+
| **Clear boundary** | You can tell when the phase is done without ambiguity |
|
|
51
|
+
| **Ordered by dependency** | No phase depends on a later phase |
|
|
52
|
+
|
|
53
|
+
**Phase numbering convention:**
|
|
54
|
+
|
|
55
|
+
| Format | When to Use |
|
|
56
|
+
|--------|------------|
|
|
57
|
+
| `01`, `02`, `03` | Standard sequential phases |
|
|
58
|
+
| `01A`, `01B` | Parallel sub-phases that can execute concurrently |
|
|
59
|
+
| `01.1`, `01.2` | Sequential sub-phases within a parent phase |
|
|
60
|
+
|
|
61
|
+
Sort order: `01 < 01A < 01B < 01.1 < 01.2 < 02`
|
|
62
|
+
|
|
63
|
+
### 3. DEFINE — Write Each Phase
|
|
64
|
+
|
|
65
|
+
Every phase MUST include all of these fields:
|
|
66
|
+
|
|
67
|
+
```markdown
|
|
68
|
+
### Phase {number}: {name}
|
|
69
|
+
**Goal**: {one sentence — what this phase achieves}
|
|
70
|
+
**Depends on**: {phase numbers, or "Nothing" for the first phase}
|
|
71
|
+
**Requirements**: {requirement IDs from REQUIREMENTS.md, if applicable}
|
|
72
|
+
**Success Criteria** (what must be TRUE):
|
|
73
|
+
1. {Testable statement — can be verified with a command, test, or inspection}
|
|
74
|
+
2. {Testable statement}
|
|
75
|
+
3. {Testable statement}
|
|
76
|
+
**Plans**: TBD
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
**Success criteria rules:**
|
|
80
|
+
- Each criterion must be testable — "code is clean" is not testable; "no lint warnings" is testable
|
|
81
|
+
- Include at least 2 criteria per phase
|
|
82
|
+
- 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")
|
|
84
|
+
|
|
85
|
+
### 4. CONNECT — Map Dependencies
|
|
86
|
+
|
|
87
|
+
Draw the dependency graph:
|
|
88
|
+
- Which phases can run in parallel? (Use letter suffixes: `03A`, `03B`)
|
|
89
|
+
- Which phases are strictly sequential? (Use number suffixes: `03.1`, `03.2`)
|
|
90
|
+
- Are there any circular dependencies? (This is a design error — restructure)
|
|
91
|
+
|
|
92
|
+
**Rule: Every phase except the first must declare at least one dependency.**
|
|
93
|
+
|
|
94
|
+
### 5. MILESTONE — Group Into Milestones
|
|
95
|
+
|
|
96
|
+
Group phases into milestones that represent user-visible releases:
|
|
97
|
+
|
|
98
|
+
```markdown
|
|
99
|
+
## Milestones
|
|
100
|
+
|
|
101
|
+
- **v1.0 MVP** — Phases 1-4
|
|
102
|
+
- **v1.1 Polish** — Phases 5-7
|
|
103
|
+
- **v2.0 Scale** — Phases 8-10
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Each milestone should be a coherent deliverable that could ship independently.
|
|
107
|
+
|
|
108
|
+
### 6. WRITE — Produce the Roadmap
|
|
109
|
+
|
|
110
|
+
Assemble the complete ROADMAP.md:
|
|
111
|
+
|
|
112
|
+
```markdown
|
|
113
|
+
# Roadmap: {project name}
|
|
114
|
+
|
|
115
|
+
## Overview
|
|
116
|
+
|
|
117
|
+
{2-3 sentences: what the project is, what this roadmap covers, delivery strategy}
|
|
118
|
+
|
|
119
|
+
## Milestones
|
|
120
|
+
|
|
121
|
+
- {emoji} **{milestone name}** — Phases {range} ({status})
|
|
122
|
+
|
|
123
|
+
## Phases
|
|
124
|
+
|
|
125
|
+
- [ ] **Phase {N}: {name}** - {one-line summary}
|
|
126
|
+
|
|
127
|
+
## Phase Details
|
|
128
|
+
|
|
129
|
+
### Phase {N}: {name}
|
|
130
|
+
**Goal**: ...
|
|
131
|
+
**Depends on**: ...
|
|
132
|
+
**Requirements**: ...
|
|
133
|
+
**Success Criteria** (what must be TRUE):
|
|
134
|
+
1. ...
|
|
135
|
+
**Plans**: TBD
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### 7. VALIDATE — Check the Roadmap
|
|
139
|
+
|
|
140
|
+
Before finalizing, verify:
|
|
141
|
+
|
|
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
|
+
| Check | How to Verify |
|
|
149
|
+
|-------|--------------|
|
|
150
|
+
| Every phase has success criteria | Read each phase detail section |
|
|
151
|
+
| Dependencies are acyclic | Trace the dependency chain — no loops |
|
|
152
|
+
| Phase numbering is sequential | Numbers increase, no gaps larger than 1 |
|
|
153
|
+
| Milestones cover all phases | Every phase appears in exactly one milestone |
|
|
154
|
+
| Success criteria are testable | Each criterion can be verified by command, test, or inspection |
|
|
155
|
+
|
|
156
|
+
## Common Rationalizations — REJECT THESE
|
|
157
|
+
|
|
158
|
+
| Excuse | Why It Violates the Rule |
|
|
159
|
+
|--------|--------------------------|
|
|
160
|
+
| "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. |
|
|
162
|
+
| "Success criteria are too rigid" | Vague criteria are useless. Rigid criteria are adjustable. |
|
|
163
|
+
| "One big phase is simpler" | Big phases hide complexity and delay feedback. Split them. |
|
|
164
|
+
| "Dependencies are obvious" | Obvious to you now. Not obvious to the agent running phase 5 next week. |
|
|
165
|
+
| "We'll add details later" | Later never comes. Write the details now while context is fresh. |
|
|
166
|
+
|
|
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.**
|
|
177
|
+
|
|
178
|
+
## Verification Checklist
|
|
179
|
+
|
|
180
|
+
Before finalizing a roadmap, confirm:
|
|
181
|
+
|
|
182
|
+
- [ ] Every phase has a number, name, goal, dependencies, and success criteria
|
|
183
|
+
- [ ] Success criteria are testable (verifiable by command, test, or inspection)
|
|
184
|
+
- [ ] Dependencies form a DAG (no circular dependencies)
|
|
185
|
+
- [ ] Phase numbering follows MAXSIM convention (01, 01A, 01B, 01.1, etc.)
|
|
186
|
+
- [ ] Phases are 1-3 days of work each
|
|
187
|
+
- [ ] Milestones group phases into coherent deliverables
|
|
188
|
+
- [ ] ROADMAP.md matches the expected format for MAXSIM CLI parsing
|
|
189
|
+
- [ ] Overview section summarizes the project and delivery strategy
|
|
190
|
+
|
|
191
|
+
## In MAXSIM Plan Execution
|
|
192
|
+
|
|
193
|
+
Roadmap writing integrates with the MAXSIM lifecycle:
|
|
194
|
+
- Use during project initialization (`/maxsim:plan-phase`) to create the initial roadmap
|
|
195
|
+
- 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
|
|
197
|
+
- Phase numbering must be parseable by `normalizePhaseName()` and `comparePhaseNum()` in core
|
|
198
|
+
- Config `model_profile` in `.planning/config.json` affects agent assignment per phase
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sdd
|
|
3
|
+
description: Dispatch fresh subagent per task with 2-stage review between tasks
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Spec-Driven Dispatch (SDD)
|
|
7
|
+
|
|
8
|
+
Execute tasks sequentially, each in a fresh subagent with clean context. Review every task before moving to the next.
|
|
9
|
+
|
|
10
|
+
**If the previous task did not pass review, you do not start the next task.**
|
|
11
|
+
|
|
12
|
+
## When to Use
|
|
13
|
+
|
|
14
|
+
- Tasks are sequential and each builds on the previous
|
|
15
|
+
- Context rot is a concern (long plans, many files, complex logic)
|
|
16
|
+
- Each task benefits from starting with a clean context window
|
|
17
|
+
- You want enforced quality gates between tasks
|
|
18
|
+
|
|
19
|
+
Do NOT use this skill when:
|
|
20
|
+
- Tasks are independent and can run in parallel (use batch-worktree instead)
|
|
21
|
+
- The plan has only 1-2 small tasks (overhead is not worth it)
|
|
22
|
+
- All tasks modify the same small set of files (single-agent execution is simpler)
|
|
23
|
+
|
|
24
|
+
## The Iron Law
|
|
25
|
+
|
|
26
|
+
<HARD-GATE>
|
|
27
|
+
NO TASK STARTS UNTIL THE PREVIOUS TASK PASSES 2-STAGE REVIEW.
|
|
28
|
+
If the review found issues, they must be fixed before the next task begins.
|
|
29
|
+
No "we'll fix it later." No "it's close enough." No skipping review for simple tasks.
|
|
30
|
+
Violating this rule ships unreviewed code — the exact problem SDD prevents.
|
|
31
|
+
</HARD-GATE>
|
|
32
|
+
|
|
33
|
+
## Process
|
|
34
|
+
|
|
35
|
+
### 1. LOAD — Read the Plan
|
|
36
|
+
|
|
37
|
+
- Read the plan file (PLAN.md) to get the ordered task list
|
|
38
|
+
- For each task, identify: description, acceptance criteria, relevant files
|
|
39
|
+
- Confirm task order makes sense (later tasks may depend on earlier ones)
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
# Load plan context
|
|
43
|
+
INIT=$(node .claude/maxsim/bin/maxsim-tools.cjs init execute-phase "${PHASE}")
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### 2. DISPATCH — Spawn Fresh Agent Per Task
|
|
47
|
+
|
|
48
|
+
For each task in order:
|
|
49
|
+
|
|
50
|
+
1. Assemble the task context:
|
|
51
|
+
- Task description and acceptance criteria from the plan
|
|
52
|
+
- Only the files relevant to this specific task
|
|
53
|
+
- Results from previous tasks (commit hashes, created files) — NOT the full previous context
|
|
54
|
+
2. Spawn a fresh `general-purpose` agent with this minimal context
|
|
55
|
+
3. The agent implements the task, runs tests, and commits
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
# Record task dispatch
|
|
59
|
+
node .claude/maxsim/bin/maxsim-tools.cjs state-add-decision "SDD: dispatching task N — [description]"
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### 3. REVIEW — 2-Stage Quality Gate
|
|
63
|
+
|
|
64
|
+
After each task completes, run two review stages before proceeding:
|
|
65
|
+
|
|
66
|
+
#### Stage 1: Spec Compliance
|
|
67
|
+
|
|
68
|
+
- Does the implementation match the task description?
|
|
69
|
+
- Are all acceptance criteria met?
|
|
70
|
+
- Were only the specified files modified (no scope creep)?
|
|
71
|
+
- Do the changes align with the plan's intent?
|
|
72
|
+
|
|
73
|
+
**Verdict:** PASS or FAIL with specific issues.
|
|
74
|
+
|
|
75
|
+
#### Stage 2: Code Quality
|
|
76
|
+
|
|
77
|
+
- Are there obvious bugs, edge cases, or error handling gaps?
|
|
78
|
+
- Is the code readable and consistent with codebase conventions?
|
|
79
|
+
- Are there unnecessary complications or dead code?
|
|
80
|
+
- Do all tests pass?
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
# Run tests to verify
|
|
84
|
+
npx vitest run
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
**Verdict:** PASS or FAIL with specific issues.
|
|
88
|
+
|
|
89
|
+
### 4. FIX — Address Review Failures
|
|
90
|
+
|
|
91
|
+
If either review stage fails:
|
|
92
|
+
|
|
93
|
+
1. Spawn a NEW fresh agent with:
|
|
94
|
+
- The original task description
|
|
95
|
+
- The review feedback (specific issues found)
|
|
96
|
+
- The current state of the files
|
|
97
|
+
2. The fix agent addresses ONLY the review issues — no new features
|
|
98
|
+
3. Re-run both review stages on the fixed code
|
|
99
|
+
4. If 3 fix attempts fail: STOP and escalate to the user
|
|
100
|
+
|
|
101
|
+
### 5. ADVANCE — Move to Next Task
|
|
102
|
+
|
|
103
|
+
Only after both review stages pass:
|
|
104
|
+
- Record the task as complete
|
|
105
|
+
- Note the commit hash and any files created/modified
|
|
106
|
+
- Pass this minimal summary (not full context) to the next task's agent
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
# Record task completion
|
|
110
|
+
node .claude/maxsim/bin/maxsim-tools.cjs state-add-decision "SDD: task N complete — [summary]"
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### 6. REPORT — Final Summary
|
|
114
|
+
|
|
115
|
+
After all tasks complete:
|
|
116
|
+
- List each task with its status and commit hash
|
|
117
|
+
- Note any tasks that required fix iterations
|
|
118
|
+
- Summarize the total changes made
|
|
119
|
+
|
|
120
|
+
## Context Management Rules
|
|
121
|
+
|
|
122
|
+
Each agent receives ONLY what it needs:
|
|
123
|
+
|
|
124
|
+
| Context Item | Included? |
|
|
125
|
+
|-------------|-----------|
|
|
126
|
+
| Task description + acceptance criteria | Always |
|
|
127
|
+
| Files relevant to this task | Always |
|
|
128
|
+
| Previous task commit hashes | Always |
|
|
129
|
+
| Previous task full diff | Never |
|
|
130
|
+
| Previous task agent conversation | Never |
|
|
131
|
+
| PROJECT.md / REQUIREMENTS.md | Only if task references project-level concerns |
|
|
132
|
+
| Full codebase | Never — only specified files |
|
|
133
|
+
|
|
134
|
+
**The point of SDD is fresh context. Loading the previous agent's full context defeats the purpose.**
|
|
135
|
+
|
|
136
|
+
## Common Rationalizations — REJECT THESE
|
|
137
|
+
|
|
138
|
+
| Excuse | Why It Violates the Rule |
|
|
139
|
+
|--------|--------------------------|
|
|
140
|
+
| "This task is simple, skip review" | Simple tasks still have bugs. Review takes seconds for simple code. |
|
|
141
|
+
| "Review is slowing us down" | Unreviewed code slows you down more when bugs compound across tasks. |
|
|
142
|
+
| "Just pass the full context forward" | Full context = context rot. Minimal summaries keep agents effective. |
|
|
143
|
+
| "Fix it in the next task" | The next task's agent does not know about the bug. Fix it now. |
|
|
144
|
+
| "The agent knows best, trust it" | Agents make mistakes. That is why review exists. |
|
|
145
|
+
|
|
146
|
+
## Red Flags — STOP If You Catch Yourself:
|
|
147
|
+
|
|
148
|
+
- Starting a new task before the previous one passed review
|
|
149
|
+
- Passing full conversation history to the next agent
|
|
150
|
+
- Skipping Stage 1 or Stage 2 of the review
|
|
151
|
+
- Accumulating "fix later" items across tasks
|
|
152
|
+
- On the 3rd fix attempt for the same review issue (escalate to user)
|
|
153
|
+
|
|
154
|
+
**If any red flag triggers: STOP. Complete the review cycle for the current task before proceeding.**
|
|
155
|
+
|
|
156
|
+
## Verification Checklist
|
|
157
|
+
|
|
158
|
+
Before reporting completion, confirm:
|
|
159
|
+
|
|
160
|
+
- [ ] Every task was executed by a fresh agent with minimal context
|
|
161
|
+
- [ ] Every task passed both spec compliance and code quality review
|
|
162
|
+
- [ ] No task was skipped or started before the previous task passed review
|
|
163
|
+
- [ ] Fix iterations (if any) are documented
|
|
164
|
+
- [ ] All tests pass after the final task
|
|
165
|
+
- [ ] Summary includes per-task status and commit hashes
|
|
166
|
+
|
|
167
|
+
## In MAXSIM Plan Execution
|
|
168
|
+
|
|
169
|
+
When a plan specifies `skill: "sdd"`:
|
|
170
|
+
- The orchestrator reads tasks from PLAN.md in order
|
|
171
|
+
- Each task is dispatched to a fresh subagent
|
|
172
|
+
- 2-stage review runs between every task
|
|
173
|
+
- Failed reviews trigger fix agents (up to 3 attempts)
|
|
174
|
+
- Progress is tracked in STATE.md via decision entries
|
|
175
|
+
- Final results are recorded in SUMMARY.md
|