maxsimcli 4.15.4 → 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 +7 -0
- 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/workflows/execute-phase.md +6 -22
- package/dist/assets/templates/workflows/execute-plan.md +8 -31
- package/dist/assets/templates/workflows/execute.md +7 -9
- package/dist/assets/templates/workflows/go.md +2 -2
- package/dist/assets/templates/workflows/progress.md +10 -11
- package/dist/assets/templates/workflows/sdd.md +29 -28
- package/dist/cli.cjs +6901 -6442
- package/dist/cli.cjs.map +1 -1
- package/dist/core-D5zUr9cb.cjs.map +1 -1
- package/dist/mcp-server.cjs +184 -53
- package/dist/mcp-server.cjs.map +1 -1
- package/dist/skills-CjFWZIGM.cjs.map +1 -1
- package/package.json +1 -1
package/dist/assets/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
## [4.15.4](https://github.com/maystudios/maxsimcli/compare/v4.15.3...v4.15.4) (2026-03-12)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* remove stale references to dashboard, plan-phase, milestones shims and enhance statusline ([b895bf2](https://github.com/maystudios/maxsimcli/commit/b895bf22228117e93ad36cfb358777a4591109ed))
|
|
7
|
+
|
|
1
8
|
## [4.15.3](https://github.com/maystudios/maxsimcli/compare/v4.15.2...v4.15.3) (2026-03-11)
|
|
2
9
|
|
|
3
10
|
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
| Agent | Role | Tools | Preloaded Skills | On-Demand Skills |
|
|
8
8
|
|-------|------|-------|-----------------|-----------------|
|
|
9
9
|
| `executor` | Implements plans with atomic commits and deviation handling | Read, Write, Edit, Bash, Grep, Glob | handoff-contract, evidence-collection, commit-conventions | tool-priority-guide, agent-system-map |
|
|
10
|
-
| `planner` | Creates
|
|
10
|
+
| `planner` | Creates plans (posted as GitHub Issue comments) with task breakdown and goal-backward verification | Read, Write, Bash, Grep, Glob | handoff-contract, input-validation | research-methodology, agent-system-map |
|
|
11
11
|
| `researcher` | Investigates domains with source evaluation and confidence levels | Read, Bash, Grep, Glob, WebFetch | handoff-contract, evidence-collection | research-methodology, tool-priority-guide |
|
|
12
12
|
| `verifier` | Verifies work against specifications with fresh evidence and hard gates | Read, Bash, Grep, Glob | verification-gates, evidence-collection, handoff-contract | agent-system-map, tool-priority-guide |
|
|
13
13
|
|
|
@@ -19,7 +19,7 @@ You are a plan executor. You implement plans atomically -- one commit per task,
|
|
|
19
19
|
## Input Validation
|
|
20
20
|
|
|
21
21
|
Before any work, verify required inputs exist:
|
|
22
|
-
- Plan content (provided by the orchestrator from a GitHub Issue comment
|
|
22
|
+
- Plan content (provided by the orchestrator from a GitHub Issue comment)
|
|
23
23
|
- STATE.md readable -- `test -f .planning/STATE.md`
|
|
24
24
|
|
|
25
25
|
If missing, return immediately:
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
name: planner
|
|
3
3
|
description: >-
|
|
4
4
|
Creates executable phase plans with task breakdown, dependency analysis,
|
|
5
|
-
and goal-backward verification. Use when planning phases, creating
|
|
6
|
-
|
|
5
|
+
and goal-backward verification. Use when planning phases, creating plans
|
|
6
|
+
(posted as GitHub Issue comments), breaking work into tasks, or performing gap closure planning.
|
|
7
7
|
tools: Read, Write, Bash, Grep, Glob
|
|
8
8
|
model: inherit
|
|
9
9
|
skills:
|
|
@@ -24,13 +24,13 @@ Context and research input is provided from GitHub Issue comments (type: `contex
|
|
|
24
24
|
Before any work, verify required inputs exist:
|
|
25
25
|
- ROADMAP.md -- `test -f .planning/ROADMAP.md`
|
|
26
26
|
- REQUIREMENTS.md -- `test -f .planning/REQUIREMENTS.md`
|
|
27
|
-
- Phase
|
|
27
|
+
- Phase context provided in spawn prompt (GitHub Issues is the source of truth)
|
|
28
28
|
|
|
29
29
|
If missing, return immediately using the input-validation error format.
|
|
30
30
|
|
|
31
31
|
## Planning Protocol
|
|
32
32
|
|
|
33
|
-
1. **Load context** -- read ROADMAP.md, REQUIREMENTS.md, and context/research provided from GitHub Issue comments
|
|
33
|
+
1. **Load context** -- read ROADMAP.md, REQUIREMENTS.md, and context/research provided from GitHub Issue comments
|
|
34
34
|
2. **Identify scope** -- extract phase goal, requirements, and user decisions from context
|
|
35
35
|
3. **Break into tasks** -- each task is an atomic unit with clear action, done criteria, verify block, and file list
|
|
36
36
|
4. **Build dependency graph** -- identify which tasks depend on others
|
|
@@ -109,17 +109,12 @@ When `phase_issue_number` is set (GitHub integration active):
|
|
|
109
109
|
|
|
110
110
|
**Filtering:** Skip plans where `has_summary: true`. If `--gaps-only`: also skip non-gap_closure plans. If all filtered: "No matching incomplete plans" → exit.
|
|
111
111
|
|
|
112
|
-
**
|
|
112
|
+
**If GitHub integration is NOT active** (`phase_issue_number` is not set):
|
|
113
113
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
PLAN_INDEX=$(node ~/.claude/maxsim/bin/maxsim-tools.cjs phase-plan-index "${PHASE_NUMBER}")
|
|
114
|
+
GitHub Issues is the source of truth for plans. Report the error and exit:
|
|
115
|
+
```
|
|
116
|
+
GitHub integration required. Ensure GitHub Issues is configured: run /maxsim:init to set up.
|
|
118
117
|
```
|
|
119
|
-
|
|
120
|
-
Parse JSON for: `phase`, `plans[]` (each with `id`, `wave`, `autonomous`, `objective`, `files_modified`, `task_count`, `has_summary`), `waves` (map of wave number → plan IDs), `incomplete`, `has_checkpoints`.
|
|
121
|
-
|
|
122
|
-
**Skip plans where `has_summary: true`** (local SUMMARY.md file present). If `--gaps-only`: also skip non-gap_closure plans.
|
|
123
118
|
|
|
124
119
|
Report:
|
|
125
120
|
```
|
|
@@ -307,7 +302,7 @@ For each wave:
|
|
|
307
302
|
|
|
308
303
|
1. **Describe what's being built (BEFORE spawning):**
|
|
309
304
|
|
|
310
|
-
Read each plan's `<objective>` from the plan comment content
|
|
305
|
+
Read each plan's `<objective>` from the plan comment content. Extract what's being built and why.
|
|
311
306
|
|
|
312
307
|
```
|
|
313
308
|
---
|
|
@@ -550,12 +545,6 @@ When GitHub integration is active, look for `<!-- maxsim:type=uat -->` comments
|
|
|
550
545
|
mcp_get_issue_detail(issue_number: parent_phase_issue_number)
|
|
551
546
|
```
|
|
552
547
|
|
|
553
|
-
As fallback, check local files:
|
|
554
|
-
```bash
|
|
555
|
-
PARENT_INFO=$(node ~/.claude/maxsim/bin/maxsim-tools.cjs find-phase "${PARENT_PHASE}" --raw)
|
|
556
|
-
# Extract directory from PARENT_INFO JSON, then find UAT file in that directory
|
|
557
|
-
```
|
|
558
|
-
|
|
559
548
|
**If no parent UAT found:** Skip this step (gap-closure may have been triggered by VERIFICATION.md instead).
|
|
560
549
|
|
|
561
550
|
**3. Update UAT gap statuses:**
|
|
@@ -612,11 +601,6 @@ mcp_get_issue_detail(issue_number: phase_issue_number)
|
|
|
612
601
|
|
|
613
602
|
Look for `<!-- maxsim:type=verification -->` comment and parse `status:` field.
|
|
614
603
|
|
|
615
|
-
Fallback:
|
|
616
|
-
```bash
|
|
617
|
-
grep "^status:" "$PHASE_DIR"/*-VERIFICATION.md | cut -d: -f2 | tr -d ' '
|
|
618
|
-
```
|
|
619
|
-
|
|
620
604
|
| Status | Action |
|
|
621
605
|
|--------|--------|
|
|
622
606
|
| `passed` | → update_roadmap |
|
|
@@ -758,7 +742,7 @@ Plan content passed directly from GitHub comments to subagents — no local PLAN
|
|
|
758
742
|
- **Dependency chain breaks:** Wave 1 fails → Wave 2 dependents likely fail → user chooses attempt or skip
|
|
759
743
|
- **All agents in wave fail:** Systemic issue → stop, report for investigation
|
|
760
744
|
- **Checkpoint unresolvable:** "Skip this plan?" or "Abort phase execution?" → record partial progress in STATE.md
|
|
761
|
-
- **GitHub integration unavailable:**
|
|
745
|
+
- **GitHub integration unavailable:** Report error — GitHub Issues is the source of truth for plans and summaries
|
|
762
746
|
</failure_handling>
|
|
763
747
|
|
|
764
748
|
<resumption>
|
|
@@ -51,25 +51,13 @@ mcp_detect_external_edits(issue_number: phase_issue_number)
|
|
|
51
51
|
|
|
52
52
|
If external edits detected: warn user and offer to re-read the plan before proceeding.
|
|
53
53
|
|
|
54
|
-
**
|
|
54
|
+
**If no GitHub context is available:**
|
|
55
55
|
|
|
56
|
-
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:
|
|
57
57
|
|
|
58
|
-
```bash
|
|
59
|
-
# Use plans/summaries from INIT JSON, or list files
|
|
60
|
-
ls .planning/phases/XX-name/*-PLAN.md 2>/dev/null | sort
|
|
61
|
-
ls .planning/phases/XX-name/*-SUMMARY.md 2>/dev/null | sort
|
|
62
58
|
```
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
<if mode="yolo">
|
|
67
|
-
Auto-approve: `⚡ Execute {phase}-{plan}-PLAN.md [Plan X of Y for Phase Z]` → parse_segments.
|
|
68
|
-
</if>
|
|
69
|
-
|
|
70
|
-
<if mode="interactive" OR="custom with gates.execute_next_plan true">
|
|
71
|
-
Present plan identification, wait for confirmation.
|
|
72
|
-
</if>
|
|
59
|
+
Plan content must be provided via GitHub Issue comment. Ensure GitHub integration is configured.
|
|
60
|
+
```
|
|
73
61
|
</step>
|
|
74
62
|
|
|
75
63
|
<step name="record_start_time">
|
|
@@ -144,12 +132,7 @@ Pattern B only (verify-only checkpoints). Skip for A/C.
|
|
|
144
132
|
|
|
145
133
|
The plan content IS the execution instructions. Follow exactly. If plan references CONTEXT.md: honor user's vision throughout.
|
|
146
134
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
When plan is loaded from a local file (fallback):
|
|
150
|
-
```bash
|
|
151
|
-
cat .planning/phases/XX-name/{phase}-{plan}-PLAN.md
|
|
152
|
-
```
|
|
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).
|
|
153
136
|
</step>
|
|
154
137
|
|
|
155
138
|
<step name="pre_execution_gates">
|
|
@@ -193,7 +176,7 @@ fi
|
|
|
193
176
|
node ~/.claude/maxsim/bin/maxsim-tools.cjs phases list --type summaries --raw
|
|
194
177
|
# Extract the second-to-last summary from the JSON result
|
|
195
178
|
```
|
|
196
|
-
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").
|
|
197
180
|
</step>
|
|
198
181
|
|
|
199
182
|
<step name="execute">
|
|
@@ -449,7 +432,7 @@ mcp_post_comment(
|
|
|
449
432
|
|
|
450
433
|
Record the comment URL/ID as `SUMMARY_COMMENT_ID` for future reference.
|
|
451
434
|
|
|
452
|
-
|
|
435
|
+
GitHub Issues is the source of truth -- summaries are always posted as GitHub comments.
|
|
453
436
|
</step>
|
|
454
437
|
|
|
455
438
|
<step name="review_cycle">
|
|
@@ -1038,7 +1021,7 @@ mcp_post_comment(
|
|
|
1038
1021
|
)
|
|
1039
1022
|
```
|
|
1040
1023
|
|
|
1041
|
-
|
|
1024
|
+
GitHub Issues is the source of truth -- verification and UAT results are always posted as GitHub comments.
|
|
1042
1025
|
</step>
|
|
1043
1026
|
|
|
1044
1027
|
<step name="update_codebase_map">
|
|
@@ -1066,12 +1049,6 @@ mcp_list_sub_issues(issue_number: phase_issue_number)
|
|
|
1066
1049
|
|
|
1067
1050
|
Count open vs closed sub-issues. Map closed count to plans complete.
|
|
1068
1051
|
|
|
1069
|
-
Fallback (no GitHub):
|
|
1070
|
-
```bash
|
|
1071
|
-
ls -1 .planning/phases/[current-phase-dir]/*-PLAN.md 2>/dev/null | wc -l
|
|
1072
|
-
ls -1 .planning/phases/[current-phase-dir]/*-SUMMARY.md 2>/dev/null | wc -l
|
|
1073
|
-
```
|
|
1074
|
-
|
|
1075
1052
|
| Condition | Route | Action |
|
|
1076
1053
|
|-----------|-------|--------|
|
|
1077
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,7 +160,7 @@ 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
|
|
|
@@ -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>
|
|
@@ -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
|
|
@@ -32,15 +32,16 @@ Parse JSON for: `executor_model`, `verifier_model`, `commit_docs`, `phase_found`
|
|
|
32
32
|
</step>
|
|
33
33
|
|
|
34
34
|
<step name="discover_plans">
|
|
35
|
-
Find incomplete plans
|
|
35
|
+
Find incomplete plans by querying GitHub Issues (the source of truth for plans and completion status):
|
|
36
36
|
|
|
37
|
-
```
|
|
38
|
-
|
|
37
|
+
```
|
|
38
|
+
mcp_get_issue_detail(issue_number: phase_issue_number)
|
|
39
|
+
mcp_list_sub_issues(issue_number: phase_issue_number)
|
|
39
40
|
```
|
|
40
41
|
|
|
41
|
-
Parse
|
|
42
|
+
Parse plan comments (`<!-- maxsim:type=plan -->`) from the phase issue. A plan is complete when all its task sub-issues are closed.
|
|
42
43
|
|
|
43
|
-
**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.
|
|
44
45
|
|
|
45
46
|
Report:
|
|
46
47
|
```
|
|
@@ -58,11 +59,7 @@ Report:
|
|
|
58
59
|
</step>
|
|
59
60
|
|
|
60
61
|
<step name="load_plan">
|
|
61
|
-
For each incomplete plan, read the plan
|
|
62
|
-
|
|
63
|
-
```bash
|
|
64
|
-
cat ${PHASE_DIR}/${PLAN_FILE}
|
|
65
|
-
```
|
|
62
|
+
For each incomplete plan, read the plan content from the GitHub Issue comment (loaded in discover_plans) and extract the ordered task list.
|
|
66
63
|
|
|
67
64
|
Extract for each task:
|
|
68
65
|
- **Task number** (sequential order in plan)
|
|
@@ -325,14 +322,7 @@ Display task completion:
|
|
|
325
322
|
</step>
|
|
326
323
|
|
|
327
324
|
<step name="create_summary">
|
|
328
|
-
After all tasks in a plan complete,
|
|
329
|
-
|
|
330
|
-
```bash
|
|
331
|
-
# Get the summary template
|
|
332
|
-
cat ~/.claude/maxsim/templates/summary.md
|
|
333
|
-
```
|
|
334
|
-
|
|
335
|
-
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:
|
|
336
326
|
|
|
337
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.
|
|
338
328
|
|
|
@@ -356,12 +346,19 @@ Create `{phase}-{plan}-SUMMARY.md` in the phase directory. Include:
|
|
|
356
346
|
- Deviations (if any)
|
|
357
347
|
- Issues encountered
|
|
358
348
|
|
|
359
|
-
|
|
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
|
+
```
|
|
360
357
|
|
|
361
358
|
Self-check:
|
|
362
359
|
- Verify first 2 files from `key-files.created` exist on disk
|
|
363
360
|
- Check `git log --oneline --all --grep="{phase}-{plan}"` returns commits
|
|
364
|
-
- Append `## Self-Check: PASSED` or `## Self-Check: FAILED`
|
|
361
|
+
- Append `## Self-Check: PASSED` or `## Self-Check: FAILED` to summary content before posting
|
|
365
362
|
</step>
|
|
366
363
|
|
|
367
364
|
<step name="update_state">
|
|
@@ -396,23 +393,27 @@ node ~/.claude/maxsim/bin/maxsim-tools.cjs requirements mark-complete ${REQ_IDS}
|
|
|
396
393
|
Task code already committed per-task. Commit planning artifacts:
|
|
397
394
|
|
|
398
395
|
```bash
|
|
399
|
-
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
|
|
400
397
|
```
|
|
398
|
+
|
|
399
|
+
Note: No local SUMMARY.md is committed -- summary was posted to GitHub as a comment.
|
|
401
400
|
</step>
|
|
402
401
|
|
|
403
402
|
<step name="offer_next">
|
|
404
403
|
After all plans in the phase are processed:
|
|
405
404
|
|
|
406
|
-
|
|
407
|
-
ls -1 .planning/phases/${PHASE_DIR_NAME}/*-PLAN.md 2>/dev/null | wc -l
|
|
408
|
-
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:
|
|
409
406
|
```
|
|
407
|
+
mcp_list_sub_issues(issue_number: phase_issue_number)
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
Count open vs closed sub-issues to determine completion.
|
|
410
411
|
|
|
411
412
|
| Condition | Route | Action |
|
|
412
413
|
|-----------|-------|--------|
|
|
413
|
-
|
|
|
414
|
-
|
|
|
415
|
-
|
|
|
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). |
|
|
416
417
|
|
|
417
418
|
All routes: recommend `/clear` first for fresh context.
|
|
418
419
|
</step>
|
|
@@ -428,5 +429,5 @@ All routes: recommend `/clear` first for fresh context.
|
|
|
428
429
|
</failure_handling>
|
|
429
430
|
|
|
430
431
|
<resumption>
|
|
431
|
-
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.
|
|
432
433
|
</resumption>
|