maestro-flow 0.3.32 → 0.3.34
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/.claude/commands/learn-retro.md +1 -1
- package/.claude/commands/maestro-composer.md +2 -2
- package/.claude/commands/maestro-ralph-execute.md +1 -1
- package/.claude/commands/maestro-ralph.md +11 -11
- package/.claude/commands/maestro-verify.md +1 -1
- package/.claude/commands/maestro.md +1 -2
- package/.claude/commands/quality-auto-test.md +124 -0
- package/.claude/commands/quality-refactor.md +1 -1
- package/.claude/commands/quality-test.md +3 -3
- package/.codex/skills/learn-retro/SKILL.md +1 -1
- package/.codex/skills/maestro/SKILL.md +1 -1
- package/.codex/skills/maestro-link-coordinate/SKILL.md +1 -1
- package/.codex/skills/maestro-milestone-audit/SKILL.md +9 -1
- package/.codex/skills/maestro-plan/SKILL.md +72 -6
- package/.codex/skills/maestro-ralph/SKILL.md +159 -159
- package/.codex/skills/maestro-roadmap/SKILL.md +31 -5
- package/.codex/skills/maestro-verify/SKILL.md +1 -1
- package/.codex/skills/quality-auto-test/SKILL.md +547 -0
- package/.codex/skills/quality-debug/SKILL.md +18 -6
- package/.codex/skills/quality-refactor/SKILL.md +8 -1
- package/.codex/skills/quality-sync/SKILL.md +23 -4
- package/.codex/skills/quality-test/SKILL.md +498 -166
- package/dashboard/dist-server/src/config/cli-tools-config.js +5 -20
- package/dashboard/dist-server/src/config/cli-tools-config.js.map +1 -1
- package/dashboard/dist-server/src/config/cli-tools-defaults.json +17 -0
- package/dist/src/commands/config.d.ts.map +1 -1
- package/dist/src/commands/config.js +168 -32
- package/dist/src/commands/config.js.map +1 -1
- package/dist/src/commands/hooks.d.ts +9 -0
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/hooks.js +1 -1
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/install.js +1 -1
- package/dist/src/commands/install.js.map +1 -1
- package/dist/src/commands/overlay.js +1 -1
- package/dist/src/commands/overlay.js.map +1 -1
- package/dist/src/commands/tools.d.ts.map +1 -1
- package/dist/src/commands/tools.js +7 -17
- package/dist/src/commands/tools.js.map +1 -1
- package/dist/src/commands/uninstall.js +1 -1
- package/dist/src/commands/uninstall.js.map +1 -1
- package/dist/src/config/cli-tools-config.d.ts.map +1 -1
- package/dist/src/config/cli-tools-config.js +5 -20
- package/dist/src/config/cli-tools-config.js.map +1 -1
- package/dist/src/config/cli-tools-defaults.json +17 -0
- package/dist/src/tui/config-ui/ConfigHub.d.ts +14 -0
- package/dist/src/tui/config-ui/ConfigHub.d.ts.map +1 -0
- package/dist/src/tui/config-ui/ConfigHub.js +125 -0
- package/dist/src/tui/config-ui/ConfigHub.js.map +1 -0
- package/dist/src/tui/config-ui/ConfigSourcesView.d.ts +6 -0
- package/dist/src/tui/config-ui/ConfigSourcesView.d.ts.map +1 -0
- package/dist/src/tui/config-ui/ConfigSourcesView.js +25 -0
- package/dist/src/tui/config-ui/ConfigSourcesView.js.map +1 -0
- package/dist/src/tui/config-ui/HooksPanel.d.ts +6 -0
- package/dist/src/tui/config-ui/HooksPanel.d.ts.map +1 -0
- package/dist/src/tui/config-ui/HooksPanel.js +92 -0
- package/dist/src/tui/config-ui/HooksPanel.js.map +1 -0
- package/dist/src/tui/config-ui/SkillConfigDashboard.d.ts +9 -0
- package/dist/src/tui/config-ui/SkillConfigDashboard.d.ts.map +1 -0
- package/dist/src/tui/config-ui/SkillConfigDashboard.js +64 -0
- package/dist/src/tui/config-ui/SkillConfigDashboard.js.map +1 -0
- package/dist/src/tui/config-ui/SkillParamEditor.d.ts +12 -0
- package/dist/src/tui/config-ui/SkillParamEditor.d.ts.map +1 -0
- package/dist/src/tui/config-ui/SkillParamEditor.js +162 -0
- package/dist/src/tui/config-ui/SkillParamEditor.js.map +1 -0
- package/dist/src/tui/config-ui/SkillsList.d.ts +12 -0
- package/dist/src/tui/config-ui/SkillsList.d.ts.map +1 -0
- package/dist/src/tui/config-ui/SkillsList.js +91 -0
- package/dist/src/tui/config-ui/SkillsList.js.map +1 -0
- package/dist/src/tui/config-ui/SpecPanel.d.ts +6 -0
- package/dist/src/tui/config-ui/SpecPanel.d.ts.map +1 -0
- package/dist/src/tui/config-ui/SpecPanel.js +79 -0
- package/dist/src/tui/config-ui/SpecPanel.js.map +1 -0
- package/dist/src/tui/config-ui/index.d.ts +23 -0
- package/dist/src/tui/config-ui/index.d.ts.map +1 -0
- package/dist/src/tui/config-ui/index.js +34 -0
- package/dist/src/tui/config-ui/index.js.map +1 -0
- package/dist/src/tui/index.d.ts +7 -0
- package/dist/src/tui/index.d.ts.map +1 -0
- package/dist/src/tui/index.js +10 -0
- package/dist/src/tui/index.js.map +1 -0
- package/dist/src/tui/install-ui/BackupConfig.d.ts +10 -0
- package/dist/src/tui/install-ui/BackupConfig.d.ts.map +1 -0
- package/dist/src/tui/install-ui/BackupConfig.js +46 -0
- package/dist/src/tui/install-ui/BackupConfig.js.map +1 -0
- package/dist/src/tui/install-ui/BlueprintPreview.d.ts +9 -0
- package/dist/src/tui/install-ui/BlueprintPreview.d.ts.map +1 -0
- package/dist/src/tui/install-ui/BlueprintPreview.js +65 -0
- package/dist/src/tui/install-ui/BlueprintPreview.js.map +1 -0
- package/dist/src/tui/install-ui/BlueprintPreview.logic.d.ts +33 -0
- package/dist/src/tui/install-ui/BlueprintPreview.logic.d.ts.map +1 -0
- package/dist/src/tui/install-ui/BlueprintPreview.logic.js +51 -0
- package/dist/src/tui/install-ui/BlueprintPreview.logic.js.map +1 -0
- package/dist/src/tui/install-ui/ComponentGrid.d.ts +13 -0
- package/dist/src/tui/install-ui/ComponentGrid.d.ts.map +1 -0
- package/dist/src/tui/install-ui/ComponentGrid.js +75 -0
- package/dist/src/tui/install-ui/ComponentGrid.js.map +1 -0
- package/dist/src/tui/install-ui/ComponentGrid.logic.d.ts +31 -0
- package/dist/src/tui/install-ui/ComponentGrid.logic.d.ts.map +1 -0
- package/dist/src/tui/install-ui/ComponentGrid.logic.js +58 -0
- package/dist/src/tui/install-ui/ComponentGrid.logic.js.map +1 -0
- package/dist/src/tui/install-ui/ConfigPanel.d.ts +11 -0
- package/dist/src/tui/install-ui/ConfigPanel.d.ts.map +1 -0
- package/dist/src/tui/install-ui/ConfigPanel.js +35 -0
- package/dist/src/tui/install-ui/ConfigPanel.js.map +1 -0
- package/dist/src/tui/install-ui/CyberItem.d.ts +18 -0
- package/dist/src/tui/install-ui/CyberItem.d.ts.map +1 -0
- package/dist/src/tui/install-ui/CyberItem.js +33 -0
- package/dist/src/tui/install-ui/CyberItem.js.map +1 -0
- package/dist/src/tui/install-ui/CyberdeckBlueprint.d.ts +7 -0
- package/dist/src/tui/install-ui/CyberdeckBlueprint.d.ts.map +1 -0
- package/dist/src/tui/install-ui/CyberdeckBlueprint.js +91 -0
- package/dist/src/tui/install-ui/CyberdeckBlueprint.js.map +1 -0
- package/dist/src/tui/install-ui/ExecutionView.d.ts +12 -0
- package/dist/src/tui/install-ui/ExecutionView.d.ts.map +1 -0
- package/dist/src/tui/install-ui/ExecutionView.js +154 -0
- package/dist/src/tui/install-ui/ExecutionView.js.map +1 -0
- package/dist/src/tui/install-ui/GradientHeader.d.ts +8 -0
- package/dist/src/tui/install-ui/GradientHeader.d.ts.map +1 -0
- package/dist/src/tui/install-ui/GradientHeader.js +18 -0
- package/dist/src/tui/install-ui/GradientHeader.js.map +1 -0
- package/dist/src/tui/install-ui/HooksConfig.d.ts +8 -0
- package/dist/src/tui/install-ui/HooksConfig.d.ts.map +1 -0
- package/dist/src/tui/install-ui/HooksConfig.js +35 -0
- package/dist/src/tui/install-ui/HooksConfig.js.map +1 -0
- package/dist/src/tui/install-ui/InstallConfirm.d.ts +27 -0
- package/dist/src/tui/install-ui/InstallConfirm.d.ts.map +1 -0
- package/dist/src/tui/install-ui/InstallConfirm.js +25 -0
- package/dist/src/tui/install-ui/InstallConfirm.js.map +1 -0
- package/dist/src/tui/install-ui/InstallExecution.d.ts +21 -0
- package/dist/src/tui/install-ui/InstallExecution.d.ts.map +1 -0
- package/dist/src/tui/install-ui/InstallExecution.js +154 -0
- package/dist/src/tui/install-ui/InstallExecution.js.map +1 -0
- package/dist/src/tui/install-ui/InstallFlow.d.ts +14 -0
- package/dist/src/tui/install-ui/InstallFlow.d.ts.map +1 -0
- package/dist/src/tui/install-ui/InstallFlow.js +186 -0
- package/dist/src/tui/install-ui/InstallFlow.js.map +1 -0
- package/dist/src/tui/install-ui/InstallHub.d.ts +33 -0
- package/dist/src/tui/install-ui/InstallHub.d.ts.map +1 -0
- package/dist/src/tui/install-ui/InstallHub.js +97 -0
- package/dist/src/tui/install-ui/InstallHub.js.map +1 -0
- package/dist/src/tui/install-ui/InstallResult.d.ts +7 -0
- package/dist/src/tui/install-ui/InstallResult.d.ts.map +1 -0
- package/dist/src/tui/install-ui/InstallResult.js +15 -0
- package/dist/src/tui/install-ui/InstallResult.js.map +1 -0
- package/dist/src/tui/install-ui/McpConfig.d.ts +12 -0
- package/dist/src/tui/install-ui/McpConfig.d.ts.map +1 -0
- package/dist/src/tui/install-ui/McpConfig.js +69 -0
- package/dist/src/tui/install-ui/McpConfig.js.map +1 -0
- package/dist/src/tui/install-ui/ResultDashboard.d.ts +8 -0
- package/dist/src/tui/install-ui/ResultDashboard.d.ts.map +1 -0
- package/dist/src/tui/install-ui/ResultDashboard.js +17 -0
- package/dist/src/tui/install-ui/ResultDashboard.js.map +1 -0
- package/dist/src/tui/install-ui/ReviewPanel.d.ts +19 -0
- package/dist/src/tui/install-ui/ReviewPanel.d.ts.map +1 -0
- package/dist/src/tui/install-ui/ReviewPanel.js +25 -0
- package/dist/src/tui/install-ui/ReviewPanel.js.map +1 -0
- package/dist/src/tui/install-ui/ShortcutFooter.d.ts +7 -0
- package/dist/src/tui/install-ui/ShortcutFooter.d.ts.map +1 -0
- package/dist/src/tui/install-ui/ShortcutFooter.js +15 -0
- package/dist/src/tui/install-ui/ShortcutFooter.js.map +1 -0
- package/dist/src/tui/install-ui/StatuslineConfig.d.ts +11 -0
- package/dist/src/tui/install-ui/StatuslineConfig.d.ts.map +1 -0
- package/dist/src/tui/install-ui/StatuslineConfig.js +39 -0
- package/dist/src/tui/install-ui/StatuslineConfig.js.map +1 -0
- package/dist/src/tui/install-ui/StepSelector.d.ts +14 -0
- package/dist/src/tui/install-ui/StepSelector.d.ts.map +1 -0
- package/dist/src/tui/install-ui/StepSelector.js +46 -0
- package/dist/src/tui/install-ui/StepSelector.js.map +1 -0
- package/dist/src/tui/install-ui/index.d.ts +8 -0
- package/dist/src/tui/install-ui/index.d.ts.map +1 -0
- package/dist/src/tui/install-ui/index.js +10 -0
- package/dist/src/tui/install-ui/index.js.map +1 -0
- package/dist/src/tui/install-ui/types.d.ts +35 -0
- package/dist/src/tui/install-ui/types.d.ts.map +1 -0
- package/dist/src/tui/install-ui/types.js +25 -0
- package/dist/src/tui/install-ui/types.js.map +1 -0
- package/dist/src/tui/overlay-ui/OverlayList.d.ts +37 -0
- package/dist/src/tui/overlay-ui/OverlayList.d.ts.map +1 -0
- package/dist/src/tui/overlay-ui/OverlayList.js +146 -0
- package/dist/src/tui/overlay-ui/OverlayList.js.map +1 -0
- package/dist/src/tui/overlay-ui/index.d.ts +18 -0
- package/dist/src/tui/overlay-ui/index.d.ts.map +1 -0
- package/dist/src/tui/overlay-ui/index.js +204 -0
- package/dist/src/tui/overlay-ui/index.js.map +1 -0
- package/dist/src/tui/render.d.ts +13 -0
- package/dist/src/tui/render.d.ts.map +1 -0
- package/dist/src/tui/render.js +31 -0
- package/dist/src/tui/render.js.map +1 -0
- package/dist/src/tui/tools-ui/CommandReference.d.ts +7 -0
- package/dist/src/tui/tools-ui/CommandReference.d.ts.map +1 -0
- package/dist/src/tui/tools-ui/CommandReference.js +33 -0
- package/dist/src/tui/tools-ui/CommandReference.js.map +1 -0
- package/dist/src/tui/tools-ui/ConfigSources.d.ts +6 -0
- package/dist/src/tui/tools-ui/ConfigSources.d.ts.map +1 -0
- package/dist/src/tui/tools-ui/ConfigSources.js +27 -0
- package/dist/src/tui/tools-ui/ConfigSources.js.map +1 -0
- package/dist/src/tui/tools-ui/RegisterSettings.d.ts +8 -0
- package/dist/src/tui/tools-ui/RegisterSettings.d.ts.map +1 -0
- package/dist/src/tui/tools-ui/RegisterSettings.js +125 -0
- package/dist/src/tui/tools-ui/RegisterSettings.js.map +1 -0
- package/dist/src/tui/tools-ui/RoleMappings.d.ts +9 -0
- package/dist/src/tui/tools-ui/RoleMappings.d.ts.map +1 -0
- package/dist/src/tui/tools-ui/RoleMappings.js +104 -0
- package/dist/src/tui/tools-ui/RoleMappings.js.map +1 -0
- package/dist/src/tui/tools-ui/ToolsDashboard.d.ts +8 -0
- package/dist/src/tui/tools-ui/ToolsDashboard.d.ts.map +1 -0
- package/dist/src/tui/tools-ui/ToolsDashboard.js +60 -0
- package/dist/src/tui/tools-ui/ToolsDashboard.js.map +1 -0
- package/dist/src/tui/tools-ui/ToolsOverview.d.ts +9 -0
- package/dist/src/tui/tools-ui/ToolsOverview.d.ts.map +1 -0
- package/dist/src/tui/tools-ui/ToolsOverview.js +84 -0
- package/dist/src/tui/tools-ui/ToolsOverview.js.map +1 -0
- package/dist/src/tui/tools-ui/index.d.ts +3 -0
- package/dist/src/tui/tools-ui/index.d.ts.map +1 -0
- package/dist/src/tui/tools-ui/index.js +6 -0
- package/dist/src/tui/tools-ui/index.js.map +1 -0
- package/dist/src/tui/uninstall-ui/UninstallFlow.d.ts +7 -0
- package/dist/src/tui/uninstall-ui/UninstallFlow.d.ts.map +1 -0
- package/dist/src/tui/uninstall-ui/UninstallFlow.js +189 -0
- package/dist/src/tui/uninstall-ui/UninstallFlow.js.map +1 -0
- package/dist/src/tui/uninstall-ui/index.d.ts +3 -0
- package/dist/src/tui/uninstall-ui/index.d.ts.map +1 -0
- package/dist/src/tui/uninstall-ui/index.js +6 -0
- package/dist/src/tui/uninstall-ui/index.js.map +1 -0
- package/package.json +1 -1
- package/workflows/auto-test.md +682 -0
- package/workflows/business-test.md +570 -0
- package/workflows/integration-test.md +1 -1
- package/workflows/maestro.codex.md +4 -3
- package/workflows/maestro.md +5 -4
- package/workflows/status.md +2 -2
- package/workflows/test.md +1 -1
- package/workflows/verify.md +1 -1
- package/.claude/commands/quality-business-test.md +0 -110
- package/.claude/commands/quality-integration-test.md +0 -67
- package/.claude/commands/quality-test-gen.md +0 -68
- package/.codex/skills/maestro-ralph-execute/SKILL.md +0 -219
- package/.codex/skills/quality-business-test/SKILL.md +0 -218
- package/.codex/skills/quality-integration-test/SKILL.md +0 -427
- package/.codex/skills/quality-test-gen/SKILL.md +0 -352
|
@@ -259,7 +259,7 @@ Write `.workflow/learning/retro-{date}.json` with structured data.
|
|
|
259
259
|
**Next-step routing:**
|
|
260
260
|
- Browse insights → `/manage-learn list --tag retro`
|
|
261
261
|
- Deep dive on high-churn file → `/learn-follow <path>`
|
|
262
|
-
- Fix test gaps → `/quality-test
|
|
262
|
+
- Fix test gaps → `/quality-auto-test <area>`
|
|
263
263
|
- Create issue for questionable decision → `/manage-issue create ...`
|
|
264
264
|
- Investigate stale decision → `/learn-investigate <question>`
|
|
265
265
|
- Full phase retrospective → `/quality-retrospective`
|
|
@@ -97,7 +97,7 @@ Example: 'analyze the code, then plan, implement, and test the feature'"
|
|
|
97
97
|
|
|
98
98
|
**Step 1.3** — Extract variables (inputs that vary per run). Detect from: direct mentions, `{var}` patterns, implicit from task type.
|
|
99
99
|
|
|
100
|
-
**Step 1.4** — Classify task type: `bugfix | feature | tdd | review | brainstorm | spec-driven | roadmap | refactor |
|
|
100
|
+
**Step 1.4** — Classify task type: `bugfix | feature | tdd | review | brainstorm | spec-driven | roadmap | refactor | auto-test | quick-task | custom`
|
|
101
101
|
|
|
102
102
|
**Step 1.5** — Assess complexity: `simple` (1-3 nodes), `medium` (4-7), `complex` (8+)
|
|
103
103
|
|
|
@@ -212,7 +212,7 @@ options:
|
|
|
212
212
|
| Agent spawn | Target type is `agent` |
|
|
213
213
|
| Long-running | Target is maestro-plan, maestro-roadmap --mode full |
|
|
214
214
|
| User-defined | Step had `type_hint: checkpoint` |
|
|
215
|
-
| Post-testing | Source executor contains `test` or `
|
|
215
|
+
| Post-testing | Source executor contains `test` or `auto-test` |
|
|
216
216
|
|
|
217
217
|
Set `auto_continue: false` for checkpoints before user-facing deliverables.
|
|
218
218
|
|
|
@@ -191,7 +191,7 @@ auto_flag_map = {
|
|
|
191
191
|
"maestro-ui-design": "-y",
|
|
192
192
|
"maestro-plan": "-y",
|
|
193
193
|
"maestro-execute": "-y",
|
|
194
|
-
"quality-
|
|
194
|
+
"quality-auto-test": "-y",
|
|
195
195
|
"quality-test": "-y --auto-fix",
|
|
196
196
|
"quality-retrospective": "-y",
|
|
197
197
|
"maestro-milestone-complete": "-y"
|
|
@@ -211,9 +211,9 @@ analyze maestro-analyze {phase} cli —
|
|
|
211
211
|
plan maestro-plan {phase} skill —
|
|
212
212
|
execute maestro-execute {phase} cli —
|
|
213
213
|
verify maestro-verify {phase} skill decision:post-verify
|
|
214
|
-
business-test quality-
|
|
214
|
+
business-test quality-auto-test {phase} skill decision:post-business-test
|
|
215
215
|
review quality-review {phase} skill decision:post-review
|
|
216
|
-
test-gen quality-test
|
|
216
|
+
test-gen quality-auto-test {phase} skill —
|
|
217
217
|
test quality-test {phase} skill decision:post-test
|
|
218
218
|
milestone-audit maestro-milestone-audit skill —
|
|
219
219
|
milestone-complete maestro-milestone-complete skill decision:post-milestone
|
|
@@ -247,11 +247,11 @@ milestone-complete maestro-milestone-complete skill decision:post-milestone
|
|
|
247
247
|
{ "index": 1, "type": "cli", "skill": "maestro-execute", "args": "{phase}" },
|
|
248
248
|
{ "index": 2, "type": "skill", "skill": "maestro-verify", "args": "{phase}" },
|
|
249
249
|
{ "index": 3, "type": "decision", "skill": "maestro-ralph", "args": "{\"decision\":\"post-verify\",\"retry_count\":0,\"max_retries\":2}" },
|
|
250
|
-
{ "index": 4, "type": "skill", "skill": "quality-
|
|
250
|
+
{ "index": 4, "type": "skill", "skill": "quality-auto-test", "args": "{phase}" },
|
|
251
251
|
{ "index": 5, "type": "decision", "skill": "maestro-ralph", "args": "{\"decision\":\"post-business-test\",\"retry_count\":0,\"max_retries\":2}" },
|
|
252
252
|
{ "index": 6, "type": "skill", "skill": "quality-review", "args": "{phase}" },
|
|
253
253
|
{ "index": 7, "type": "decision", "skill": "maestro-ralph", "args": "{\"decision\":\"post-review\",\"retry_count\":0,\"max_retries\":2}" },
|
|
254
|
-
{ "index": 8, "type": "skill", "skill": "quality-test
|
|
254
|
+
{ "index": 8, "type": "skill", "skill": "quality-auto-test", "args": "{phase}" },
|
|
255
255
|
{ "index": 9, "type": "skill", "skill": "quality-test", "args": "{phase}" },
|
|
256
256
|
{ "index": 10, "type": "decision", "skill": "maestro-ralph", "args": "{\"decision\":\"post-test\",\"retry_count\":0,\"max_retries\":2}" },
|
|
257
257
|
{ "index": 11, "type": "skill", "skill": "maestro-milestone-audit", "args": "" },
|
|
@@ -313,11 +313,11 @@ Write status.json:
|
|
|
313
313
|
[ ] 1. maestro-execute 1 [cli]
|
|
314
314
|
[ ] 2. maestro-verify 1 [skill]
|
|
315
315
|
[ ] 3. ◆ post-verify [decision]
|
|
316
|
-
[ ] 4. quality-
|
|
316
|
+
[ ] 4. quality-auto-test 1 [skill]
|
|
317
317
|
[ ] 5. ◆ post-business-test [decision]
|
|
318
318
|
[ ] 6. quality-review 1 [skill]
|
|
319
319
|
[ ] 7. ◆ post-review [decision]
|
|
320
|
-
[ ] 8. quality-test
|
|
320
|
+
[ ] 8. quality-auto-test 1 [skill]
|
|
321
321
|
[ ] 9. quality-test 1 [skill]
|
|
322
322
|
[ ] 10. ◆ post-test [decision]
|
|
323
323
|
[ ] 11. maestro-milestone-audit [skill]
|
|
@@ -400,7 +400,7 @@ If failures found:
|
|
|
400
400
|
→ Insert: [quality-debug --from-business-test {phase},
|
|
401
401
|
maestro-plan --gaps {phase}, maestro-execute {phase} [cli],
|
|
402
402
|
maestro-verify {phase}, decision:post-verify {retry:0},
|
|
403
|
-
quality-
|
|
403
|
+
quality-auto-test {phase}, decision:post-business-test {retry+1}]
|
|
404
404
|
|
|
405
405
|
If all pass:
|
|
406
406
|
→ No insertion, proceed
|
|
@@ -435,9 +435,9 @@ If failures found (any test result != pass, or gaps with severity >= high):
|
|
|
435
435
|
→ Insert: [quality-debug --from-uat {phase},
|
|
436
436
|
maestro-plan --gaps {phase}, maestro-execute {phase} [cli],
|
|
437
437
|
maestro-verify {phase}, decision:post-verify {retry:0},
|
|
438
|
-
quality-
|
|
438
|
+
quality-auto-test {phase}, decision:post-business-test {retry:0},
|
|
439
439
|
quality-review {phase}, decision:post-review {retry:0},
|
|
440
|
-
quality-test
|
|
440
|
+
quality-auto-test {phase}, quality-test {phase},
|
|
441
441
|
decision:post-test {retry+1}]
|
|
442
442
|
|
|
443
443
|
If all pass:
|
|
@@ -462,11 +462,11 @@ If next milestone found:
|
|
|
462
462
|
maestro-execute {first_phase} [cli],
|
|
463
463
|
maestro-verify {first_phase} [skill],
|
|
464
464
|
decision:post-verify {retry:0},
|
|
465
|
-
quality-
|
|
465
|
+
quality-auto-test {first_phase} [skill],
|
|
466
466
|
decision:post-business-test {retry:0},
|
|
467
467
|
quality-review {first_phase} [skill],
|
|
468
468
|
decision:post-review {retry:0},
|
|
469
|
-
quality-test
|
|
469
|
+
quality-auto-test {first_phase} [skill],
|
|
470
470
|
quality-test {first_phase} [skill],
|
|
471
471
|
decision:post-test {retry:0},
|
|
472
472
|
maestro-milestone-audit [skill],
|
|
@@ -61,7 +61,7 @@ If user confirms, invoke `Skill({ skill: "spec-add", args: "<category> <content>
|
|
|
61
61
|
**Next-step routing on completion:**
|
|
62
62
|
- All checks pass, no gaps → /quality-review
|
|
63
63
|
- Gaps found (must-have failures or anti-pattern blockers) → /maestro-plan --gaps
|
|
64
|
-
- Low test coverage (Nyquist gaps) → /quality-test
|
|
64
|
+
- Low test coverage (Nyquist gaps) → /quality-auto-test
|
|
65
65
|
|
|
66
66
|
**Gap-fix closure loop:**
|
|
67
67
|
Gaps found → maestro-plan --gaps → maestro-execute → maestro-verify (re-run)
|
|
@@ -72,10 +72,9 @@ When `-y` is active, maestro propagates auto flags to downstream commands. Only
|
|
|
72
72
|
| maestro-plan | `-y` | Skip confirmations and clarification |
|
|
73
73
|
| maestro-execute | `-y` | Skip confirmations, blocked auto-continue |
|
|
74
74
|
| maestro-verify | *(none)* | No interactive prompts |
|
|
75
|
-
| quality-
|
|
75
|
+
| quality-auto-test | `-y` | Skip plan confirmation |
|
|
76
76
|
| quality-review | *(none)* | No interactive prompts, auto-detects level |
|
|
77
77
|
| quality-test | `-y --auto-fix` | Auto-trigger gap-fix loop on failures |
|
|
78
|
-
| quality-test-gen | *(none)* | No interactive prompts |
|
|
79
78
|
| quality-debug | *(none)* | No interactive prompts |
|
|
80
79
|
| quality-retrospective | `-y` | Accept all routing recommendations without prompting |
|
|
81
80
|
| maestro-milestone-audit | *(none)* | No interactive prompts |
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: quality-auto-test
|
|
3
|
+
description: Unified automated testing via CSV layer pipeline — generates, executes, and iterates tests from PRD specs, coverage gaps, or code exploration
|
|
4
|
+
argument-hint: "<phase> [-y] [-c N] [--max-iter <N>] [--layer <L0-L3>] [--strategy <name>] [--dry-run] [--re-run]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- spawn_agents_on_csv
|
|
7
|
+
- Read
|
|
8
|
+
- Write
|
|
9
|
+
- Edit
|
|
10
|
+
- Bash
|
|
11
|
+
- Glob
|
|
12
|
+
- Grep
|
|
13
|
+
- AskUserQuestion
|
|
14
|
+
---
|
|
15
|
+
<purpose>
|
|
16
|
+
Run unified automated testing via CSV layer pipeline. Reads project state to auto-select the optimal scenario source — PRD specs (when spec package exists), coverage gaps (when Nyquist audit found gaps), or code exploration (default). All sources converge into a CSV pipeline: discover infrastructure → plan → build scenarios.csv → write tests per layer (spawn_agents_on_csv parallel) → execute → diagnose failures (spawn_agents_on_csv parallel) → iterate → report.
|
|
17
|
+
|
|
18
|
+
Key mechanisms:
|
|
19
|
+
- **Intelligent routing**: Reads `.tests/`, `.workflow/.spec/`, `verification.json` to auto-select source — no mode flag needed
|
|
20
|
+
- **CSV parallel test writing**: Per-layer `spawn_agents_on_csv` — each agent writes one test file independently
|
|
21
|
+
- **CSV parallel failure diagnosis**: Failed scenarios dispatched via `spawn_agents_on_csv` for classification + fix
|
|
22
|
+
- **Unified iteration engine**: Nested inner loop (fix test_defects via diagnosis CSV, max 3/layer) + outer loop (adaptive strategy, max N iterations)
|
|
23
|
+
- **Layers as waves**: L0→L1→L2→L3 sequential (fail-fast on critical), scenarios within layer parallel
|
|
24
|
+
- **Discovery board**: `discoveries.ndjson` shared across all agents/iterations (append-only)
|
|
25
|
+
- **Degenerate modes**: `--max-iter 1` = single-pass generation; default = full iterative cycle
|
|
26
|
+
- **Session persistence**: CSV state + state.json survive context resets, resume from any point
|
|
27
|
+
</purpose>
|
|
28
|
+
|
|
29
|
+
<required_reading>
|
|
30
|
+
@~/.maestro/workflows/auto-test.md
|
|
31
|
+
</required_reading>
|
|
32
|
+
|
|
33
|
+
<context>
|
|
34
|
+
Phase or task: $ARGUMENTS (required — phase number)
|
|
35
|
+
|
|
36
|
+
**Flags:**
|
|
37
|
+
- `--max-iter N` — Maximum outer iterations (default: 5). Set to 1 for single-pass generation only.
|
|
38
|
+
- `--layer L` — Start from or restrict to specific layer (L0|L1|L2|L3)
|
|
39
|
+
- `--dry-run` — Generate test plan only, do not execute
|
|
40
|
+
- `--re-run` — Re-run only previously failed/blocked scenarios
|
|
41
|
+
|
|
42
|
+
**Intelligent routing** (auto-detected from project state):
|
|
43
|
+
|
|
44
|
+
| Priority | Condition | Route | Equivalent to |
|
|
45
|
+
|----------|-----------|-------|---------------|
|
|
46
|
+
| 1 | Active session exists (state.json status=running) | Resume | — |
|
|
47
|
+
| 2 | --re-run flag + previous failures | Re-run | — |
|
|
48
|
+
| 3 | Spec package exists (REQ-*.md) | spec | quality-business-test |
|
|
49
|
+
| 4 | Nyquist gaps exist (verification.json) | gap | quality-test-gen |
|
|
50
|
+
| 5 | Default | code | quality-integration-test |
|
|
51
|
+
|
|
52
|
+
Flags, artifact context resolution, and output formats defined in workflow auto-test.md.
|
|
53
|
+
</context>
|
|
54
|
+
|
|
55
|
+
<execution>
|
|
56
|
+
Follow '~/.maestro/workflows/auto-test.md' completely.
|
|
57
|
+
|
|
58
|
+
**Command-specific extensions (not in workflow):**
|
|
59
|
+
|
|
60
|
+
**Review findings integration** (from related review artifacts):
|
|
61
|
+
- Extract critical/high findings as additional test scenarios, marked `source: "review_finding"`
|
|
62
|
+
- When review verdict is "BLOCK" and review-finding tests fail, suggest quality-debug
|
|
63
|
+
|
|
64
|
+
**Debug root cause integration** (from related debug artifacts):
|
|
65
|
+
- Generate regression test scenarios from confirmed root causes, marked `source: "debug_root_cause"`
|
|
66
|
+
|
|
67
|
+
**Register artifact on completion:**
|
|
68
|
+
```
|
|
69
|
+
Append to state.json.artifacts[]:
|
|
70
|
+
{
|
|
71
|
+
id: nextArtifactId(artifacts, "test"), // TST-001
|
|
72
|
+
type: "test",
|
|
73
|
+
milestone: current_milestone,
|
|
74
|
+
phase: target_phase,
|
|
75
|
+
scope: "phase",
|
|
76
|
+
path: "scratch/{YYYYMMDD}-auto-test-P{N}-{slug}",
|
|
77
|
+
status: issues == 0 ? "completed" : "failed",
|
|
78
|
+
depends_on: exec_art.id,
|
|
79
|
+
harvested: false,
|
|
80
|
+
created_at: start_time,
|
|
81
|
+
completed_at: now()
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
**Next-step routing on completion:**
|
|
86
|
+
- Converged (>=95%) → `/maestro-verify {phase}`
|
|
87
|
+
- All requirements verified (spec source) → `/maestro-milestone-audit`
|
|
88
|
+
- Bugs discovered → `/quality-debug --from-auto-test {phase}`
|
|
89
|
+
- Max iter, >80% → `/quality-test {phase}` for manual UAT
|
|
90
|
+
- Max iter, <80% → `/quality-debug {phase}`
|
|
91
|
+
- Coverage still low → `/quality-auto-test {phase} --layer {missing}`
|
|
92
|
+
- Re-run all pass → `/maestro-verify {phase}`
|
|
93
|
+
- Single pass, all pass → `/quality-test {phase}`
|
|
94
|
+
</execution>
|
|
95
|
+
|
|
96
|
+
<error_codes>
|
|
97
|
+
| Code | Severity | Condition | Recovery |
|
|
98
|
+
|------|----------|-----------|----------|
|
|
99
|
+
| E001 | error | Phase argument required (no active sessions) | Prompt user for phase number |
|
|
100
|
+
| E002 | error | Phase not found in artifact registry | Check state.json artifacts |
|
|
101
|
+
| E003 | error | No test framework detected | Install test framework or configure test runner |
|
|
102
|
+
| W001 | warning | One or more test scenarios failed | Auto-iterate or suggest fix options |
|
|
103
|
+
| W002 | warning | Max iterations reached without convergence | Review reflection-log.md, suggest debug |
|
|
104
|
+
| W003 | warning | Degraded spec mode (no full spec package) | Consider running maestro-roadmap --mode full |
|
|
105
|
+
</error_codes>
|
|
106
|
+
|
|
107
|
+
<success_criteria>
|
|
108
|
+
- [ ] Phase resolved from artifact registry
|
|
109
|
+
- [ ] Route auto-selected from project state (spec/gap/code)
|
|
110
|
+
- [ ] Active sessions checked, resume offered if applicable
|
|
111
|
+
- [ ] Scenarios extracted and normalized to unified format
|
|
112
|
+
- [ ] Test infrastructure discovered (framework, patterns, conventions)
|
|
113
|
+
- [ ] test-plan.json generated with layer distribution
|
|
114
|
+
- [ ] User confirmed plan (or --dry-run stopped here)
|
|
115
|
+
- [ ] Tests written following RED-GREEN methodology and existing patterns
|
|
116
|
+
- [ ] Tests executed progressively (L0→L3) with fail-fast on critical
|
|
117
|
+
- [ ] Iteration engine ran (inner: test_defect fix, outer: strategy adjust)
|
|
118
|
+
- [ ] state.json, report.json, reflection-log.md written
|
|
119
|
+
- [ ] index.json updated with auto_test section
|
|
120
|
+
- [ ] If spec source: traceability matrix built, traceability.md written
|
|
121
|
+
- [ ] If failures: issues auto-created in issues.jsonl
|
|
122
|
+
- [ ] If gap source: validation.json gaps updated (MISSING→COVERED)
|
|
123
|
+
- [ ] Next step routed based on convergence status
|
|
124
|
+
</success_criteria>
|
|
@@ -35,7 +35,7 @@ Follow '~/.maestro/workflows/refactor.md' completely.
|
|
|
35
35
|
**Next-step routing on completion:**
|
|
36
36
|
- All tests pass → `/quality-sync` (update codebase docs)
|
|
37
37
|
- Test failures after refactor → `/quality-debug {scope}`
|
|
38
|
-
- No test suite available → `/quality-test
|
|
38
|
+
- No test suite available → `/quality-auto-test {phase}`
|
|
39
39
|
</execution>
|
|
40
40
|
|
|
41
41
|
<error_codes>
|
|
@@ -70,8 +70,8 @@ Append to state.json.artifacts[]:
|
|
|
70
70
|
- Issues found, --auto-fix ran and succeeded → `/maestro-verify {phase}`
|
|
71
71
|
- Issues found, --auto-fix ran but gaps remain → `/quality-debug --from-uat {phase}`
|
|
72
72
|
- Issues found, manual fix needed → `/quality-debug --from-uat {phase}`
|
|
73
|
-
- Coverage below threshold → `/quality-test
|
|
74
|
-
- Need integration tests → `/quality-
|
|
73
|
+
- Coverage below threshold → `/quality-auto-test {phase}`
|
|
74
|
+
- Need integration tests → `/quality-auto-test {phase}`
|
|
75
75
|
</execution>
|
|
76
76
|
|
|
77
77
|
<error_codes>
|
|
@@ -81,7 +81,7 @@ Append to state.json.artifacts[]:
|
|
|
81
81
|
| E002 | error | Phase not verified yet (no verification.json) | Suggest `/maestro-verify` first |
|
|
82
82
|
| E003 | error | Smoke test failed (app won't start) | Suggest `/quality-debug` |
|
|
83
83
|
| W001 | warning | One or more test scenarios failed | Auto-diagnose, suggest fix options |
|
|
84
|
-
| W002 | warning | Coverage below threshold | Suggest `/quality-test
|
|
84
|
+
| W002 | warning | Coverage below threshold | Suggest `/quality-auto-test` |
|
|
85
85
|
</error_codes>
|
|
86
86
|
|
|
87
87
|
<success_criteria>
|
|
@@ -60,7 +60,7 @@ Write `retro-{date}.md` + `retro-{date}.json` with metrics, sessions, hotspots,
|
|
|
60
60
|
### Phase 5: Persist
|
|
61
61
|
Append insights to `lessons.jsonl` (source: "retro-git" or "retro-decision"). Display summary.
|
|
62
62
|
|
|
63
|
-
**Next steps:** `/learn-follow <path>`, `/quality-test
|
|
63
|
+
**Next steps:** `/learn-follow <path>`, `/quality-auto-test <area>`, `/learn-investigate <question>`
|
|
64
64
|
</execution>
|
|
65
65
|
|
|
66
66
|
<error_codes>
|
|
@@ -201,7 +201,7 @@ functions.update_plan({
|
|
|
201
201
|
|-------|------|
|
|
202
202
|
| `maestro-init`, `maestro-analyze`, `maestro-brainstorm`, `maestro-ui-design`, `maestro-roadmap` | `-y` |
|
|
203
203
|
| `maestro-plan`, `maestro-execute`, `maestro-milestone-complete` | `-y` |
|
|
204
|
-
| `quality-
|
|
204
|
+
| `quality-auto-test`, `quality-retrospective` | `-y` |
|
|
205
205
|
| `quality-test` | `-y --auto-fix` |
|
|
206
206
|
|
|
207
207
|
**`buildSkillCall(step, ctx)`**: Replace placeholders `{phase}`, `{description}`, `{issue_id}`, `{plan_dir}`, `{analysis_dir}`, `{brainstorm_dir}`, `{spec_session_id}` in `step.args` with corresponding `ctx` values. Append auto-yes flag if applicable. Return `$<skill> <args>`.
|
|
@@ -152,7 +152,7 @@ Set `state.status` to completed/failed based on `node.status`. Record final hist
|
|
|
152
152
|
|-------|------|
|
|
153
153
|
| `maestro-init`, `maestro-analyze`, `maestro-brainstorm`, `maestro-ui-design`, `maestro-roadmap` | `-y` |
|
|
154
154
|
| `maestro-plan`, `maestro-execute`, `maestro-milestone-complete` | `-y` |
|
|
155
|
-
| `quality-
|
|
155
|
+
| `quality-auto-test`, `quality-retrospective` | `-y` |
|
|
156
156
|
| `quality-test` | `-y --auto-fix` |
|
|
157
157
|
|
|
158
158
|
**buildSkillCall(node, ctx, autoMode)**: Substitute `{phase}`, `{description}`, `{issue_id}`, `{milestone_num}` from context into `node.args`. If autoMode, append auto flag from `node.auto_flag` or AUTO_FLAG_MAP. Return `$${node.cmd} ${resolvedArgs}`.
|
|
@@ -54,7 +54,15 @@ Spawn Agent for cross-phase validation: shared interfaces, dependency chains, da
|
|
|
54
54
|
**PASS**: All phases have completed EXC artifacts, no critical integration gaps, all adhoc completed.
|
|
55
55
|
**FAIL**: Missing EXC artifacts or critical integration gaps found.
|
|
56
56
|
|
|
57
|
-
Display structured audit report
|
|
57
|
+
Display structured audit report.
|
|
58
|
+
|
|
59
|
+
**Next-step routing:**
|
|
60
|
+
|
|
61
|
+
| Verdict | Next Step |
|
|
62
|
+
|---------|-----------|
|
|
63
|
+
| PASS | `$maestro-milestone-complete "{milestone}"` |
|
|
64
|
+
| FAIL, integration gaps | `$maestro-plan "--gaps"` |
|
|
65
|
+
| FAIL, incomplete execution | `$maestro-execute` |
|
|
58
66
|
|
|
59
67
|
</execution>
|
|
60
68
|
|
|
@@ -209,6 +209,40 @@ Each wave generates `wave-{N}.csv` with extra `prev_context` column.
|
|
|
209
209
|
|
|
210
210
|
**User validation**: Display exploration breakdown (skip if AUTO_YES or `--auto`).
|
|
211
211
|
|
|
212
|
+
### Pre-flight: Team Conflict Check
|
|
213
|
+
|
|
214
|
+
Before starting the plan pipeline:
|
|
215
|
+
```
|
|
216
|
+
Bash("maestro collab preflight --phase <phase-number>")
|
|
217
|
+
```
|
|
218
|
+
If exit code is 1, present warnings and ask whether to proceed.
|
|
219
|
+
|
|
220
|
+
### Wiki Knowledge Search
|
|
221
|
+
|
|
222
|
+
During context collection, after loading files and before exploration (Wave 1):
|
|
223
|
+
```
|
|
224
|
+
phase_keywords = extract key terms from goal/title (2-5 terms)
|
|
225
|
+
wiki_result = Bash("maestro wiki search ${phase_keywords} --json 2>/dev/null")
|
|
226
|
+
|
|
227
|
+
IF wiki_result exit code != 0 OR empty:
|
|
228
|
+
W003: Wiki search unavailable, continue without prior knowledge
|
|
229
|
+
ELSE:
|
|
230
|
+
entries = JSON.parse(wiki_result).entries (limit to first 10)
|
|
231
|
+
Pass wiki_context to Wave 2 planning agent
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
### Mode Routing
|
|
235
|
+
|
|
236
|
+
| Mode | Trigger | Behavior |
|
|
237
|
+
|------|---------|----------|
|
|
238
|
+
| Create | Default (no --revise/--check) | Full pipeline: Phase 1 → Wave 1 → Wave 2 → Phase 3 |
|
|
239
|
+
| Revise | `--revise [instructions]` | Load existing plan, apply incremental edits, re-check |
|
|
240
|
+
| Check | `--check <plan-dir>` | Skip exploration/planning, run plan-checker only on existing plan |
|
|
241
|
+
|
|
242
|
+
**Revise mode**: Load plan.json from target dir, apply user instructions (add/remove/edit tasks, adjust waves), re-run plan-checker, update index.json.
|
|
243
|
+
|
|
244
|
+
**Check mode**: Read plan.json + .task/TASK-*.json from `--check` path, validate quality, report issues. No exploration, no generation.
|
|
245
|
+
|
|
212
246
|
### Phase 2: Wave Execution Engine
|
|
213
247
|
|
|
214
248
|
**Objective**: Explore codebase then generate plan via spawn_agents_on_csv.
|
|
@@ -321,14 +355,38 @@ spawn_agents_on_csv({
|
|
|
321
355
|
- Export `results.csv` from master `tasks.csv`
|
|
322
356
|
- Generate `context.md`: summary (phase, task count, wave count, complexity, exploration count), exploration findings per angle, plan overview (approach, task IDs, waves), next steps
|
|
323
357
|
|
|
324
|
-
4. **
|
|
358
|
+
4. **Collision detection**: Scan same-milestone plans for overlapping file targets:
|
|
359
|
+
```
|
|
360
|
+
other_plans = state.json.artifacts.filter(a => a.milestone == current && a.type == "plan" && a.id != this)
|
|
361
|
+
For each other_plan: read .task/TASK-*.json, collect files[].path
|
|
362
|
+
collisions = intersection(this_plan_files, other_plan_files)
|
|
363
|
+
If collisions.length > 0: emit W004, display collision table (non-blocking)
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
5. **Update index.json**: set `status: "planning"`, `plan: { task_ids, task_count, complexity, waves }`, `updated_at`
|
|
325
367
|
|
|
326
|
-
|
|
368
|
+
6. **Register PLN artifact** in state.json:
|
|
369
|
+
```json
|
|
370
|
+
{ "id": "PLN-NNN", "type": "plan", "milestone": "current", "phase": "target_phase",
|
|
371
|
+
"scope": "phase", "path": "scratch/{YYYYMMDD}-plan-P{N}-{slug}",
|
|
372
|
+
"status": "completed", "depends_on": "anl_art.id || exec_art.id" }
|
|
373
|
+
```
|
|
374
|
+
|
|
375
|
+
7. **Issue linking** (if --gaps):
|
|
327
376
|
For each TASK with `issue_id`: update issue in `issues.jsonl` (`task_refs` += TASK-NNN, `task_plan_dir`, `status: "planned"`, `updated_at`) + append history entry. Ensures bidirectional issue-TASK traceability.
|
|
328
377
|
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
378
|
+
8. **Display summary + options** (skip options if AUTO_YES):
|
|
379
|
+
```
|
|
380
|
+
=== PLAN READY ===
|
|
381
|
+
Phase: {phase_name}
|
|
382
|
+
Tasks: {task_count} tasks in {wave_count} waves
|
|
383
|
+
Check: {checker_status} (iteration {check_count}/{max_checks})
|
|
384
|
+
Collision: {collision_status}
|
|
385
|
+
|
|
386
|
+
Next steps:
|
|
387
|
+
$maestro-execute "{phase}" -- Execute the plan
|
|
388
|
+
$maestro-plan "{phase}" -- Re-plan with modifications
|
|
389
|
+
```
|
|
332
390
|
|
|
333
391
|
### Shared Discovery Board Protocol
|
|
334
392
|
|
|
@@ -371,7 +429,11 @@ echo '{"ts":"<ISO>","worker":"{id}","type":"existing_pattern","data":{"name":"Re
|
|
|
371
429
|
| Phase argument required | Abort with error: "Phase argument required" |
|
|
372
430
|
| Phase directory not found | Abort with error: "Phase {N} not found. Run init first." |
|
|
373
431
|
| --gaps requires gaps source | Abort with error: "--gaps requires issues.jsonl, verification.json, or uat.md" |
|
|
432
|
+
| No plan found to revise (--revise) | Use --dir to specify plan, or create plan first |
|
|
433
|
+
| Plan directory not found (--check) | Check path, use --dir |
|
|
374
434
|
| No context.md found | Warn, proceed with exploration only |
|
|
435
|
+
| Wiki search unavailable (W003) | Continue without prior knowledge context |
|
|
436
|
+
| Collision detected (W004) | Review colliding files, confirm or adjust scope |
|
|
375
437
|
| Exploration agent timeout | Mark as failed, continue with available explorations |
|
|
376
438
|
| Planning agent fails | Retry once with simplified context, then abort |
|
|
377
439
|
| Plan produces invalid JSON | Retry once, then abort with error details |
|
|
@@ -387,8 +449,12 @@ echo '{"ts":"<ISO>","worker":"{id}","type":"existing_pattern","data":{"name":"Re
|
|
|
387
449
|
- [ ] plan.json produced in phase directory
|
|
388
450
|
- [ ] .task/TASK-*.json files produced for all tasks
|
|
389
451
|
- [ ] Plan passes quality checks (coverage, deps, criteria)
|
|
452
|
+
- [ ] Collision detection executed against same-milestone plans
|
|
453
|
+
- [ ] PLN artifact registered in state.json
|
|
390
454
|
- [ ] context.md produced with exploration findings + plan overview
|
|
391
455
|
- [ ] index.json updated with plan metadata
|
|
392
|
-
- [ ] Issues linked (if --gaps mode)
|
|
456
|
+
- [ ] Issues linked bidirectionally (if --gaps mode)
|
|
457
|
+
- [ ] Wiki knowledge integrated (if available)
|
|
458
|
+
- [ ] Team conflict preflight checked
|
|
393
459
|
- [ ] discoveries.ndjson append-only throughout
|
|
394
460
|
</success_criteria>
|