claude-code-workflow 7.2.27 → 7.2.29
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/.ccw/specs/architecture-constraints.md +5 -0
- package/.claude/skills/_shared/SKILL-DESIGN-SPEC.md +140 -0
- package/.claude/skills/investigate/SKILL.md +110 -0
- package/.claude/skills/investigate/phases/01-root-cause-investigation.md +132 -0
- package/.claude/skills/investigate/phases/02-pattern-analysis.md +126 -0
- package/.claude/skills/investigate/phases/03-hypothesis-testing.md +177 -0
- package/.claude/skills/investigate/phases/04-implementation.md +139 -0
- package/.claude/skills/investigate/phases/05-verification-report.md +153 -0
- package/.claude/skills/investigate/specs/debug-report-format.md +226 -0
- package/.claude/skills/investigate/specs/iron-law.md +101 -0
- package/.claude/skills/security-audit/SKILL.md +125 -0
- package/.claude/skills/security-audit/phases/01-supply-chain-scan.md +139 -0
- package/.claude/skills/security-audit/phases/02-owasp-review.md +156 -0
- package/.claude/skills/security-audit/phases/03-threat-modeling.md +180 -0
- package/.claude/skills/security-audit/phases/04-report-tracking.md +177 -0
- package/.claude/skills/security-audit/specs/owasp-checklist.md +442 -0
- package/.claude/skills/security-audit/specs/scoring-gates.md +141 -0
- package/.claude/skills/ship/SKILL.md +105 -0
- package/.claude/skills/ship/phases/01-preflight-checks.md +121 -0
- package/.claude/skills/ship/phases/02-code-review.md +137 -0
- package/.claude/skills/ship/phases/03-version-bump.md +171 -0
- package/.claude/skills/ship/phases/04-changelog-commit.md +167 -0
- package/.claude/skills/ship/phases/05-pr-creation.md +163 -0
- package/.claude/skills/skill-generator/templates/sequential-phase.md +10 -0
- package/.claude/skills/skill-generator/templates/skill-md.md +4 -0
- package/.claude/skills/team-interactive-craft/SKILL.md +127 -0
- package/.claude/skills/team-interactive-craft/roles/a11y-tester/role.md +159 -0
- package/.claude/skills/team-interactive-craft/roles/builder/role.md +216 -0
- package/.claude/skills/team-interactive-craft/roles/coordinator/commands/analyze.md +71 -0
- package/.claude/skills/team-interactive-craft/roles/coordinator/commands/dispatch.md +192 -0
- package/.claude/skills/team-interactive-craft/roles/coordinator/commands/monitor.md +183 -0
- package/.claude/skills/team-interactive-craft/roles/coordinator/role.md +166 -0
- package/.claude/skills/team-interactive-craft/roles/interaction-designer/role.md +144 -0
- package/.claude/skills/team-interactive-craft/roles/researcher/role.md +131 -0
- package/.claude/skills/team-interactive-craft/specs/interaction-patterns.md +362 -0
- package/.claude/skills/team-interactive-craft/specs/pipelines.md +85 -0
- package/.claude/skills/team-interactive-craft/specs/team-config.json +105 -0
- package/.claude/skills/team-interactive-craft/specs/vanilla-constraints.md +83 -0
- package/.claude/skills/team-motion-design/SKILL.md +129 -0
- package/.claude/skills/team-motion-design/roles/animator/role.md +194 -0
- package/.claude/skills/team-motion-design/roles/choreographer/role.md +164 -0
- package/.claude/skills/team-motion-design/roles/coordinator/commands/analyze.md +64 -0
- package/.claude/skills/team-motion-design/roles/coordinator/commands/dispatch.md +203 -0
- package/.claude/skills/team-motion-design/roles/coordinator/commands/monitor.md +184 -0
- package/.claude/skills/team-motion-design/roles/coordinator/role.md +167 -0
- package/.claude/skills/team-motion-design/roles/motion-researcher/role.md +115 -0
- package/.claude/skills/team-motion-design/roles/motion-tester/role.md +175 -0
- package/.claude/skills/team-motion-design/specs/gpu-constraints.md +114 -0
- package/.claude/skills/team-motion-design/specs/motion-tokens.md +128 -0
- package/.claude/skills/team-motion-design/specs/pipelines.md +74 -0
- package/.claude/skills/team-motion-design/specs/reduced-motion.md +129 -0
- package/.claude/skills/team-motion-design/specs/team-config.json +99 -0
- package/.claude/skills/team-ui-polish/SKILL.md +127 -0
- package/.claude/skills/team-ui-polish/roles/coordinator/commands/analyze.md +77 -0
- package/.claude/skills/team-ui-polish/roles/coordinator/commands/dispatch.md +194 -0
- package/.claude/skills/team-ui-polish/roles/coordinator/commands/monitor.md +180 -0
- package/.claude/skills/team-ui-polish/roles/coordinator/role.md +170 -0
- package/.claude/skills/team-ui-polish/roles/diagnostician/role.md +160 -0
- package/.claude/skills/team-ui-polish/roles/optimizer/role.md +225 -0
- package/.claude/skills/team-ui-polish/roles/scanner/role.md +356 -0
- package/.claude/skills/team-ui-polish/roles/verifier/role.md +142 -0
- package/.claude/skills/team-ui-polish/specs/anti-patterns.md +141 -0
- package/.claude/skills/team-ui-polish/specs/design-standards.md +356 -0
- package/.claude/skills/team-ui-polish/specs/fix-strategies.md +235 -0
- package/.claude/skills/team-ui-polish/specs/pipelines.md +81 -0
- package/.claude/skills/team-ui-polish/specs/scoring-guide.md +162 -0
- package/.claude/skills/team-ui-polish/specs/team-config.json +73 -0
- package/.claude/skills/team-uidesign/SKILL.md +6 -1
- package/.claude/skills/team-uidesign/roles/designer/role.md +28 -4
- package/.claude/skills/team-uidesign/roles/implementer/role.md +25 -3
- package/.claude/skills/team-uidesign/roles/researcher/role.md +21 -2
- package/.claude/skills/team-uidesign/roles/reviewer/role.md +19 -17
- package/.claude/skills/team-uidesign/specs/anti-patterns.md +211 -0
- package/.claude/skills/team-uidesign/specs/design-standards.md +329 -0
- package/.claude/skills/team-uidesign/specs/scoring-guide.md +114 -0
- package/.claude/skills/team-uidesign/specs/team-config.json +1 -1
- package/.claude/skills/team-uidesign/specs/ux-writing.md +86 -0
- package/.claude/skills/team-ux-improve/SKILL.md +3 -0
- package/.claude/skills/team-ux-improve/roles/designer/role.md +30 -0
- package/.claude/skills/team-ux-improve/roles/diagnoser/role.md +16 -1
- package/.claude/skills/team-ux-improve/roles/scanner/role.md +43 -1
- package/.claude/skills/team-ux-improve/specs/anti-patterns.md +103 -0
- package/.claude/skills/team-ux-improve/specs/design-standards.md +54 -0
- package/.claude/skills/team-ux-improve/specs/heuristics.md +88 -0
- package/.claude/skills/team-ux-improve/wisdom/anti-patterns/common-ux-pitfalls.md +40 -8
- package/.claude/skills/team-ux-improve/wisdom/patterns/state-management.md +32 -12
- package/.claude/skills/team-ux-improve/wisdom/patterns/ui-feedback.md +35 -11
- package/.claude/skills/team-ux-improve/wisdom/principles/general-ux.md +36 -9
- package/.claude/skills/team-visual-a11y/SKILL.md +143 -0
- package/.claude/skills/team-visual-a11y/roles/color-auditor/role.md +178 -0
- package/.claude/skills/team-visual-a11y/roles/coordinator/commands/analyze.md +72 -0
- package/.claude/skills/team-visual-a11y/roles/coordinator/commands/dispatch.md +250 -0
- package/.claude/skills/team-visual-a11y/roles/coordinator/commands/monitor.md +204 -0
- package/.claude/skills/team-visual-a11y/roles/coordinator/role.md +169 -0
- package/.claude/skills/team-visual-a11y/roles/fix-implementer/role.md +246 -0
- package/.claude/skills/team-visual-a11y/roles/focus-auditor/role.md +222 -0
- package/.claude/skills/team-visual-a11y/roles/remediation-planner/role.md +206 -0
- package/.claude/skills/team-visual-a11y/roles/typo-auditor/role.md +185 -0
- package/.claude/skills/team-visual-a11y/specs/focus-patterns.md +325 -0
- package/.claude/skills/team-visual-a11y/specs/oklch-standards.md +130 -0
- package/.claude/skills/team-visual-a11y/specs/pipelines.md +98 -0
- package/.claude/skills/team-visual-a11y/specs/team-config.json +109 -0
- package/.claude/skills/team-visual-a11y/specs/typography-scale.md +165 -0
- package/.claude/skills/team-visual-a11y/specs/wcag-matrix.md +133 -0
- package/.codex/skills/brainstorm/SKILL.md +3 -3
- package/.codex/skills/clean/SKILL.md +3 -3
- package/.codex/skills/investigate/agents/investigator.md +392 -0
- package/.codex/skills/investigate/orchestrator.md +362 -0
- package/.codex/skills/investigate/phases/01-root-cause-investigation.md +212 -0
- package/.codex/skills/investigate/phases/02-pattern-analysis.md +181 -0
- package/.codex/skills/investigate/phases/03-hypothesis-testing.md +214 -0
- package/.codex/skills/investigate/phases/04-implementation.md +195 -0
- package/.codex/skills/investigate/phases/05-verification-report.md +240 -0
- package/.codex/skills/issue-discover/SKILL.md +13 -13
- package/.codex/skills/issue-discover/phases/02-discover.md +4 -4
- package/.codex/skills/issue-discover/phases/03-discover-by-prompt.md +3 -3
- package/.codex/skills/parallel-dev-cycle/SKILL.md +4 -4
- package/.codex/skills/parallel-dev-cycle/phases/02-agent-execution.md +6 -6
- package/.codex/skills/parallel-dev-cycle/phases/03-result-aggregation.md +10 -10
- package/.codex/skills/review-cycle/SKILL.md +10 -10
- package/.codex/skills/review-cycle/phases/02-parallel-review.md +6 -6
- package/.codex/skills/review-cycle/phases/04-iterative-deep-dive.md +4 -4
- package/.codex/skills/review-cycle/phases/07-fix-parallel-planning.md +4 -4
- package/.codex/skills/review-cycle/phases/08-fix-execution.md +2 -2
- package/.codex/skills/roadmap-with-file/SKILL.md +14 -14
- package/.codex/skills/security-audit/agents/security-auditor.md +341 -0
- package/.codex/skills/security-audit/orchestrator.md +384 -0
- package/.codex/skills/security-audit/phases/01-supply-chain-scan.md +226 -0
- package/.codex/skills/security-audit/phases/02-owasp-review.md +232 -0
- package/.codex/skills/security-audit/phases/03-threat-modeling.md +249 -0
- package/.codex/skills/security-audit/phases/04-report-tracking.md +300 -0
- package/.codex/skills/ship/agents/ship-operator.md +318 -0
- package/.codex/skills/ship/orchestrator.md +426 -0
- package/.codex/skills/ship/phases/01-preflight-checks.md +198 -0
- package/.codex/skills/ship/phases/02-code-review.md +228 -0
- package/.codex/skills/ship/phases/03-version-bump.md +259 -0
- package/.codex/skills/ship/phases/04-changelog-commit.md +263 -0
- package/.codex/skills/ship/phases/05-pr-creation.md +280 -0
- package/.codex/skills/spec-generator/README.md +1 -1
- package/.codex/skills/spec-generator/SKILL.md +184 -88
- package/.codex/skills/spec-generator/phases/01-5-requirement-clarification.md +4 -7
- package/.codex/skills/spec-generator/phases/01-discovery.md +30 -11
- package/.codex/skills/spec-generator/phases/02-product-brief.md +2 -5
- package/.codex/skills/spec-generator/phases/03-requirements.md +4 -6
- package/.codex/skills/spec-generator/phases/04-architecture.md +4 -6
- package/.codex/skills/spec-generator/phases/05-epics-stories.md +4 -6
- package/.codex/skills/spec-generator/phases/06-5-auto-fix.md +4 -5
- package/.codex/skills/spec-generator/phases/06-readiness-check.md +8 -8
- package/.codex/skills/spec-generator/phases/07-issue-export.md +2 -2
- package/.codex/skills/spec-setup/SKILL.md +4 -4
- package/.codex/skills/team-interactive-craft/SKILL.md +220 -0
- package/.codex/skills/team-interactive-craft/roles/a11y-tester/role.md +159 -0
- package/.codex/skills/team-interactive-craft/roles/builder/role.md +216 -0
- package/.codex/skills/team-interactive-craft/roles/coordinator/commands/analyze.md +71 -0
- package/.codex/skills/team-interactive-craft/roles/coordinator/commands/dispatch.md +162 -0
- package/.codex/skills/team-interactive-craft/roles/coordinator/commands/monitor.md +233 -0
- package/.codex/skills/team-interactive-craft/roles/coordinator/role.md +209 -0
- package/.codex/skills/team-interactive-craft/roles/interaction-designer/role.md +144 -0
- package/.codex/skills/team-interactive-craft/roles/researcher/role.md +131 -0
- package/.codex/skills/team-interactive-craft/specs/interaction-patterns.md +362 -0
- package/.codex/skills/team-interactive-craft/specs/pipelines.md +85 -0
- package/.codex/skills/team-interactive-craft/specs/team-config.json +105 -0
- package/.codex/skills/team-interactive-craft/specs/vanilla-constraints.md +83 -0
- package/.codex/skills/team-motion-design/SKILL.md +222 -0
- package/.codex/skills/team-motion-design/roles/animator/role.md +194 -0
- package/.codex/skills/team-motion-design/roles/choreographer/role.md +164 -0
- package/.codex/skills/team-motion-design/roles/coordinator/commands/analyze.md +64 -0
- package/.codex/skills/team-motion-design/roles/coordinator/commands/dispatch.md +168 -0
- package/.codex/skills/team-motion-design/roles/coordinator/commands/monitor.md +242 -0
- package/.codex/skills/team-motion-design/roles/coordinator/role.md +210 -0
- package/.codex/skills/team-motion-design/roles/motion-researcher/role.md +115 -0
- package/.codex/skills/team-motion-design/roles/motion-tester/role.md +175 -0
- package/.codex/skills/team-motion-design/specs/gpu-constraints.md +114 -0
- package/.codex/skills/team-motion-design/specs/motion-tokens.md +128 -0
- package/.codex/skills/team-motion-design/specs/pipelines.md +74 -0
- package/.codex/skills/team-motion-design/specs/reduced-motion.md +129 -0
- package/.codex/skills/team-motion-design/specs/team-config.json +99 -0
- package/.codex/skills/team-ui-polish/SKILL.md +218 -0
- package/.codex/skills/team-ui-polish/roles/coordinator/commands/analyze.md +77 -0
- package/.codex/skills/team-ui-polish/roles/coordinator/commands/dispatch.md +167 -0
- package/.codex/skills/team-ui-polish/roles/coordinator/commands/monitor.md +230 -0
- package/.codex/skills/team-ui-polish/roles/coordinator/role.md +213 -0
- package/.codex/skills/team-ui-polish/roles/diagnostician/role.md +164 -0
- package/.codex/skills/team-ui-polish/roles/optimizer/role.md +229 -0
- package/.codex/skills/team-ui-polish/roles/scanner/role.md +360 -0
- package/.codex/skills/team-ui-polish/roles/verifier/role.md +142 -0
- package/.codex/skills/team-ui-polish/specs/anti-patterns.md +141 -0
- package/.codex/skills/team-ui-polish/specs/design-standards.md +356 -0
- package/.codex/skills/team-ui-polish/specs/fix-strategies.md +235 -0
- package/.codex/skills/team-ui-polish/specs/pipelines.md +81 -0
- package/.codex/skills/team-ui-polish/specs/scoring-guide.md +162 -0
- package/.codex/skills/team-ui-polish/specs/team-config.json +73 -0
- package/.codex/skills/team-visual-a11y/SKILL.md +319 -0
- package/.codex/skills/team-visual-a11y/roles/color-auditor/role.md +178 -0
- package/.codex/skills/team-visual-a11y/roles/coordinator/commands/analyze.md +72 -0
- package/.codex/skills/team-visual-a11y/roles/coordinator/commands/dispatch.md +188 -0
- package/.codex/skills/team-visual-a11y/roles/coordinator/commands/monitor.md +281 -0
- package/.codex/skills/team-visual-a11y/roles/coordinator/role.md +213 -0
- package/.codex/skills/team-visual-a11y/roles/fix-implementer/role.md +246 -0
- package/.codex/skills/team-visual-a11y/roles/focus-auditor/role.md +222 -0
- package/.codex/skills/team-visual-a11y/roles/remediation-planner/role.md +206 -0
- package/.codex/skills/team-visual-a11y/roles/typo-auditor/role.md +185 -0
- package/.codex/skills/team-visual-a11y/specs/focus-patterns.md +325 -0
- package/.codex/skills/team-visual-a11y/specs/oklch-standards.md +130 -0
- package/.codex/skills/team-visual-a11y/specs/pipelines.md +98 -0
- package/.codex/skills/team-visual-a11y/specs/team-config.json +109 -0
- package/.codex/skills/team-visual-a11y/specs/typography-scale.md +165 -0
- package/.codex/skills/team-visual-a11y/specs/wcag-matrix.md +133 -0
- package/.codex/skills/workflow-plan/SKILL.md +6 -6
- package/.codex/skills/workflow-tdd-plan/SKILL.md +5 -5
- package/.codex/skills/workflow-test-fix-cycle/SKILL.md +19 -19
- package/.codex/skills/workflow-test-fix-cycle/phases/01-test-fix-gen.md +5 -5
- package/.codex/skills/workflow-test-fix-cycle/phases/02-test-cycle-execute.md +5 -5
- package/README.md +8 -0
- package/ccw/dist/core/hooks/hook-templates.d.ts.map +1 -1
- package/ccw/dist/core/hooks/hook-templates.js +114 -1
- package/ccw/dist/core/hooks/hook-templates.js.map +1 -1
- package/ccw/dist/core/routes/cli-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/cli-routes.js +34 -0
- package/ccw/dist/core/routes/cli-routes.js.map +1 -1
- package/ccw/dist/core/routes/system-routes.js +2 -2
- package/ccw/dist/core/routes/system-routes.js.map +1 -1
- package/ccw/frontend/dist/assets/{AlertDialog-Bf1jdqax.js → AlertDialog-exlTDW81.js} +3 -3
- package/ccw/frontend/dist/assets/{AlertDialog-Bf1jdqax.js.map → AlertDialog-exlTDW81.js.map} +1 -1
- package/ccw/frontend/dist/assets/{AnalysisPage-C8niKdp4.js → AnalysisPage-cgV9LfAI.js} +2 -2
- package/ccw/frontend/dist/assets/{AnalysisPage-C8niKdp4.js.map → AnalysisPage-cgV9LfAI.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ApiSettingsPage-BL2c3UNS.js → ApiSettingsPage-Dk5jJdWt.js} +2 -2
- package/ccw/frontend/dist/assets/{ApiSettingsPage-BL2c3UNS.js.map → ApiSettingsPage-Dk5jJdWt.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CliModeToggle-BePBFynD.js → CliModeToggle-Be9xsPiv.js} +2 -2
- package/ccw/frontend/dist/assets/{CliModeToggle-BePBFynD.js.map → CliModeToggle-Be9xsPiv.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CliSessionSharePage-7cYtX6FT.js → CliSessionSharePage-Bh9jBtPI.js} +2 -2
- package/ccw/frontend/dist/assets/{CliSessionSharePage-7cYtX6FT.js.map → CliSessionSharePage-Bh9jBtPI.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CliViewerPage-CBwg1mPL.js → CliViewerPage-BrE-oyEq.js} +2 -2
- package/ccw/frontend/dist/assets/{CliViewerPage-CBwg1mPL.js.map → CliViewerPage-BrE-oyEq.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CodexLensPage-Bt74xORP.js → CodexLensPage-Cd3nrC93.js} +2 -2
- package/ccw/frontend/dist/assets/{CodexLensPage-Bt74xORP.js.map → CodexLensPage-Cd3nrC93.js.map} +1 -1
- package/ccw/frontend/dist/assets/{Collapsible-Wrs87QT7.js → Collapsible-DXFl3VKF.js} +2 -2
- package/ccw/frontend/dist/assets/{Collapsible-Wrs87QT7.js.map → Collapsible-DXFl3VKF.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CommandsManagerPage-ChQjmPWZ.js → CommandsManagerPage-IV8zpjgX.js} +2 -2
- package/ccw/frontend/dist/assets/{CommandsManagerPage-ChQjmPWZ.js.map → CommandsManagerPage-IV8zpjgX.js.map} +1 -1
- package/ccw/frontend/dist/assets/{DeepWikiPage-dEO5wi6X.js → DeepWikiPage-CpDxtmRX.js} +2 -2
- package/ccw/frontend/dist/assets/{DeepWikiPage-dEO5wi6X.js.map → DeepWikiPage-CpDxtmRX.js.map} +1 -1
- package/ccw/frontend/dist/assets/{EndpointsPage-4zq269xY.js → EndpointsPage-BchjWe7s.js} +2 -2
- package/ccw/frontend/dist/assets/{EndpointsPage-4zq269xY.js.map → EndpointsPage-BchjWe7s.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ExplorerPage-B0YTENhA.js → ExplorerPage-CbWvaJ0y.js} +2 -2
- package/ccw/frontend/dist/assets/{ExplorerPage-B0YTENhA.js.map → ExplorerPage-CbWvaJ0y.js.map} +1 -1
- package/ccw/frontend/dist/assets/{FixSessionPage-CwGs6dhz.js → FixSessionPage-YMjVRiCk.js} +2 -2
- package/ccw/frontend/dist/assets/{FixSessionPage-CwGs6dhz.js.map → FixSessionPage-YMjVRiCk.js.map} +1 -1
- package/ccw/frontend/dist/assets/{FloatingFileBrowser-COZRBslc.js → FloatingFileBrowser-JW2ehYY_.js} +2 -2
- package/ccw/frontend/dist/assets/{FloatingFileBrowser-COZRBslc.js.map → FloatingFileBrowser-JW2ehYY_.js.map} +1 -1
- package/ccw/frontend/dist/assets/{FloatingPanel-DYvgQZRD.js → FloatingPanel-BtqzqDVq.js} +2 -2
- package/ccw/frontend/dist/assets/{FloatingPanel-DYvgQZRD.js.map → FloatingPanel-BtqzqDVq.js.map} +1 -1
- package/ccw/frontend/dist/assets/{GraphExplorerPage-ewMHQGem.js → GraphExplorerPage-BsJL_W4d.js} +3 -3
- package/ccw/frontend/dist/assets/{GraphExplorerPage-ewMHQGem.js.map → GraphExplorerPage-BsJL_W4d.js.map} +1 -1
- package/ccw/frontend/dist/assets/{HistoryPage-BMeR0PrK.js → HistoryPage-BuWpQ7k5.js} +2 -2
- package/ccw/frontend/dist/assets/{HistoryPage-BMeR0PrK.js.map → HistoryPage-BuWpQ7k5.js.map} +1 -1
- package/ccw/frontend/dist/assets/{HookManagerPage-DBW2LnRm.js → HookManagerPage-D0BtMIWy.js} +2 -2
- package/ccw/frontend/dist/assets/{HookManagerPage-DBW2LnRm.js.map → HookManagerPage-D0BtMIWy.js.map} +1 -1
- package/ccw/frontend/dist/assets/{InstallationsPage--pMj0QEH.js → InstallationsPage-C7dwsAKG.js} +2 -2
- package/ccw/frontend/dist/assets/{InstallationsPage--pMj0QEH.js.map → InstallationsPage-C7dwsAKG.js.map} +1 -1
- package/ccw/frontend/dist/assets/{IssueHubPage-C_QMpQSR.js → IssueHubPage-D0nCNaeB.js} +2 -2
- package/ccw/frontend/dist/assets/{IssueHubPage-C_QMpQSR.js.map → IssueHubPage-D0nCNaeB.js.map} +1 -1
- package/ccw/frontend/dist/assets/{LiteTasksPage-CSWFdQ2-.js → LiteTasksPage-B5c2Kb9r.js} +3 -3
- package/ccw/frontend/dist/assets/{LiteTasksPage-CSWFdQ2-.js.map → LiteTasksPage-B5c2Kb9r.js.map} +1 -1
- package/ccw/frontend/dist/assets/{McpManagerPage-Dvv8NtGy.js → McpManagerPage-C-S5CehM.js} +2 -2
- package/ccw/frontend/dist/assets/{McpManagerPage-Dvv8NtGy.js.map → McpManagerPage-C-S5CehM.js.map} +1 -1
- package/ccw/frontend/dist/assets/{MemoryPage-YO8WZzZO.js → MemoryPage-P_B0JVUQ.js} +2 -2
- package/ccw/frontend/dist/assets/{MemoryPage-YO8WZzZO.js.map → MemoryPage-P_B0JVUQ.js.map} +1 -1
- package/ccw/frontend/dist/assets/{NotFoundPage-quUJw0CD.js → NotFoundPage-S4Jn9LUE.js} +2 -2
- package/ccw/frontend/dist/assets/{NotFoundPage-quUJw0CD.js.map → NotFoundPage-S4Jn9LUE.js.map} +1 -1
- package/ccw/frontend/dist/assets/{OrchestratorPage-tuThWPID.js → OrchestratorPage-C2Zlr7AC.js} +2 -2
- package/ccw/frontend/dist/assets/{OrchestratorPage-tuThWPID.js.map → OrchestratorPage-C2Zlr7AC.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ProjectOverviewPage-shTilwiT.js → ProjectOverviewPage-CMVfz8s5.js} +2 -2
- package/ccw/frontend/dist/assets/{ProjectOverviewPage-shTilwiT.js.map → ProjectOverviewPage-CMVfz8s5.js.map} +1 -1
- package/ccw/frontend/dist/assets/{PromptHistoryPage-6rQnsI8l.js → PromptHistoryPage-YEMjFARX.js} +3 -3
- package/ccw/frontend/dist/assets/{PromptHistoryPage-6rQnsI8l.js.map → PromptHistoryPage-YEMjFARX.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ReviewSessionPage-JOmzjVbT.js → ReviewSessionPage-DnTm55nG.js} +2 -2
- package/ccw/frontend/dist/assets/{ReviewSessionPage-JOmzjVbT.js.map → ReviewSessionPage-DnTm55nG.js.map} +1 -1
- package/ccw/frontend/dist/assets/{RulesManagerPage-Cayfywqi.js → RulesManagerPage-CUwebtO2.js} +2 -2
- package/ccw/frontend/dist/assets/{RulesManagerPage-Cayfywqi.js.map → RulesManagerPage-CUwebtO2.js.map} +1 -1
- package/ccw/frontend/dist/assets/{SessionDetailPage-iMn0k84i.js → SessionDetailPage-0qyH1Z5P.js} +2 -2
- package/ccw/frontend/dist/assets/{SessionDetailPage-iMn0k84i.js.map → SessionDetailPage-0qyH1Z5P.js.map} +1 -1
- package/ccw/frontend/dist/assets/{SessionsPage-Ciqjy9kz.js → SessionsPage-BpgP4087.js} +2 -2
- package/ccw/frontend/dist/assets/{SessionsPage-Ciqjy9kz.js.map → SessionsPage-BpgP4087.js.map} +1 -1
- package/ccw/frontend/dist/assets/SettingsPage-C3SJajeT.js +150 -0
- package/ccw/frontend/dist/assets/SettingsPage-C3SJajeT.js.map +1 -0
- package/ccw/frontend/dist/assets/SkillsManagerPage-vD9PTsmy.js +7 -0
- package/ccw/frontend/dist/assets/SkillsManagerPage-vD9PTsmy.js.map +1 -0
- package/ccw/frontend/dist/assets/{SpecsSettingsPage-BpkJctzo.js → SpecsSettingsPage-DT-yTVkD.js} +4 -4
- package/ccw/frontend/dist/assets/{SpecsSettingsPage-BpkJctzo.js.map → SpecsSettingsPage-DT-yTVkD.js.map} +1 -1
- package/ccw/frontend/dist/assets/{Switch-BpB9h__9.js → Switch-CYSPdqWk.js} +2 -2
- package/ccw/frontend/dist/assets/{Switch-BpB9h__9.js.map → Switch-CYSPdqWk.js.map} +1 -1
- package/ccw/frontend/dist/assets/{TabsNavigation-BGsKy7DO.js → TabsNavigation-CPh6Zor1.js} +2 -2
- package/ccw/frontend/dist/assets/{TabsNavigation-BGsKy7DO.js.map → TabsNavigation-CPh6Zor1.js.map} +1 -1
- package/ccw/frontend/dist/assets/{TaskDrawer-bYIlbM0Q.js → TaskDrawer-Ds-8830B.js} +2 -2
- package/ccw/frontend/dist/assets/{TaskDrawer-bYIlbM0Q.js.map → TaskDrawer-Ds-8830B.js.map} +1 -1
- package/ccw/frontend/dist/assets/{TeamPage-CihtQ6LQ.js → TeamPage-CJODUxBk.js} +2 -2
- package/ccw/frontend/dist/assets/{TeamPage-CihtQ6LQ.js.map → TeamPage-CJODUxBk.js.map} +1 -1
- package/ccw/frontend/dist/assets/{TerminalDashboardPage-BDnNF_ud.js → TerminalDashboardPage-Cn3fGUuO.js} +3 -3
- package/ccw/frontend/dist/assets/{TerminalDashboardPage-BDnNF_ud.js.map → TerminalDashboardPage-Cn3fGUuO.js.map} +1 -1
- package/ccw/frontend/dist/assets/{archive-CQJ86bQp.js → archive-CjwVpw6k.js} +2 -2
- package/ccw/frontend/dist/assets/{archive-CQJ86bQp.js.map → archive-CjwVpw6k.js.map} +1 -1
- package/ccw/frontend/dist/assets/{archive-restore-BhTfDbPU.js → archive-restore-2vZa9Ic3.js} +2 -2
- package/ccw/frontend/dist/assets/{archive-restore-BhTfDbPU.js.map → archive-restore-2vZa9Ic3.js.map} +1 -1
- package/ccw/frontend/dist/assets/{arrow-right-eUAZnT9C.js → arrow-right-CUU5XDgT.js} +2 -2
- package/ccw/frontend/dist/assets/{arrow-right-eUAZnT9C.js.map → arrow-right-CUU5XDgT.js.map} +1 -1
- package/ccw/frontend/dist/assets/{bookmark-plus-ilF5-V-k.js → bookmark-plus-Cc3nKRZ5.js} +2 -2
- package/ccw/frontend/dist/assets/{bookmark-plus-ilF5-V-k.js.map → bookmark-plus-Cc3nKRZ5.js.map} +1 -1
- package/ccw/frontend/dist/assets/{bot-BLkaQscs.js → bot-BwpSRDUa.js} +2 -2
- package/ccw/frontend/dist/assets/{bot-BLkaQscs.js.map → bot-BwpSRDUa.js.map} +1 -1
- package/ccw/frontend/dist/assets/{braces-D9HdgsO6.js → braces-DBzUW1XC.js} +2 -2
- package/ccw/frontend/dist/assets/{braces-D9HdgsO6.js.map → braces-DBzUW1XC.js.map} +1 -1
- package/ccw/frontend/dist/assets/{circle-stop-C3ZF1okQ.js → circle-stop-CGNNsjvE.js} +2 -2
- package/ccw/frontend/dist/assets/{circle-stop-C3ZF1okQ.js.map → circle-stop-CGNNsjvE.js.map} +1 -1
- package/ccw/frontend/dist/assets/{cpu-B-QjaSjm.js → cpu-D27G86Ul.js} +2 -2
- package/ccw/frontend/dist/assets/{cpu-B-QjaSjm.js.map → cpu-D27G86Ul.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ellipsis-vertical-CbNlw2gS.js → ellipsis-vertical-C1Ij47Yz.js} +2 -2
- package/ccw/frontend/dist/assets/{ellipsis-vertical-CbNlw2gS.js.map → ellipsis-vertical-C1Ij47Yz.js.map} +1 -1
- package/ccw/frontend/dist/assets/{eye-yAy69Cnn.js → eye-C6MOB7Au.js} +2 -2
- package/ccw/frontend/dist/assets/{eye-yAy69Cnn.js.map → eye-C6MOB7Au.js.map} +1 -1
- package/ccw/frontend/dist/assets/{eye-off-D5uzLZyP.js → eye-off-BxfBlZ26.js} +2 -2
- package/ccw/frontend/dist/assets/{eye-off-D5uzLZyP.js.map → eye-off-BxfBlZ26.js.map} +1 -1
- package/ccw/frontend/dist/assets/{file-json-rwo1NowL.js → file-json-NI237wA-.js} +2 -2
- package/ccw/frontend/dist/assets/{file-json-rwo1NowL.js.map → file-json-NI237wA-.js.map} +1 -1
- package/ccw/frontend/dist/assets/{file-text-DRkrjie9.js → file-text-Byn2_2v6.js} +2 -2
- package/ccw/frontend/dist/assets/{file-text-DRkrjie9.js.map → file-text-Byn2_2v6.js.map} +1 -1
- package/ccw/frontend/dist/assets/{filter-BOe-OTu1.js → filter-D-7PhZjx.js} +2 -2
- package/ccw/frontend/dist/assets/{filter-BOe-OTu1.js.map → filter-D-7PhZjx.js.map} +1 -1
- package/ccw/frontend/dist/assets/{folder-BaWZWn_r.js → folder-BoAsK_FL.js} +2 -2
- package/ccw/frontend/dist/assets/{folder-BaWZWn_r.js.map → folder-BoAsK_FL.js.map} +1 -1
- package/ccw/frontend/dist/assets/{gauge-kazFexTr.js → gauge-DCSxJIS4.js} +2 -2
- package/ccw/frontend/dist/assets/{gauge-kazFexTr.js.map → gauge-DCSxJIS4.js.map} +1 -1
- package/ccw/frontend/dist/assets/{globe-BuHeEjxd.js → globe-CHS3prza.js} +2 -2
- package/ccw/frontend/dist/assets/{globe-BuHeEjxd.js.map → globe-CHS3prza.js.map} +1 -1
- package/ccw/frontend/dist/assets/{grid-3x3-DbhuUu4V.js → grid-3x3-D7K35U7S.js} +2 -2
- package/ccw/frontend/dist/assets/{grid-3x3-DbhuUu4V.js.map → grid-3x3-D7K35U7S.js.map} +1 -1
- package/ccw/frontend/dist/assets/{hard-drive-AoLGL0z4.js → hard-drive-eq9xE07G.js} +2 -2
- package/ccw/frontend/dist/assets/{hard-drive-AoLGL0z4.js.map → hard-drive-eq9xE07G.js.map} +1 -1
- package/ccw/frontend/dist/assets/{hash-Dpo1exMB.js → hash-C1DMpBua.js} +2 -2
- package/ccw/frontend/dist/assets/{hash-Dpo1exMB.js.map → hash-C1DMpBua.js.map} +1 -1
- package/ccw/frontend/dist/assets/{history-ujQnmMC9.js → history-Di5SBCY-.js} +2 -2
- package/ccw/frontend/dist/assets/{history-ujQnmMC9.js.map → history-Di5SBCY-.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-C_Yf5fZ4.js → index--_R7COnA.js} +2 -2
- package/ccw/frontend/dist/assets/{index-C_Yf5fZ4.js.map → index--_R7COnA.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-Dff4bg3u.js → index-BUol9HDD.js} +3 -3
- package/ccw/frontend/dist/assets/{index-Dff4bg3u.js.map → index-BUol9HDD.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-B76AGix5.js → index-CT9oykfw.js} +2 -2
- package/ccw/frontend/dist/assets/{index-B76AGix5.js.map → index-CT9oykfw.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-CxzXz6o1.js → index-Ddwvf87H.js} +2 -2
- package/ccw/frontend/dist/assets/{index-CxzXz6o1.js.map → index-Ddwvf87H.js.map} +1 -1
- package/ccw/frontend/dist/assets/{layout-grid-CBdE4K8h.js → layout-grid-LiX0qZbN.js} +2 -2
- package/ccw/frontend/dist/assets/{layout-grid-CBdE4K8h.js.map → layout-grid-LiX0qZbN.js.map} +1 -1
- package/ccw/frontend/dist/assets/{lightbulb-B9K6ZgRp.js → lightbulb-CL3DVEwb.js} +2 -2
- package/ccw/frontend/dist/assets/{lightbulb-B9K6ZgRp.js.map → lightbulb-CL3DVEwb.js.map} +1 -1
- package/ccw/frontend/dist/assets/{link-2-Oea4xHJl.js → link-2-CC5cFeq6.js} +2 -2
- package/ccw/frontend/dist/assets/{link-2-Oea4xHJl.js.map → link-2-CC5cFeq6.js.map} +1 -1
- package/ccw/frontend/dist/assets/{link-5yXdZBch.js → link-ngFQ9bs0.js} +2 -2
- package/ccw/frontend/dist/assets/{link-5yXdZBch.js.map → link-ngFQ9bs0.js.map} +1 -1
- package/ccw/frontend/dist/assets/{list-9lHhC_U_.js → list-BEU6I0KK.js} +2 -2
- package/ccw/frontend/dist/assets/{list-9lHhC_U_.js.map → list-BEU6I0KK.js.map} +1 -1
- package/ccw/frontend/dist/assets/{map-pin-B6Io5kmB.js → map-pin-BWZdLA6y.js} +2 -2
- package/ccw/frontend/dist/assets/{map-pin-B6Io5kmB.js.map → map-pin-BWZdLA6y.js.map} +1 -1
- package/ccw/frontend/dist/assets/{messages-square-BT000aD3.js → messages-square-K6_Chm7n.js} +2 -2
- package/ccw/frontend/dist/assets/{messages-square-BT000aD3.js.map → messages-square-K6_Chm7n.js.map} +1 -1
- package/ccw/frontend/dist/assets/{minimize-2-DO-zbT3a.js → minimize-2-CWkphauf.js} +2 -2
- package/ccw/frontend/dist/assets/{minimize-2-DO-zbT3a.js.map → minimize-2-CWkphauf.js.map} +1 -1
- package/ccw/frontend/dist/assets/{package-BjOw1ldU.js → package-DrNgkamn.js} +2 -2
- package/ccw/frontend/dist/assets/{package-BjOw1ldU.js.map → package-DrNgkamn.js.map} +1 -1
- package/ccw/frontend/dist/assets/{plug-9dAARpE1.js → plug-CMo3sw5_.js} +2 -2
- package/ccw/frontend/dist/assets/{plug-9dAARpE1.js.map → plug-CMo3sw5_.js.map} +1 -1
- package/ccw/frontend/dist/assets/{power-K2S39x7f.js → power-DppNTW5e.js} +2 -2
- package/ccw/frontend/dist/assets/{power-K2S39x7f.js.map → power-DppNTW5e.js.map} +1 -1
- package/ccw/frontend/dist/assets/{save-D9-CoT3x.js → save-CD8aPMbZ.js} +2 -2
- package/ccw/frontend/dist/assets/{save-D9-CoT3x.js.map → save-CD8aPMbZ.js.map} +1 -1
- package/ccw/frontend/dist/assets/{send-Bunw9NtC.js → send-B4z90fQD.js} +2 -2
- package/ccw/frontend/dist/assets/{send-Bunw9NtC.js.map → send-B4z90fQD.js.map} +1 -1
- package/ccw/frontend/dist/assets/{settings-2-osl4EXFf.js → settings-2-CAKRU_QC.js} +2 -2
- package/ccw/frontend/dist/assets/{settings-2-osl4EXFf.js.map → settings-2-CAKRU_QC.js.map} +1 -1
- package/ccw/frontend/dist/assets/{square-check-big-Dl5gYkjR.js → square-check-big-KhI3HrzX.js} +2 -2
- package/ccw/frontend/dist/assets/{square-check-big-Dl5gYkjR.js.map → square-check-big-KhI3HrzX.js.map} +1 -1
- package/ccw/frontend/dist/assets/{square-pen-Bue1chJR.js → square-pen-BtdGIpuq.js} +2 -2
- package/ccw/frontend/dist/assets/{square-pen-Bue1chJR.js.map → square-pen-BtdGIpuq.js.map} +1 -1
- package/ccw/frontend/dist/assets/{star-Bk7EC7FB.js → star-ZoBUkXoD.js} +2 -2
- package/ccw/frontend/dist/assets/{star-Bk7EC7FB.js.map → star-ZoBUkXoD.js.map} +1 -1
- package/ccw/frontend/dist/assets/{style-BbREPmRj.js → style-CltxQP-P.js} +2 -2
- package/ccw/frontend/dist/assets/{style-BbREPmRj.js.map → style-CltxQP-P.js.map} +1 -1
- package/ccw/frontend/dist/assets/{target-CElrCVhR.js → target-C32OUSGf.js} +2 -2
- package/ccw/frontend/dist/assets/{target-CElrCVhR.js.map → target-C32OUSGf.js.map} +1 -1
- package/ccw/frontend/dist/assets/{test-tube-wciJaoas.js → test-tube-0IxoyAVZ.js} +2 -2
- package/ccw/frontend/dist/assets/{test-tube-wciJaoas.js.map → test-tube-0IxoyAVZ.js.map} +1 -1
- package/ccw/frontend/dist/assets/{upload-BD1F07wG.js → upload-4eKCkyBn.js} +2 -2
- package/ccw/frontend/dist/assets/{upload-BD1F07wG.js.map → upload-4eKCkyBn.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useApiSettings-D23HVEt8.js → useApiSettings-zLTUWqhi.js} +2 -2
- package/ccw/frontend/dist/assets/{useApiSettings-D23HVEt8.js.map → useApiSettings-zLTUWqhi.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useCli-BGDd_lXD.js → useCli-BtN2vpOX.js} +2 -2
- package/ccw/frontend/dist/assets/{useCli-BGDd_lXD.js.map → useCli-BtN2vpOX.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useCommands-B-m_HxPB.js → useCommands-_spj49qL.js} +2 -2
- package/ccw/frontend/dist/assets/{useCommands-B-m_HxPB.js.map → useCommands-_spj49qL.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useDebounce-Z18-PHZr.js → useDebounce-Bm9KFZvd.js} +2 -2
- package/ccw/frontend/dist/assets/{useDebounce-Z18-PHZr.js.map → useDebounce-Bm9KFZvd.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useFileExplorer-D4gPp-LB.js → useFileExplorer-DOmpm6v9.js} +2 -2
- package/ccw/frontend/dist/assets/{useFileExplorer-D4gPp-LB.js.map → useFileExplorer-DOmpm6v9.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useLocale-DJ62jjFa.js → useLocale-D2rj4rea.js} +2 -2
- package/ccw/frontend/dist/assets/{useLocale-DJ62jjFa.js.map → useLocale-D2rj4rea.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useSkills-B8NPs9__.js → useSkills-OskEpomF.js} +3 -3
- package/ccw/frontend/dist/assets/{useSkills-B8NPs9__.js.map → useSkills-OskEpomF.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useSystemSettings-CVi7nKGJ.js → useSystemSettings-BjMgsNSF.js} +2 -2
- package/ccw/frontend/dist/assets/{useSystemSettings-CVi7nKGJ.js.map → useSystemSettings-BjMgsNSF.js.map} +1 -1
- package/ccw/frontend/dist/assets/{wand-sparkles-CLjPiU5w.js → wand-sparkles-CLhyYWa7.js} +2 -2
- package/ccw/frontend/dist/assets/{wand-sparkles-CLjPiU5w.js.map → wand-sparkles-CLhyYWa7.js.map} +1 -1
- package/ccw/frontend/dist/index.html +1 -1
- package/package.json +105 -105
- package/ccw/frontend/dist/assets/SettingsPage-BPDbXPSM.js +0 -150
- package/ccw/frontend/dist/assets/SettingsPage-BPDbXPSM.js.map +0 -1
- package/ccw/frontend/dist/assets/SkillsManagerPage-D3LzbpJY.js +0 -7
- package/ccw/frontend/dist/assets/SkillsManagerPage-D3LzbpJY.js.map +0 -1
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
# Phase 5: Verification & Report
|
|
2
|
+
|
|
3
|
+
> **COMPACT PROTECTION**: This is a core execution phase. If context compression has occurred and this file is only a summary, **MUST `Read` this file again before executing any Step**. Do not execute from memory.
|
|
4
|
+
|
|
5
|
+
Run full test suite, check for regressions, and generate the structured debug report.
|
|
6
|
+
|
|
7
|
+
## Objective
|
|
8
|
+
|
|
9
|
+
- Run the full test suite to verify no regressions were introduced
|
|
10
|
+
- Generate a structured debug report for future reference
|
|
11
|
+
- Output the report to `.workflow/.debug/` directory
|
|
12
|
+
|
|
13
|
+
## Input
|
|
14
|
+
|
|
15
|
+
| Source | Required | Description |
|
|
16
|
+
|--------|----------|-------------|
|
|
17
|
+
| investigation-report (phases 1-4) | Yes | All phases populated: evidence, root cause, fix_applied |
|
|
18
|
+
| assign_task message | Yes | Phase 5 instruction |
|
|
19
|
+
|
|
20
|
+
## Execution Steps
|
|
21
|
+
|
|
22
|
+
### Step 1: Detect and Run Full Test Suite
|
|
23
|
+
|
|
24
|
+
Detect the project's test framework by checking for project files, then run the full suite:
|
|
25
|
+
|
|
26
|
+
| Detection file | Test command |
|
|
27
|
+
|---------------|-------------|
|
|
28
|
+
| `package.json` with `test` script | `npm test` |
|
|
29
|
+
| `pytest.ini` or `pyproject.toml` | `pytest` |
|
|
30
|
+
| `go.mod` | `go test ./...` |
|
|
31
|
+
| `Cargo.toml` | `cargo test` |
|
|
32
|
+
| `Makefile` with `test` target | `make test` |
|
|
33
|
+
| None detected | Try `npm test`, `pytest`, `go test ./...` sequentially |
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
Bash: mkdir -p .workflow/.debug
|
|
37
|
+
Bash: <detected test command>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Record test results:
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
test_results = {
|
|
44
|
+
total: <count>,
|
|
45
|
+
passed: <count>,
|
|
46
|
+
failed: <count>,
|
|
47
|
+
skipped: <count>,
|
|
48
|
+
regression_test_passed: true|false,
|
|
49
|
+
new_failures: []
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
### Step 2: Regression Check
|
|
56
|
+
|
|
57
|
+
Verify specifically:
|
|
58
|
+
|
|
59
|
+
1. The new regression test passes (check by test name from fix_applied.regression_test.test_name).
|
|
60
|
+
2. All tests that were passing before the fix still pass.
|
|
61
|
+
3. No new warnings or errors appeared in test output.
|
|
62
|
+
|
|
63
|
+
**Decision table for new failures**:
|
|
64
|
+
|
|
65
|
+
| New failure | Assessment | Action |
|
|
66
|
+
|-------------|-----------|--------|
|
|
67
|
+
| Related to fix (same module, same code path) | Fix introduced regression | Return to Phase 4 to adjust fix |
|
|
68
|
+
| Unrelated to fix (different module, pre-existing) | Pre-existing failure | Document in pre_existing_failures, proceed |
|
|
69
|
+
| Regression test itself fails | Fix is not working correctly | Return to Phase 4 |
|
|
70
|
+
|
|
71
|
+
Classify failures:
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
regression_check_result = {
|
|
75
|
+
passed: true|false,
|
|
76
|
+
total_tests: <count>,
|
|
77
|
+
new_failures: ["<test names that newly fail>"],
|
|
78
|
+
pre_existing_failures: ["<tests that were already failing>"]
|
|
79
|
+
}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
### Step 3: Generate Structured Debug Report
|
|
85
|
+
|
|
86
|
+
Compile all investigation data into the final debug report JSON following the schema from `~/.codex/skills/investigate/specs/debug-report-format.md`:
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
debug_report = {
|
|
90
|
+
"bug_description": "<concise one-sentence description of the bug>",
|
|
91
|
+
"reproduction_steps": [
|
|
92
|
+
"<step 1>",
|
|
93
|
+
"<step 2>",
|
|
94
|
+
"<step 3: observe error>"
|
|
95
|
+
],
|
|
96
|
+
"root_cause": "<confirmed root cause description with technical detail and file:line reference>",
|
|
97
|
+
"evidence_chain": [
|
|
98
|
+
"Phase 1: <error message X observed in module Y>",
|
|
99
|
+
"Phase 2: <pattern analysis found N similar occurrences>",
|
|
100
|
+
"Phase 3: hypothesis H<N> confirmed — <specific condition at file:line>"
|
|
101
|
+
],
|
|
102
|
+
"fix_description": "<what was changed and why>",
|
|
103
|
+
"files_changed": [
|
|
104
|
+
{
|
|
105
|
+
"path": "<src/module/file.ts>",
|
|
106
|
+
"change_type": "add|modify|remove",
|
|
107
|
+
"description": "<brief description of changes to this file>"
|
|
108
|
+
}
|
|
109
|
+
],
|
|
110
|
+
"tests_added": [
|
|
111
|
+
{
|
|
112
|
+
"file": "<src/module/__tests__/file.test.ts>",
|
|
113
|
+
"test_name": "<should handle null return from X>",
|
|
114
|
+
"type": "regression|unit|integration"
|
|
115
|
+
}
|
|
116
|
+
],
|
|
117
|
+
"regression_check_result": {
|
|
118
|
+
"passed": true|false,
|
|
119
|
+
"total_tests": <count>,
|
|
120
|
+
"new_failures": [],
|
|
121
|
+
"pre_existing_failures": []
|
|
122
|
+
},
|
|
123
|
+
"completion_status": "DONE|DONE_WITH_CONCERNS|BLOCKED",
|
|
124
|
+
"concerns": [],
|
|
125
|
+
"timestamp": "<ISO-8601 timestamp>",
|
|
126
|
+
"investigation_duration_phases": 5
|
|
127
|
+
}
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
**Field sources**:
|
|
131
|
+
|
|
132
|
+
| Field | Source Phase | Description |
|
|
133
|
+
|-------|-------------|-------------|
|
|
134
|
+
| `bug_description` | Phase 1 | User-reported symptom, one sentence |
|
|
135
|
+
| `reproduction_steps` | Phase 1 | Ordered steps to trigger the bug |
|
|
136
|
+
| `root_cause` | Phase 3 | Confirmed cause with file:line reference |
|
|
137
|
+
| `evidence_chain` | Phase 1-3 | Each item prefixed with "Phase N:" |
|
|
138
|
+
| `fix_description` | Phase 4 | What code was changed and why |
|
|
139
|
+
| `files_changed` | Phase 4 | Each file with change type and description |
|
|
140
|
+
| `tests_added` | Phase 4 | Regression tests covering the bug |
|
|
141
|
+
| `regression_check_result` | Phase 5 | Full test suite results |
|
|
142
|
+
| `completion_status` | Phase 5 | Final status per protocol |
|
|
143
|
+
| `concerns` | Phase 5 | Non-blocking issues (if any) |
|
|
144
|
+
| `timestamp` | Phase 5 | When report was generated |
|
|
145
|
+
| `investigation_duration_phases` | Phase 5 | Always 5 for complete investigation |
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
### Step 4: Write Report File
|
|
150
|
+
|
|
151
|
+
Compute the filename:
|
|
152
|
+
- `<slug>` = bug_description lowercased, non-alphanumeric characters replaced with `-`, truncated to 40 chars
|
|
153
|
+
- `<date>` = current date as YYYY-MM-DD
|
|
154
|
+
|
|
155
|
+
```
|
|
156
|
+
Bash: mkdir -p .workflow/.debug
|
|
157
|
+
Write: .workflow/.debug/debug-report-<date>-<slug>.json
|
|
158
|
+
Content: <debug_report JSON with 2-space indent>
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
### Step 5: Output Completion Status
|
|
164
|
+
|
|
165
|
+
Determine status and output completion block:
|
|
166
|
+
|
|
167
|
+
**Status determination**:
|
|
168
|
+
|
|
169
|
+
| Condition | Status |
|
|
170
|
+
|-----------|--------|
|
|
171
|
+
| Regression test passes, no new failures, all quality checks met | DONE |
|
|
172
|
+
| Fix applied but partial test coverage, minor warnings, or non-critical concerns | DONE_WITH_CONCERNS |
|
|
173
|
+
| New test failures introduced by fix (unresolvable), or critical concern | BLOCKED |
|
|
174
|
+
|
|
175
|
+
**DONE output**:
|
|
176
|
+
|
|
177
|
+
```
|
|
178
|
+
## STATUS: DONE
|
|
179
|
+
|
|
180
|
+
**Summary**: Fixed <bug_description> — root cause was <root_cause_summary>
|
|
181
|
+
|
|
182
|
+
### Details
|
|
183
|
+
- Phases completed: 5/5
|
|
184
|
+
- Root cause: <confirmed_root_cause.description>
|
|
185
|
+
- Fix: <fix_description>
|
|
186
|
+
- Regression test: <test_name> in <test_file>
|
|
187
|
+
|
|
188
|
+
### Outputs
|
|
189
|
+
- Debug report: .workflow/.debug/debug-report-<date>-<slug>.json
|
|
190
|
+
- Files changed: <list>
|
|
191
|
+
- Tests added: <list>
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
**DONE_WITH_CONCERNS output**:
|
|
195
|
+
|
|
196
|
+
```
|
|
197
|
+
## STATUS: DONE_WITH_CONCERNS
|
|
198
|
+
|
|
199
|
+
**Summary**: Fixed <bug_description> with concerns
|
|
200
|
+
|
|
201
|
+
### Details
|
|
202
|
+
- Phases completed: 5/5
|
|
203
|
+
- Concerns:
|
|
204
|
+
1. <concern> — Impact: low|medium — Suggested fix: <action>
|
|
205
|
+
|
|
206
|
+
### Outputs
|
|
207
|
+
- Debug report: .workflow/.debug/debug-report-<date>-<slug>.json
|
|
208
|
+
- Files changed: <list>
|
|
209
|
+
- Tests added: <list>
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## Output
|
|
215
|
+
|
|
216
|
+
| Artifact | Format | Description |
|
|
217
|
+
|----------|--------|-------------|
|
|
218
|
+
| `.workflow/.debug/debug-report-<date>-<slug>.json` | JSON file | Full structured investigation report |
|
|
219
|
+
| Completion status block | Structured text output | Final status per Completion Status Protocol |
|
|
220
|
+
|
|
221
|
+
## Success Criteria
|
|
222
|
+
|
|
223
|
+
| Criterion | Validation Method |
|
|
224
|
+
|-----------|-------------------|
|
|
225
|
+
| Full test suite executed | Test command ran and produced output |
|
|
226
|
+
| Regression test passes | test_results.regression_test_passed: true |
|
|
227
|
+
| No new failures introduced | regression_check_result.new_failures is empty (or documented as pre-existing) |
|
|
228
|
+
| Debug report written | File exists at `.workflow/.debug/debug-report-<date>-<slug>.json` |
|
|
229
|
+
| Completion status output | Status block follows protocol format |
|
|
230
|
+
|
|
231
|
+
## Error Handling
|
|
232
|
+
|
|
233
|
+
| Scenario | Resolution |
|
|
234
|
+
|----------|------------|
|
|
235
|
+
| Test framework not detected | Try common commands in order; document uncertainty in concerns |
|
|
236
|
+
| New failures related to fix | Return to Phase 4 to adjust; do not write report until resolved |
|
|
237
|
+
| New failures unrelated | Document as pre_existing_failures, set DONE_WITH_CONCERNS if impactful |
|
|
238
|
+
| Report directory not writable | Try alternate path `.workflow/debug/`; document in output |
|
|
239
|
+
| Test suite takes >5 minutes | Run regression test only; note full suite skipped in concerns |
|
|
240
|
+
| Regression test was not added in Phase 4 | Document as DONE_WITH_CONCERNS concern |
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: issue-discover
|
|
3
3
|
description: "Unified issue discovery and creation. Create issues from GitHub/text, discover issues via multi-perspective analysis, or prompt-driven iterative exploration. Triggers on \"issue:new\", \"issue:discover\", \"issue:discover-by-prompt\", \"create issue\", \"discover issues\", \"find issues\"."
|
|
4
|
-
allowed-tools: spawn_agent,
|
|
4
|
+
allowed-tools: spawn_agent, wait_agent, send_message, assign_task, close_agent, request_user_input, Read, Write, Edit, Bash, Glob, Grep, mcp__ace-tool__search_context, mcp__exa__search
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Issue Discover
|
|
@@ -54,7 +54,7 @@ Unified issue discovery and creation skill covering three entry points: manual i
|
|
|
54
54
|
2. **Progressive Phase Loading**: Only read the selected phase document
|
|
55
55
|
3. **CLI-First Data Access**: All issue CRUD via `ccw issue` CLI commands
|
|
56
56
|
4. **Auto Mode Support**: `-y` flag skips action selection with auto-detection
|
|
57
|
-
5. **Subagent Lifecycle**: Explicit lifecycle management with spawn_agent →
|
|
57
|
+
5. **Subagent Lifecycle**: Explicit lifecycle management with spawn_agent → wait_agent → close_agent
|
|
58
58
|
6. **Role Path Loading**: Subagent roles loaded via path reference in MANDATORY FIRST STEPS
|
|
59
59
|
|
|
60
60
|
## Auto Mode
|
|
@@ -130,7 +130,7 @@ Post-Phase:
|
|
|
130
130
|
5. **Auto-Detect Input**: Smart input parsing reduces need for explicit --action flag
|
|
131
131
|
6. **⚠️ CRITICAL: DO NOT STOP**: Continuous multi-phase workflow. After completing each phase, immediately proceed to next
|
|
132
132
|
7. **Progressive Phase Loading**: Read phase docs ONLY when that phase is about to execute
|
|
133
|
-
8. **Explicit Lifecycle**: Always close_agent after
|
|
133
|
+
8. **Explicit Lifecycle**: Always close_agent after wait_agent completes to free resources
|
|
134
134
|
|
|
135
135
|
## Input Processing
|
|
136
136
|
|
|
@@ -246,18 +246,18 @@ ${deliverables}
|
|
|
246
246
|
})
|
|
247
247
|
```
|
|
248
248
|
|
|
249
|
-
###
|
|
249
|
+
### wait_agent
|
|
250
250
|
|
|
251
251
|
Get results from subagent (only way to retrieve results).
|
|
252
252
|
|
|
253
253
|
```javascript
|
|
254
|
-
const result =
|
|
255
|
-
|
|
254
|
+
const result = wait_agent({
|
|
255
|
+
targets: [agentId],
|
|
256
256
|
timeout_ms: 600000 // 10 minutes
|
|
257
257
|
})
|
|
258
258
|
|
|
259
259
|
if (result.timed_out) {
|
|
260
|
-
// Handle timeout - can
|
|
260
|
+
// Handle timeout - can use assign_task to prompt completion
|
|
261
261
|
}
|
|
262
262
|
|
|
263
263
|
// Check completion status
|
|
@@ -266,20 +266,20 @@ if (result.status[agentId].completed) {
|
|
|
266
266
|
}
|
|
267
267
|
```
|
|
268
268
|
|
|
269
|
-
###
|
|
269
|
+
### assign_task
|
|
270
270
|
|
|
271
|
-
|
|
271
|
+
Assign new work to active subagent (for clarification or follow-up).
|
|
272
272
|
|
|
273
273
|
```javascript
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
274
|
+
assign_task({
|
|
275
|
+
target: agentId,
|
|
276
|
+
items: [{ type: "text", text: `
|
|
277
277
|
## CLARIFICATION ANSWERS
|
|
278
278
|
${answers}
|
|
279
279
|
|
|
280
280
|
## NEXT STEP
|
|
281
281
|
Continue with plan generation.
|
|
282
|
-
`
|
|
282
|
+
` }]
|
|
283
283
|
})
|
|
284
284
|
```
|
|
285
285
|
|
|
@@ -164,8 +164,8 @@ ${getPerspectiveGuidance(perspective)}
|
|
|
164
164
|
|
|
165
165
|
// Step 2: Batch wait for all agents
|
|
166
166
|
const agentIds = perspectiveAgents.map(a => a.agentId);
|
|
167
|
-
const results =
|
|
168
|
-
|
|
167
|
+
const results = wait_agent({
|
|
168
|
+
targets: agentIds,
|
|
169
169
|
timeout_ms: 600000 // 10 minutes
|
|
170
170
|
});
|
|
171
171
|
|
|
@@ -220,8 +220,8 @@ Research industry best practices for ${perspective} using Exa search
|
|
|
220
220
|
`
|
|
221
221
|
});
|
|
222
222
|
|
|
223
|
-
const exaResult =
|
|
224
|
-
|
|
223
|
+
const exaResult = wait_agent({
|
|
224
|
+
targets: [exaAgentId],
|
|
225
225
|
timeout_ms: 300000 // 5 minutes
|
|
226
226
|
});
|
|
227
227
|
|
|
@@ -242,8 +242,8 @@ while (shouldContinue && iteration < maxIterations) {
|
|
|
242
242
|
|
|
243
243
|
// Step 2: Batch wait for all dimension agents
|
|
244
244
|
const dimensionAgentIds = dimensionAgents.map(a => a.agentId);
|
|
245
|
-
const iterationResults =
|
|
246
|
-
|
|
245
|
+
const iterationResults = wait_agent({
|
|
246
|
+
targets: dimensionAgentIds,
|
|
247
247
|
timeout_ms: 600000 // 10 minutes
|
|
248
248
|
});
|
|
249
249
|
|
|
@@ -297,7 +297,7 @@ while (shouldContinue && iteration < maxIterations) {
|
|
|
297
297
|
│ │
|
|
298
298
|
│ 2. Execute: Spawn agents for this iteration │
|
|
299
299
|
│ └─ Each agent: explore → collect → return summary │
|
|
300
|
-
│ └─ Lifecycle: spawn_agent → batch
|
|
300
|
+
│ └─ Lifecycle: spawn_agent → batch wait_agent → close_agent │
|
|
301
301
|
│ │
|
|
302
302
|
│ 3. Analyze: Process iteration results │
|
|
303
303
|
│ └─ New findings? Gaps? Contradictions? │
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: parallel-dev-cycle
|
|
3
3
|
description: Multi-agent parallel development cycle with requirement analysis, exploration planning, code development, and validation. Orchestration runs inline in main flow (no separate orchestrator agent). Supports continuous iteration with markdown progress documentation. Triggers on "parallel-dev-cycle".
|
|
4
|
-
allowed-tools: spawn_agent,
|
|
4
|
+
allowed-tools: spawn_agent, wait_agent, send_message, assign_task, close_agent, request_user_input, Read, Write, Edit, Bash, Glob, Grep
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Parallel Dev Cycle
|
|
@@ -111,7 +111,7 @@ Phase 3: Result Aggregation & Iteration
|
|
|
111
111
|
├─ Parse PHASE_RESULT from each agent
|
|
112
112
|
├─ Detect issues (test failures, blockers)
|
|
113
113
|
├─ Decision: Issues found AND iteration < max?
|
|
114
|
-
│ ├─ Yes → Send feedback via
|
|
114
|
+
│ ├─ Yes → Send feedback via assign_task, loop back to Phase 2
|
|
115
115
|
│ └─ No → Proceed to Phase 4
|
|
116
116
|
└─ Output: parsedResults, iteration status
|
|
117
117
|
|
|
@@ -330,7 +330,7 @@ PHASE_RESULT:
|
|
|
330
330
|
|
|
331
331
|
### Main Flow → Agent Communication
|
|
332
332
|
|
|
333
|
-
Feedback via `
|
|
333
|
+
Feedback via `assign_task` (file refs + issue summary, never full content):
|
|
334
334
|
```
|
|
335
335
|
## FEEDBACK FROM [Source]
|
|
336
336
|
[Issue summary with file:line references]
|
|
@@ -357,7 +357,7 @@ Feedback via `send_input` (file refs + issue summary, never full content):
|
|
|
357
357
|
|
|
358
358
|
| Error Type | Recovery |
|
|
359
359
|
|------------|----------|
|
|
360
|
-
| Agent timeout |
|
|
360
|
+
| Agent timeout | assign_task requesting convergence, then retry |
|
|
361
361
|
| State corrupted | Rebuild from progress markdown files and changes.log |
|
|
362
362
|
| Agent failed | Re-spawn agent with previous context |
|
|
363
363
|
| Conflicting results | Main flow sends reconciliation request |
|
|
@@ -408,8 +408,8 @@ const agents = {
|
|
|
408
408
|
|
|
409
409
|
// Wait for all agents to complete
|
|
410
410
|
console.log('Waiting for all agents...')
|
|
411
|
-
const results =
|
|
412
|
-
|
|
411
|
+
const results = wait_agent({
|
|
412
|
+
targets: [agents.ra, agents.ep, agents.cd, agents.vas],
|
|
413
413
|
timeout_ms: 1800000 // 30 minutes
|
|
414
414
|
})
|
|
415
415
|
```
|
|
@@ -421,16 +421,16 @@ if (results.timed_out) {
|
|
|
421
421
|
console.log('Some agents timed out, sending convergence request...')
|
|
422
422
|
Object.entries(agents).forEach(([name, id]) => {
|
|
423
423
|
if (!results.status[id].completed) {
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
424
|
+
assign_task({
|
|
425
|
+
target: id,
|
|
426
|
+
items: [{ type: "text", text: `
|
|
427
427
|
## TIMEOUT NOTIFICATION
|
|
428
428
|
|
|
429
429
|
Execution timeout reached. Please:
|
|
430
430
|
1. Output current progress to markdown file
|
|
431
431
|
2. Save all state updates
|
|
432
432
|
3. Return completion status
|
|
433
|
-
`
|
|
433
|
+
` }]
|
|
434
434
|
})
|
|
435
435
|
}
|
|
436
436
|
})
|
|
@@ -148,29 +148,29 @@ Update requirements.md if needed.
|
|
|
148
148
|
}
|
|
149
149
|
```
|
|
150
150
|
|
|
151
|
-
### Step 3.6: Send Feedback via
|
|
151
|
+
### Step 3.6: Send Feedback via assign_task
|
|
152
152
|
|
|
153
153
|
```javascript
|
|
154
154
|
const feedback = generateFeedback(parsedResults)
|
|
155
155
|
|
|
156
156
|
// Send feedback to relevant agents
|
|
157
157
|
if (feedback.ra) {
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
158
|
+
assign_task({
|
|
159
|
+
target: agents.ra,
|
|
160
|
+
items: [{ type: "text", text: feedback.ra }]
|
|
161
161
|
})
|
|
162
162
|
}
|
|
163
163
|
|
|
164
164
|
if (feedback.cd) {
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
165
|
+
assign_task({
|
|
166
|
+
target: agents.cd,
|
|
167
|
+
items: [{ type: "text", text: feedback.cd }]
|
|
168
168
|
})
|
|
169
169
|
}
|
|
170
170
|
|
|
171
171
|
// Wait for agents to process feedback and update
|
|
172
|
-
const updatedResults =
|
|
173
|
-
|
|
172
|
+
const updatedResults = wait_agent({
|
|
173
|
+
targets: [agents.ra, agents.cd].filter(Boolean),
|
|
174
174
|
timeout_ms: 900000 // 15 minutes for fixes
|
|
175
175
|
})
|
|
176
176
|
|
|
@@ -213,7 +213,7 @@ Phase 3: Result Aggregation
|
|
|
213
213
|
│ ├─ No → Phase 4 (Complete)
|
|
214
214
|
│ └─ Yes
|
|
215
215
|
│ ├─ iteration < max?
|
|
216
|
-
│ │ ├─ Yes → Generate feedback →
|
|
216
|
+
│ │ ├─ Yes → Generate feedback → assign_task → Wait → Back to Phase 2
|
|
217
217
|
│ │ └─ No → Phase 4 (Complete with issues)
|
|
218
218
|
```
|
|
219
219
|
|
|
@@ -316,18 +316,18 @@ ${deliverables}
|
|
|
316
316
|
})
|
|
317
317
|
```
|
|
318
318
|
|
|
319
|
-
###
|
|
319
|
+
### wait_agent
|
|
320
320
|
|
|
321
321
|
Get results from subagent (only way to retrieve results).
|
|
322
322
|
|
|
323
323
|
```javascript
|
|
324
|
-
const result =
|
|
325
|
-
|
|
324
|
+
const result = wait_agent({
|
|
325
|
+
targets: [agentId],
|
|
326
326
|
timeout_ms: 600000 // 10 minutes
|
|
327
327
|
})
|
|
328
328
|
|
|
329
329
|
if (result.timed_out) {
|
|
330
|
-
// Handle timeout - can
|
|
330
|
+
// Handle timeout - can use assign_task to prompt completion
|
|
331
331
|
}
|
|
332
332
|
|
|
333
333
|
// Check completion status
|
|
@@ -336,20 +336,20 @@ if (result.status[agentId].completed) {
|
|
|
336
336
|
}
|
|
337
337
|
```
|
|
338
338
|
|
|
339
|
-
###
|
|
339
|
+
### assign_task
|
|
340
340
|
|
|
341
|
-
|
|
341
|
+
Assign new work to active subagent (for clarification or follow-up).
|
|
342
342
|
|
|
343
343
|
```javascript
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
344
|
+
assign_task({
|
|
345
|
+
target: agentId,
|
|
346
|
+
items: [{ type: "text", text: `
|
|
347
347
|
## CLARIFICATION ANSWERS
|
|
348
348
|
${answers}
|
|
349
349
|
|
|
350
350
|
## NEXT STEP
|
|
351
351
|
Continue with analysis generation.
|
|
352
|
-
`
|
|
352
|
+
` }]
|
|
353
353
|
})
|
|
354
354
|
```
|
|
355
355
|
|
|
@@ -173,8 +173,8 @@ ${getDimensionGuidance(dimension)}
|
|
|
173
173
|
});
|
|
174
174
|
|
|
175
175
|
// Step 2: Batch wait for all 7 agents
|
|
176
|
-
const reviewResults =
|
|
177
|
-
|
|
176
|
+
const reviewResults = wait_agent({
|
|
177
|
+
targets: reviewAgents,
|
|
178
178
|
timeout_ms: 3600000 // 60 minutes
|
|
179
179
|
});
|
|
180
180
|
|
|
@@ -296,8 +296,8 @@ ${getDimensionGuidance(dimension)}
|
|
|
296
296
|
});
|
|
297
297
|
|
|
298
298
|
// Step 2: Batch wait for all 7 agents
|
|
299
|
-
const reviewResults =
|
|
300
|
-
|
|
299
|
+
const reviewResults = wait_agent({
|
|
300
|
+
targets: reviewAgents,
|
|
301
301
|
timeout_ms: 3600000 // 60 minutes
|
|
302
302
|
});
|
|
303
303
|
|
|
@@ -407,8 +407,8 @@ Then apply **Deep Scan mode** for semantic analysis:
|
|
|
407
407
|
});
|
|
408
408
|
|
|
409
409
|
// Wait for completion
|
|
410
|
-
const deepDiveResult =
|
|
411
|
-
|
|
410
|
+
const deepDiveResult = wait_agent({
|
|
411
|
+
targets: [deepDiveAgentId],
|
|
412
412
|
timeout_ms: 2400000 // 40 minutes
|
|
413
413
|
});
|
|
414
414
|
|
|
@@ -163,8 +163,8 @@ Then apply **Deep Scan mode** for semantic analysis:
|
|
|
163
163
|
});
|
|
164
164
|
|
|
165
165
|
// Step 2: Batch wait for all deep-dive agents
|
|
166
|
-
const deepDiveResults =
|
|
167
|
-
|
|
166
|
+
const deepDiveResults = wait_agent({
|
|
167
|
+
targets: deepDiveAgents,
|
|
168
168
|
timeout_ms: 2400000 // 40 minutes
|
|
169
169
|
});
|
|
170
170
|
|
|
@@ -275,8 +275,8 @@ Then apply **Deep Scan mode** for semantic analysis:
|
|
|
275
275
|
});
|
|
276
276
|
|
|
277
277
|
// Step 2: Batch wait for all deep-dive agents
|
|
278
|
-
const deepDiveResults =
|
|
279
|
-
|
|
278
|
+
const deepDiveResults = wait_agent({
|
|
279
|
+
targets: deepDiveAgents,
|
|
280
280
|
timeout_ms: 2400000 // 40 minutes
|
|
281
281
|
});
|
|
282
282
|
|
|
@@ -43,8 +43,8 @@ for (let i = 0; i < batches.length; i += MAX_PARALLEL) {
|
|
|
43
43
|
console.log(`Spawned ${agentIds.length} planning agents...`);
|
|
44
44
|
|
|
45
45
|
// Step 2: Batch wait for all agents in this chunk
|
|
46
|
-
const chunkResults =
|
|
47
|
-
|
|
46
|
+
const chunkResults = wait_agent({
|
|
47
|
+
targets: agentIds.map(a => a.agentId),
|
|
48
48
|
timeout_ms: 600000 // 10 minutes
|
|
49
49
|
});
|
|
50
50
|
|
|
@@ -204,8 +204,8 @@ Before finalizing outputs:
|
|
|
204
204
|
});
|
|
205
205
|
|
|
206
206
|
// Wait for completion
|
|
207
|
-
const result =
|
|
208
|
-
|
|
207
|
+
const result = wait_agent({
|
|
208
|
+
targets: [agentId],
|
|
209
209
|
timeout_ms: 600000 // 10 minutes
|
|
210
210
|
});
|
|
211
211
|
|
|
@@ -221,8 +221,8 @@ Use fix_strategy.test_pattern to run affected tests:
|
|
|
221
221
|
});
|
|
222
222
|
|
|
223
223
|
// Wait for completion
|
|
224
|
-
const execResult =
|
|
225
|
-
|
|
224
|
+
const execResult = wait_agent({
|
|
225
|
+
targets: [execAgentId],
|
|
226
226
|
timeout_ms: 1200000 // 20 minutes per group
|
|
227
227
|
});
|
|
228
228
|
|
|
@@ -56,33 +56,33 @@ ${deliverables}
|
|
|
56
56
|
})
|
|
57
57
|
```
|
|
58
58
|
|
|
59
|
-
###
|
|
59
|
+
### wait_agent
|
|
60
60
|
Get results from subagent (only way to retrieve results).
|
|
61
61
|
|
|
62
62
|
```javascript
|
|
63
|
-
const result =
|
|
64
|
-
|
|
63
|
+
const result = wait_agent({
|
|
64
|
+
targets: [agentId],
|
|
65
65
|
timeout_ms: 600000 // 10 minutes
|
|
66
66
|
})
|
|
67
67
|
|
|
68
68
|
if (result.timed_out) {
|
|
69
|
-
// Handle timeout - can
|
|
69
|
+
// Handle timeout - can use assign_task to prompt completion
|
|
70
70
|
}
|
|
71
71
|
```
|
|
72
72
|
|
|
73
|
-
###
|
|
74
|
-
|
|
73
|
+
### assign_task
|
|
74
|
+
Assign new work to active subagent (for clarification or follow-up).
|
|
75
75
|
|
|
76
76
|
```javascript
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
77
|
+
assign_task({
|
|
78
|
+
target: agentId,
|
|
79
|
+
items: [{ type: "text", text: `
|
|
80
80
|
## CLARIFICATION ANSWERS
|
|
81
81
|
${answers}
|
|
82
82
|
|
|
83
83
|
## NEXT STEP
|
|
84
84
|
Continue with plan generation.
|
|
85
|
-
`
|
|
85
|
+
` }]
|
|
86
86
|
})
|
|
87
87
|
```
|
|
88
88
|
|
|
@@ -537,8 +537,8 @@ Return findings as JSON with schema:
|
|
|
537
537
|
`
|
|
538
538
|
})
|
|
539
539
|
|
|
540
|
-
const exploreResult =
|
|
541
|
-
|
|
540
|
+
const exploreResult = wait_agent({
|
|
541
|
+
targets: [exploreAgentId],
|
|
542
542
|
timeout_ms: 120000
|
|
543
543
|
})
|
|
544
544
|
|
|
@@ -629,8 +629,8 @@ ${selectedMode === 'progressive' ? `**Progressive Mode**:
|
|
|
629
629
|
`
|
|
630
630
|
})
|
|
631
631
|
|
|
632
|
-
const decompositionResult =
|
|
633
|
-
|
|
632
|
+
const decompositionResult = wait_agent({
|
|
633
|
+
targets: [decompositionAgentId],
|
|
634
634
|
timeout_ms: 300000 // 5 minutes for complex decomposition
|
|
635
635
|
})
|
|
636
636
|
|