maestro-flow 0.3.1 → 0.3.3
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/CLAUDE.md +2 -2
- package/.claude/agents/cli-explore-agent.md +1 -1
- package/.claude/agents/team-worker.md +237 -237
- package/.claude/commands/maestro-coordinate.md +65 -65
- package/.claude/commands/maestro-link-coordinate.md +71 -71
- package/.claude/commands/maestro-overlay.md +178 -122
- package/.claude/commands/manage-issue-execute.md +73 -73
- package/.claude/skills/team-coordinate/SKILL.md +266 -266
- package/.claude/skills/team-lifecycle-v4/SKILL.md +209 -209
- package/.claude/skills/team-lifecycle-v4/roles/analyst/role.md +94 -94
- package/.claude/skills/team-lifecycle-v4/roles/executor/commands/implement.md +62 -62
- package/.claude/skills/team-lifecycle-v4/roles/planner/role.md +85 -85
- package/.claude/skills/team-lifecycle-v4/roles/writer/role.md +95 -95
- package/.claude/skills/team-quality-assurance/SKILL.md +147 -147
- package/.claude/skills/team-quality-assurance/roles/scout/role.md +75 -75
- package/.claude/skills/team-review/SKILL.md +147 -147
- package/.claude/skills/team-review/roles/reviewer/role.md +68 -68
- package/.claude/skills/team-review/roles/scanner/role.md +79 -79
- package/.claude/skills/team-tech-debt/SKILL.md +128 -128
- package/.claude/skills/team-tech-debt/roles/executor/role.md +76 -76
- package/.claude/skills/team-tech-debt/roles/scanner/role.md +90 -90
- package/.claude/skills/team-tech-debt/roles/validator/role.md +78 -78
- package/.claude/skills/team-testing/SKILL.md +143 -143
- package/.claude/skills/team-testing/roles/executor/role.md +99 -99
- package/.claude/skills/team-testing/roles/generator/role.md +98 -98
- package/.codex/skills/maestro-coordinate/SKILL.md +4 -5
- package/.codex/skills/manage-issue-analyze/SKILL.md +3 -3
- package/.codex/skills/manage-issue-execute/SKILL.md +4 -4
- package/.codex/skills/manage-issue-plan/SKILL.md +2 -2
- package/.codex/skills/team-coordinate/SKILL.md +7 -7
- package/.codex/skills/team-coordinate/roles/coordinator/role.md +1 -1
- package/.codex/skills/team-lifecycle-v4/SKILL.md +2 -2
- package/.codex/skills/team-lifecycle-v4/instructions/agent-instruction.md +2 -2
- package/.codex/skills/team-lifecycle-v4/roles/analyst/role.md +2 -2
- package/.codex/skills/team-lifecycle-v4/roles/coordinator/role.md +2 -2
- package/.codex/skills/team-lifecycle-v4/roles/executor/commands/implement.md +1 -1
- package/.codex/skills/team-lifecycle-v4/roles/planner/role.md +2 -2
- package/.codex/skills/team-lifecycle-v4/roles/writer/role.md +1 -1
- package/.codex/skills/team-quality-assurance/SKILL.md +2 -2
- package/.codex/skills/team-quality-assurance/roles/coordinator/role.md +2 -2
- package/.codex/skills/team-quality-assurance/roles/scout/role.md +2 -2
- package/.codex/skills/team-review/SKILL.md +2 -2
- package/.codex/skills/team-review/roles/coordinator/role.md +2 -2
- package/.codex/skills/team-review/roles/reviewer/role.md +1 -1
- package/.codex/skills/team-review/roles/scanner/role.md +1 -1
- package/.codex/skills/team-tech-debt/SKILL.md +2 -2
- package/.codex/skills/team-tech-debt/roles/coordinator/role.md +1 -1
- package/.codex/skills/team-tech-debt/roles/executor/role.md +1 -1
- package/.codex/skills/team-tech-debt/roles/scanner/role.md +1 -1
- package/.codex/skills/team-tech-debt/roles/validator/role.md +1 -1
- package/.codex/skills/team-testing/SKILL.md +2 -2
- package/.codex/skills/team-testing/roles/coordinator/role.md +2 -2
- package/.codex/skills/team-testing/roles/executor/role.md +1 -1
- package/.codex/skills/team-testing/roles/generator/role.md +1 -1
- package/README.md +31 -2
- package/README.zh-CN.md +23 -1
- package/dist/src/agents/cli-agent-runner.d.ts.map +1 -1
- package/dist/src/agents/cli-agent-runner.js +6 -15
- package/dist/src/agents/cli-agent-runner.js.map +1 -1
- package/dist/src/commands/delegate.d.ts.map +1 -1
- package/dist/src/commands/delegate.js +77 -1
- package/dist/src/commands/delegate.js.map +1 -1
- package/dist/src/commands/hooks.d.ts +15 -0
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/hooks.js +29 -2
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/install-backend.d.ts +15 -0
- package/dist/src/commands/install-backend.d.ts.map +1 -1
- package/dist/src/commands/install-backend.js +67 -0
- package/dist/src/commands/install-backend.js.map +1 -1
- package/dist/src/commands/install-ui/BackupConfig.d.ts +6 -4
- package/dist/src/commands/install-ui/BackupConfig.d.ts.map +1 -1
- package/dist/src/commands/install-ui/BackupConfig.js +39 -12
- package/dist/src/commands/install-ui/BackupConfig.js.map +1 -1
- package/dist/src/commands/install-ui/ConfigPanel.d.ts.map +1 -1
- package/dist/src/commands/install-ui/ConfigPanel.js +1 -1
- package/dist/src/commands/install-ui/ConfigPanel.js.map +1 -1
- package/dist/src/commands/install-ui/InstallConfirm.d.ts +3 -0
- package/dist/src/commands/install-ui/InstallConfirm.d.ts.map +1 -1
- package/dist/src/commands/install-ui/InstallConfirm.js +5 -1
- package/dist/src/commands/install-ui/InstallConfirm.js.map +1 -1
- package/dist/src/commands/install-ui/InstallExecution.d.ts +2 -0
- package/dist/src/commands/install-ui/InstallExecution.d.ts.map +1 -1
- package/dist/src/commands/install-ui/InstallExecution.js +30 -5
- package/dist/src/commands/install-ui/InstallExecution.js.map +1 -1
- package/dist/src/commands/install-ui/InstallFlow.d.ts +1 -1
- package/dist/src/commands/install-ui/InstallFlow.d.ts.map +1 -1
- package/dist/src/commands/install-ui/InstallFlow.js +31 -6
- package/dist/src/commands/install-ui/InstallFlow.js.map +1 -1
- package/dist/src/commands/install-ui/InstallHub.d.ts +5 -0
- package/dist/src/commands/install-ui/InstallHub.d.ts.map +1 -1
- package/dist/src/commands/install-ui/InstallHub.js +24 -0
- package/dist/src/commands/install-ui/InstallHub.js.map +1 -1
- package/dist/src/commands/install-ui/InstallResult.d.ts.map +1 -1
- package/dist/src/commands/install-ui/InstallResult.js +1 -1
- package/dist/src/commands/install-ui/InstallResult.js.map +1 -1
- package/dist/src/commands/install-ui/StatuslineConfig.d.ts +9 -0
- package/dist/src/commands/install-ui/StatuslineConfig.d.ts.map +1 -0
- package/dist/src/commands/install-ui/StatuslineConfig.js +13 -0
- package/dist/src/commands/install-ui/StatuslineConfig.js.map +1 -0
- package/dist/src/commands/install-ui/index.d.ts +1 -1
- package/dist/src/commands/install-ui/index.d.ts.map +1 -1
- package/dist/src/commands/install-ui/types.d.ts +6 -0
- package/dist/src/commands/install-ui/types.d.ts.map +1 -1
- package/dist/src/commands/install-ui/types.js +3 -0
- package/dist/src/commands/install-ui/types.js.map +1 -1
- package/dist/src/commands/install.d.ts.map +1 -1
- package/dist/src/commands/install.js +6 -1
- package/dist/src/commands/install.js.map +1 -1
- package/dist/src/commands/launcher.js +1 -1
- package/dist/src/commands/launcher.js.map +1 -1
- package/dist/src/commands/overlay-ui/OverlayList.d.ts +35 -0
- package/dist/src/commands/overlay-ui/OverlayList.d.ts.map +1 -0
- package/dist/src/commands/overlay-ui/OverlayList.js +143 -0
- package/dist/src/commands/overlay-ui/OverlayList.js.map +1 -0
- package/dist/src/commands/overlay-ui/index.d.ts +2 -0
- package/dist/src/commands/overlay-ui/index.d.ts.map +1 -0
- package/dist/src/commands/overlay-ui/index.js +188 -0
- package/dist/src/commands/overlay-ui/index.js.map +1 -0
- package/dist/src/commands/overlay.d.ts.map +1 -1
- package/dist/src/commands/overlay.js +124 -60
- package/dist/src/commands/overlay.js.map +1 -1
- package/dist/src/commands/team.d.ts +10 -0
- package/dist/src/commands/team.d.ts.map +1 -1
- package/dist/src/commands/team.js +436 -42
- package/dist/src/commands/team.js.map +1 -1
- package/dist/src/core/manifest.d.ts.map +1 -1
- package/dist/src/core/manifest.js +58 -0
- package/dist/src/core/manifest.js.map +1 -1
- package/dist/src/core/overlay/applier.d.ts +36 -1
- package/dist/src/core/overlay/applier.d.ts.map +1 -1
- package/dist/src/core/overlay/applier.js +109 -1
- package/dist/src/core/overlay/applier.js.map +1 -1
- package/dist/src/hooks/delegate-monitor.js +1 -1
- package/dist/src/hooks/delegate-monitor.js.map +1 -1
- package/dist/src/hooks/plugins/spec-injection-plugin.d.ts.map +1 -1
- package/dist/src/hooks/plugins/spec-injection-plugin.js +17 -1
- package/dist/src/hooks/plugins/spec-injection-plugin.js.map +1 -1
- package/dist/src/hooks/spec-injector.d.ts +2 -1
- package/dist/src/hooks/spec-injector.d.ts.map +1 -1
- package/dist/src/hooks/spec-injector.js +19 -2
- package/dist/src/hooks/spec-injector.js.map +1 -1
- package/dist/src/hooks/team-monitor.d.ts.map +1 -1
- package/dist/src/hooks/team-monitor.js +17 -0
- package/dist/src/hooks/team-monitor.js.map +1 -1
- package/dist/src/i18n/locales/en.d.ts.map +1 -1
- package/dist/src/i18n/locales/en.js +25 -1
- package/dist/src/i18n/locales/en.js.map +1 -1
- package/dist/src/i18n/locales/zh.d.ts.map +1 -1
- package/dist/src/i18n/locales/zh.js +25 -1
- package/dist/src/i18n/locales/zh.js.map +1 -1
- package/dist/src/i18n/types.d.ts +22 -0
- package/dist/src/i18n/types.d.ts.map +1 -1
- package/dist/src/mcp/delegate-channel-relay.d.ts.map +1 -1
- package/dist/src/mcp/delegate-channel-relay.js +2 -7
- package/dist/src/mcp/delegate-channel-relay.js.map +1 -1
- package/dist/src/tools/namespace-guard.d.ts +37 -0
- package/dist/src/tools/namespace-guard.d.ts.map +1 -0
- package/dist/src/tools/namespace-guard.js +126 -0
- package/dist/src/tools/namespace-guard.js.map +1 -0
- package/dist/src/tools/spec-loader.d.ts +17 -1
- package/dist/src/tools/spec-loader.d.ts.map +1 -1
- package/dist/src/tools/spec-loader.js +71 -13
- package/dist/src/tools/spec-loader.js.map +1 -1
- package/dist/src/tools/team-members.d.ts +16 -0
- package/dist/src/tools/team-members.d.ts.map +1 -1
- package/dist/src/tools/team-members.js +31 -0
- package/dist/src/tools/team-members.js.map +1 -1
- package/package.json +1 -1
- package/workflows/delegate-usage.md +330 -0
- package/dist/agents/cli-agent-runner.d.ts +0 -131
- package/dist/agents/cli-agent-runner.d.ts.map +0 -1
- package/dist/agents/cli-agent-runner.js +0 -688
- package/dist/agents/cli-agent-runner.js.map +0 -1
- package/dist/agents/cli-history-store.d.ts +0 -63
- package/dist/agents/cli-history-store.d.ts.map +0 -1
- package/dist/agents/cli-history-store.js +0 -242
- package/dist/agents/cli-history-store.js.map +0 -1
- package/dist/agents/dashboard-bridge.d.ts +0 -39
- package/dist/agents/dashboard-bridge.d.ts.map +0 -1
- package/dist/agents/dashboard-bridge.js +0 -76
- package/dist/agents/dashboard-bridge.js.map +0 -1
- package/dist/agents/parallel-cli-runner.d.ts +0 -46
- package/dist/agents/parallel-cli-runner.d.ts.map +0 -1
- package/dist/agents/parallel-cli-runner.js +0 -277
- package/dist/agents/parallel-cli-runner.js.map +0 -1
- package/dist/agents/terminal-adapter.d.ts +0 -94
- package/dist/agents/terminal-adapter.d.ts.map +0 -1
- package/dist/agents/terminal-adapter.js +0 -132
- package/dist/agents/terminal-adapter.js.map +0 -1
- package/dist/agents/terminal-backend.d.ts +0 -53
- package/dist/agents/terminal-backend.d.ts.map +0 -1
- package/dist/agents/terminal-backend.js +0 -286
- package/dist/agents/terminal-backend.js.map +0 -1
- package/dist/async/delegate-broker-client.d.ts +0 -22
- package/dist/async/delegate-broker-client.d.ts.map +0 -1
- package/dist/async/delegate-broker-client.js +0 -47
- package/dist/async/delegate-broker-client.js.map +0 -1
- package/dist/async/delegate-broker.d.ts +0 -180
- package/dist/async/delegate-broker.d.ts.map +0 -1
- package/dist/async/delegate-broker.js +0 -1040
- package/dist/async/delegate-broker.js.map +0 -1
- package/dist/async/delegate-control.d.ts +0 -37
- package/dist/async/delegate-control.d.ts.map +0 -1
- package/dist/async/delegate-control.js +0 -155
- package/dist/async/delegate-control.js.map +0 -1
- package/dist/async/index.d.ts +0 -3
- package/dist/async/index.d.ts.map +0 -1
- package/dist/async/index.js +0 -3
- package/dist/async/index.js.map +0 -1
- package/dist/cli.d.ts +0 -2
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -40
- package/dist/cli.js.map +0 -1
- package/dist/commands/cli.d.ts +0 -3
- package/dist/commands/cli.d.ts.map +0 -1
- package/dist/commands/cli.js +0 -262
- package/dist/commands/cli.js.map +0 -1
- package/dist/commands/coordinate.d.ts +0 -3
- package/dist/commands/coordinate.d.ts.map +0 -1
- package/dist/commands/coordinate.js +0 -275
- package/dist/commands/coordinate.js.map +0 -1
- package/dist/commands/delegate.d.ts +0 -37
- package/dist/commands/delegate.d.ts.map +0 -1
- package/dist/commands/delegate.js +0 -470
- package/dist/commands/delegate.js.map +0 -1
- package/dist/commands/ext.d.ts +0 -3
- package/dist/commands/ext.d.ts.map +0 -1
- package/dist/commands/ext.js +0 -28
- package/dist/commands/ext.js.map +0 -1
- package/dist/commands/hooks.d.ts +0 -3
- package/dist/commands/hooks.d.ts.map +0 -1
- package/dist/commands/hooks.js +0 -126
- package/dist/commands/hooks.js.map +0 -1
- package/dist/commands/install.d.ts +0 -3
- package/dist/commands/install.d.ts.map +0 -1
- package/dist/commands/install.js +0 -621
- package/dist/commands/install.js.map +0 -1
- package/dist/commands/launcher.d.ts +0 -3
- package/dist/commands/launcher.d.ts.map +0 -1
- package/dist/commands/launcher.js +0 -635
- package/dist/commands/launcher.js.map +0 -1
- package/dist/commands/link-coordinate.d.ts +0 -3
- package/dist/commands/link-coordinate.d.ts.map +0 -1
- package/dist/commands/link-coordinate.js +0 -225
- package/dist/commands/link-coordinate.js.map +0 -1
- package/dist/commands/msg.d.ts +0 -3
- package/dist/commands/msg.d.ts.map +0 -1
- package/dist/commands/msg.js +0 -110
- package/dist/commands/msg.js.map +0 -1
- package/dist/commands/overlay.d.ts +0 -3
- package/dist/commands/overlay.d.ts.map +0 -1
- package/dist/commands/overlay.js +0 -243
- package/dist/commands/overlay.js.map +0 -1
- package/dist/commands/run.d.ts +0 -3
- package/dist/commands/run.d.ts.map +0 -1
- package/dist/commands/run.js +0 -15
- package/dist/commands/run.js.map +0 -1
- package/dist/commands/serve.d.ts +0 -3
- package/dist/commands/serve.d.ts.map +0 -1
- package/dist/commands/serve.js +0 -16
- package/dist/commands/serve.js.map +0 -1
- package/dist/commands/spec.d.ts +0 -8
- package/dist/commands/spec.d.ts.map +0 -1
- package/dist/commands/spec.js +0 -147
- package/dist/commands/spec.js.map +0 -1
- package/dist/commands/stop.d.ts +0 -3
- package/dist/commands/stop.d.ts.map +0 -1
- package/dist/commands/stop.js +0 -218
- package/dist/commands/stop.js.map +0 -1
- package/dist/commands/tool.d.ts +0 -3
- package/dist/commands/tool.d.ts.map +0 -1
- package/dist/commands/tool.js +0 -29
- package/dist/commands/tool.js.map +0 -1
- package/dist/commands/uninstall.d.ts +0 -3
- package/dist/commands/uninstall.d.ts.map +0 -1
- package/dist/commands/uninstall.js +0 -77
- package/dist/commands/uninstall.js.map +0 -1
- package/dist/commands/view.d.ts +0 -3
- package/dist/commands/view.d.ts.map +0 -1
- package/dist/commands/view.js +0 -337
- package/dist/commands/view.js.map +0 -1
- package/dist/config/cli-tools-config.d.ts +0 -26
- package/dist/config/cli-tools-config.d.ts.map +0 -1
- package/dist/config/cli-tools-config.js +0 -49
- package/dist/config/cli-tools-config.js.map +0 -1
- package/dist/config/cli-tools-config.test.d.ts +0 -2
- package/dist/config/cli-tools-config.test.d.ts.map +0 -1
- package/dist/config/cli-tools-config.test.js +0 -59
- package/dist/config/cli-tools-config.test.js.map +0 -1
- package/dist/config/index.d.ts +0 -4
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/index.js +0 -27
- package/dist/config/index.js.map +0 -1
- package/dist/config/paths.d.ts +0 -15
- package/dist/config/paths.d.ts.map +0 -1
- package/dist/config/paths.js +0 -27
- package/dist/config/paths.js.map +0 -1
- package/dist/config/template-discovery.d.ts +0 -32
- package/dist/config/template-discovery.d.ts.map +0 -1
- package/dist/config/template-discovery.js +0 -128
- package/dist/config/template-discovery.js.map +0 -1
- package/dist/coordinator/cli-executor.d.ts +0 -22
- package/dist/coordinator/cli-executor.d.ts.map +0 -1
- package/dist/coordinator/cli-executor.js +0 -49
- package/dist/coordinator/cli-executor.js.map +0 -1
- package/dist/coordinator/expr-evaluator.d.ts +0 -11
- package/dist/coordinator/expr-evaluator.d.ts.map +0 -1
- package/dist/coordinator/expr-evaluator.js +0 -351
- package/dist/coordinator/expr-evaluator.js.map +0 -1
- package/dist/coordinator/graph-loader.d.ts +0 -16
- package/dist/coordinator/graph-loader.d.ts.map +0 -1
- package/dist/coordinator/graph-loader.js +0 -190
- package/dist/coordinator/graph-loader.js.map +0 -1
- package/dist/coordinator/graph-types.d.ts +0 -304
- package/dist/coordinator/graph-types.d.ts.map +0 -1
- package/dist/coordinator/graph-types.js +0 -6
- package/dist/coordinator/graph-types.js.map +0 -1
- package/dist/coordinator/graph-walker.d.ts +0 -51
- package/dist/coordinator/graph-walker.d.ts.map +0 -1
- package/dist/coordinator/graph-walker.js +0 -666
- package/dist/coordinator/graph-walker.js.map +0 -1
- package/dist/coordinator/index.d.ts +0 -13
- package/dist/coordinator/index.d.ts.map +0 -1
- package/dist/coordinator/index.js +0 -14
- package/dist/coordinator/index.js.map +0 -1
- package/dist/coordinator/intent-router.d.ts +0 -11
- package/dist/coordinator/intent-router.d.ts.map +0 -1
- package/dist/coordinator/intent-router.js +0 -65
- package/dist/coordinator/intent-router.js.map +0 -1
- package/dist/coordinator/link-session.d.ts +0 -29
- package/dist/coordinator/link-session.d.ts.map +0 -1
- package/dist/coordinator/link-session.js +0 -192
- package/dist/coordinator/link-session.js.map +0 -1
- package/dist/coordinator/link-walker.d.ts +0 -56
- package/dist/coordinator/link-walker.d.ts.map +0 -1
- package/dist/coordinator/link-walker.js +0 -548
- package/dist/coordinator/link-walker.js.map +0 -1
- package/dist/coordinator/output-parser.d.ts +0 -5
- package/dist/coordinator/output-parser.d.ts.map +0 -1
- package/dist/coordinator/output-parser.js +0 -114
- package/dist/coordinator/output-parser.js.map +0 -1
- package/dist/coordinator/parallel-executor.d.ts +0 -24
- package/dist/coordinator/parallel-executor.d.ts.map +0 -1
- package/dist/coordinator/parallel-executor.js +0 -43
- package/dist/coordinator/parallel-executor.js.map +0 -1
- package/dist/coordinator/prompt-assembler.d.ts +0 -15
- package/dist/coordinator/prompt-assembler.d.ts.map +0 -1
- package/dist/coordinator/prompt-assembler.js +0 -228
- package/dist/coordinator/prompt-assembler.js.map +0 -1
- package/dist/coordinator/step-analyzer.d.ts +0 -8
- package/dist/coordinator/step-analyzer.d.ts.map +0 -1
- package/dist/coordinator/step-analyzer.js +0 -82
- package/dist/coordinator/step-analyzer.js.map +0 -1
- package/dist/core/extension-loader.d.ts +0 -11
- package/dist/core/extension-loader.d.ts.map +0 -1
- package/dist/core/extension-loader.js +0 -54
- package/dist/core/extension-loader.js.map +0 -1
- package/dist/core/manifest.d.ts +0 -24
- package/dist/core/manifest.d.ts.map +0 -1
- package/dist/core/manifest.js +0 -139
- package/dist/core/manifest.js.map +0 -1
- package/dist/core/mcp-tool-registry.integration.test.d.ts +0 -2
- package/dist/core/mcp-tool-registry.integration.test.d.ts.map +0 -1
- package/dist/core/mcp-tool-registry.integration.test.js +0 -220
- package/dist/core/mcp-tool-registry.integration.test.js.map +0 -1
- package/dist/core/overlay/applier.d.ts +0 -73
- package/dist/core/overlay/applier.d.ts.map +0 -1
- package/dist/core/overlay/applier.js +0 -248
- package/dist/core/overlay/applier.js.map +0 -1
- package/dist/core/overlay/loader.d.ts +0 -26
- package/dist/core/overlay/loader.d.ts.map +0 -1
- package/dist/core/overlay/loader.js +0 -199
- package/dist/core/overlay/loader.js.map +0 -1
- package/dist/core/overlay/patcher.d.ts +0 -26
- package/dist/core/overlay/patcher.d.ts.map +0 -1
- package/dist/core/overlay/patcher.js +0 -212
- package/dist/core/overlay/patcher.js.map +0 -1
- package/dist/core/overlay/section-parser.d.ts +0 -25
- package/dist/core/overlay/section-parser.d.ts.map +0 -1
- package/dist/core/overlay/section-parser.js +0 -99
- package/dist/core/overlay/section-parser.js.map +0 -1
- package/dist/core/overlay/types.d.ts +0 -51
- package/dist/core/overlay/types.d.ts.map +0 -1
- package/dist/core/overlay/types.js +0 -15
- package/dist/core/overlay/types.js.map +0 -1
- package/dist/core/tool-registry.d.ts +0 -10
- package/dist/core/tool-registry.d.ts.map +0 -1
- package/dist/core/tool-registry.js +0 -29
- package/dist/core/tool-registry.js.map +0 -1
- package/dist/core/tool-registry.test.d.ts +0 -2
- package/dist/core/tool-registry.test.d.ts.map +0 -1
- package/dist/core/tool-registry.test.js +0 -78
- package/dist/core/tool-registry.test.js.map +0 -1
- package/dist/db/connection-pool.d.ts +0 -21
- package/dist/db/connection-pool.d.ts.map +0 -1
- package/dist/db/connection-pool.js +0 -53
- package/dist/db/connection-pool.js.map +0 -1
- package/dist/db/index.d.ts +0 -6
- package/dist/db/index.d.ts.map +0 -1
- package/dist/db/index.js +0 -9
- package/dist/db/index.js.map +0 -1
- package/dist/db/schema/core/index.d.ts +0 -5
- package/dist/db/schema/core/index.d.ts.map +0 -1
- package/dist/db/schema/core/index.js +0 -5
- package/dist/db/schema/core/index.js.map +0 -1
- package/dist/db/schema/core/organizations.d.ts +0 -244
- package/dist/db/schema/core/organizations.d.ts.map +0 -1
- package/dist/db/schema/core/organizations.js +0 -44
- package/dist/db/schema/core/organizations.js.map +0 -1
- package/dist/db/schema/core/permissions.d.ts +0 -158
- package/dist/db/schema/core/permissions.d.ts.map +0 -1
- package/dist/db/schema/core/permissions.js +0 -62
- package/dist/db/schema/core/permissions.js.map +0 -1
- package/dist/db/schema/core/refresh-tokens.d.ts +0 -147
- package/dist/db/schema/core/refresh-tokens.d.ts.map +0 -1
- package/dist/db/schema/core/refresh-tokens.js +0 -22
- package/dist/db/schema/core/refresh-tokens.js.map +0 -1
- package/dist/db/schema/core/users.d.ts +0 -178
- package/dist/db/schema/core/users.d.ts.map +0 -1
- package/dist/db/schema/core/users.js +0 -14
- package/dist/db/schema/core/users.js.map +0 -1
- package/dist/db/tenant-migrator.d.ts +0 -11
- package/dist/db/tenant-migrator.d.ts.map +0 -1
- package/dist/db/tenant-migrator.js +0 -74
- package/dist/db/tenant-migrator.js.map +0 -1
- package/dist/db/tenant-schema.d.ts +0 -290
- package/dist/db/tenant-schema.d.ts.map +0 -1
- package/dist/db/tenant-schema.js +0 -32
- package/dist/db/tenant-schema.js.map +0 -1
- package/dist/hooks/constants.d.ts +0 -40
- package/dist/hooks/constants.d.ts.map +0 -1
- package/dist/hooks/constants.js +0 -53
- package/dist/hooks/constants.js.map +0 -1
- package/dist/hooks/context-monitor.d.ts +0 -33
- package/dist/hooks/context-monitor.d.ts.map +0 -1
- package/dist/hooks/context-monitor.js +0 -117
- package/dist/hooks/context-monitor.js.map +0 -1
- package/dist/hooks/delegate-monitor.d.ts +0 -24
- package/dist/hooks/delegate-monitor.d.ts.map +0 -1
- package/dist/hooks/delegate-monitor.js +0 -76
- package/dist/hooks/delegate-monitor.js.map +0 -1
- package/dist/hooks/index.d.ts +0 -4
- package/dist/hooks/index.d.ts.map +0 -1
- package/dist/hooks/index.js +0 -4
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/statusline.d.ts +0 -29
- package/dist/hooks/statusline.d.ts.map +0 -1
- package/dist/hooks/statusline.js +0 -134
- package/dist/hooks/statusline.js.map +0 -1
- package/dist/index.d.ts +0 -8
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -6
- package/dist/index.js.map +0 -1
- package/dist/mcp/delegate-channel-relay.d.ts +0 -51
- package/dist/mcp/delegate-channel-relay.d.ts.map +0 -1
- package/dist/mcp/delegate-channel-relay.js +0 -307
- package/dist/mcp/delegate-channel-relay.js.map +0 -1
- package/dist/mcp/server.d.ts +0 -6
- package/dist/mcp/server.d.ts.map +0 -1
- package/dist/mcp/server.js +0 -64
- package/dist/mcp/server.js.map +0 -1
- package/dist/middleware/auth.d.ts +0 -13
- package/dist/middleware/auth.d.ts.map +0 -1
- package/dist/middleware/auth.js +0 -27
- package/dist/middleware/auth.js.map +0 -1
- package/dist/middleware/permission.d.ts +0 -9
- package/dist/middleware/permission.d.ts.map +0 -1
- package/dist/middleware/permission.js +0 -19
- package/dist/middleware/permission.js.map +0 -1
- package/dist/middleware/rate-limit.d.ts +0 -9
- package/dist/middleware/rate-limit.d.ts.map +0 -1
- package/dist/middleware/rate-limit.js +0 -40
- package/dist/middleware/rate-limit.js.map +0 -1
- package/dist/middleware/tenant.d.ts +0 -17
- package/dist/middleware/tenant.d.ts.map +0 -1
- package/dist/middleware/tenant.js +0 -57
- package/dist/middleware/tenant.js.map +0 -1
- package/dist/middleware/validation.d.ts +0 -40
- package/dist/middleware/validation.d.ts.map +0 -1
- package/dist/middleware/validation.js +0 -51
- package/dist/middleware/validation.js.map +0 -1
- package/dist/routes/auth.d.ts +0 -3
- package/dist/routes/auth.d.ts.map +0 -1
- package/dist/routes/auth.js +0 -77
- package/dist/routes/auth.js.map +0 -1
- package/dist/routes/members.d.ts +0 -4
- package/dist/routes/members.d.ts.map +0 -1
- package/dist/routes/members.js +0 -114
- package/dist/routes/members.js.map +0 -1
- package/dist/routes/organizations.d.ts +0 -5
- package/dist/routes/organizations.d.ts.map +0 -1
- package/dist/routes/organizations.js +0 -97
- package/dist/routes/organizations.js.map +0 -1
- package/dist/services/auth.service.d.ts +0 -24
- package/dist/services/auth.service.d.ts.map +0 -1
- package/dist/services/auth.service.js +0 -70
- package/dist/services/auth.service.js.map +0 -1
- package/dist/services/password.service.d.ts +0 -3
- package/dist/services/password.service.d.ts.map +0 -1
- package/dist/services/password.service.js +0 -18
- package/dist/services/password.service.js.map +0 -1
- package/dist/services/rbac.service.d.ts +0 -7
- package/dist/services/rbac.service.d.ts.map +0 -1
- package/dist/services/rbac.service.js +0 -36
- package/dist/services/rbac.service.js.map +0 -1
- package/dist/services/token.service.d.ts +0 -18
- package/dist/services/token.service.d.ts.map +0 -1
- package/dist/services/token.service.js +0 -86
- package/dist/services/token.service.js.map +0 -1
- package/dist/tools/core-memory.d.ts +0 -12
- package/dist/tools/core-memory.d.ts.map +0 -1
- package/dist/tools/core-memory.js +0 -276
- package/dist/tools/core-memory.js.map +0 -1
- package/dist/tools/edit-file.d.ts +0 -25
- package/dist/tools/edit-file.d.ts.map +0 -1
- package/dist/tools/edit-file.js +0 -462
- package/dist/tools/edit-file.js.map +0 -1
- package/dist/tools/index.d.ts +0 -8
- package/dist/tools/index.d.ts.map +0 -1
- package/dist/tools/index.js +0 -536
- package/dist/tools/index.js.map +0 -1
- package/dist/tools/read-file.d.ts +0 -13
- package/dist/tools/read-file.d.ts.map +0 -1
- package/dist/tools/read-file.js +0 -91
- package/dist/tools/read-file.js.map +0 -1
- package/dist/tools/read-many-files.d.ts +0 -15
- package/dist/tools/read-many-files.d.ts.map +0 -1
- package/dist/tools/read-many-files.js +0 -187
- package/dist/tools/read-many-files.js.map +0 -1
- package/dist/tools/spec-index-builder.d.ts +0 -58
- package/dist/tools/spec-index-builder.d.ts.map +0 -1
- package/dist/tools/spec-index-builder.js +0 -211
- package/dist/tools/spec-index-builder.js.map +0 -1
- package/dist/tools/spec-init.d.ts +0 -17
- package/dist/tools/spec-init.d.ts.map +0 -1
- package/dist/tools/spec-init.js +0 -215
- package/dist/tools/spec-init.js.map +0 -1
- package/dist/tools/spec-keyword-extractor.d.ts +0 -24
- package/dist/tools/spec-keyword-extractor.d.ts.map +0 -1
- package/dist/tools/spec-keyword-extractor.js +0 -84
- package/dist/tools/spec-keyword-extractor.js.map +0 -1
- package/dist/tools/spec-keyword-extractor.test.d.ts +0 -2
- package/dist/tools/spec-keyword-extractor.test.d.ts.map +0 -1
- package/dist/tools/spec-keyword-extractor.test.js +0 -99
- package/dist/tools/spec-keyword-extractor.test.js.map +0 -1
- package/dist/tools/spec-loader.d.ts +0 -15
- package/dist/tools/spec-loader.d.ts.map +0 -1
- package/dist/tools/spec-loader.js +0 -93
- package/dist/tools/spec-loader.js.map +0 -1
- package/dist/tools/team-msg.d.ts +0 -52
- package/dist/tools/team-msg.d.ts.map +0 -1
- package/dist/tools/team-msg.js +0 -449
- package/dist/tools/team-msg.js.map +0 -1
- package/dist/tools/write-file.d.ts +0 -19
- package/dist/tools/write-file.d.ts.map +0 -1
- package/dist/tools/write-file.js +0 -165
- package/dist/tools/write-file.js.map +0 -1
- package/dist/types/index.d.ts +0 -47
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -2
- package/dist/types/index.js.map +0 -1
- package/dist/types/tool-schema.d.ts +0 -37
- package/dist/types/tool-schema.d.ts.map +0 -1
- package/dist/types/tool-schema.js +0 -24
- package/dist/types/tool-schema.js.map +0 -1
- package/dist/utils/file-reader.d.ts +0 -74
- package/dist/utils/file-reader.d.ts.map +0 -1
- package/dist/utils/file-reader.js +0 -217
- package/dist/utils/file-reader.js.map +0 -1
- package/dist/utils/path-validator.d.ts +0 -52
- package/dist/utils/path-validator.d.ts.map +0 -1
- package/dist/utils/path-validator.js +0 -151
- package/dist/utils/path-validator.js.map +0 -1
|
@@ -1,78 +1,78 @@
|
|
|
1
|
-
---
|
|
2
|
-
role: validator
|
|
3
|
-
prefix: TDVAL
|
|
4
|
-
inner_loop: false
|
|
5
|
-
message_types: [state_update]
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Tech Debt Validator
|
|
9
|
-
|
|
10
|
-
Cleanup result validator. Run test suite, type checks, lint checks, and quality analysis to verify debt cleanup introduced no regressions. Compare before/after debt scores, produce validation-report.json.
|
|
11
|
-
|
|
12
|
-
## Phase 2: Load Context
|
|
13
|
-
|
|
14
|
-
| Input | Source | Required |
|
|
15
|
-
|-------|--------|----------|
|
|
16
|
-
| Session path | task description (regex: `session:\s*(.+)`) | Yes |
|
|
17
|
-
| .msg/meta.json | <session>/.msg/meta.json | Yes |
|
|
18
|
-
| Fix log | <session>/fixes/fix-log.json | No |
|
|
19
|
-
|
|
20
|
-
1. Extract session path from task description
|
|
21
|
-
2. Read .msg/meta.json for: worktree.path, debt_inventory, fix_results, debt_score_before
|
|
22
|
-
3. Determine command prefix: `cd "<worktree-path>" && ` if worktree exists
|
|
23
|
-
4. Read fix-log.json for modified files list
|
|
24
|
-
5. Detect available validation tools in worktree:
|
|
25
|
-
|
|
26
|
-
| Signal | Tool | Method |
|
|
27
|
-
|--------|------|--------|
|
|
28
|
-
| package.json + npm | npm test | Test suite |
|
|
29
|
-
| pytest available | python -m pytest | Test suite |
|
|
30
|
-
| npx tsc available | npx tsc --noEmit | Type check |
|
|
31
|
-
| npx eslint available | npx eslint | Lint check |
|
|
32
|
-
|
|
33
|
-
## Phase 3: Run Validation Checks
|
|
34
|
-
|
|
35
|
-
Execute 4-layer validation (all commands in worktree):
|
|
36
|
-
|
|
37
|
-
**1. Test Suite**:
|
|
38
|
-
- Run `npm test` or `python -m pytest` in worktree
|
|
39
|
-
- PASS if no FAIL/error/failed keywords; FAIL with regression count otherwise
|
|
40
|
-
- Skip with "no-tests" if no test runner available
|
|
41
|
-
|
|
42
|
-
**2. Type Check**:
|
|
43
|
-
- Run `npx tsc --noEmit` in worktree
|
|
44
|
-
- Count `error TS` occurrences for error count
|
|
45
|
-
|
|
46
|
-
**3. Lint Check**:
|
|
47
|
-
- Run `npx eslint --no-error-on-unmatched-pattern <modified-files>` in worktree
|
|
48
|
-
- Count error occurrences
|
|
49
|
-
|
|
50
|
-
**4. Quality Analysis** (optional, when > 5 modified files):
|
|
51
|
-
- Use gemini CLI to compare code quality before/after
|
|
52
|
-
- Assess complexity, duplication, naming quality improvements
|
|
53
|
-
|
|
54
|
-
**Debt Score Calculation**:
|
|
55
|
-
- debt_score_after = debt items NOT in modified files (remaining unfixed items)
|
|
56
|
-
- improvement_percentage = ((before - after) / before) * 100
|
|
57
|
-
|
|
58
|
-
**Auto-fix attempt** (when total_regressions <= 3):
|
|
59
|
-
- Use CLI tool to fix regressions in worktree:
|
|
60
|
-
```
|
|
61
|
-
Bash({
|
|
62
|
-
command: `cd "${worktreePath}" && maestro
|
|
63
|
-
TASK: ${regressionDetails}
|
|
64
|
-
MODE: write
|
|
65
|
-
CONTEXT: @${modifiedFiles.join(' @')}
|
|
66
|
-
EXPECTED: Fixed regressions
|
|
67
|
-
CONSTRAINTS: Fix only regressions | Preserve debt cleanup changes | No suppressions" --tool gemini --mode write`,
|
|
68
|
-
run_in_background: false
|
|
69
|
-
})
|
|
70
|
-
```
|
|
71
|
-
- Re-run validation checks after fix attempt
|
|
72
|
-
|
|
73
|
-
## Phase 4: Compare & Report
|
|
74
|
-
|
|
75
|
-
1. Calculate: total_regressions = test_regressions + type_errors + lint_errors; passed = (total_regressions === 0)
|
|
76
|
-
2. Write `<session>/validation/validation-report.json` with: validation_date, passed, regressions, checks (per-check status), debt_score_before, debt_score_after, improvement_percentage
|
|
77
|
-
3. Update .msg/meta.json with `validation_results` and `debt_score_after`
|
|
78
|
-
4. Select message type: `validation_complete` if passed, `regression_found` if not
|
|
1
|
+
---
|
|
2
|
+
role: validator
|
|
3
|
+
prefix: TDVAL
|
|
4
|
+
inner_loop: false
|
|
5
|
+
message_types: [state_update]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Tech Debt Validator
|
|
9
|
+
|
|
10
|
+
Cleanup result validator. Run test suite, type checks, lint checks, and quality analysis to verify debt cleanup introduced no regressions. Compare before/after debt scores, produce validation-report.json.
|
|
11
|
+
|
|
12
|
+
## Phase 2: Load Context
|
|
13
|
+
|
|
14
|
+
| Input | Source | Required |
|
|
15
|
+
|-------|--------|----------|
|
|
16
|
+
| Session path | task description (regex: `session:\s*(.+)`) | Yes |
|
|
17
|
+
| .msg/meta.json | <session>/.msg/meta.json | Yes |
|
|
18
|
+
| Fix log | <session>/fixes/fix-log.json | No |
|
|
19
|
+
|
|
20
|
+
1. Extract session path from task description
|
|
21
|
+
2. Read .msg/meta.json for: worktree.path, debt_inventory, fix_results, debt_score_before
|
|
22
|
+
3. Determine command prefix: `cd "<worktree-path>" && ` if worktree exists
|
|
23
|
+
4. Read fix-log.json for modified files list
|
|
24
|
+
5. Detect available validation tools in worktree:
|
|
25
|
+
|
|
26
|
+
| Signal | Tool | Method |
|
|
27
|
+
|--------|------|--------|
|
|
28
|
+
| package.json + npm | npm test | Test suite |
|
|
29
|
+
| pytest available | python -m pytest | Test suite |
|
|
30
|
+
| npx tsc available | npx tsc --noEmit | Type check |
|
|
31
|
+
| npx eslint available | npx eslint | Lint check |
|
|
32
|
+
|
|
33
|
+
## Phase 3: Run Validation Checks
|
|
34
|
+
|
|
35
|
+
Execute 4-layer validation (all commands in worktree):
|
|
36
|
+
|
|
37
|
+
**1. Test Suite**:
|
|
38
|
+
- Run `npm test` or `python -m pytest` in worktree
|
|
39
|
+
- PASS if no FAIL/error/failed keywords; FAIL with regression count otherwise
|
|
40
|
+
- Skip with "no-tests" if no test runner available
|
|
41
|
+
|
|
42
|
+
**2. Type Check**:
|
|
43
|
+
- Run `npx tsc --noEmit` in worktree
|
|
44
|
+
- Count `error TS` occurrences for error count
|
|
45
|
+
|
|
46
|
+
**3. Lint Check**:
|
|
47
|
+
- Run `npx eslint --no-error-on-unmatched-pattern <modified-files>` in worktree
|
|
48
|
+
- Count error occurrences
|
|
49
|
+
|
|
50
|
+
**4. Quality Analysis** (optional, when > 5 modified files):
|
|
51
|
+
- Use gemini CLI to compare code quality before/after
|
|
52
|
+
- Assess complexity, duplication, naming quality improvements
|
|
53
|
+
|
|
54
|
+
**Debt Score Calculation**:
|
|
55
|
+
- debt_score_after = debt items NOT in modified files (remaining unfixed items)
|
|
56
|
+
- improvement_percentage = ((before - after) / before) * 100
|
|
57
|
+
|
|
58
|
+
**Auto-fix attempt** (when total_regressions <= 3):
|
|
59
|
+
- Use CLI tool to fix regressions in worktree:
|
|
60
|
+
```
|
|
61
|
+
Bash({
|
|
62
|
+
command: `cd "${worktreePath}" && maestro delegate "PURPOSE: Fix regressions found in validation
|
|
63
|
+
TASK: ${regressionDetails}
|
|
64
|
+
MODE: write
|
|
65
|
+
CONTEXT: @${modifiedFiles.join(' @')}
|
|
66
|
+
EXPECTED: Fixed regressions
|
|
67
|
+
CONSTRAINTS: Fix only regressions | Preserve debt cleanup changes | No suppressions" --tool gemini --mode write`,
|
|
68
|
+
run_in_background: false
|
|
69
|
+
})
|
|
70
|
+
```
|
|
71
|
+
- Re-run validation checks after fix attempt
|
|
72
|
+
|
|
73
|
+
## Phase 4: Compare & Report
|
|
74
|
+
|
|
75
|
+
1. Calculate: total_regressions = test_regressions + type_errors + lint_errors; passed = (total_regressions === 0)
|
|
76
|
+
2. Write `<session>/validation/validation-report.json` with: validation_date, passed, regressions, checks (per-check status), debt_score_before, debt_score_after, improvement_percentage
|
|
77
|
+
3. Update .msg/meta.json with `validation_results` and `debt_score_after`
|
|
78
|
+
4. Select message type: `validation_complete` if passed, `regression_found` if not
|
|
@@ -1,143 +1,143 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: team-testing
|
|
3
|
-
description: Unified team skill for testing team. Progressive test coverage through Generator-Critic loops, shared memory, and dynamic layer selection. Triggers on "team testing".
|
|
4
|
-
allowed-tools: TeamCreate(*), TeamDelete(*), SendMessage(*), TaskCreate(*), TaskUpdate(*), TaskList(*), TaskGet(*), Agent(*), AskUserQuestion(*), Read(*), Write(*), Edit(*), Bash(*), Glob(*), Grep(*), mcp__ccw-tools__team_msg(*)
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Team Testing
|
|
8
|
-
|
|
9
|
-
Orchestrate multi-agent test pipeline: strategist -> generator -> executor -> analyst. Progressive layer coverage (L1/L2/L3) with Generator-Critic loops for coverage convergence.
|
|
10
|
-
|
|
11
|
-
## Architecture
|
|
12
|
-
|
|
13
|
-
```
|
|
14
|
-
Skill(skill="team-testing", args="task description")
|
|
15
|
-
|
|
|
16
|
-
SKILL.md (this file) = Router
|
|
17
|
-
|
|
|
18
|
-
+--------------+--------------+
|
|
19
|
-
| |
|
|
20
|
-
no --role flag --role <name>
|
|
21
|
-
| |
|
|
22
|
-
Coordinator Worker
|
|
23
|
-
roles/coordinator/role.md roles/<name>/role.md
|
|
24
|
-
|
|
|
25
|
-
+-- analyze -> dispatch -> spawn workers -> STOP
|
|
26
|
-
|
|
|
27
|
-
+-------+-------+-------+-------+
|
|
28
|
-
v v v v
|
|
29
|
-
[strat] [gen] [exec] [analyst]
|
|
30
|
-
team-worker agents, each loads roles/<role>/role.md
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## Role Registry
|
|
34
|
-
|
|
35
|
-
| Role | Path | Prefix | Inner Loop |
|
|
36
|
-
|------|------|--------|------------|
|
|
37
|
-
| coordinator | [roles/coordinator/role.md](roles/coordinator/role.md) | — | — |
|
|
38
|
-
| strategist | [roles/strategist/role.md](roles/strategist/role.md) | STRATEGY-* | false |
|
|
39
|
-
| generator | [roles/generator/role.md](roles/generator/role.md) | TESTGEN-* | true |
|
|
40
|
-
| executor | [roles/executor/role.md](roles/executor/role.md) | TESTRUN-* | true |
|
|
41
|
-
| analyst | [roles/analyst/role.md](roles/analyst/role.md) | TESTANA-* | false |
|
|
42
|
-
|
|
43
|
-
## Role Router
|
|
44
|
-
|
|
45
|
-
Parse `$ARGUMENTS`:
|
|
46
|
-
- Has `--role <name>` -> Read `roles/<name>/role.md`, execute Phase 2-4
|
|
47
|
-
- No `--role` -> `@roles/coordinator/role.md`, execute entry router
|
|
48
|
-
|
|
49
|
-
## Shared Constants
|
|
50
|
-
|
|
51
|
-
- **Session prefix**: `TST`
|
|
52
|
-
- **Session path**: `.workflow/.team/TST-<slug>-<date>/`
|
|
53
|
-
- **Team name**: `testing`
|
|
54
|
-
- **CLI tools**: `maestro
|
|
55
|
-
- **Message bus**: `mcp__ccw-tools__team_msg(session_id=<session-id>, ...)`
|
|
56
|
-
|
|
57
|
-
## Worker Spawn Template
|
|
58
|
-
|
|
59
|
-
Coordinator spawns workers using this template:
|
|
60
|
-
|
|
61
|
-
```
|
|
62
|
-
Agent({
|
|
63
|
-
subagent_type: "team-worker",
|
|
64
|
-
description: "Spawn <role> worker",
|
|
65
|
-
team_name: "testing",
|
|
66
|
-
name: "<role>",
|
|
67
|
-
run_in_background: true,
|
|
68
|
-
prompt: `## Role Assignment
|
|
69
|
-
role: <role>
|
|
70
|
-
role_spec: <skill_root>/roles/<role>/role.md
|
|
71
|
-
session: <session-folder>
|
|
72
|
-
session_id: <session-id>
|
|
73
|
-
team_name: testing
|
|
74
|
-
requirement: <task-description>
|
|
75
|
-
inner_loop: <true|false>
|
|
76
|
-
|
|
77
|
-
## Progress Milestones
|
|
78
|
-
session_id: <session-id>
|
|
79
|
-
Report progress via team_msg at natural phase boundaries (context loaded -> core work done -> verification).
|
|
80
|
-
Report blockers immediately via team_msg type="blocker".
|
|
81
|
-
Report completion via team_msg type="task_complete" after final SendMessage.
|
|
82
|
-
|
|
83
|
-
Read role_spec file (@<skill_root>/roles/<role>/role.md) to load Phase 2-4 domain instructions.
|
|
84
|
-
Execute built-in Phase 1 (task discovery) -> role Phase 2-4 -> built-in Phase 5 (report).`
|
|
85
|
-
})
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
## User Commands
|
|
89
|
-
|
|
90
|
-
| Command | Action |
|
|
91
|
-
|---------|--------|
|
|
92
|
-
| `check` / `status` | View pipeline status graph |
|
|
93
|
-
| `resume` / `continue` | Advance to next step |
|
|
94
|
-
| `revise <TASK-ID>` | Revise specific task |
|
|
95
|
-
| `feedback <text>` | Inject feedback for revision |
|
|
96
|
-
|
|
97
|
-
## Completion Action
|
|
98
|
-
|
|
99
|
-
When pipeline completes, coordinator presents:
|
|
100
|
-
|
|
101
|
-
```
|
|
102
|
-
AskUserQuestion({
|
|
103
|
-
questions: [{
|
|
104
|
-
question: "Testing pipeline complete. What would you like to do?",
|
|
105
|
-
header: "Completion",
|
|
106
|
-
multiSelect: false,
|
|
107
|
-
options: [
|
|
108
|
-
{ label: "Archive & Clean (Recommended)", description: "Archive session, clean up team" },
|
|
109
|
-
{ label: "Keep Active", description: "Keep session for follow-up work" },
|
|
110
|
-
{ label: "Deepen Coverage", description: "Add more test layers or increase coverage targets" }
|
|
111
|
-
]
|
|
112
|
-
}]
|
|
113
|
-
})
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
## Session Directory
|
|
117
|
-
|
|
118
|
-
```
|
|
119
|
-
.workflow/.team/TST-<slug>-<date>/
|
|
120
|
-
├── .msg/messages.jsonl # Team message bus
|
|
121
|
-
├── .msg/meta.json # Session metadata
|
|
122
|
-
├── wisdom/ # Cross-task knowledge
|
|
123
|
-
├── strategy/ # Strategist output
|
|
124
|
-
├── tests/ # Generator output (L1-unit/, L2-integration/, L3-e2e/)
|
|
125
|
-
├── results/ # Executor output
|
|
126
|
-
└── analysis/ # Analyst output
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
## Specs Reference
|
|
130
|
-
|
|
131
|
-
- [specs/pipelines.md](specs/pipelines.md) — Pipeline definitions and task registry
|
|
132
|
-
- [specs/team-config.json](specs/team-config.json) — Team configuration
|
|
133
|
-
|
|
134
|
-
## Error Handling
|
|
135
|
-
|
|
136
|
-
| Scenario | Resolution |
|
|
137
|
-
|----------|------------|
|
|
138
|
-
| Unknown --role value | Error with available role list |
|
|
139
|
-
| Role not found | Error with expected path (roles/<name>/role.md) |
|
|
140
|
-
| CLI tool fails | Worker fallback to direct implementation |
|
|
141
|
-
| GC loop exceeded | Accept current coverage with warning |
|
|
142
|
-
| Fast-advance conflict | Coordinator reconciles on next callback |
|
|
143
|
-
| Completion action fails | Default to Keep Active |
|
|
1
|
+
---
|
|
2
|
+
name: team-testing
|
|
3
|
+
description: Unified team skill for testing team. Progressive test coverage through Generator-Critic loops, shared memory, and dynamic layer selection. Triggers on "team testing".
|
|
4
|
+
allowed-tools: TeamCreate(*), TeamDelete(*), SendMessage(*), TaskCreate(*), TaskUpdate(*), TaskList(*), TaskGet(*), Agent(*), AskUserQuestion(*), Read(*), Write(*), Edit(*), Bash(*), Glob(*), Grep(*), mcp__ccw-tools__team_msg(*)
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Team Testing
|
|
8
|
+
|
|
9
|
+
Orchestrate multi-agent test pipeline: strategist -> generator -> executor -> analyst. Progressive layer coverage (L1/L2/L3) with Generator-Critic loops for coverage convergence.
|
|
10
|
+
|
|
11
|
+
## Architecture
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
Skill(skill="team-testing", args="task description")
|
|
15
|
+
|
|
|
16
|
+
SKILL.md (this file) = Router
|
|
17
|
+
|
|
|
18
|
+
+--------------+--------------+
|
|
19
|
+
| |
|
|
20
|
+
no --role flag --role <name>
|
|
21
|
+
| |
|
|
22
|
+
Coordinator Worker
|
|
23
|
+
roles/coordinator/role.md roles/<name>/role.md
|
|
24
|
+
|
|
|
25
|
+
+-- analyze -> dispatch -> spawn workers -> STOP
|
|
26
|
+
|
|
|
27
|
+
+-------+-------+-------+-------+
|
|
28
|
+
v v v v
|
|
29
|
+
[strat] [gen] [exec] [analyst]
|
|
30
|
+
team-worker agents, each loads roles/<role>/role.md
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Role Registry
|
|
34
|
+
|
|
35
|
+
| Role | Path | Prefix | Inner Loop |
|
|
36
|
+
|------|------|--------|------------|
|
|
37
|
+
| coordinator | [roles/coordinator/role.md](roles/coordinator/role.md) | — | — |
|
|
38
|
+
| strategist | [roles/strategist/role.md](roles/strategist/role.md) | STRATEGY-* | false |
|
|
39
|
+
| generator | [roles/generator/role.md](roles/generator/role.md) | TESTGEN-* | true |
|
|
40
|
+
| executor | [roles/executor/role.md](roles/executor/role.md) | TESTRUN-* | true |
|
|
41
|
+
| analyst | [roles/analyst/role.md](roles/analyst/role.md) | TESTANA-* | false |
|
|
42
|
+
|
|
43
|
+
## Role Router
|
|
44
|
+
|
|
45
|
+
Parse `$ARGUMENTS`:
|
|
46
|
+
- Has `--role <name>` -> Read `roles/<name>/role.md`, execute Phase 2-4
|
|
47
|
+
- No `--role` -> `@roles/coordinator/role.md`, execute entry router
|
|
48
|
+
|
|
49
|
+
## Shared Constants
|
|
50
|
+
|
|
51
|
+
- **Session prefix**: `TST`
|
|
52
|
+
- **Session path**: `.workflow/.team/TST-<slug>-<date>/`
|
|
53
|
+
- **Team name**: `testing`
|
|
54
|
+
- **CLI tools**: `maestro delegate --mode analysis` (read-only), `maestro delegate --mode write` (modifications)
|
|
55
|
+
- **Message bus**: `mcp__ccw-tools__team_msg(session_id=<session-id>, ...)`
|
|
56
|
+
|
|
57
|
+
## Worker Spawn Template
|
|
58
|
+
|
|
59
|
+
Coordinator spawns workers using this template:
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
Agent({
|
|
63
|
+
subagent_type: "team-worker",
|
|
64
|
+
description: "Spawn <role> worker",
|
|
65
|
+
team_name: "testing",
|
|
66
|
+
name: "<role>",
|
|
67
|
+
run_in_background: true,
|
|
68
|
+
prompt: `## Role Assignment
|
|
69
|
+
role: <role>
|
|
70
|
+
role_spec: <skill_root>/roles/<role>/role.md
|
|
71
|
+
session: <session-folder>
|
|
72
|
+
session_id: <session-id>
|
|
73
|
+
team_name: testing
|
|
74
|
+
requirement: <task-description>
|
|
75
|
+
inner_loop: <true|false>
|
|
76
|
+
|
|
77
|
+
## Progress Milestones
|
|
78
|
+
session_id: <session-id>
|
|
79
|
+
Report progress via team_msg at natural phase boundaries (context loaded -> core work done -> verification).
|
|
80
|
+
Report blockers immediately via team_msg type="blocker".
|
|
81
|
+
Report completion via team_msg type="task_complete" after final SendMessage.
|
|
82
|
+
|
|
83
|
+
Read role_spec file (@<skill_root>/roles/<role>/role.md) to load Phase 2-4 domain instructions.
|
|
84
|
+
Execute built-in Phase 1 (task discovery) -> role Phase 2-4 -> built-in Phase 5 (report).`
|
|
85
|
+
})
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## User Commands
|
|
89
|
+
|
|
90
|
+
| Command | Action |
|
|
91
|
+
|---------|--------|
|
|
92
|
+
| `check` / `status` | View pipeline status graph |
|
|
93
|
+
| `resume` / `continue` | Advance to next step |
|
|
94
|
+
| `revise <TASK-ID>` | Revise specific task |
|
|
95
|
+
| `feedback <text>` | Inject feedback for revision |
|
|
96
|
+
|
|
97
|
+
## Completion Action
|
|
98
|
+
|
|
99
|
+
When pipeline completes, coordinator presents:
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
AskUserQuestion({
|
|
103
|
+
questions: [{
|
|
104
|
+
question: "Testing pipeline complete. What would you like to do?",
|
|
105
|
+
header: "Completion",
|
|
106
|
+
multiSelect: false,
|
|
107
|
+
options: [
|
|
108
|
+
{ label: "Archive & Clean (Recommended)", description: "Archive session, clean up team" },
|
|
109
|
+
{ label: "Keep Active", description: "Keep session for follow-up work" },
|
|
110
|
+
{ label: "Deepen Coverage", description: "Add more test layers or increase coverage targets" }
|
|
111
|
+
]
|
|
112
|
+
}]
|
|
113
|
+
})
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## Session Directory
|
|
117
|
+
|
|
118
|
+
```
|
|
119
|
+
.workflow/.team/TST-<slug>-<date>/
|
|
120
|
+
├── .msg/messages.jsonl # Team message bus
|
|
121
|
+
├── .msg/meta.json # Session metadata
|
|
122
|
+
├── wisdom/ # Cross-task knowledge
|
|
123
|
+
├── strategy/ # Strategist output
|
|
124
|
+
├── tests/ # Generator output (L1-unit/, L2-integration/, L3-e2e/)
|
|
125
|
+
├── results/ # Executor output
|
|
126
|
+
└── analysis/ # Analyst output
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Specs Reference
|
|
130
|
+
|
|
131
|
+
- [specs/pipelines.md](specs/pipelines.md) — Pipeline definitions and task registry
|
|
132
|
+
- [specs/team-config.json](specs/team-config.json) — Team configuration
|
|
133
|
+
|
|
134
|
+
## Error Handling
|
|
135
|
+
|
|
136
|
+
| Scenario | Resolution |
|
|
137
|
+
|----------|------------|
|
|
138
|
+
| Unknown --role value | Error with available role list |
|
|
139
|
+
| Role not found | Error with expected path (roles/<name>/role.md) |
|
|
140
|
+
| CLI tool fails | Worker fallback to direct implementation |
|
|
141
|
+
| GC loop exceeded | Accept current coverage with warning |
|
|
142
|
+
| Fast-advance conflict | Coordinator reconciles on next callback |
|
|
143
|
+
| Completion action fails | Default to Keep Active |
|
|
@@ -1,99 +1,99 @@
|
|
|
1
|
-
---
|
|
2
|
-
role: executor
|
|
3
|
-
prefix: TESTRUN
|
|
4
|
-
inner_loop: true
|
|
5
|
-
message_types:
|
|
6
|
-
success: tests_passed
|
|
7
|
-
failure: tests_failed
|
|
8
|
-
coverage: coverage_report
|
|
9
|
-
error: error
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
# Test Executor
|
|
13
|
-
|
|
14
|
-
Execute tests, collect coverage, attempt auto-fix for failures. Acts as the Critic in the Generator-Critic loop. Reports pass rate and coverage for coordinator GC decisions.
|
|
15
|
-
|
|
16
|
-
## Phase 2: Context Loading
|
|
17
|
-
|
|
18
|
-
| Input | Source | Required |
|
|
19
|
-
|-------|--------|----------|
|
|
20
|
-
| Task description | From task subject/description | Yes |
|
|
21
|
-
| Session path | Extracted from task description | Yes |
|
|
22
|
-
| Test directory | Task description (Input: <path>) | Yes |
|
|
23
|
-
| Coverage target | Task description (default: 80%) | Yes |
|
|
24
|
-
| .msg/meta.json | <session>/wisdom/.msg/meta.json | No |
|
|
25
|
-
|
|
26
|
-
1. Extract session path and test directory from task description
|
|
27
|
-
2. Load test specs: Run `ccw spec load --category test` for test framework conventions and coverage targets
|
|
28
|
-
3. Extract coverage target (default: 80%)
|
|
29
|
-
3. Read .msg/meta.json for framework info (from strategist namespace)
|
|
30
|
-
4. Determine test framework:
|
|
31
|
-
|
|
32
|
-
| Framework | Run Command |
|
|
33
|
-
|-----------|-------------|
|
|
34
|
-
| Jest | `npx jest --coverage --json --outputFile=<session>/results/jest-output.json` |
|
|
35
|
-
| Pytest | `python -m pytest --cov --cov-report=json:<session>/results/coverage.json -v` |
|
|
36
|
-
| Vitest | `npx vitest run --coverage --reporter=json` |
|
|
37
|
-
|
|
38
|
-
5. Find test files to execute:
|
|
39
|
-
|
|
40
|
-
```
|
|
41
|
-
Glob("<session>/<test-dir>/**/*")
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
## Phase 3: Test Execution + Fix Cycle
|
|
45
|
-
|
|
46
|
-
**Iterative test-fix cycle** (max 3 iterations):
|
|
47
|
-
|
|
48
|
-
| Step | Action |
|
|
49
|
-
|------|--------|
|
|
50
|
-
| 1 | Run test command |
|
|
51
|
-
| 2 | Parse results: pass rate + coverage |
|
|
52
|
-
| 3 | pass_rate >= 0.95 AND coverage >= target -> success, exit |
|
|
53
|
-
| 4 | Extract failing test details |
|
|
54
|
-
| 5 | Delegate fix to CLI tool (gemini write mode) |
|
|
55
|
-
| 6 | Increment iteration; >= 3 -> exit with failures |
|
|
56
|
-
|
|
57
|
-
```
|
|
58
|
-
Bash("<test-command> 2>&1 || true")
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
**Auto-fix delegation** (on failure):
|
|
62
|
-
|
|
63
|
-
```
|
|
64
|
-
Bash({
|
|
65
|
-
command: `maestro
|
|
66
|
-
TASK: • Analyze test failure output • Identify root causes • Fix test code only (not source) • Preserve test intent
|
|
67
|
-
MODE: write
|
|
68
|
-
CONTEXT: @<session>/<test-dir>/**/* | Memory: Test framework: <framework>, iteration <N>/3
|
|
69
|
-
EXPECTED: Fixed test files with: corrected assertions, proper async handling, fixed imports, maintained coverage
|
|
70
|
-
CONSTRAINTS: Only modify test files | Preserve test structure | No source code changes
|
|
71
|
-
Test failures:
|
|
72
|
-
<test-output>" --tool gemini --mode write --cd <session>`,
|
|
73
|
-
run_in_background: false
|
|
74
|
-
})
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
**Save results**: `<session>/results/run-<N>.json`
|
|
78
|
-
|
|
79
|
-
## Phase 4: Defect Pattern Extraction & State Update
|
|
80
|
-
|
|
81
|
-
**Extract defect patterns from failures**:
|
|
82
|
-
|
|
83
|
-
| Pattern Type | Detection Keywords |
|
|
84
|
-
|--------------|-------------------|
|
|
85
|
-
| Null reference | "null", "undefined", "Cannot read property" |
|
|
86
|
-
| Async timing | "timeout", "async", "await", "promise" |
|
|
87
|
-
| Import errors | "Cannot find module", "import" |
|
|
88
|
-
| Type mismatches | "type", "expected", "received" |
|
|
89
|
-
|
|
90
|
-
**Record effective test patterns** (if pass_rate > 0.8):
|
|
91
|
-
|
|
92
|
-
| Pattern | Detection |
|
|
93
|
-
|---------|-----------|
|
|
94
|
-
| Happy path | "should succeed", "valid input" |
|
|
95
|
-
| Edge cases | "edge", "boundary", "limit" |
|
|
96
|
-
| Error handling | "should fail", "error", "throw" |
|
|
97
|
-
|
|
98
|
-
Update `<session>/wisdom/.msg/meta.json` under `executor` namespace:
|
|
99
|
-
- Merge `{ "executor": { pass_rate, coverage, defect_patterns, effective_patterns, coverage_history_entry } }`
|
|
1
|
+
---
|
|
2
|
+
role: executor
|
|
3
|
+
prefix: TESTRUN
|
|
4
|
+
inner_loop: true
|
|
5
|
+
message_types:
|
|
6
|
+
success: tests_passed
|
|
7
|
+
failure: tests_failed
|
|
8
|
+
coverage: coverage_report
|
|
9
|
+
error: error
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Test Executor
|
|
13
|
+
|
|
14
|
+
Execute tests, collect coverage, attempt auto-fix for failures. Acts as the Critic in the Generator-Critic loop. Reports pass rate and coverage for coordinator GC decisions.
|
|
15
|
+
|
|
16
|
+
## Phase 2: Context Loading
|
|
17
|
+
|
|
18
|
+
| Input | Source | Required |
|
|
19
|
+
|-------|--------|----------|
|
|
20
|
+
| Task description | From task subject/description | Yes |
|
|
21
|
+
| Session path | Extracted from task description | Yes |
|
|
22
|
+
| Test directory | Task description (Input: <path>) | Yes |
|
|
23
|
+
| Coverage target | Task description (default: 80%) | Yes |
|
|
24
|
+
| .msg/meta.json | <session>/wisdom/.msg/meta.json | No |
|
|
25
|
+
|
|
26
|
+
1. Extract session path and test directory from task description
|
|
27
|
+
2. Load test specs: Run `ccw spec load --category test` for test framework conventions and coverage targets
|
|
28
|
+
3. Extract coverage target (default: 80%)
|
|
29
|
+
3. Read .msg/meta.json for framework info (from strategist namespace)
|
|
30
|
+
4. Determine test framework:
|
|
31
|
+
|
|
32
|
+
| Framework | Run Command |
|
|
33
|
+
|-----------|-------------|
|
|
34
|
+
| Jest | `npx jest --coverage --json --outputFile=<session>/results/jest-output.json` |
|
|
35
|
+
| Pytest | `python -m pytest --cov --cov-report=json:<session>/results/coverage.json -v` |
|
|
36
|
+
| Vitest | `npx vitest run --coverage --reporter=json` |
|
|
37
|
+
|
|
38
|
+
5. Find test files to execute:
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
Glob("<session>/<test-dir>/**/*")
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Phase 3: Test Execution + Fix Cycle
|
|
45
|
+
|
|
46
|
+
**Iterative test-fix cycle** (max 3 iterations):
|
|
47
|
+
|
|
48
|
+
| Step | Action |
|
|
49
|
+
|------|--------|
|
|
50
|
+
| 1 | Run test command |
|
|
51
|
+
| 2 | Parse results: pass rate + coverage |
|
|
52
|
+
| 3 | pass_rate >= 0.95 AND coverage >= target -> success, exit |
|
|
53
|
+
| 4 | Extract failing test details |
|
|
54
|
+
| 5 | Delegate fix to CLI tool (gemini write mode) |
|
|
55
|
+
| 6 | Increment iteration; >= 3 -> exit with failures |
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
Bash("<test-command> 2>&1 || true")
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
**Auto-fix delegation** (on failure):
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
Bash({
|
|
65
|
+
command: `maestro delegate "PURPOSE: Fix test failures to achieve pass rate >= 0.95; success = all tests pass
|
|
66
|
+
TASK: • Analyze test failure output • Identify root causes • Fix test code only (not source) • Preserve test intent
|
|
67
|
+
MODE: write
|
|
68
|
+
CONTEXT: @<session>/<test-dir>/**/* | Memory: Test framework: <framework>, iteration <N>/3
|
|
69
|
+
EXPECTED: Fixed test files with: corrected assertions, proper async handling, fixed imports, maintained coverage
|
|
70
|
+
CONSTRAINTS: Only modify test files | Preserve test structure | No source code changes
|
|
71
|
+
Test failures:
|
|
72
|
+
<test-output>" --tool gemini --mode write --cd <session>`,
|
|
73
|
+
run_in_background: false
|
|
74
|
+
})
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
**Save results**: `<session>/results/run-<N>.json`
|
|
78
|
+
|
|
79
|
+
## Phase 4: Defect Pattern Extraction & State Update
|
|
80
|
+
|
|
81
|
+
**Extract defect patterns from failures**:
|
|
82
|
+
|
|
83
|
+
| Pattern Type | Detection Keywords |
|
|
84
|
+
|--------------|-------------------|
|
|
85
|
+
| Null reference | "null", "undefined", "Cannot read property" |
|
|
86
|
+
| Async timing | "timeout", "async", "await", "promise" |
|
|
87
|
+
| Import errors | "Cannot find module", "import" |
|
|
88
|
+
| Type mismatches | "type", "expected", "received" |
|
|
89
|
+
|
|
90
|
+
**Record effective test patterns** (if pass_rate > 0.8):
|
|
91
|
+
|
|
92
|
+
| Pattern | Detection |
|
|
93
|
+
|---------|-----------|
|
|
94
|
+
| Happy path | "should succeed", "valid input" |
|
|
95
|
+
| Edge cases | "edge", "boundary", "limit" |
|
|
96
|
+
| Error handling | "should fail", "error", "throw" |
|
|
97
|
+
|
|
98
|
+
Update `<session>/wisdom/.msg/meta.json` under `executor` namespace:
|
|
99
|
+
- Merge `{ "executor": { pass_rate, coverage, defect_patterns, effective_patterns, coverage_history_entry } }`
|