maestro-flow 0.4.9 → 0.4.10
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/.agy/agents/cli-explore-agent.md +186 -0
- package/.agy/agents/conceptual-planning-agent.md +244 -0
- package/.agy/agents/impeccable-agent.md +97 -0
- package/.agy/agents/team-supervisor.md +142 -0
- package/.agy/agents/team-worker.md +236 -0
- package/.agy/agents/ui-design-agent.md +286 -0
- package/.agy/agents/workflow-analyzer.md +114 -0
- package/.agy/agents/workflow-codebase-mapper.md +76 -0
- package/.agy/agents/workflow-collab-planner.md +142 -0
- package/.agy/agents/workflow-debugger.md +102 -0
- package/.agy/agents/workflow-executor.md +131 -0
- package/.agy/agents/workflow-external-researcher.md +86 -0
- package/.agy/agents/workflow-integration-checker.md +82 -0
- package/.agy/agents/workflow-nyquist-auditor.md +84 -0
- package/.agy/agents/workflow-phase-researcher.md +84 -0
- package/.agy/agents/workflow-plan-checker.md +89 -0
- package/.agy/agents/workflow-planner.md +194 -0
- package/.agy/agents/workflow-project-researcher.md +73 -0
- package/.agy/agents/workflow-research-synthesizer.md +70 -0
- package/.agy/agents/workflow-reviewer.md +81 -0
- package/.agy/agents/workflow-roadmapper.md +81 -0
- package/.agy/agents/workflow-verifier.md +119 -0
- package/.agy/skills/codify-to-knowhow/SKILL.md +172 -0
- package/.agy/skills/codify-to-knowhow/phases/01-load-manifest.md +101 -0
- package/.agy/skills/codify-to-knowhow/phases/02-generate-knowhow.md +97 -0
- package/.agy/skills/codify-to-knowhow/phases/03-generate-specs.md +92 -0
- package/.agy/skills/codify-to-knowhow/phases/04-index-verify.md +119 -0
- package/.agy/skills/learn-decompose/SKILL.md +118 -0
- package/.agy/skills/learn-follow/SKILL.md +129 -0
- package/.agy/skills/learn-investigate/SKILL.md +154 -0
- package/.agy/skills/learn-retro/SKILL.md +159 -0
- package/.agy/skills/learn-second-opinion/SKILL.md +124 -0
- package/.agy/skills/maestro/SKILL.md +221 -0
- package/.agy/skills/maestro-amend/SKILL.md +162 -0
- package/.agy/skills/maestro-analyze/SKILL.md +135 -0
- package/.agy/skills/maestro-brainstorm/SKILL.md +118 -0
- package/.agy/skills/maestro-collab/SKILL.md +174 -0
- package/.agy/skills/maestro-composer/SKILL.md +180 -0
- package/.agy/skills/maestro-execute/SKILL.md +133 -0
- package/.agy/skills/maestro-fork/SKILL.md +88 -0
- package/.agy/skills/maestro-guard/SKILL.md +101 -0
- package/.agy/skills/maestro-help/SKILL.md +267 -0
- package/.agy/skills/maestro-help/index/catalog.json +184 -0
- package/.agy/skills/maestro-help/phases/01-parse-intent.md +122 -0
- package/.agy/skills/maestro-help/phases/02-search-present.md +181 -0
- package/.agy/skills/maestro-help/phases/03-workflow-guide.md +186 -0
- package/.agy/skills/maestro-impeccable/SKILL.md +250 -0
- package/.agy/skills/maestro-init/SKILL.md +80 -0
- package/.agy/skills/maestro-learn/SKILL.md +142 -0
- package/.agy/skills/maestro-merge/SKILL.md +66 -0
- package/.agy/skills/maestro-milestone-audit/SKILL.md +70 -0
- package/.agy/skills/maestro-milestone-complete/SKILL.md +77 -0
- package/.agy/skills/maestro-milestone-release/SKILL.md +98 -0
- package/.agy/skills/maestro-overlay/SKILL.md +177 -0
- package/.agy/skills/maestro-plan/SKILL.md +172 -0
- package/.agy/skills/maestro-player/SKILL.md +176 -0
- package/.agy/skills/maestro-quick/SKILL.md +67 -0
- package/.agy/skills/maestro-ralph/SKILL.md +546 -0
- package/.agy/skills/maestro-ralph-execute/SKILL.md +255 -0
- package/.agy/skills/maestro-roadmap/SKILL.md +170 -0
- package/.agy/skills/maestro-tools-execute/SKILL.md +119 -0
- package/.agy/skills/maestro-tools-register/SKILL.md +159 -0
- package/.agy/skills/maestro-ui-codify/SKILL.md +81 -0
- package/.agy/skills/maestro-update/SKILL.md +175 -0
- package/.agy/skills/maestro-verify/SKILL.md +111 -0
- package/.agy/skills/manage-codebase-rebuild/SKILL.md +77 -0
- package/.agy/skills/manage-codebase-refresh/SKILL.md +59 -0
- package/.agy/skills/manage-harvest/SKILL.md +96 -0
- package/.agy/skills/manage-issue/SKILL.md +72 -0
- package/.agy/skills/manage-issue-discover/SKILL.md +83 -0
- package/.agy/skills/manage-knowhow/SKILL.md +76 -0
- package/.agy/skills/manage-knowhow-capture/SKILL.md +78 -0
- package/.agy/skills/manage-learn/SKILL.md +64 -0
- package/.agy/skills/manage-status/SKILL.md +51 -0
- package/.agy/skills/manage-wiki/SKILL.md +61 -0
- package/.agy/skills/quality-auto-test/SKILL.md +135 -0
- package/.agy/skills/quality-debug/SKILL.md +122 -0
- package/.agy/skills/quality-refactor/SKILL.md +69 -0
- package/.agy/skills/quality-retrospective/SKILL.md +79 -0
- package/.agy/skills/quality-review/SKILL.md +130 -0
- package/.agy/skills/quality-sync/SKILL.md +53 -0
- package/.agy/skills/quality-test/SKILL.md +119 -0
- package/.agy/skills/security-audit/SKILL.md +157 -0
- package/.agy/skills/skill-iter-tune/SKILL.md +381 -0
- package/.agy/skills/skill-iter-tune/phases/01-setup.md +144 -0
- package/.agy/skills/skill-iter-tune/phases/02-execute.md +292 -0
- package/.agy/skills/skill-iter-tune/phases/03-evaluate.md +312 -0
- package/.agy/skills/skill-iter-tune/phases/04-improve.md +198 -0
- package/.agy/skills/skill-iter-tune/phases/05-report.md +166 -0
- package/.agy/skills/skill-iter-tune/specs/evaluation-criteria.md +63 -0
- package/.agy/skills/skill-iter-tune/templates/eval-prompt.md +134 -0
- package/.agy/skills/skill-iter-tune/templates/execute-prompt.md +97 -0
- package/.agy/skills/spec-add/SKILL.md +67 -0
- package/.agy/skills/spec-load/SKILL.md +70 -0
- package/.agy/skills/spec-remove/SKILL.md +50 -0
- package/.agy/skills/spec-setup/SKILL.md +47 -0
- package/.agy/skills/team-coordinate/SKILL.md +267 -0
- package/.agy/skills/team-coordinate/roles/coordinator/commands/analyze-task.md +247 -0
- package/.agy/skills/team-coordinate/roles/coordinator/commands/dispatch.md +131 -0
- package/.agy/skills/team-coordinate/roles/coordinator/commands/monitor.md +348 -0
- package/.agy/skills/team-coordinate/roles/coordinator/role.md +362 -0
- package/.agy/skills/team-coordinate/specs/knowledge-transfer.md +111 -0
- package/.agy/skills/team-coordinate/specs/pipelines.md +97 -0
- package/.agy/skills/team-coordinate/specs/quality-gates.md +112 -0
- package/.agy/skills/team-coordinate/specs/role-spec-template.md +198 -0
- package/.agy/skills/team-executor/SKILL.md +180 -0
- package/.agy/skills/team-executor/roles/executor/commands/monitor.md +235 -0
- package/.agy/skills/team-executor/roles/executor/role.md +171 -0
- package/.agy/skills/team-executor/specs/session-schema.md +264 -0
- package/.agy/skills/team-lifecycle-v4/SKILL.md +189 -0
- package/.agy/skills/team-lifecycle-v4/roles/analyst/role.md +92 -0
- package/.agy/skills/team-lifecycle-v4/roles/coordinator/commands/analyze.md +56 -0
- package/.agy/skills/team-lifecycle-v4/roles/coordinator/commands/dispatch.md +56 -0
- package/.agy/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +206 -0
- package/.agy/skills/team-lifecycle-v4/roles/coordinator/role.md +130 -0
- package/.agy/skills/team-lifecycle-v4/roles/executor/commands/fix.md +35 -0
- package/.agy/skills/team-lifecycle-v4/roles/executor/commands/implement.md +62 -0
- package/.agy/skills/team-lifecycle-v4/roles/executor/role.md +64 -0
- package/.agy/skills/team-lifecycle-v4/roles/planner/role.md +82 -0
- package/.agy/skills/team-lifecycle-v4/roles/reviewer/commands/review-code.md +34 -0
- package/.agy/skills/team-lifecycle-v4/roles/reviewer/commands/review-spec.md +44 -0
- package/.agy/skills/team-lifecycle-v4/roles/reviewer/role.md +65 -0
- package/.agy/skills/team-lifecycle-v4/roles/supervisor/role.md +188 -0
- package/.agy/skills/team-lifecycle-v4/roles/tester/role.md +84 -0
- package/.agy/skills/team-lifecycle-v4/roles/writer/role.md +92 -0
- package/.agy/skills/team-lifecycle-v4/specs/knowledge-transfer.md +114 -0
- package/.agy/skills/team-lifecycle-v4/specs/pipelines.md +140 -0
- package/.agy/skills/team-lifecycle-v4/specs/quality-gates.md +130 -0
- package/.agy/skills/team-lifecycle-v4/templates/architecture.md +254 -0
- package/.agy/skills/team-lifecycle-v4/templates/epics.md +196 -0
- package/.agy/skills/team-lifecycle-v4/templates/product-brief.md +133 -0
- package/.agy/skills/team-lifecycle-v4/templates/requirements.md +224 -0
- package/.agy/skills/team-quality-assurance/SKILL.md +148 -0
- package/.agy/skills/team-quality-assurance/roles/analyst/role.md +85 -0
- package/.agy/skills/team-quality-assurance/roles/coordinator/commands/analyze.md +72 -0
- package/.agy/skills/team-quality-assurance/roles/coordinator/commands/dispatch.md +111 -0
- package/.agy/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +235 -0
- package/.agy/skills/team-quality-assurance/roles/coordinator/role.md +143 -0
- package/.agy/skills/team-quality-assurance/roles/executor/role.md +62 -0
- package/.agy/skills/team-quality-assurance/roles/generator/role.md +65 -0
- package/.agy/skills/team-quality-assurance/roles/scout/role.md +72 -0
- package/.agy/skills/team-quality-assurance/roles/strategist/role.md +69 -0
- package/.agy/skills/team-quality-assurance/specs/pipelines.md +115 -0
- package/.agy/skills/team-quality-assurance/specs/team-config.json +131 -0
- package/.agy/skills/team-review/SKILL.md +149 -0
- package/.agy/skills/team-review/roles/coordinator/commands/analyze.md +71 -0
- package/.agy/skills/team-review/roles/coordinator/commands/dispatch.md +91 -0
- package/.agy/skills/team-review/roles/coordinator/commands/monitor.md +209 -0
- package/.agy/skills/team-review/roles/coordinator/role.md +132 -0
- package/.agy/skills/team-review/roles/fixer/role.md +74 -0
- package/.agy/skills/team-review/roles/reviewer/role.md +66 -0
- package/.agy/skills/team-review/roles/scanner/role.md +77 -0
- package/.agy/skills/team-review/specs/dimensions.md +82 -0
- package/.agy/skills/team-review/specs/finding-schema.json +82 -0
- package/.agy/skills/team-review/specs/pipelines.md +102 -0
- package/.agy/skills/team-review/specs/team-config.json +27 -0
- package/.agy/skills/team-tech-debt/SKILL.md +133 -0
- package/.agy/skills/team-tech-debt/roles/assessor/role.md +76 -0
- package/.agy/skills/team-tech-debt/roles/coordinator/commands/analyze.md +47 -0
- package/.agy/skills/team-tech-debt/roles/coordinator/commands/dispatch.md +156 -0
- package/.agy/skills/team-tech-debt/roles/coordinator/commands/monitor.md +198 -0
- package/.agy/skills/team-tech-debt/roles/coordinator/role.md +123 -0
- package/.agy/skills/team-tech-debt/roles/executor/role.md +76 -0
- package/.agy/skills/team-tech-debt/roles/planner/role.md +68 -0
- package/.agy/skills/team-tech-debt/roles/scanner/role.md +90 -0
- package/.agy/skills/team-tech-debt/roles/validator/role.md +78 -0
- package/.agy/skills/team-tech-debt/specs/pipelines.md +47 -0
- package/.agy/skills/team-tech-debt/specs/team-config.json +129 -0
- package/.agy/skills/team-testing/SKILL.md +144 -0
- package/.agy/skills/team-testing/roles/analyst/role.md +101 -0
- package/.agy/skills/team-testing/roles/coordinator/commands/analyze.md +70 -0
- package/.agy/skills/team-testing/roles/coordinator/commands/dispatch.md +108 -0
- package/.agy/skills/team-testing/roles/coordinator/commands/monitor.md +242 -0
- package/.agy/skills/team-testing/roles/coordinator/role.md +134 -0
- package/.agy/skills/team-testing/roles/executor/role.md +95 -0
- package/.agy/skills/team-testing/roles/generator/role.md +95 -0
- package/.agy/skills/team-testing/roles/strategist/role.md +81 -0
- package/.agy/skills/team-testing/specs/pipelines.md +101 -0
- package/.agy/skills/team-testing/specs/team-config.json +93 -0
- package/.agy/skills/wiki-connect/SKILL.md +64 -0
- package/.agy/skills/wiki-digest/SKILL.md +70 -0
- package/.agy/skills/workflow-skill-designer/SKILL.md +506 -0
- package/.agy/skills/workflow-skill-designer/phases/01-requirements-analysis.md +356 -0
- package/.agy/skills/workflow-skill-designer/phases/02-orchestrator-design.md +444 -0
- package/.agy/skills/workflow-skill-designer/phases/03-phase-design.md +458 -0
- package/.agy/skills/workflow-skill-designer/phases/04-validation.md +471 -0
- package/package.json +3 -1
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
role: strategist
|
|
3
|
+
prefix: STRATEGY
|
|
4
|
+
inner_loop: false
|
|
5
|
+
message_types:
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Test Strategist
|
|
9
|
+
|
|
10
|
+
Analyze git diff, determine test layers, define coverage targets, and formulate test strategy with prioritized execution order.
|
|
11
|
+
|
|
12
|
+
## Phase 2: Context & Environment Detection
|
|
13
|
+
|
|
14
|
+
| Input | Source | Required |
|
|
15
|
+
|-------|--------|----------|
|
|
16
|
+
| Task description | From task subject/description | Yes |
|
|
17
|
+
| Session path | Extracted from task description | Yes |
|
|
18
|
+
| .msg/meta.json | <session>/wisdom/.msg/meta.json | No |
|
|
19
|
+
|
|
20
|
+
1. Extract session path and scope from task description
|
|
21
|
+
2. Get git diff for change analysis:
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
run_command("git diff HEAD~1 --name-only 2>/dev/null || git diff --cached --name-only")
|
|
25
|
+
run_command("git diff HEAD~1 -- <changed-files> 2>/dev/null || git diff --cached -- <changed-files>")
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
3. Detect test framework from project files:
|
|
29
|
+
|
|
30
|
+
| Signal File | Framework | Test Pattern |
|
|
31
|
+
|-------------|-----------|-------------|
|
|
32
|
+
| jest.config.js/ts | Jest | `**/*.test.{ts,tsx,js}` |
|
|
33
|
+
| vitest.config.ts/js | Vitest | `**/*.test.{ts,tsx}` |
|
|
34
|
+
| pytest.ini / pyproject.toml | Pytest | `**/test_*.py` |
|
|
35
|
+
| No detection | Default | Jest patterns |
|
|
36
|
+
|
|
37
|
+
4. Scan existing test patterns:
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
grep_search("**/*.test.*")
|
|
41
|
+
grep_search("**/*.spec.*")
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
5. Read .msg/meta.json if exists for session context
|
|
45
|
+
|
|
46
|
+
## Phase 3: Strategy Formulation
|
|
47
|
+
|
|
48
|
+
**Change analysis dimensions**:
|
|
49
|
+
|
|
50
|
+
| Change Type | Analysis | Priority |
|
|
51
|
+
|-------------|----------|----------|
|
|
52
|
+
| New files | Need new tests | High |
|
|
53
|
+
| Modified functions | Need updated tests | Medium |
|
|
54
|
+
| Deleted files | Need test cleanup | Low |
|
|
55
|
+
| Config changes | May need integration tests | Variable |
|
|
56
|
+
|
|
57
|
+
**Strategy output structure**:
|
|
58
|
+
|
|
59
|
+
1. **Change Analysis Table**: File, Change Type, Impact, Priority
|
|
60
|
+
2. **Test Layer Recommendations**:
|
|
61
|
+
- L1 Unit: Scope, Coverage Target, Priority Files, Patterns
|
|
62
|
+
- L2 Integration: Scope, Coverage Target, Integration Points
|
|
63
|
+
- L3 E2E: Scope, Coverage Target, User Scenarios
|
|
64
|
+
3. **Risk Assessment**: Risk, Probability, Impact, Mitigation
|
|
65
|
+
4. **Test Execution Order**: Prioritized sequence
|
|
66
|
+
|
|
67
|
+
Write strategy to `<session>/strategy/test-strategy.md`
|
|
68
|
+
|
|
69
|
+
**Self-validation**:
|
|
70
|
+
|
|
71
|
+
| Check | Criteria | Fallback |
|
|
72
|
+
|-------|----------|----------|
|
|
73
|
+
| Has L1 scope | L1 scope not empty | Default to all changed files |
|
|
74
|
+
| Has coverage targets | L1 target > 0 | Use defaults (80/60/40) |
|
|
75
|
+
| Has priority files | List not empty | Use all changed files |
|
|
76
|
+
|
|
77
|
+
## Phase 4: Wisdom & State Update
|
|
78
|
+
|
|
79
|
+
1. Write discoveries to `<session>/wisdom/conventions.md` (detected framework, patterns)
|
|
80
|
+
2. Update `<session>/wisdom/.msg/meta.json` under `strategist` namespace:
|
|
81
|
+
- Read existing -> merge `{ "strategist": { framework, layers, coverage_targets, priority_files, risks } }` -> write back
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# Testing Pipelines
|
|
2
|
+
|
|
3
|
+
Pipeline definitions and task registry for team-testing.
|
|
4
|
+
|
|
5
|
+
## Pipeline Selection
|
|
6
|
+
|
|
7
|
+
| Condition | Pipeline |
|
|
8
|
+
|-----------|----------|
|
|
9
|
+
| fileCount <= 3 AND moduleCount <= 1 | targeted |
|
|
10
|
+
| fileCount <= 10 AND moduleCount <= 3 | standard |
|
|
11
|
+
| Otherwise | comprehensive |
|
|
12
|
+
|
|
13
|
+
## Pipeline Definitions
|
|
14
|
+
|
|
15
|
+
### Targeted Pipeline (3 tasks, serial)
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
STRATEGY-001 -> TESTGEN-001 -> TESTRUN-001
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
| Task ID | Role | Dependencies | Layer | Description |
|
|
22
|
+
|---------|------|-------------|-------|-------------|
|
|
23
|
+
| STRATEGY-001 | strategist | (none) | — | Analyze changes, define test strategy |
|
|
24
|
+
| TESTGEN-001 | generator | STRATEGY-001 | L1 | Generate L1 unit tests |
|
|
25
|
+
| TESTRUN-001 | executor | TESTGEN-001 | L1 | Execute L1 tests, collect coverage |
|
|
26
|
+
|
|
27
|
+
### Standard Pipeline (6 tasks, progressive layers)
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
STRATEGY-001 -> TESTGEN-001 -> TESTRUN-001 -> TESTGEN-002 -> TESTRUN-002 -> TESTANA-001
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
| Task ID | Role | Dependencies | Layer | Description |
|
|
34
|
+
|---------|------|-------------|-------|-------------|
|
|
35
|
+
| STRATEGY-001 | strategist | (none) | — | Analyze changes, define test strategy |
|
|
36
|
+
| TESTGEN-001 | generator | STRATEGY-001 | L1 | Generate L1 unit tests |
|
|
37
|
+
| TESTRUN-001 | executor | TESTGEN-001 | L1 | Execute L1 tests, collect coverage |
|
|
38
|
+
| TESTGEN-002 | generator | TESTRUN-001 | L2 | Generate L2 integration tests |
|
|
39
|
+
| TESTRUN-002 | executor | TESTGEN-002 | L2 | Execute L2 tests, collect coverage |
|
|
40
|
+
| TESTANA-001 | analyst | TESTRUN-002 | — | Defect pattern analysis, quality report |
|
|
41
|
+
|
|
42
|
+
### Comprehensive Pipeline (8 tasks, parallel windows)
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
STRATEGY-001 -> [TESTGEN-001 || TESTGEN-002] -> [TESTRUN-001 || TESTRUN-002] -> TESTGEN-003 -> TESTRUN-003 -> TESTANA-001
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
| Task ID | Role | Dependencies | Layer | Description |
|
|
49
|
+
|---------|------|-------------|-------|-------------|
|
|
50
|
+
| STRATEGY-001 | strategist | (none) | — | Analyze changes, define test strategy |
|
|
51
|
+
| TESTGEN-001 | generator-1 | STRATEGY-001 | L1 | Generate L1 unit tests (parallel) |
|
|
52
|
+
| TESTGEN-002 | generator-2 | STRATEGY-001 | L2 | Generate L2 integration tests (parallel) |
|
|
53
|
+
| TESTRUN-001 | executor-1 | TESTGEN-001 | L1 | Execute L1 tests (parallel) |
|
|
54
|
+
| TESTRUN-002 | executor-2 | TESTGEN-002 | L2 | Execute L2 tests (parallel) |
|
|
55
|
+
| TESTGEN-003 | generator | TESTRUN-001, TESTRUN-002 | L3 | Generate L3 E2E tests |
|
|
56
|
+
| TESTRUN-003 | executor | TESTGEN-003 | L3 | Execute L3 tests, collect coverage |
|
|
57
|
+
| TESTANA-001 | analyst | TESTRUN-003 | — | Defect pattern analysis, quality report |
|
|
58
|
+
|
|
59
|
+
## GC Loop (Generator-Critic)
|
|
60
|
+
|
|
61
|
+
Generator and executor iterate per test layer:
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
TESTGEN -> TESTRUN -> (if pass_rate < 0.95 OR coverage < target) -> TESTGEN-fix -> TESTRUN-fix
|
|
65
|
+
(if pass_rate >= 0.95 AND coverage >= target) -> next layer or TESTANA
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
- Max iterations: 3 per layer
|
|
69
|
+
- After 3 iterations: accept current state with warning
|
|
70
|
+
|
|
71
|
+
## Coverage Targets
|
|
72
|
+
|
|
73
|
+
| Layer | Name | Default Target |
|
|
74
|
+
|-------|------|----------------|
|
|
75
|
+
| L1 | Unit Tests | 80% |
|
|
76
|
+
| L2 | Integration Tests | 60% |
|
|
77
|
+
| L3 | E2E Tests | 40% |
|
|
78
|
+
|
|
79
|
+
## Session Directory
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
.workflow/.team/TST-<slug>-<YYYY-MM-DD>/
|
|
83
|
+
├── .msg/messages.jsonl # Message bus log
|
|
84
|
+
├── .msg/meta.json # Session metadata
|
|
85
|
+
├── wisdom/ # Cross-task knowledge
|
|
86
|
+
│ ├── learnings.md
|
|
87
|
+
│ ├── decisions.md
|
|
88
|
+
│ ├── conventions.md
|
|
89
|
+
│ └── issues.md
|
|
90
|
+
├── strategy/ # Strategist output
|
|
91
|
+
│ └── test-strategy.md
|
|
92
|
+
├── tests/ # Generator output
|
|
93
|
+
│ ├── L1-unit/
|
|
94
|
+
│ ├── L2-integration/
|
|
95
|
+
│ └── L3-e2e/
|
|
96
|
+
├── results/ # Executor output
|
|
97
|
+
│ ├── run-001.json
|
|
98
|
+
│ └── coverage-001.json
|
|
99
|
+
└── analysis/ # Analyst output
|
|
100
|
+
└── quality-report.md
|
|
101
|
+
```
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
{
|
|
2
|
+
"team_name": "team-testing",
|
|
3
|
+
"team_display_name": "Team Testing",
|
|
4
|
+
"description": "Testing team with Generator-Critic loop, shared defect memory, and progressive test layers",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
|
|
7
|
+
"roles": {
|
|
8
|
+
"coordinator": {
|
|
9
|
+
"task_prefix": null,
|
|
10
|
+
"responsibility": "Change scope analysis, layer selection, quality gating",
|
|
11
|
+
"message_types": ["pipeline_selected", "gc_loop_trigger", "quality_gate", "task_unblocked", "error", "shutdown"]
|
|
12
|
+
},
|
|
13
|
+
"strategist": {
|
|
14
|
+
"task_prefix": "STRATEGY",
|
|
15
|
+
"responsibility": "Analyze git diff, determine test layers, define coverage targets",
|
|
16
|
+
"message_types": ["strategy_ready", "error"]
|
|
17
|
+
},
|
|
18
|
+
"generator": {
|
|
19
|
+
"task_prefix": "TESTGEN",
|
|
20
|
+
"responsibility": "Generate test cases by layer (unit/integration/E2E)",
|
|
21
|
+
"message_types": ["tests_generated", "tests_revised", "error"]
|
|
22
|
+
},
|
|
23
|
+
"executor": {
|
|
24
|
+
"task_prefix": "TESTRUN",
|
|
25
|
+
"responsibility": "Execute tests, collect coverage, auto-fix failures",
|
|
26
|
+
"message_types": ["tests_passed", "tests_failed", "coverage_report", "error"]
|
|
27
|
+
},
|
|
28
|
+
"analyst": {
|
|
29
|
+
"task_prefix": "TESTANA",
|
|
30
|
+
"responsibility": "Defect pattern analysis, coverage gap analysis, quality report",
|
|
31
|
+
"message_types": ["analysis_ready", "error"]
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
|
|
35
|
+
"pipelines": {
|
|
36
|
+
"targeted": {
|
|
37
|
+
"description": "Small scope: strategy → generate L1 → run",
|
|
38
|
+
"task_chain": ["STRATEGY-001", "TESTGEN-001", "TESTRUN-001"],
|
|
39
|
+
"gc_loops": 0
|
|
40
|
+
},
|
|
41
|
+
"standard": {
|
|
42
|
+
"description": "Progressive: L1 → L2 with analysis",
|
|
43
|
+
"task_chain": ["STRATEGY-001", "TESTGEN-001", "TESTRUN-001", "TESTGEN-002", "TESTRUN-002", "TESTANA-001"],
|
|
44
|
+
"gc_loops": 1
|
|
45
|
+
},
|
|
46
|
+
"comprehensive": {
|
|
47
|
+
"description": "Full coverage: parallel L1+L2, then L3 with analysis",
|
|
48
|
+
"task_chain": ["STRATEGY-001", "TESTGEN-001", "TESTGEN-002", "TESTRUN-001", "TESTRUN-002", "TESTGEN-003", "TESTRUN-003", "TESTANA-001"],
|
|
49
|
+
"gc_loops": 2,
|
|
50
|
+
"parallel_groups": [["TESTGEN-001", "TESTGEN-002"], ["TESTRUN-001", "TESTRUN-002"]]
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
|
|
54
|
+
"innovation_patterns": {
|
|
55
|
+
"generator_critic": {
|
|
56
|
+
"generator": "generator",
|
|
57
|
+
"critic": "executor",
|
|
58
|
+
"max_rounds": 3,
|
|
59
|
+
"convergence_trigger": "coverage >= target && pass_rate >= 0.95"
|
|
60
|
+
},
|
|
61
|
+
"shared_memory": {
|
|
62
|
+
"file": "shared-memory.json",
|
|
63
|
+
"fields": {
|
|
64
|
+
"strategist": "test_strategy",
|
|
65
|
+
"generator": "generated_tests",
|
|
66
|
+
"executor": "execution_results",
|
|
67
|
+
"analyst": "analysis_report"
|
|
68
|
+
},
|
|
69
|
+
"persistent_fields": ["defect_patterns", "effective_test_patterns", "coverage_history"]
|
|
70
|
+
},
|
|
71
|
+
"dynamic_pipeline": {
|
|
72
|
+
"selector": "coordinator",
|
|
73
|
+
"criteria": "changed_file_count + module_count + change_type"
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
|
|
77
|
+
"test_layers": {
|
|
78
|
+
"L1": { "name": "Unit Tests", "coverage_target": 80, "description": "Function-level isolation tests" },
|
|
79
|
+
"L2": { "name": "Integration Tests", "coverage_target": 60, "description": "Module interaction tests" },
|
|
80
|
+
"L3": { "name": "E2E Tests", "coverage_target": 40, "description": "User scenario end-to-end tests" }
|
|
81
|
+
},
|
|
82
|
+
|
|
83
|
+
"collaboration_patterns": ["CP-1", "CP-3", "CP-5"],
|
|
84
|
+
|
|
85
|
+
"session_dirs": {
|
|
86
|
+
"base": ".workflow/.team/TST-{slug}-{YYYY-MM-DD}/",
|
|
87
|
+
"strategy": "strategy/",
|
|
88
|
+
"tests": "tests/",
|
|
89
|
+
"results": "results/",
|
|
90
|
+
"analysis": "analysis/",
|
|
91
|
+
"messages": ".workflow/.team-msg/{team-name}/"
|
|
92
|
+
}
|
|
93
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: wiki-connect
|
|
3
|
+
description: Find and link hidden connections in wiki graph
|
|
4
|
+
argument-hint: [--scope <type>] [--min-similarity N] [--fix] [--max N]
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- ask_question
|
|
7
|
+
- define_subagent
|
|
8
|
+
- grep_search
|
|
9
|
+
- invoke_subagent
|
|
10
|
+
- manage_subagents
|
|
11
|
+
- run_command
|
|
12
|
+
- send_message
|
|
13
|
+
- view_file
|
|
14
|
+
- write_to_file
|
|
15
|
+
---
|
|
16
|
+
<required_reading>
|
|
17
|
+
@~/.maestro/workflows/wiki-connect.md
|
|
18
|
+
</required_reading>
|
|
19
|
+
|
|
20
|
+
<purpose>
|
|
21
|
+
Knowledge graph link discovery and health improvement. Analyzes the wiki index to find orphaned entries, missing connections, and transitive link gaps, then suggests or auto-applies new `related` links to improve graph connectivity.
|
|
22
|
+
|
|
23
|
+
Leverages maestro's unique wiki graph infrastructure (BM25 search, backlinks, health scoring) — no equivalent in gstack. Directly improves the quality of all downstream wiki consumers (search, digest, follow-along).
|
|
24
|
+
</purpose>
|
|
25
|
+
|
|
26
|
+
<context>
|
|
27
|
+
Arguments: $ARGUMENTS
|
|
28
|
+
|
|
29
|
+
Flags, storage paths, and CLI commands defined in workflow wiki-connect.md.
|
|
30
|
+
</context>
|
|
31
|
+
|
|
32
|
+
<execution>
|
|
33
|
+
Follow '~/.maestro/workflows/wiki-connect.md' completely (Stages 1-6).
|
|
34
|
+
|
|
35
|
+
**Next-step routing:**
|
|
36
|
+
- Generate knowledge digest → `/wiki-digest <topic>`
|
|
37
|
+
- Follow-along on orphan → `/learn-follow <wiki-id>`
|
|
38
|
+
- View full graph → `maestro wiki graph`
|
|
39
|
+
</execution>
|
|
40
|
+
|
|
41
|
+
<error_codes>
|
|
42
|
+
| Code | Severity | Condition | Recovery |
|
|
43
|
+
|------|----------|-----------|----------|
|
|
44
|
+
| E001 | error | No wiki entries found (empty index) | Initialize wiki content first, or run `/maestro-init` |
|
|
45
|
+
| E002 | error | `maestro wiki` CLI not available | Check maestro installation |
|
|
46
|
+
| W001 | warning | No connection candidates found above threshold | Lower --min-similarity or check if graph is already well-connected |
|
|
47
|
+
| W002 | warning | Some wiki update calls failed during --fix | Partial application; retry failed entries manually |
|
|
48
|
+
| W003 | warning | Health score unchanged after fix | Connections may not have improved the specific health metrics |
|
|
49
|
+
</error_codes>
|
|
50
|
+
|
|
51
|
+
<success_criteria>
|
|
52
|
+
- [ ] Wiki index loaded with entry count and type distribution
|
|
53
|
+
- [ ] Baseline health score recorded
|
|
54
|
+
- [ ] Orphans identified and rescue candidates generated
|
|
55
|
+
- [ ] Connection candidates scored and ranked
|
|
56
|
+
- [ ] Results filtered by --min-similarity and limited by --max
|
|
57
|
+
- [ ] Suggestions displayed with scores and reasons
|
|
58
|
+
- [ ] If --fix: entries updated with new `related` links
|
|
59
|
+
- [ ] If --fix: new health score computed and delta reported
|
|
60
|
+
- [ ] Report written to `wiki-connections-{date}.md`
|
|
61
|
+
- [ ] Graph insights appended to `specs/learnings.md` as `<spec-entry>` blocks
|
|
62
|
+
- [ ] No unintended entry modifications (only `related` field changed)
|
|
63
|
+
- [ ] Summary displayed with next-step routing
|
|
64
|
+
</success_criteria>
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: wiki-digest
|
|
3
|
+
description: Generate wiki digest with theme clustering and gap analysis
|
|
4
|
+
argument-hint: [<topic>|--recent N] [--type <type>] [--format brief|full]
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- ask_question
|
|
7
|
+
- define_subagent
|
|
8
|
+
- grep_search
|
|
9
|
+
- invoke_subagent
|
|
10
|
+
- manage_subagents
|
|
11
|
+
- run_command
|
|
12
|
+
- send_message
|
|
13
|
+
- view_file
|
|
14
|
+
- write_to_file
|
|
15
|
+
---
|
|
16
|
+
<purpose>
|
|
17
|
+
Knowledge synthesis command that generates actionable digests from the wiki knowledge graph. Clusters entries by semantic theme, identifies knowledge gaps, and produces a coverage heatmap. Unique to maestro — leverages the wiki graph (BM25 search, backlinks, health) to surface trends and missing knowledge.
|
|
18
|
+
|
|
19
|
+
Unlike `maestro wiki list` which shows raw entries, this command synthesizes and interprets the knowledge base, producing a curated summary with gap analysis and recommended next actions.
|
|
20
|
+
</purpose>
|
|
21
|
+
|
|
22
|
+
<required_reading>
|
|
23
|
+
@~/.maestro/workflows/wiki-digest.md
|
|
24
|
+
</required_reading>
|
|
25
|
+
|
|
26
|
+
<deferred_reading>
|
|
27
|
+
- @~/.maestro/workflows/issue.md (issues.jsonl canonical schema for `--create-issues` routing)
|
|
28
|
+
</deferred_reading>
|
|
29
|
+
|
|
30
|
+
<context>
|
|
31
|
+
Arguments: $ARGUMENTS
|
|
32
|
+
|
|
33
|
+
Flags, scope resolution, storage paths, and CLI commands defined in workflow wiki-digest.md.
|
|
34
|
+
</context>
|
|
35
|
+
|
|
36
|
+
<execution>
|
|
37
|
+
Follow '~/.maestro/workflows/wiki-digest.md' completely (Stages 1-8).
|
|
38
|
+
|
|
39
|
+
**Next-step routing:**
|
|
40
|
+
- Deep dive on a theme → `/learn-follow <wiki-id>`
|
|
41
|
+
- Fix graph gaps → `/wiki-connect --fix`
|
|
42
|
+
- Decompose code for missing patterns → `/learn-decompose <path>`
|
|
43
|
+
- Create missing entries → `maestro wiki create --type <type> --slug <slug>`
|
|
44
|
+
- Triage gap issues → `/manage-issue list --source wiki-digest`
|
|
45
|
+
</execution>
|
|
46
|
+
|
|
47
|
+
<error_codes>
|
|
48
|
+
| Code | Severity | Condition | Recovery |
|
|
49
|
+
|------|----------|-----------|----------|
|
|
50
|
+
| E001 | error | No wiki entries found (empty index) | Initialize wiki content first |
|
|
51
|
+
| E002 | error | Topic search returned 0 results | Broaden topic or check wiki content |
|
|
52
|
+
| W001 | warning | Too few entries (<5) for meaningful theme clustering | Digest produced but themes may be trivial |
|
|
53
|
+
| W002 | warning | specs/learnings.md not found — skipping cross-reference | Proceed without knowhow context |
|
|
54
|
+
| W003 | warning | Some entry bodies failed to load — partial summaries | Note incomplete entries in digest |
|
|
55
|
+
</error_codes>
|
|
56
|
+
|
|
57
|
+
<success_criteria>
|
|
58
|
+
- [ ] Scope parsed and entries loaded
|
|
59
|
+
- [ ] Baseline health score recorded
|
|
60
|
+
- [ ] Entries clustered into 3-5 semantic themes
|
|
61
|
+
- [ ] Per-theme analysis: summary, key entries, gaps, health
|
|
62
|
+
- [ ] Cross-reference with specs/learnings.md completed
|
|
63
|
+
- [ ] Coverage heatmap generated (type × theme matrix)
|
|
64
|
+
- [ ] Knowledge gaps identified with suggested actions
|
|
65
|
+
- [ ] If `--create-issues`: gap issues created in `issues.jsonl` (deduped)
|
|
66
|
+
- [ ] Digest written to `KNW-digest-{slug}-{date}.md`
|
|
67
|
+
- [ ] Meta-insights appended to `specs/learnings.md` as `<spec-entry>` blocks
|
|
68
|
+
- [ ] No files modified outside `.workflow/knowhow/` and `.workflow/issues/` (issues only when `--create-issues`)
|
|
69
|
+
- [ ] Summary displayed with key findings and next-step routing
|
|
70
|
+
</success_criteria>
|