maestro-flow 0.3.38 → 0.3.40
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/agents/workflow-analyzer.md +2 -0
- package/.claude/agents/workflow-debugger.md +2 -0
- package/.claude/agents/workflow-executor.md +2 -0
- package/.claude/agents/workflow-integration-checker.md +1 -0
- package/.claude/agents/workflow-nyquist-auditor.md +1 -0
- package/.claude/agents/workflow-planner.md +2 -0
- package/.claude/agents/workflow-reviewer.md +2 -0
- package/.claude/agents/workflow-verifier.md +2 -0
- package/.claude/commands/learn-decompose.md +176 -176
- package/.claude/commands/learn-follow.md +167 -167
- package/.claude/commands/learn-investigate.md +221 -221
- package/.claude/commands/learn-retro.md +303 -303
- package/.claude/commands/learn-second-opinion.md +167 -167
- package/.claude/commands/maestro-amend.md +300 -300
- package/.claude/commands/maestro-analyze.md +130 -126
- package/.claude/commands/maestro-brainstorm.md +104 -100
- package/.claude/commands/maestro-composer.md +354 -354
- package/.claude/commands/maestro-execute.md +120 -114
- package/.claude/commands/maestro-fork.md +86 -86
- package/.claude/commands/maestro-init.md +78 -78
- package/.claude/commands/maestro-learn.md +140 -140
- package/.claude/commands/maestro-link-coordinate.md +1 -1
- package/.claude/commands/maestro-merge.md +61 -61
- package/.claude/commands/maestro-milestone-release.md +96 -96
- package/.claude/commands/maestro-overlay.md +178 -178
- package/.claude/commands/maestro-plan.md +154 -138
- package/.claude/commands/maestro-player.md +404 -404
- package/.claude/commands/maestro-quick.md +56 -56
- package/.claude/commands/maestro-ralph-execute.md +7 -18
- package/.claude/commands/maestro-ralph.md +48 -12
- package/.claude/commands/maestro-roadmap.md +1 -1
- package/.claude/commands/maestro-ui-design.md +93 -93
- package/.claude/commands/maestro-update.md +176 -176
- package/.claude/commands/maestro-verify.md +96 -90
- package/.claude/commands/maestro.md +121 -121
- package/.claude/commands/manage-codebase-rebuild.md +75 -75
- package/.claude/commands/manage-codebase-refresh.md +57 -57
- package/.claude/commands/manage-harvest.md +94 -94
- package/.claude/commands/manage-issue-discover.md +77 -77
- package/.claude/commands/manage-issue.md +73 -73
- package/.claude/commands/manage-knowhow-capture.md +193 -193
- package/.claude/commands/manage-knowhow.md +77 -77
- package/.claude/commands/manage-learn.md +67 -67
- package/.claude/commands/manage-status.md +51 -51
- package/.claude/commands/manage-wiki.md +62 -62
- package/.claude/commands/quality-auto-test.md +5 -1
- package/.claude/commands/quality-debug.md +125 -115
- package/.claude/commands/quality-refactor.md +55 -55
- package/.claude/commands/quality-retrospective.md +78 -78
- package/.claude/commands/quality-review.md +114 -108
- package/.claude/commands/quality-sync.md +51 -51
- package/.claude/commands/quality-test.md +107 -103
- package/.claude/commands/spec-add.md +49 -49
- package/.claude/commands/spec-load.md +51 -51
- package/.claude/commands/spec-remove.md +51 -51
- package/.claude/commands/spec-setup.md +51 -51
- package/.claude/commands/wiki-connect.md +62 -62
- package/.claude/commands/wiki-digest.md +69 -69
- package/.codex/skills/learn-decompose/SKILL.md +113 -113
- package/.codex/skills/learn-follow/SKILL.md +1 -1
- package/.codex/skills/learn-investigate/SKILL.md +83 -83
- package/.codex/skills/learn-retro/SKILL.md +83 -83
- package/.codex/skills/learn-second-opinion/SKILL.md +86 -86
- package/.codex/skills/maestro/SKILL.md +304 -304
- package/.codex/skills/maestro-analyze/SKILL.md +11 -3
- package/.codex/skills/maestro-brainstorm/SKILL.md +451 -397
- package/.codex/skills/maestro-composer/SKILL.md +213 -213
- package/.codex/skills/maestro-execute/SKILL.md +346 -318
- package/.codex/skills/maestro-fork/SKILL.md +56 -2
- package/.codex/skills/maestro-init/SKILL.md +40 -16
- package/.codex/skills/maestro-learn/SKILL.md +80 -80
- package/.codex/skills/maestro-link-coordinate/SKILL.md +257 -257
- package/.codex/skills/maestro-merge/SKILL.md +1 -1
- package/.codex/skills/maestro-milestone-audit/SKILL.md +1 -1
- package/.codex/skills/maestro-milestone-complete/SKILL.md +40 -9
- package/.codex/skills/maestro-milestone-release/SKILL.md +70 -70
- package/.codex/skills/maestro-overlay/SKILL.md +1 -1
- package/.codex/skills/maestro-plan/SKILL.md +29 -4
- package/.codex/skills/maestro-player/SKILL.md +323 -323
- package/.codex/skills/maestro-quick/SKILL.md +1 -1
- package/.codex/skills/maestro-ralph/SKILL.md +693 -578
- package/.codex/skills/maestro-roadmap/SKILL.md +518 -468
- package/.codex/skills/maestro-ui-design/SKILL.md +109 -12
- package/.codex/skills/maestro-verify/SKILL.md +27 -9
- package/.codex/skills/manage-codebase-rebuild/SKILL.md +3 -2
- package/.codex/skills/manage-codebase-refresh/SKILL.md +1 -1
- package/.codex/skills/manage-harvest/SKILL.md +91 -91
- package/.codex/skills/manage-issue/SKILL.md +19 -6
- package/.codex/skills/manage-issue-discover/SKILL.md +1 -1
- package/.codex/skills/manage-knowhow/SKILL.md +95 -95
- package/.codex/skills/manage-knowhow-capture/SKILL.md +110 -110
- package/.codex/skills/manage-learn/SKILL.md +1 -1
- package/.codex/skills/manage-status/SKILL.md +1 -1
- package/.codex/skills/manage-wiki/SKILL.md +55 -55
- package/.codex/skills/quality-auto-test/SKILL.md +553 -547
- package/.codex/skills/quality-debug/SKILL.md +345 -334
- package/.codex/skills/quality-refactor/SKILL.md +1 -1
- package/.codex/skills/quality-retrospective/SKILL.md +292 -292
- package/.codex/skills/quality-review/SKILL.md +365 -364
- package/.codex/skills/quality-sync/SKILL.md +1 -1
- package/.codex/skills/quality-test/SKILL.md +507 -498
- package/.codex/skills/spec-add/SKILL.md +101 -101
- package/.codex/skills/spec-load/SKILL.md +77 -77
- package/.codex/skills/spec-map/SKILL.md +1 -1
- package/.codex/skills/spec-remove/SKILL.md +69 -69
- package/.codex/skills/spec-setup/SKILL.md +1 -1
- package/.codex/skills/team-coordinate/SKILL.md +2 -1
- package/.codex/skills/team-executor/SKILL.md +116 -115
- package/.codex/skills/team-lifecycle-v4/SKILL.md +2 -1
- package/.codex/skills/team-lifecycle-v4/instructions/agent-instruction.md +14 -6
- package/.codex/skills/team-lifecycle-v4/roles/analyst/role.md +16 -4
- package/.codex/skills/team-lifecycle-v4/roles/executor/commands/implement.md +7 -1
- package/.codex/skills/team-lifecycle-v4/roles/planner/role.md +16 -4
- package/.codex/skills/team-lifecycle-v4/roles/writer/role.md +8 -2
- package/.codex/skills/team-quality-assurance/SKILL.md +2 -1
- package/.codex/skills/team-quality-assurance/roles/scout/role.md +9 -2
- package/.codex/skills/team-review/SKILL.md +2 -1
- package/.codex/skills/team-review/roles/reviewer/role.md +10 -1
- package/.codex/skills/team-review/roles/scanner/role.md +10 -1
- package/.codex/skills/team-tech-debt/SKILL.md +144 -143
- package/.codex/skills/team-tech-debt/roles/executor/role.md +9 -5
- package/.codex/skills/team-tech-debt/roles/scanner/role.md +10 -0
- package/.codex/skills/team-tech-debt/roles/validator/role.md +8 -2
- package/.codex/skills/team-testing/SKILL.md +2 -1
- package/.codex/skills/team-testing/roles/executor/role.md +8 -2
- package/.codex/skills/team-testing/roles/generator/role.md +8 -2
- package/.codex/skills/wiki-connect/SKILL.md +73 -73
- package/.codex/skills/wiki-digest/SKILL.md +87 -87
- package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js +4 -0
- package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.js +6 -0
- package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.js.map +1 -1
- package/dashboard/dist-server/shared/agent-types.d.ts +2 -0
- package/dashboard/dist-server/src/agents/cli-agent-runner.d.ts +2 -0
- package/dashboard/dist-server/src/agents/cli-agent-runner.js +4 -0
- package/dashboard/dist-server/src/agents/cli-agent-runner.js.map +1 -1
- package/dashboard/dist-server/src/commands/delegate.d.ts +2 -0
- package/dashboard/dist-server/src/commands/delegate.js +18 -0
- package/dashboard/dist-server/src/commands/delegate.js.map +1 -1
- package/dashboard/dist-server/src/config/cli-tools-config.d.ts +6 -0
- package/dashboard/dist-server/src/config/cli-tools-config.js +2 -0
- package/dashboard/dist-server/src/config/cli-tools-config.js.map +1 -1
- package/dist/shared/agent-types.d.ts +2 -0
- package/dist/shared/agent-types.d.ts.map +1 -1
- package/dist/src/agents/cli-agent-runner.d.ts +2 -0
- package/dist/src/agents/cli-agent-runner.d.ts.map +1 -1
- package/dist/src/agents/cli-agent-runner.js +4 -0
- package/dist/src/agents/cli-agent-runner.js.map +1 -1
- package/dist/src/commands/config.d.ts.map +1 -1
- package/dist/src/commands/config.js +29 -1
- package/dist/src/commands/config.js.map +1 -1
- package/dist/src/commands/delegate.d.ts +2 -0
- package/dist/src/commands/delegate.d.ts.map +1 -1
- package/dist/src/commands/delegate.js +18 -0
- package/dist/src/commands/delegate.js.map +1 -1
- package/dist/src/commands/launcher.d.ts.map +1 -1
- package/dist/src/commands/launcher.js +27 -4
- package/dist/src/commands/launcher.js.map +1 -1
- package/dist/src/config/cli-tools-config.d.ts +6 -0
- package/dist/src/config/cli-tools-config.d.ts.map +1 -1
- package/dist/src/config/cli-tools-config.js +2 -0
- package/dist/src/config/cli-tools-config.js.map +1 -1
- package/dist/src/core/overlay/applier.d.ts.map +1 -1
- package/dist/src/core/overlay/applier.js +65 -5
- package/dist/src/core/overlay/applier.js.map +1 -1
- package/dist/src/core/overlay/loader.d.ts.map +1 -1
- package/dist/src/core/overlay/loader.js +9 -4
- package/dist/src/core/overlay/loader.js.map +1 -1
- package/dist/src/core/overlay/types.d.ts +2 -0
- package/dist/src/core/overlay/types.d.ts.map +1 -1
- package/dist/src/core/overlay/types.js +2 -0
- package/dist/src/core/overlay/types.js.map +1 -1
- package/dist/src/tui/tools-ui/ToolsDashboard.d.ts.map +1 -1
- package/dist/src/tui/tools-ui/ToolsDashboard.js +1 -1
- package/dist/src/tui/tools-ui/ToolsDashboard.js.map +1 -1
- package/dist/src/tui/tools-ui/ToolsOverview.d.ts.map +1 -1
- package/dist/src/tui/tools-ui/ToolsOverview.js +51 -4
- package/dist/src/tui/tools-ui/ToolsOverview.js.map +1 -1
- package/package.json +1 -1
- package/shared/agent-types.ts +2 -0
- package/workflows/analyze.md +24 -2
- package/workflows/auto-test.md +12 -0
- package/workflows/brainstorm.md +11 -1
- package/workflows/debug.md +13 -4
- package/workflows/delegate-protocol.codex.md +65 -0
- package/workflows/plan.md +14 -4
- package/workflows/test.md +10 -0
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: manage-learn
|
|
3
|
-
description: Capture
|
|
4
|
-
argument-hint: "[<text>|tip <text>|list|search|show <id>] [--category ...] [--tag t1,t2] [--phase N] [--confidence ...]"
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- Read
|
|
7
|
-
- Write
|
|
8
|
-
- Edit
|
|
9
|
-
- Bash
|
|
10
|
-
- Glob
|
|
11
|
-
- Grep
|
|
12
|
-
- AskUserQuestion
|
|
13
|
-
---
|
|
14
|
-
<purpose>
|
|
15
|
-
Unified atomic knowledge capture for the workflow learning library. Captures two types of knowledge:
|
|
16
|
-
- **Insights**: Timeless "eureka moment" entries (patterns, gotchas, techniques) — the default mode
|
|
17
|
-
- **Tips**: Quick contextual notes for cross-session recovery (formerly in `manage-knowhow-capture tip`)
|
|
18
|
-
|
|
19
|
-
Both types are stored in `.workflow/learning/lessons.jsonl` with auto-detected phase linkage and keyword-based category inference. Tips are distinguished by `source: "tip"` and implicitly tagged `tip`. Same store as retrospective output, so search and list see the entire knowledge corpus.
|
|
20
|
-
</purpose>
|
|
21
|
-
|
|
22
|
-
<required_reading>
|
|
23
|
-
@~/.maestro/workflows/learn.md
|
|
24
|
-
</required_reading>
|
|
25
|
-
|
|
26
|
-
<context>
|
|
27
|
-
Arguments: $ARGUMENTS
|
|
28
|
-
|
|
29
|
-
**Modes (auto-detected from first token):**
|
|
30
|
-
- `"<insight text>"` (or any non-keyword text) → insight capture mode
|
|
31
|
-
- `tip <text>` → tip capture mode (quick contextual note, auto-tagged `tip`)
|
|
32
|
-
- `list` → list recent entries (default 20)
|
|
33
|
-
- `search <query>` → text search across lessons.jsonl
|
|
34
|
-
- `show <INS-id>` → full detail with phase context
|
|
35
|
-
- empty → AskUserQuestion to prompt for text
|
|
36
|
-
|
|
37
|
-
Flags, storage paths, and shared store rationale defined in workflow learn.md.
|
|
38
|
-
</context>
|
|
39
|
-
|
|
40
|
-
<execution>
|
|
41
|
-
Follow `~/.maestro/workflows/learn.md` Stages 1–5 in order.
|
|
42
|
-
</execution>
|
|
43
|
-
|
|
44
|
-
<error_codes>
|
|
45
|
-
| Code | Severity | Description | Stage |
|
|
46
|
-
|------|----------|-------------|-------|
|
|
47
|
-
| E001 | error | `.workflow/` not initialized — run `/maestro-init` first | parse_input |
|
|
48
|
-
| E002 | error | Unknown `--category` value (allowed: pattern, antipattern, decision, tool, gotcha, technique, tip) | parse_input |
|
|
49
|
-
| E003 | error | `show` mode requires an INS-id argument | show |
|
|
50
|
-
| E004 | error | Insight id not found in lessons.jsonl | show |
|
|
51
|
-
| W001 | warning | Auto-phase detection found a current_phase but no matching artifact in registry; phase set to null | capture |
|
|
52
|
-
| W002 | warning | learning-index.json out of sync with lessons.jsonl (different row count); offer to rebuild | list/search |
|
|
53
|
-
</error_codes>
|
|
54
|
-
|
|
55
|
-
<success_criteria>
|
|
56
|
-
- [ ] Mode correctly routed (capture / list / search / show)
|
|
57
|
-
- [ ] Capture: `lessons.jsonl` row appended with valid JSON and all required fields
|
|
58
|
-
- [ ] Capture: `learning-index.json` updated with matching entry
|
|
59
|
-
- [ ] Capture: phase auto-link resolves correctly via artifact registry when `state.json` has `current_phase`
|
|
60
|
-
- [ ] Capture: category inference produces a sensible default when `--category` absent
|
|
61
|
-
- [ ] List: filters apply, output sorted newest-first, default limit 20
|
|
62
|
-
- [ ] Search: results ranked by title (3) > tags (2) > summary (1) match
|
|
63
|
-
- [ ] Show: full insight displayed with phase context and routed-artifact link if any
|
|
64
|
-
- [ ] No file modifications outside `.workflow/learning/`
|
|
65
|
-
- [ ] Confirmation banner displayed with INS-id and next-step hints
|
|
66
|
-
- [ ] Next step: `/manage-learn list` to browse, or `/manage-learn search <query>` to find related insights
|
|
67
|
-
</success_criteria>
|
|
1
|
+
---
|
|
2
|
+
name: manage-learn
|
|
3
|
+
description: Capture and search learning insights and tips
|
|
4
|
+
argument-hint: "[<text>|tip <text>|list|search|show <id>] [--category ...] [--tag t1,t2] [--phase N] [--confidence ...]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Bash
|
|
10
|
+
- Glob
|
|
11
|
+
- Grep
|
|
12
|
+
- AskUserQuestion
|
|
13
|
+
---
|
|
14
|
+
<purpose>
|
|
15
|
+
Unified atomic knowledge capture for the workflow learning library. Captures two types of knowledge:
|
|
16
|
+
- **Insights**: Timeless "eureka moment" entries (patterns, gotchas, techniques) — the default mode
|
|
17
|
+
- **Tips**: Quick contextual notes for cross-session recovery (formerly in `manage-knowhow-capture tip`)
|
|
18
|
+
|
|
19
|
+
Both types are stored in `.workflow/learning/lessons.jsonl` with auto-detected phase linkage and keyword-based category inference. Tips are distinguished by `source: "tip"` and implicitly tagged `tip`. Same store as retrospective output, so search and list see the entire knowledge corpus.
|
|
20
|
+
</purpose>
|
|
21
|
+
|
|
22
|
+
<required_reading>
|
|
23
|
+
@~/.maestro/workflows/learn.md
|
|
24
|
+
</required_reading>
|
|
25
|
+
|
|
26
|
+
<context>
|
|
27
|
+
Arguments: $ARGUMENTS
|
|
28
|
+
|
|
29
|
+
**Modes (auto-detected from first token):**
|
|
30
|
+
- `"<insight text>"` (or any non-keyword text) → insight capture mode
|
|
31
|
+
- `tip <text>` → tip capture mode (quick contextual note, auto-tagged `tip`)
|
|
32
|
+
- `list` → list recent entries (default 20)
|
|
33
|
+
- `search <query>` → text search across lessons.jsonl
|
|
34
|
+
- `show <INS-id>` → full detail with phase context
|
|
35
|
+
- empty → AskUserQuestion to prompt for text
|
|
36
|
+
|
|
37
|
+
Flags, storage paths, and shared store rationale defined in workflow learn.md.
|
|
38
|
+
</context>
|
|
39
|
+
|
|
40
|
+
<execution>
|
|
41
|
+
Follow `~/.maestro/workflows/learn.md` Stages 1–5 in order.
|
|
42
|
+
</execution>
|
|
43
|
+
|
|
44
|
+
<error_codes>
|
|
45
|
+
| Code | Severity | Description | Stage |
|
|
46
|
+
|------|----------|-------------|-------|
|
|
47
|
+
| E001 | error | `.workflow/` not initialized — run `/maestro-init` first | parse_input |
|
|
48
|
+
| E002 | error | Unknown `--category` value (allowed: pattern, antipattern, decision, tool, gotcha, technique, tip) | parse_input |
|
|
49
|
+
| E003 | error | `show` mode requires an INS-id argument | show |
|
|
50
|
+
| E004 | error | Insight id not found in lessons.jsonl | show |
|
|
51
|
+
| W001 | warning | Auto-phase detection found a current_phase but no matching artifact in registry; phase set to null | capture |
|
|
52
|
+
| W002 | warning | learning-index.json out of sync with lessons.jsonl (different row count); offer to rebuild | list/search |
|
|
53
|
+
</error_codes>
|
|
54
|
+
|
|
55
|
+
<success_criteria>
|
|
56
|
+
- [ ] Mode correctly routed (capture / list / search / show)
|
|
57
|
+
- [ ] Capture: `lessons.jsonl` row appended with valid JSON and all required fields
|
|
58
|
+
- [ ] Capture: `learning-index.json` updated with matching entry
|
|
59
|
+
- [ ] Capture: phase auto-link resolves correctly via artifact registry when `state.json` has `current_phase`
|
|
60
|
+
- [ ] Capture: category inference produces a sensible default when `--category` absent
|
|
61
|
+
- [ ] List: filters apply, output sorted newest-first, default limit 20
|
|
62
|
+
- [ ] Search: results ranked by title (3) > tags (2) > summary (1) match
|
|
63
|
+
- [ ] Show: full insight displayed with phase context and routed-artifact link if any
|
|
64
|
+
- [ ] No file modifications outside `.workflow/learning/`
|
|
65
|
+
- [ ] Confirmation banner displayed with INS-id and next-step hints
|
|
66
|
+
- [ ] Next step: `/manage-learn list` to browse, or `/manage-learn search <query>` to find related insights
|
|
67
|
+
</success_criteria>
|
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: manage-status
|
|
3
|
-
description:
|
|
4
|
-
allowed-tools:
|
|
5
|
-
- Read
|
|
6
|
-
- Bash
|
|
7
|
-
- Glob
|
|
8
|
-
- Grep
|
|
9
|
-
---
|
|
10
|
-
<purpose>
|
|
11
|
-
Display a unified project dashboard showing artifact progress, task counts, active work, and intelligent next-step suggestions.
|
|
12
|
-
Reads state.json artifact registry and roadmap to render a formatted overview with progress and status tables.
|
|
13
|
-
Provides situational awareness before continuing work. Uses virtual phase view derived from artifact registry.
|
|
14
|
-
</purpose>
|
|
15
|
-
|
|
16
|
-
<required_reading>
|
|
17
|
-
@~/.maestro/workflows/status.md
|
|
18
|
-
</required_reading>
|
|
19
|
-
|
|
20
|
-
<context>
|
|
21
|
-
$ARGUMENTS (no arguments required)
|
|
22
|
-
|
|
23
|
-
**State files read:**
|
|
24
|
-
- `.workflow/state.json` -- project-level state machine + artifact registry
|
|
25
|
-
- `.workflow/roadmap.md` -- milestone and phase structure
|
|
26
|
-
- `.workflow/scratch/*/plan.json` -- plan metadata (via artifact registry paths)
|
|
27
|
-
- `.workflow/scratch/*/.task/TASK-*.json` -- individual task statuses
|
|
28
|
-
</context>
|
|
29
|
-
|
|
30
|
-
<execution>
|
|
31
|
-
Follow '~/.maestro/workflows/status.md' completely.
|
|
32
|
-
|
|
33
|
-
Next-step decision table defined in workflow status.md Step 5.
|
|
34
|
-
</execution>
|
|
35
|
-
|
|
36
|
-
<error_codes>
|
|
37
|
-
| Code | Severity | Description | Stage |
|
|
38
|
-
|------|----------|-------------|-------|
|
|
39
|
-
| E001 | fatal | `.workflow/` not initialized -- run `/maestro-init` first | parse_input |
|
|
40
|
-
| E002 | fatal | `state.json` missing or corrupt -- project state unrecoverable | parse_input |
|
|
41
|
-
</error_codes>
|
|
42
|
-
|
|
43
|
-
<success_criteria>
|
|
44
|
-
- [ ] Project state loaded from `state.json`
|
|
45
|
-
- [ ] Roadmap parsed with milestone/phase structure
|
|
46
|
-
- [ ] Per-phase progress calculated (task counts, completion %)
|
|
47
|
-
- [ ] Dashboard rendered with progress bars and status table
|
|
48
|
-
- [ ] Active work section shows current phase details
|
|
49
|
-
- [ ] Next steps suggested based on current state analysis
|
|
50
|
-
- [ ] Wiki health score displayed (or graceful unavailable message)
|
|
51
|
-
</success_criteria>
|
|
1
|
+
---
|
|
2
|
+
name: manage-status
|
|
3
|
+
description: Show project dashboard with progress and next steps
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Bash
|
|
7
|
+
- Glob
|
|
8
|
+
- Grep
|
|
9
|
+
---
|
|
10
|
+
<purpose>
|
|
11
|
+
Display a unified project dashboard showing artifact progress, task counts, active work, and intelligent next-step suggestions.
|
|
12
|
+
Reads state.json artifact registry and roadmap to render a formatted overview with progress and status tables.
|
|
13
|
+
Provides situational awareness before continuing work. Uses virtual phase view derived from artifact registry.
|
|
14
|
+
</purpose>
|
|
15
|
+
|
|
16
|
+
<required_reading>
|
|
17
|
+
@~/.maestro/workflows/status.md
|
|
18
|
+
</required_reading>
|
|
19
|
+
|
|
20
|
+
<context>
|
|
21
|
+
$ARGUMENTS (no arguments required)
|
|
22
|
+
|
|
23
|
+
**State files read:**
|
|
24
|
+
- `.workflow/state.json` -- project-level state machine + artifact registry
|
|
25
|
+
- `.workflow/roadmap.md` -- milestone and phase structure
|
|
26
|
+
- `.workflow/scratch/*/plan.json` -- plan metadata (via artifact registry paths)
|
|
27
|
+
- `.workflow/scratch/*/.task/TASK-*.json` -- individual task statuses
|
|
28
|
+
</context>
|
|
29
|
+
|
|
30
|
+
<execution>
|
|
31
|
+
Follow '~/.maestro/workflows/status.md' completely.
|
|
32
|
+
|
|
33
|
+
Next-step decision table defined in workflow status.md Step 5.
|
|
34
|
+
</execution>
|
|
35
|
+
|
|
36
|
+
<error_codes>
|
|
37
|
+
| Code | Severity | Description | Stage |
|
|
38
|
+
|------|----------|-------------|-------|
|
|
39
|
+
| E001 | fatal | `.workflow/` not initialized -- run `/maestro-init` first | parse_input |
|
|
40
|
+
| E002 | fatal | `state.json` missing or corrupt -- project state unrecoverable | parse_input |
|
|
41
|
+
</error_codes>
|
|
42
|
+
|
|
43
|
+
<success_criteria>
|
|
44
|
+
- [ ] Project state loaded from `state.json`
|
|
45
|
+
- [ ] Roadmap parsed with milestone/phase structure
|
|
46
|
+
- [ ] Per-phase progress calculated (task counts, completion %)
|
|
47
|
+
- [ ] Dashboard rendered with progress bars and status table
|
|
48
|
+
- [ ] Active work section shows current phase details
|
|
49
|
+
- [ ] Next steps suggested based on current state analysis
|
|
50
|
+
- [ ] Wiki health score displayed (or graceful unavailable message)
|
|
51
|
+
</success_criteria>
|
|
@@ -1,62 +1,62 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: manage-wiki
|
|
3
|
-
description:
|
|
4
|
-
argument-hint: "[health|search|cleanup|stats] [options]"
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- Read
|
|
7
|
-
- Write
|
|
8
|
-
- Edit
|
|
9
|
-
- Bash
|
|
10
|
-
- Glob
|
|
11
|
-
- Grep
|
|
12
|
-
- AskUserQuestion
|
|
13
|
-
---
|
|
14
|
-
<purpose>
|
|
15
|
-
Unified wiki graph management command. Provides interactive access to wiki health monitoring, entry search, orphan cleanup, and graph statistics — the day-to-day operations that keep the knowledge graph healthy.
|
|
16
|
-
|
|
17
|
-
Complements `/wiki-connect` (link discovery) and `/wiki-digest` (synthesis) with operational tooling.
|
|
18
|
-
</purpose>
|
|
19
|
-
|
|
20
|
-
<required_reading>
|
|
21
|
-
@~/.maestro/workflows/wiki-manage.md
|
|
22
|
-
</required_reading>
|
|
23
|
-
|
|
24
|
-
<context>
|
|
25
|
-
$ARGUMENTS — subcommand and optional flags.
|
|
26
|
-
|
|
27
|
-
**Subcommands:**
|
|
28
|
-
| Subcommand | Description |
|
|
29
|
-
|-----------|-------------|
|
|
30
|
-
| `health` | Health dashboard — score, broken links, orphans, hubs (default) |
|
|
31
|
-
| `search <query>` | Interactive BM25 search with follow-up actions |
|
|
32
|
-
| `cleanup` | Find and resolve orphans, broken links, stale entries |
|
|
33
|
-
| `stats` | Graph statistics — type distribution, tag frequency, growth trends |
|
|
34
|
-
| No args | Same as `health` |
|
|
35
|
-
|
|
36
|
-
**Flags:**
|
|
37
|
-
- `--type <type>` — Filter by wiki type: spec, knowhow, note, lesson, issue
|
|
38
|
-
- `--fix` — Auto-fix issues found during cleanup (remove broken links, suggest connections)
|
|
39
|
-
- `--json` — Output in JSON format
|
|
40
|
-
</context>
|
|
41
|
-
|
|
42
|
-
<execution>
|
|
43
|
-
Follow '~/.maestro/workflows/wiki-manage.md' completely.
|
|
44
|
-
</execution>
|
|
45
|
-
|
|
46
|
-
<error_codes>
|
|
47
|
-
| Code | Severity | Description | Stage |
|
|
48
|
-
|------|----------|-------------|-------|
|
|
49
|
-
| E001 | fatal | `.workflow/` not initialized — run `/maestro-init` first | validate |
|
|
50
|
-
| E002 | fatal | No wiki entries found — create content first | load |
|
|
51
|
-
| E003 | error | Invalid subcommand | parse_input |
|
|
52
|
-
| W001 | warning | Health score below 50 — graph needs attention | health |
|
|
53
|
-
| W002 | warning | Orphan cleanup had partial failures | cleanup |
|
|
54
|
-
</error_codes>
|
|
55
|
-
|
|
56
|
-
<success_criteria>
|
|
57
|
-
- [ ] Subcommand parsed (health/search/cleanup/stats)
|
|
58
|
-
- [ ] Wiki data loaded via `maestro wiki` CLI
|
|
59
|
-
- [ ] Results displayed in formatted output
|
|
60
|
-
- [ ] If cleanup --fix: issues resolved and delta reported
|
|
61
|
-
- [ ] Next-step suggestions provided
|
|
62
|
-
</success_criteria>
|
|
1
|
+
---
|
|
2
|
+
name: manage-wiki
|
|
3
|
+
description: Manage wiki graph — health, cleanup, search, stats
|
|
4
|
+
argument-hint: "[health|search|cleanup|stats] [options]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Bash
|
|
10
|
+
- Glob
|
|
11
|
+
- Grep
|
|
12
|
+
- AskUserQuestion
|
|
13
|
+
---
|
|
14
|
+
<purpose>
|
|
15
|
+
Unified wiki graph management command. Provides interactive access to wiki health monitoring, entry search, orphan cleanup, and graph statistics — the day-to-day operations that keep the knowledge graph healthy.
|
|
16
|
+
|
|
17
|
+
Complements `/wiki-connect` (link discovery) and `/wiki-digest` (synthesis) with operational tooling.
|
|
18
|
+
</purpose>
|
|
19
|
+
|
|
20
|
+
<required_reading>
|
|
21
|
+
@~/.maestro/workflows/wiki-manage.md
|
|
22
|
+
</required_reading>
|
|
23
|
+
|
|
24
|
+
<context>
|
|
25
|
+
$ARGUMENTS — subcommand and optional flags.
|
|
26
|
+
|
|
27
|
+
**Subcommands:**
|
|
28
|
+
| Subcommand | Description |
|
|
29
|
+
|-----------|-------------|
|
|
30
|
+
| `health` | Health dashboard — score, broken links, orphans, hubs (default) |
|
|
31
|
+
| `search <query>` | Interactive BM25 search with follow-up actions |
|
|
32
|
+
| `cleanup` | Find and resolve orphans, broken links, stale entries |
|
|
33
|
+
| `stats` | Graph statistics — type distribution, tag frequency, growth trends |
|
|
34
|
+
| No args | Same as `health` |
|
|
35
|
+
|
|
36
|
+
**Flags:**
|
|
37
|
+
- `--type <type>` — Filter by wiki type: spec, knowhow, note, lesson, issue
|
|
38
|
+
- `--fix` — Auto-fix issues found during cleanup (remove broken links, suggest connections)
|
|
39
|
+
- `--json` — Output in JSON format
|
|
40
|
+
</context>
|
|
41
|
+
|
|
42
|
+
<execution>
|
|
43
|
+
Follow '~/.maestro/workflows/wiki-manage.md' completely.
|
|
44
|
+
</execution>
|
|
45
|
+
|
|
46
|
+
<error_codes>
|
|
47
|
+
| Code | Severity | Description | Stage |
|
|
48
|
+
|------|----------|-------------|-------|
|
|
49
|
+
| E001 | fatal | `.workflow/` not initialized — run `/maestro-init` first | validate |
|
|
50
|
+
| E002 | fatal | No wiki entries found — create content first | load |
|
|
51
|
+
| E003 | error | Invalid subcommand | parse_input |
|
|
52
|
+
| W001 | warning | Health score below 50 — graph needs attention | health |
|
|
53
|
+
| W002 | warning | Orphan cleanup had partial failures | cleanup |
|
|
54
|
+
</error_codes>
|
|
55
|
+
|
|
56
|
+
<success_criteria>
|
|
57
|
+
- [ ] Subcommand parsed (health/search/cleanup/stats)
|
|
58
|
+
- [ ] Wiki data loaded via `maestro wiki` CLI
|
|
59
|
+
- [ ] Results displayed in formatted output
|
|
60
|
+
- [ ] If cleanup --fix: issues resolved and delta reported
|
|
61
|
+
- [ ] Next-step suggestions provided
|
|
62
|
+
</success_criteria>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: quality-auto-test
|
|
3
|
-
description:
|
|
3
|
+
description: Auto-generate and run tests from specs or coverage gaps
|
|
4
4
|
argument-hint: "<phase> [-y] [-c N] [--max-iter <N>] [--layer <L0-L3>] [--strategy <name>] [--dry-run] [--re-run]"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- spawn_agents_on_csv
|
|
@@ -116,6 +116,10 @@ Append to state.json.artifacts[]:
|
|
|
116
116
|
- [ ] Tests executed progressively (L0→L3) with fail-fast on critical
|
|
117
117
|
- [ ] Iteration engine ran (inner: test_defect fix, outer: strategy adjust)
|
|
118
118
|
- [ ] state.json, report.json, reflection-log.md written
|
|
119
|
+
- [ ] Test confidence scored per iteration (Step 7.5) with 5-dimension factor model
|
|
120
|
+
- [ ] Convergence check includes confidence >= 60% alongside pass_rate threshold
|
|
121
|
+
- [ ] Pressure pass completed on highest-pass-rate layer before completion
|
|
122
|
+
- [ ] report.json includes confidence section
|
|
119
123
|
- [ ] index.json updated with auto_test section
|
|
120
124
|
- [ ] If spec source: traceability matrix built, traceability.md written
|
|
121
125
|
- [ ] If failures: issues auto-created in issues.jsonl
|
|
@@ -1,115 +1,125 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: quality-debug
|
|
3
|
-
description:
|
|
4
|
-
argument-hint: "[issue description] [--from-uat <phase>] [--parallel]"
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- Read
|
|
7
|
-
- Write
|
|
8
|
-
- Edit
|
|
9
|
-
- Bash
|
|
10
|
-
- Glob
|
|
11
|
-
- Grep
|
|
12
|
-
- Agent
|
|
13
|
-
- AskUserQuestion
|
|
14
|
-
---
|
|
15
|
-
<purpose>
|
|
16
|
-
Debug issues using scientific method with subagent isolation and persistent debug state. Three entry modes (standalone, from-UAT, parallel) and structured root cause collection with UAT feedback loop. Full algorithm defined in workflow debug.md.
|
|
17
|
-
</purpose>
|
|
18
|
-
|
|
19
|
-
<required_reading>
|
|
20
|
-
@~/.maestro/workflows/debug.md
|
|
21
|
-
</required_reading>
|
|
22
|
-
|
|
23
|
-
<context>
|
|
24
|
-
User's issue: $ARGUMENTS
|
|
25
|
-
|
|
26
|
-
**Flags:**
|
|
27
|
-
- `--from-uat <phase>` -- Read gaps from phase's uat.md as pre-filled symptoms
|
|
28
|
-
- `--parallel` -- Spawn parallel debug agents (one per gap cluster)
|
|
29
|
-
|
|
30
|
-
**All context via state.json.artifacts[]:**
|
|
31
|
-
|
|
32
|
-
```
|
|
33
|
-
related = artifacts.filter(a =>
|
|
34
|
-
a.phase === target_phase && a.milestone === current_milestone
|
|
35
|
-
).sort_by(completed_at asc)
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
Each artifact's type determines its outputs at `.workflow/{a.path}/`:
|
|
39
|
-
- **execute** → .summaries/, .task/ (source of code changes)
|
|
40
|
-
- **review** → review.json (findings guide hypothesis formation)
|
|
41
|
-
- **debug** → understanding.md, evidence.ndjson (prior investigations, avoid re-investigation)
|
|
42
|
-
- **test** → uat.md (--from-uat gap source), .tests/
|
|
43
|
-
|
|
44
|
-
Extract conclusions from related artifacts that may affect this debug session — review findings guide investigation direction, prior debug avoids redundant work.
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
<
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
**
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
→ Ask: "
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
- [ ]
|
|
110
|
-
- [ ]
|
|
111
|
-
- [ ]
|
|
112
|
-
- [ ]
|
|
113
|
-
- [ ]
|
|
114
|
-
- [ ]
|
|
115
|
-
|
|
1
|
+
---
|
|
2
|
+
name: quality-debug
|
|
3
|
+
description: Debug with parallel hypotheses and root cause analysis
|
|
4
|
+
argument-hint: "[issue description] [--from-uat <phase>] [--parallel]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Bash
|
|
10
|
+
- Glob
|
|
11
|
+
- Grep
|
|
12
|
+
- Agent
|
|
13
|
+
- AskUserQuestion
|
|
14
|
+
---
|
|
15
|
+
<purpose>
|
|
16
|
+
Debug issues using scientific method with subagent isolation and persistent debug state. Three entry modes (standalone, from-UAT, parallel) and structured root cause collection with UAT feedback loop. Full algorithm defined in workflow debug.md.
|
|
17
|
+
</purpose>
|
|
18
|
+
|
|
19
|
+
<required_reading>
|
|
20
|
+
@~/.maestro/workflows/debug.md
|
|
21
|
+
</required_reading>
|
|
22
|
+
|
|
23
|
+
<context>
|
|
24
|
+
User's issue: $ARGUMENTS
|
|
25
|
+
|
|
26
|
+
**Flags:**
|
|
27
|
+
- `--from-uat <phase>` -- Read gaps from phase's uat.md as pre-filled symptoms
|
|
28
|
+
- `--parallel` -- Spawn parallel debug agents (one per gap cluster)
|
|
29
|
+
|
|
30
|
+
**All context via state.json.artifacts[]:**
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
related = artifacts.filter(a =>
|
|
34
|
+
a.phase === target_phase && a.milestone === current_milestone
|
|
35
|
+
).sort_by(completed_at asc)
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Each artifact's type determines its outputs at `.workflow/{a.path}/`:
|
|
39
|
+
- **execute** → .summaries/, .task/ (source of code changes)
|
|
40
|
+
- **review** → review.json (findings guide hypothesis formation)
|
|
41
|
+
- **debug** → understanding.md, evidence.ndjson (prior investigations, avoid re-investigation)
|
|
42
|
+
- **test** → uat.md (--from-uat gap source), .tests/
|
|
43
|
+
|
|
44
|
+
Extract conclusions from related artifacts that may affect this debug session — review findings guide investigation direction, prior debug avoids redundant work.
|
|
45
|
+
|
|
46
|
+
### Pre-load context (before hypothesis formation)
|
|
47
|
+
|
|
48
|
+
1. **Codebase docs**: If `.workflow/codebase/ARCHITECTURE.md` exists, load module boundaries to scope impact analysis and inform hypothesis formation.
|
|
49
|
+
2. **Wiki prior knowledge**: Run `maestro wiki search "<symptom keywords>" --json 2>/dev/null`. If results found, check for prior investigations on similar issues to avoid re-investigation.
|
|
50
|
+
3. Both are optional — proceed without if unavailable.
|
|
51
|
+
|
|
52
|
+
**Output**: `DEBUG_DIR = .workflow/scratch/{YYYYMMDD}-debug-P{N}-{slug}/` (P{N} = phase number when phase-scoped; omit for standalone). Output directory rules defined in workflow debug.md Step 4.
|
|
53
|
+
</context>
|
|
54
|
+
|
|
55
|
+
<execution>
|
|
56
|
+
Follow '~/.maestro/workflows/debug.md' completely.
|
|
57
|
+
|
|
58
|
+
**Register artifact on completion (phase-scoped only):**
|
|
59
|
+
```
|
|
60
|
+
Append to state.json.artifacts[]:
|
|
61
|
+
{
|
|
62
|
+
id: nextArtifactId(artifacts, "debug"), // DBG-001
|
|
63
|
+
type: "debug",
|
|
64
|
+
milestone: current_milestone,
|
|
65
|
+
phase: target_phase,
|
|
66
|
+
scope: "phase",
|
|
67
|
+
path: "scratch/{YYYYMMDD}-debug-P{N}-{slug}",
|
|
68
|
+
status: all_diagnosed ? "completed" : "failed",
|
|
69
|
+
depends_on: triggering_review_id || exec_art.id,
|
|
70
|
+
harvested: false,
|
|
71
|
+
created_at: start_time,
|
|
72
|
+
completed_at: now()
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Post-debug Knowledge Inquiry
|
|
77
|
+
|
|
78
|
+
After root cause is confirmed, evaluate inquiry triggers:
|
|
79
|
+
|
|
80
|
+
1. **Recurring pattern**: If root cause matches a recurring pattern (similar to prior debug sessions):
|
|
81
|
+
→ Ask: "This root cause pattern has appeared before. Should it be documented in `debug-notes.md` to prevent recurrence? (`/spec-add debug`)"
|
|
82
|
+
|
|
83
|
+
2. **Non-obvious fix**: If fix involved a non-obvious approach or workaround:
|
|
84
|
+
→ Ask: "This fix used a non-obvious strategy. Should it be recorded as a learning? (`/spec-add learning`)"
|
|
85
|
+
|
|
86
|
+
3. **Architectural gap**: If root cause traces to architectural boundary violation or missing constraint:
|
|
87
|
+
→ Ask: "Root cause points to an architectural gap. Should `architecture-constraints.md` be updated? (`/spec-add arch`)"
|
|
88
|
+
|
|
89
|
+
If user confirms, invoke `Skill({ skill: "spec-add", args: "<category> <content>" })`.
|
|
90
|
+
|
|
91
|
+
**Next-step routing on completion:**
|
|
92
|
+
- Root cause found, fix needed → `/maestro-plan {phase} --gaps`
|
|
93
|
+
- Root cause found (from UAT), auto-fix → `/quality-test {phase} --auto-fix`
|
|
94
|
+
- Inconclusive, need more info → `/quality-debug {issue} -c` (resume session)
|
|
95
|
+
- Standalone fix already applied → `/maestro-verify {phase}`
|
|
96
|
+
</execution>
|
|
97
|
+
|
|
98
|
+
<error_codes>
|
|
99
|
+
| Code | Severity | Condition | Recovery |
|
|
100
|
+
|------|----------|-----------|----------|
|
|
101
|
+
| E001 | error | Issue description required (no arguments, no active sessions) | Check arguments format, re-run with correct input |
|
|
102
|
+
| E002 | error | UAT file not found for --from-uat phase | Verify UAT file exists for specified phase |
|
|
103
|
+
| W001 | warning | Existing debug session found, offer resume | Review existing sessions, choose resume or new |
|
|
104
|
+
| W002 | warning | Checkpoint reached, user input needed | Provide requested input to continue |
|
|
105
|
+
| W003 | warning | Some gaps inconclusive, partial diagnosis | Review partial results, retry inconclusive gaps |
|
|
106
|
+
</error_codes>
|
|
107
|
+
|
|
108
|
+
<success_criteria>
|
|
109
|
+
- [ ] Input parsed: standalone, --from-uat, or --parallel mode determined
|
|
110
|
+
- [ ] Active sessions checked and resume offered if applicable
|
|
111
|
+
- [ ] Symptoms gathered (interactive) or loaded from UAT (pre-filled)
|
|
112
|
+
- [ ] Debug output directory created (phase .debug/ or scratch/)
|
|
113
|
+
- [ ] Debug agent(s) spawned with full symptom context
|
|
114
|
+
- [ ] If --parallel: one agent per gap cluster, all concurrent
|
|
115
|
+
- [ ] evidence.ndjson written with structured NDJSON entries
|
|
116
|
+
- [ ] understanding.md tracks evolving understanding per cluster
|
|
117
|
+
- [ ] Root causes collected with fix_direction and affected_files
|
|
118
|
+
- [ ] Multi-factor confidence scored per gap (Step 7.0) replacing simple high/medium/low
|
|
119
|
+
- [ ] Readiness gate checked before ROOT CAUSE declaration
|
|
120
|
+
- [ ] Pressure pass completed on confirmed hypothesis
|
|
121
|
+
- [ ] Confidence table appended to understanding.md
|
|
122
|
+
- [ ] If --from-uat: uat.md gaps updated with diagnosis artifacts
|
|
123
|
+
- [ ] Results unified into diagnosis summary with confidence section
|
|
124
|
+
- [ ] Next step routed (plan --gaps + execute if fix needed, verify if fix applied, resume if inconclusive)
|
|
125
|
+
</success_criteria>
|