maxsimcli 4.15.3 → 4.16.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/assets/CHANGELOG.md +14 -0
- package/dist/assets/hooks/maxsim-statusline.cjs +46 -7
- package/dist/assets/hooks/maxsim-statusline.cjs.map +1 -1
- package/dist/assets/templates/agents/AGENTS.md +1 -1
- package/dist/assets/templates/agents/executor.md +1 -1
- package/dist/assets/templates/agents/planner.md +4 -4
- package/dist/assets/templates/references/git-planning-commit.md +1 -1
- package/dist/assets/templates/references/questioning.md +1 -1
- package/dist/assets/templates/templates/codebase/structure.md +1 -1
- package/dist/assets/templates/templates/milestone-archive.md +3 -3
- package/dist/assets/templates/workflows/batch.md +2 -3
- package/dist/assets/templates/workflows/diagnose-issues.md +6 -6
- package/dist/assets/templates/workflows/discovery-phase.md +6 -7
- package/dist/assets/templates/workflows/discuss-phase.md +8 -11
- package/dist/assets/templates/workflows/execute-phase.md +11 -71
- package/dist/assets/templates/workflows/execute-plan.md +8 -37
- package/dist/assets/templates/workflows/execute.md +7 -9
- package/dist/assets/templates/workflows/go.md +4 -4
- package/dist/assets/templates/workflows/help.md +1 -1
- package/dist/assets/templates/workflows/init-existing.md +0 -5
- package/dist/assets/templates/workflows/new-milestone.md +2 -7
- package/dist/assets/templates/workflows/new-project.md +0 -5
- package/dist/assets/templates/workflows/progress.md +10 -11
- package/dist/assets/templates/workflows/quick.md +0 -1
- package/dist/assets/templates/workflows/sdd.md +29 -30
- package/dist/assets/templates/workflows/settings.md +2 -7
- package/dist/assets/templates/workflows/verify-work.md +2 -16
- package/dist/cli.cjs +6913 -6499
- package/dist/cli.cjs.map +1 -1
- package/dist/core-D5zUr9cb.cjs.map +1 -1
- package/dist/install.cjs +10 -26
- package/dist/install.cjs.map +1 -1
- package/dist/mcp-server.cjs +186 -91
- package/dist/mcp-server.cjs.map +1 -1
- package/dist/skills-CjFWZIGM.cjs.map +1 -1
- package/package.json +1 -1
- package/dist/assets/templates/references/dashboard-bridge.md +0 -59
- package/dist/assets/templates/workflows/plan-phase.md +0 -501
|
@@ -7,7 +7,6 @@ Read STATE.md before any operation to load project context.
|
|
|
7
7
|
Read config.json for planning behavior settings.
|
|
8
8
|
|
|
9
9
|
@./references/git-integration.md
|
|
10
|
-
@./references/dashboard-bridge.md
|
|
11
10
|
</required_reading>
|
|
12
11
|
|
|
13
12
|
## MCP Server Fallback
|
|
@@ -52,25 +51,13 @@ mcp_detect_external_edits(issue_number: phase_issue_number)
|
|
|
52
51
|
|
|
53
52
|
If external edits detected: warn user and offer to re-read the plan before proceeding.
|
|
54
53
|
|
|
55
|
-
**
|
|
54
|
+
**If no GitHub context is available:**
|
|
56
55
|
|
|
57
|
-
If no `phase_issue_number` or `plan_comment_body` was passed:
|
|
56
|
+
GitHub Issues is the source of truth for plans. If no `phase_issue_number` or `plan_comment_body` was passed, report the error and exit:
|
|
58
57
|
|
|
59
|
-
```bash
|
|
60
|
-
# Use plans/summaries from INIT JSON, or list files
|
|
61
|
-
ls .planning/phases/XX-name/*-PLAN.md 2>/dev/null | sort
|
|
62
|
-
ls .planning/phases/XX-name/*-SUMMARY.md 2>/dev/null | sort
|
|
63
58
|
```
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
<if mode="yolo">
|
|
68
|
-
Auto-approve: `⚡ Execute {phase}-{plan}-PLAN.md [Plan X of Y for Phase Z]` → parse_segments.
|
|
69
|
-
</if>
|
|
70
|
-
|
|
71
|
-
<if mode="interactive" OR="custom with gates.execute_next_plan true">
|
|
72
|
-
Present plan identification, wait for confirmation.
|
|
73
|
-
</if>
|
|
59
|
+
Plan content must be provided via GitHub Issue comment. Ensure GitHub integration is configured.
|
|
60
|
+
```
|
|
74
61
|
</step>
|
|
75
62
|
|
|
76
63
|
<step name="record_start_time">
|
|
@@ -145,12 +132,7 @@ Pattern B only (verify-only checkpoints). Skip for A/C.
|
|
|
145
132
|
|
|
146
133
|
The plan content IS the execution instructions. Follow exactly. If plan references CONTEXT.md: honor user's vision throughout.
|
|
147
134
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
When plan is loaded from a local file (fallback):
|
|
151
|
-
```bash
|
|
152
|
-
cat .planning/phases/XX-name/{phase}-{plan}-PLAN.md
|
|
153
|
-
```
|
|
135
|
+
The plan content is already in memory from the load_plan_from_github step (loaded from the GitHub Issue comment passed by the orchestrator).
|
|
154
136
|
</step>
|
|
155
137
|
|
|
156
138
|
<step name="pre_execution_gates">
|
|
@@ -194,7 +176,7 @@ fi
|
|
|
194
176
|
node ~/.claude/maxsim/bin/maxsim-tools.cjs phases list --type summaries --raw
|
|
195
177
|
# Extract the second-to-last summary from the JSON result
|
|
196
178
|
```
|
|
197
|
-
If previous phase has unresolved issues (check summary comments on phase issue
|
|
179
|
+
If previous phase has unresolved issues (check summary comments on phase issue for "Issues Encountered" / "Next Phase Readiness" blockers): AskUserQuestion(header="Previous Issues", options: "Proceed anyway" | "Address first" | "Review previous").
|
|
198
180
|
</step>
|
|
199
181
|
|
|
200
182
|
<step name="execute">
|
|
@@ -363,11 +345,6 @@ Display: `CHECKPOINT: [Type]` box → Progress {X}/{Y} → Task name → type-sp
|
|
|
363
345
|
| decision (9%) | Decision needed + context + options with pros/cons | "Select: option-id" |
|
|
364
346
|
| human-action (1%) | What was automated + ONE manual step + verification plan | "done" |
|
|
365
347
|
|
|
366
|
-
**Dashboard mode:** If `DASHBOARD_ACTIVE` (see @dashboard-bridge), present checkpoint content via `mcp__maxsim-dashboard__ask_question` instead of plain text:
|
|
367
|
-
- human-verify: `options: [{value: "approved", label: "Approved"}, {value: "issues", label: "Report issues"}]`, `allow_free_text: true`
|
|
368
|
-
- decision: one option per decision choice
|
|
369
|
-
- human-action: `options: [{value: "done", label: "Done"}]`, `allow_free_text: true`
|
|
370
|
-
|
|
371
348
|
After response: verify if specified. Pass → continue. Fail → inform, wait. WAIT for user — do NOT hallucinate completion.
|
|
372
349
|
|
|
373
350
|
See ~/.claude/maxsim/references/checkpoints.md for details.
|
|
@@ -455,7 +432,7 @@ mcp_post_comment(
|
|
|
455
432
|
|
|
456
433
|
Record the comment URL/ID as `SUMMARY_COMMENT_ID` for future reference.
|
|
457
434
|
|
|
458
|
-
|
|
435
|
+
GitHub Issues is the source of truth -- summaries are always posted as GitHub comments.
|
|
459
436
|
</step>
|
|
460
437
|
|
|
461
438
|
<step name="review_cycle">
|
|
@@ -1044,7 +1021,7 @@ mcp_post_comment(
|
|
|
1044
1021
|
)
|
|
1045
1022
|
```
|
|
1046
1023
|
|
|
1047
|
-
|
|
1024
|
+
GitHub Issues is the source of truth -- verification and UAT results are always posted as GitHub comments.
|
|
1048
1025
|
</step>
|
|
1049
1026
|
|
|
1050
1027
|
<step name="update_codebase_map">
|
|
@@ -1072,12 +1049,6 @@ mcp_list_sub_issues(issue_number: phase_issue_number)
|
|
|
1072
1049
|
|
|
1073
1050
|
Count open vs closed sub-issues. Map closed count to plans complete.
|
|
1074
1051
|
|
|
1075
|
-
Fallback (no GitHub):
|
|
1076
|
-
```bash
|
|
1077
|
-
ls -1 .planning/phases/[current-phase-dir]/*-PLAN.md 2>/dev/null | wc -l
|
|
1078
|
-
ls -1 .planning/phases/[current-phase-dir]/*-SUMMARY.md 2>/dev/null | wc -l
|
|
1079
|
-
```
|
|
1080
|
-
|
|
1081
1052
|
| Condition | Route | Action |
|
|
1082
1053
|
|-----------|-------|--------|
|
|
1083
1054
|
| open task sub-issues remain | **A: More plans** | Find next incomplete plan (by open sub-issues or missing summary comment). Yolo: auto-continue. Interactive: show next plan, suggest `/maxsim:execute {phase}`. STOP here. |
|
|
@@ -87,10 +87,13 @@ When GitHub integration is active (`phase_issue_number` is set):
|
|
|
87
87
|
- `plan_count`: total plan comments found
|
|
88
88
|
- `incomplete_count`: count of incomplete plans
|
|
89
89
|
|
|
90
|
-
When GitHub integration is NOT active (no `phase_issue_number`)
|
|
91
|
-
```
|
|
92
|
-
|
|
90
|
+
When GitHub integration is NOT active (no `phase_issue_number`):
|
|
91
|
+
```
|
|
92
|
+
No plans found for Phase {phase_number}. GitHub Issues is the source of truth for plans.
|
|
93
|
+
|
|
94
|
+
Ensure GitHub integration is configured: run /maxsim:init to set up GitHub Issues.
|
|
93
95
|
```
|
|
96
|
+
Exit workflow.
|
|
94
97
|
|
|
95
98
|
### 2b. Check for External Edits (WIRE-06)
|
|
96
99
|
|
|
@@ -332,11 +335,6 @@ mcp_get_issue_detail(issue_number: phase_issue_number)
|
|
|
332
335
|
|
|
333
336
|
Look for the `<!-- maxsim:type=verification -->` comment and parse the `status:` field from its body.
|
|
334
337
|
|
|
335
|
-
Also fall back to reading locally:
|
|
336
|
-
```bash
|
|
337
|
-
grep "^status:" "$PHASE_DIR"/*-VERIFICATION.md | cut -d: -f2 | tr -d ' '
|
|
338
|
-
```
|
|
339
|
-
|
|
340
338
|
**If `passed`:** Show verification gate and proceed to completion.
|
|
341
339
|
|
|
342
340
|
```
|
|
@@ -510,7 +508,7 @@ Display final results:
|
|
|
510
508
|
|
|
511
509
|
<success_criteria>
|
|
512
510
|
- [ ] Phase validated against roadmap
|
|
513
|
-
- [ ] Plan inventory loaded from GitHub issue comments (
|
|
511
|
+
- [ ] Plan inventory loaded from GitHub issue comments (GitHub Issues is the source of truth)
|
|
514
512
|
- [ ] External edit detection warns user if phase issue was modified externally
|
|
515
513
|
- [ ] Current state correctly detected from task sub-issue closure and summary comments
|
|
516
514
|
- [ ] Re-entry flow works for already-executed phases
|
|
@@ -160,13 +160,13 @@ Rule 5: Phase "To Do" on GitHub board (not yet started)?
|
|
|
160
160
|
-> Action: /maxsim:plan {N}
|
|
161
161
|
-> Reasoning: "Phase {N} ({name}) needs planning."
|
|
162
162
|
|
|
163
|
-
Sub-check: Does
|
|
163
|
+
Sub-check: Does a context comment exist on the phase GitHub Issue?
|
|
164
164
|
-> If yes: "Discussion complete, ready for research + planning."
|
|
165
165
|
-> If no: "Starting from discussion stage."
|
|
166
166
|
|
|
167
167
|
Rule 6: Current phase "In Review" on GitHub board?
|
|
168
168
|
-> Check: mcp_get_all_progress returns a phase with status="In Review"
|
|
169
|
-
-> Action: /maxsim:
|
|
169
|
+
-> Action: /maxsim:execute {N}
|
|
170
170
|
-> Reasoning: "Phase {N} ({name}) is awaiting verification."
|
|
171
171
|
|
|
172
172
|
Rule 7: All phases "Done" on GitHub board?
|
|
@@ -233,7 +233,7 @@ Or describe what you'd like to do:
|
|
|
233
233
|
- If no phases exist on board: show `/maxsim:plan` prominently
|
|
234
234
|
- Always include `/maxsim:quick` as it is always relevant
|
|
235
235
|
- Always include an open-ended fallback ("Or describe what you'd like to do")
|
|
236
|
-
- If GitHub not available (mcp calls fail):
|
|
236
|
+
- If GitHub not available (mcp calls fail): note degraded mode, recommend resolving GitHub connectivity
|
|
237
237
|
|
|
238
238
|
Wait for user selection, then dispatch the chosen command.
|
|
239
239
|
</step>
|
|
@@ -245,7 +245,7 @@ Wait for user selection, then dispatch the chosen command.
|
|
|
245
245
|
- Always surface problems BEFORE suggesting actions
|
|
246
246
|
- All problems block — no severity tiers, no "warnings"
|
|
247
247
|
- No arguments accepted — this is pure auto-detection
|
|
248
|
-
- No mention of old commands (plan
|
|
248
|
+
- No mention of old commands (plan, execute-phase, etc.)
|
|
249
249
|
- Keep initial feedback fast — show "Analyzing..." before heavy operations
|
|
250
250
|
- Primary source for phase state: live GitHub (mcp_get_all_progress, mcp_detect_interrupted)
|
|
251
251
|
- Local reads: STATE.md for blockers/decisions, ROADMAP.md for phase ordering only
|
|
@@ -106,7 +106,7 @@ Systematic debugging with persistent state across context resets.
|
|
|
106
106
|
|
|
107
107
|
- Scientific method: gather symptoms, hypothesize, test, verify
|
|
108
108
|
- Persistent debug sessions in `.planning/debug/` -- survives `/clear`
|
|
109
|
-
- Spawns isolated
|
|
109
|
+
- Spawns isolated verifier agent (fresh 200K context per investigation)
|
|
110
110
|
- Run with no args to resume an active session
|
|
111
111
|
|
|
112
112
|
Usage: `/maxsim:debug login form returns 500` or `/maxsim:debug` (resume)
|
|
@@ -6,15 +6,10 @@ Output: `.planning/` directory with config.json, PROJECT.md, REQUIREMENTS.md, RO
|
|
|
6
6
|
|
|
7
7
|
<required_reading>
|
|
8
8
|
Read all files referenced by the invoking prompt's execution_context before starting.
|
|
9
|
-
@./references/dashboard-bridge.md
|
|
10
9
|
@./references/thinking-partner.md
|
|
11
10
|
@./references/questioning.md
|
|
12
11
|
</required_reading>
|
|
13
12
|
|
|
14
|
-
<tool_mandate>
|
|
15
|
-
**Question routing:** At workflow start, probe for the dashboard (see @dashboard-bridge). If `DASHBOARD_ACTIVE = true`, route ALL `AskUserQuestion` calls through `mcp__maxsim-dashboard__ask_question` using the schema translation rules from @dashboard-bridge. If `DASHBOARD_ACTIVE = false`, use `AskUserQuestion` as normal.
|
|
16
|
-
</tool_mandate>
|
|
17
|
-
|
|
18
13
|
<auto_mode>
|
|
19
14
|
## Auto Mode Detection
|
|
20
15
|
|
|
@@ -7,14 +7,9 @@ Start a new milestone cycle for an existing project. Loads project context, gath
|
|
|
7
7
|
<required_reading>
|
|
8
8
|
|
|
9
9
|
Read all files referenced by the invoking prompt's execution_context before starting.
|
|
10
|
-
@./references/dashboard-bridge.md
|
|
11
10
|
|
|
12
11
|
</required_reading>
|
|
13
12
|
|
|
14
|
-
<tool_mandate>
|
|
15
|
-
**Question routing:** At workflow start, probe for the dashboard (see @dashboard-bridge). If `DASHBOARD_ACTIVE = true`, route ALL `AskUserQuestion` calls through `mcp__maxsim-dashboard__ask_question` using the schema translation rules from @dashboard-bridge. If `DASHBOARD_ACTIVE = false`, use `AskUserQuestion` as normal.
|
|
16
|
-
</tool_mandate>
|
|
17
|
-
|
|
18
13
|
<process>
|
|
19
14
|
|
|
20
15
|
## 1. Load Context
|
|
@@ -22,12 +17,12 @@ Read all files referenced by the invoking prompt's execution_context before star
|
|
|
22
17
|
- Read PROJECT.md (existing project, validated requirements, decisions)
|
|
23
18
|
- Read MILESTONES.md (what shipped previously)
|
|
24
19
|
- Read STATE.md (pending todos, blockers)
|
|
25
|
-
- Check for MILESTONE-CONTEXT.md (from /maxsim:
|
|
20
|
+
- Check for MILESTONE-CONTEXT.md (from /maxsim:plan)
|
|
26
21
|
|
|
27
22
|
## 2. Gather Milestone Goals
|
|
28
23
|
|
|
29
24
|
**If MILESTONE-CONTEXT.md exists:**
|
|
30
|
-
- Use features and scope from
|
|
25
|
+
- Use features and scope from plan
|
|
31
26
|
- Present summary for confirmation
|
|
32
27
|
|
|
33
28
|
**If no context file:**
|
|
@@ -4,15 +4,10 @@ Initialize a new project through unified flow: questioning, research (optional),
|
|
|
4
4
|
|
|
5
5
|
<required_reading>
|
|
6
6
|
Read all files referenced by the invoking prompt's execution_context before starting.
|
|
7
|
-
@./references/dashboard-bridge.md
|
|
8
7
|
@./references/thinking-partner.md
|
|
9
8
|
@./references/questioning.md
|
|
10
9
|
</required_reading>
|
|
11
10
|
|
|
12
|
-
<tool_mandate>
|
|
13
|
-
**Question routing:** At workflow start, probe for the dashboard (see @dashboard-bridge). If `DASHBOARD_ACTIVE = true`, route ALL `AskUserQuestion` calls through `mcp__maxsim-dashboard__ask_question` using the schema translation rules from @dashboard-bridge. If `DASHBOARD_ACTIVE = false`, use `AskUserQuestion` as normal.
|
|
14
|
-
</tool_mandate>
|
|
15
|
-
|
|
16
11
|
<auto_mode>
|
|
17
12
|
## Auto Mode Detection
|
|
18
13
|
|
|
@@ -85,10 +85,9 @@ Call `mcp_query_board` with the project number (from init context / config). Gro
|
|
|
85
85
|
| Done | 3 | #9, #10, #11 |
|
|
86
86
|
```
|
|
87
87
|
|
|
88
|
-
**Cross-
|
|
89
|
-
- Run `ROADMAP=$(node ~/.claude/maxsim/bin/maxsim-tools.cjs roadmap analyze)` to get local phase data
|
|
90
|
-
-
|
|
91
|
-
- Highlight any discrepancies between local and GitHub state in the Issues Detected section
|
|
88
|
+
**Cross-reference with local ROADMAP.md (for phase ordering only -- GitHub is authoritative for status):**
|
|
89
|
+
- Run `ROADMAP=$(node ~/.claude/maxsim/bin/maxsim-tools.cjs roadmap analyze)` to get local phase ordering data
|
|
90
|
+
- If local ROADMAP phase list differs from GitHub Issues, note in Issues Detected section (GitHub is the source of truth)
|
|
92
91
|
</step>
|
|
93
92
|
|
|
94
93
|
<step name="live_github_detail">
|
|
@@ -217,9 +216,9 @@ Identify the in-progress or interrupted phase (from `mcp_get_all_progress` or `m
|
|
|
217
216
|
|
|
218
217
|
**Route B: Phase needs planning**
|
|
219
218
|
|
|
220
|
-
Check if
|
|
219
|
+
Check if a `<!-- maxsim:type=context -->` comment exists on the phase GitHub Issue.
|
|
221
220
|
|
|
222
|
-
**If
|
|
221
|
+
**If context comment exists:**
|
|
223
222
|
|
|
224
223
|
```
|
|
225
224
|
---
|
|
@@ -236,7 +235,7 @@ Check if `{phase_num}-CONTEXT.md` exists in phase directory.
|
|
|
236
235
|
---
|
|
237
236
|
```
|
|
238
237
|
|
|
239
|
-
**If
|
|
238
|
+
**If no context comment exists:**
|
|
240
239
|
|
|
241
240
|
```
|
|
242
241
|
---
|
|
@@ -244,7 +243,7 @@ Check if `{phase_num}-CONTEXT.md` exists in phase directory.
|
|
|
244
243
|
## ▶ Next Up
|
|
245
244
|
|
|
246
245
|
**Phase {N}: {Name}** — {Goal from ROADMAP.md}
|
|
247
|
-
<sub>No context yet — /maxsim:plan will start with discussion</sub>
|
|
246
|
+
<sub>No context comment yet — /maxsim:plan will start with discussion</sub>
|
|
248
247
|
|
|
249
248
|
`/maxsim:plan {phase}`
|
|
250
249
|
|
|
@@ -335,8 +334,8 @@ Ready to plan the next milestone.
|
|
|
335
334
|
- All work complete → offer milestone completion via `/maxsim:init`
|
|
336
335
|
- Blockers present → highlight before offering to continue
|
|
337
336
|
- External edits detected → surface in Issues Detected section before routing
|
|
338
|
-
- Discrepancy between local ROADMAP and GitHub board → surface in Issues Detected
|
|
339
|
-
- GitHub not available (mcp calls fail) →
|
|
337
|
+
- Discrepancy between local ROADMAP and GitHub board → surface in Issues Detected (GitHub is authoritative)
|
|
338
|
+
- GitHub not available (mcp calls fail) → note degraded mode, recommend resolving GitHub connectivity
|
|
340
339
|
</step>
|
|
341
340
|
|
|
342
341
|
</process>
|
|
@@ -348,7 +347,7 @@ Ready to plan the next milestone.
|
|
|
348
347
|
- [ ] Board column view shown via mcp_query_board
|
|
349
348
|
- [ ] Per-phase task detail available via mcp_get_phase_progress and mcp_list_sub_issues
|
|
350
349
|
- [ ] External edit detection via mcp_detect_external_edits
|
|
351
|
-
- [ ] Cross-
|
|
350
|
+
- [ ] Cross-reference local ROADMAP.md for phase ordering (GitHub is authoritative for status)
|
|
352
351
|
- [ ] Phase gaps and discrepancies detected and surfaced in Issues Detected section
|
|
353
352
|
- [ ] Current position clear with visual progress
|
|
354
353
|
- [ ] What's next clearly explained
|
|
@@ -16,7 +16,6 @@ With `--todo` flag (or trigger words): enters Todo Mode for listing, capturing,
|
|
|
16
16
|
|
|
17
17
|
<required_reading>
|
|
18
18
|
Read all files referenced by the invoking prompt's execution_context before starting.
|
|
19
|
-
@./references/dashboard-bridge.md
|
|
20
19
|
</required_reading>
|
|
21
20
|
|
|
22
21
|
<process>
|
|
@@ -14,8 +14,6 @@ Fresh context per task. No context bleeding between tasks. Review is mandatory,
|
|
|
14
14
|
|
|
15
15
|
<required_reading>
|
|
16
16
|
Read STATE.md before any operation to load project context.
|
|
17
|
-
|
|
18
|
-
@./references/dashboard-bridge.md
|
|
19
17
|
</required_reading>
|
|
20
18
|
|
|
21
19
|
<process>
|
|
@@ -34,15 +32,16 @@ Parse JSON for: `executor_model`, `verifier_model`, `commit_docs`, `phase_found`
|
|
|
34
32
|
</step>
|
|
35
33
|
|
|
36
34
|
<step name="discover_plans">
|
|
37
|
-
Find incomplete plans
|
|
35
|
+
Find incomplete plans by querying GitHub Issues (the source of truth for plans and completion status):
|
|
38
36
|
|
|
39
|
-
```
|
|
40
|
-
|
|
37
|
+
```
|
|
38
|
+
mcp_get_issue_detail(issue_number: phase_issue_number)
|
|
39
|
+
mcp_list_sub_issues(issue_number: phase_issue_number)
|
|
41
40
|
```
|
|
42
41
|
|
|
43
|
-
Parse
|
|
42
|
+
Parse plan comments (`<!-- maxsim:type=plan -->`) from the phase issue. A plan is complete when all its task sub-issues are closed.
|
|
44
43
|
|
|
45
|
-
**Filtering:** Skip plans where
|
|
44
|
+
**Filtering:** Skip plans where all task sub-issues are closed. If all plans complete: "All plans in phase are already complete" — exit.
|
|
46
45
|
|
|
47
46
|
Report:
|
|
48
47
|
```
|
|
@@ -60,11 +59,7 @@ Report:
|
|
|
60
59
|
</step>
|
|
61
60
|
|
|
62
61
|
<step name="load_plan">
|
|
63
|
-
For each incomplete plan, read the plan
|
|
64
|
-
|
|
65
|
-
```bash
|
|
66
|
-
cat ${PHASE_DIR}/${PLAN_FILE}
|
|
67
|
-
```
|
|
62
|
+
For each incomplete plan, read the plan content from the GitHub Issue comment (loaded in discover_plans) and extract the ordered task list.
|
|
68
63
|
|
|
69
64
|
Extract for each task:
|
|
70
65
|
- **Task number** (sequential order in plan)
|
|
@@ -327,14 +322,7 @@ Display task completion:
|
|
|
327
322
|
</step>
|
|
328
323
|
|
|
329
324
|
<step name="create_summary">
|
|
330
|
-
After all tasks in a plan complete,
|
|
331
|
-
|
|
332
|
-
```bash
|
|
333
|
-
# Get the summary template
|
|
334
|
-
cat ~/.claude/maxsim/templates/summary.md
|
|
335
|
-
```
|
|
336
|
-
|
|
337
|
-
Create `{phase}-{plan}-SUMMARY.md` in the phase directory. Include:
|
|
325
|
+
After all tasks in a plan complete, build the summary content in memory and post it as a GitHub comment on the phase issue. Include:
|
|
338
326
|
|
|
339
327
|
**Frontmatter:** phase, plan, subsystem, tags, requires/provides/affects, tech-stack, key-files.created/modified, key-decisions, requirements-completed (copy from PLAN.md frontmatter), duration, completed date.
|
|
340
328
|
|
|
@@ -358,12 +346,19 @@ Create `{phase}-{plan}-SUMMARY.md` in the phase directory. Include:
|
|
|
358
346
|
- Deviations (if any)
|
|
359
347
|
- Issues encountered
|
|
360
348
|
|
|
361
|
-
|
|
349
|
+
Post summary to GitHub:
|
|
350
|
+
```
|
|
351
|
+
mcp_post_comment(
|
|
352
|
+
issue_number: phase_issue_number,
|
|
353
|
+
type: "summary",
|
|
354
|
+
body: {summary_content}
|
|
355
|
+
)
|
|
356
|
+
```
|
|
362
357
|
|
|
363
358
|
Self-check:
|
|
364
359
|
- Verify first 2 files from `key-files.created` exist on disk
|
|
365
360
|
- Check `git log --oneline --all --grep="{phase}-{plan}"` returns commits
|
|
366
|
-
- Append `## Self-Check: PASSED` or `## Self-Check: FAILED`
|
|
361
|
+
- Append `## Self-Check: PASSED` or `## Self-Check: FAILED` to summary content before posting
|
|
367
362
|
</step>
|
|
368
363
|
|
|
369
364
|
<step name="update_state">
|
|
@@ -398,23 +393,27 @@ node ~/.claude/maxsim/bin/maxsim-tools.cjs requirements mark-complete ${REQ_IDS}
|
|
|
398
393
|
Task code already committed per-task. Commit planning artifacts:
|
|
399
394
|
|
|
400
395
|
```bash
|
|
401
|
-
node ~/.claude/maxsim/bin/maxsim-tools.cjs commit "docs({phase}-{plan}): complete SDD execution" --files .planning/
|
|
396
|
+
node ~/.claude/maxsim/bin/maxsim-tools.cjs commit "docs({phase}-{plan}): complete SDD execution" --files .planning/STATE.md .planning/ROADMAP.md .planning/REQUIREMENTS.md
|
|
402
397
|
```
|
|
398
|
+
|
|
399
|
+
Note: No local SUMMARY.md is committed -- summary was posted to GitHub as a comment.
|
|
403
400
|
</step>
|
|
404
401
|
|
|
405
402
|
<step name="offer_next">
|
|
406
403
|
After all plans in the phase are processed:
|
|
407
404
|
|
|
408
|
-
|
|
409
|
-
ls -1 .planning/phases/${PHASE_DIR_NAME}/*-PLAN.md 2>/dev/null | wc -l
|
|
410
|
-
ls -1 .planning/phases/${PHASE_DIR_NAME}/*-SUMMARY.md 2>/dev/null | wc -l
|
|
405
|
+
Check completion by querying the phase issue's task sub-issues:
|
|
411
406
|
```
|
|
407
|
+
mcp_list_sub_issues(issue_number: phase_issue_number)
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
Count open vs closed sub-issues to determine completion.
|
|
412
411
|
|
|
413
412
|
| Condition | Route | Action |
|
|
414
413
|
|-----------|-------|--------|
|
|
415
|
-
|
|
|
416
|
-
|
|
|
417
|
-
|
|
|
414
|
+
| open sub-issues remain | **A: More plans** | Find next incomplete plan (by open sub-issues). Show next plan, suggest `/maxsim:execute {phase}` (SDD mode) to continue. |
|
|
415
|
+
| all sub-issues closed, more phases exist | **B: Phase done** | Show completion, suggest `/maxsim:execute {phase}` (verification) then `/maxsim:plan {next}`. |
|
|
416
|
+
| all sub-issues closed, last phase | **C: Milestone done** | Show banner, suggest `/maxsim:progress` (milestone completion) + `/maxsim:execute` (verification). |
|
|
418
417
|
|
|
419
418
|
All routes: recommend `/clear` first for fresh context.
|
|
420
419
|
</step>
|
|
@@ -430,5 +429,5 @@ All routes: recommend `/clear` first for fresh context.
|
|
|
430
429
|
</failure_handling>
|
|
431
430
|
|
|
432
431
|
<resumption>
|
|
433
|
-
Re-run `/maxsim:execute {phase}` (SDD mode) — discover_plans
|
|
432
|
+
Re-run `/maxsim:execute {phase}` (SDD mode) — discover_plans queries GitHub for task sub-issue status, skips plans with all sub-issues closed, resumes from first incomplete plan. Within a plan, completed tasks (those with commits matching the plan pattern) can be detected and skipped.
|
|
434
433
|
</resumption>
|
|
@@ -4,13 +4,8 @@ Interactive configuration of MAXSIM workflow agents (research, plan_checker, ver
|
|
|
4
4
|
|
|
5
5
|
<required_reading>
|
|
6
6
|
Read all files referenced by the invoking prompt's execution_context before starting.
|
|
7
|
-
@./references/dashboard-bridge.md
|
|
8
7
|
</required_reading>
|
|
9
8
|
|
|
10
|
-
<tool_mandate>
|
|
11
|
-
**Question routing:** At workflow start, probe for the dashboard (see @dashboard-bridge). If `DASHBOARD_ACTIVE = true`, route ALL `AskUserQuestion` calls through `mcp__maxsim-dashboard__ask_question` using the schema translation rules from @dashboard-bridge. If `DASHBOARD_ACTIVE = false`, use `AskUserQuestion` as normal.
|
|
12
|
-
</tool_mandate>
|
|
13
|
-
|
|
14
9
|
<process>
|
|
15
10
|
|
|
16
11
|
<step name="ensure_and_load_config">
|
|
@@ -33,7 +28,7 @@ Parse current values (default to `true` if not present):
|
|
|
33
28
|
- `workflow.research` — spawn researcher during /maxsim:plan
|
|
34
29
|
- `workflow.plan_checker` — spawn plan checker during /maxsim:plan
|
|
35
30
|
- `workflow.verifier` — spawn verifier during /maxsim:execute
|
|
36
|
-
- `workflow.nyquist_validation` — validation architecture research during
|
|
31
|
+
- `workflow.nyquist_validation` — validation architecture research during planning
|
|
37
32
|
- `model_profile` — which model each agent uses (default: `balanced`)
|
|
38
33
|
- `git.branching_strategy` — branching approach (default: `"none"`)
|
|
39
34
|
</step>
|
|
@@ -94,7 +89,7 @@ AskUserQuestion([
|
|
|
94
89
|
header: "Nyquist",
|
|
95
90
|
multiSelect: false,
|
|
96
91
|
options: [
|
|
97
|
-
{ label: "Yes (Recommended)", description: "Research automated test coverage during
|
|
92
|
+
{ label: "Yes (Recommended)", description: "Research automated test coverage during planning. Adds validation requirements to plans. Blocks approval if tasks lack automated verify." },
|
|
98
93
|
{ label: "No", description: "Skip validation research. Good for rapid prototyping or no-test phases." }
|
|
99
94
|
]
|
|
100
95
|
},
|
|
@@ -15,7 +15,6 @@ No Pass/Fail buttons. No severity questions. Just: "Here's what should happen. D
|
|
|
15
15
|
</philosophy>
|
|
16
16
|
|
|
17
17
|
<required_reading>
|
|
18
|
-
@./references/dashboard-bridge.md
|
|
19
18
|
</required_reading>
|
|
20
19
|
|
|
21
20
|
<template>
|
|
@@ -178,20 +177,7 @@ Proceed to `present_test`.
|
|
|
178
177
|
|
|
179
178
|
Read Current Test section from UAT file.
|
|
180
179
|
|
|
181
|
-
|
|
182
|
-
```
|
|
183
|
-
mcp__maxsim-dashboard__ask_question(
|
|
184
|
-
question: "**Test {number}: {name}**\n\n{expected}\n\n---\nSelect result or describe what's wrong:",
|
|
185
|
-
options: [
|
|
186
|
-
{ value: "pass", label: "Pass" },
|
|
187
|
-
{ value: "skip", label: "Skip" }
|
|
188
|
-
],
|
|
189
|
-
allow_free_text: true
|
|
190
|
-
)
|
|
191
|
-
```
|
|
192
|
-
Map response: "pass"/"skip" → handle as pass/skip. Any other text → logged as issue.
|
|
193
|
-
|
|
194
|
-
**If `DASHBOARD_ACTIVE = false`**: display using checkpoint box format:
|
|
180
|
+
Display using checkpoint box format:
|
|
195
181
|
|
|
196
182
|
```
|
|
197
183
|
╔══════════════════════════════════════════════════════════════╗
|
|
@@ -253,7 +239,7 @@ reported: "{verbatim user response}"
|
|
|
253
239
|
severity: {inferred}
|
|
254
240
|
```
|
|
255
241
|
|
|
256
|
-
Append to Gaps section (structured YAML for plan
|
|
242
|
+
Append to Gaps section (structured YAML for plan --gaps):
|
|
257
243
|
```yaml
|
|
258
244
|
- truth: "{expected behavior from test}"
|
|
259
245
|
status: failed
|