@harness-engineering/cli 1.15.0 → 1.16.0
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/dist/agents/commands/codex/AGENTS.md +39 -0
- package/dist/agents/commands/codex/harness/add-harness-component/SKILL.md +195 -0
- package/dist/agents/commands/codex/harness/add-harness-component/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/cleanup-dead-code/SKILL.md +248 -0
- package/dist/agents/commands/codex/harness/cleanup-dead-code/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/detect-doc-drift/SKILL.md +182 -0
- package/dist/agents/commands/codex/harness/detect-doc-drift/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/enforce-architecture/SKILL.md +299 -0
- package/dist/agents/commands/codex/harness/enforce-architecture/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-architecture-advisor/SKILL.md +452 -0
- package/dist/agents/commands/codex/harness/harness-architecture-advisor/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-autopilot/SKILL.md +919 -0
- package/dist/agents/commands/codex/harness/harness-autopilot/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-brainstorming/SKILL.md +409 -0
- package/dist/agents/commands/codex/harness/harness-brainstorming/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-code-review/SKILL.md +860 -0
- package/dist/agents/commands/codex/harness/harness-code-review/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-codebase-cleanup/SKILL.md +227 -0
- package/dist/agents/commands/codex/harness/harness-codebase-cleanup/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-debugging/SKILL.md +369 -0
- package/dist/agents/commands/codex/harness/harness-debugging/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-dependency-health/SKILL.md +182 -0
- package/dist/agents/commands/codex/harness/harness-dependency-health/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-docs-pipeline/SKILL.md +463 -0
- package/dist/agents/commands/codex/harness/harness-docs-pipeline/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-execution/SKILL.md +513 -0
- package/dist/agents/commands/codex/harness/harness-execution/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-hotspot-detector/SKILL.md +164 -0
- package/dist/agents/commands/codex/harness/harness-hotspot-detector/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-impact-analysis/SKILL.md +187 -0
- package/dist/agents/commands/codex/harness/harness-impact-analysis/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-integrity/SKILL.md +170 -0
- package/dist/agents/commands/codex/harness/harness-integrity/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-onboarding/SKILL.md +291 -0
- package/dist/agents/commands/codex/harness/harness-onboarding/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-perf/SKILL.md +263 -0
- package/dist/agents/commands/codex/harness/harness-perf/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-planning/SKILL.md +582 -0
- package/dist/agents/commands/codex/harness/harness-planning/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-refactoring/SKILL.md +172 -0
- package/dist/agents/commands/codex/harness/harness-refactoring/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-release-readiness/SKILL.md +692 -0
- package/dist/agents/commands/codex/harness/harness-release-readiness/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-roadmap/SKILL.md +598 -0
- package/dist/agents/commands/codex/harness/harness-roadmap/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-security-scan/SKILL.md +157 -0
- package/dist/agents/commands/codex/harness/harness-security-scan/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-skill-authoring/SKILL.md +295 -0
- package/dist/agents/commands/codex/harness/harness-skill-authoring/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-soundness-review/SKILL.md +1270 -0
- package/dist/agents/commands/codex/harness/harness-soundness-review/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-supply-chain-audit/SKILL.md +247 -0
- package/dist/agents/commands/codex/harness/harness-supply-chain-audit/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-tdd/SKILL.md +180 -0
- package/dist/agents/commands/codex/harness/harness-tdd/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-test-advisor/SKILL.md +163 -0
- package/dist/agents/commands/codex/harness/harness-test-advisor/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-verification/SKILL.md +424 -0
- package/dist/agents/commands/codex/harness/harness-verification/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-verify/SKILL.md +162 -0
- package/dist/agents/commands/codex/harness/harness-verify/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/initialize-harness-project/SKILL.md +235 -0
- package/dist/agents/commands/codex/harness/initialize-harness-project/agents/openai.yaml +3 -0
- package/dist/agents/commands/cursor/harness/add-harness-component.mdc +200 -0
- package/dist/agents/commands/cursor/harness/cleanup-dead-code.mdc +253 -0
- package/dist/agents/commands/cursor/harness/detect-doc-drift.mdc +187 -0
- package/dist/agents/commands/cursor/harness/enforce-architecture.mdc +304 -0
- package/dist/agents/commands/cursor/harness/harness-architecture-advisor.mdc +457 -0
- package/dist/agents/commands/cursor/harness/harness-autopilot.mdc +924 -0
- package/dist/agents/commands/cursor/harness/harness-brainstorming.mdc +414 -0
- package/dist/agents/commands/cursor/harness/harness-code-review.mdc +865 -0
- package/dist/agents/commands/cursor/harness/harness-codebase-cleanup.mdc +232 -0
- package/dist/agents/commands/cursor/harness/harness-debugging.mdc +374 -0
- package/dist/agents/commands/cursor/harness/harness-dependency-health.mdc +187 -0
- package/dist/agents/commands/cursor/harness/harness-docs-pipeline.mdc +468 -0
- package/dist/agents/commands/cursor/harness/harness-execution.mdc +518 -0
- package/dist/agents/commands/cursor/harness/harness-hotspot-detector.mdc +169 -0
- package/dist/agents/commands/cursor/harness/harness-impact-analysis.mdc +192 -0
- package/dist/agents/commands/cursor/harness/harness-integrity.mdc +175 -0
- package/dist/agents/commands/cursor/harness/harness-onboarding.mdc +296 -0
- package/dist/agents/commands/cursor/harness/harness-perf.mdc +268 -0
- package/dist/agents/commands/cursor/harness/harness-planning.mdc +587 -0
- package/dist/agents/commands/cursor/harness/harness-refactoring.mdc +177 -0
- package/dist/agents/commands/cursor/harness/harness-release-readiness.mdc +697 -0
- package/dist/agents/commands/cursor/harness/harness-roadmap.mdc +603 -0
- package/dist/agents/commands/cursor/harness/harness-security-scan.mdc +162 -0
- package/dist/agents/commands/cursor/harness/harness-skill-authoring.mdc +300 -0
- package/dist/agents/commands/cursor/harness/harness-soundness-review.mdc +1275 -0
- package/dist/agents/commands/cursor/harness/harness-supply-chain-audit.mdc +252 -0
- package/dist/agents/commands/cursor/harness/harness-tdd.mdc +185 -0
- package/dist/agents/commands/cursor/harness/harness-test-advisor.mdc +168 -0
- package/dist/agents/commands/cursor/harness/harness-verification.mdc +429 -0
- package/dist/agents/commands/cursor/harness/harness-verify.mdc +167 -0
- package/dist/agents/commands/cursor/harness/initialize-harness-project.mdc +240 -0
- package/dist/agents/skills/claude-code/enforce-architecture/SKILL.md +52 -0
- package/dist/agents/skills/claude-code/harness-api-design/SKILL.md +52 -0
- package/dist/agents/skills/claude-code/harness-architecture-advisor/SKILL.md +52 -0
- package/dist/agents/skills/claude-code/harness-auth/SKILL.md +52 -0
- package/dist/agents/skills/claude-code/harness-autopilot/SKILL.md +123 -14
- package/dist/agents/skills/claude-code/harness-autopilot/skill.yaml +6 -0
- package/dist/agents/skills/claude-code/harness-code-review/SKILL.md +97 -3
- package/dist/agents/skills/claude-code/harness-code-review/skill.yaml +6 -0
- package/dist/agents/skills/claude-code/harness-codebase-cleanup/SKILL.md +2 -4
- package/dist/agents/skills/claude-code/harness-database/SKILL.md +52 -0
- package/dist/agents/skills/claude-code/harness-deployment/SKILL.md +52 -0
- package/dist/agents/skills/claude-code/harness-planning/SKILL.md +99 -3
- package/dist/agents/skills/claude-code/harness-planning/skill.yaml +6 -0
- package/dist/agents/skills/claude-code/harness-pre-commit-review/SKILL.md +1 -1
- package/dist/agents/skills/claude-code/harness-security-review/SKILL.md +27 -7
- package/dist/agents/skills/claude-code/harness-security-scan/SKILL.md +52 -0
- package/dist/agents/skills/claude-code/harness-supply-chain-audit/SKILL.md +281 -0
- package/dist/agents/skills/claude-code/harness-supply-chain-audit/skill.yaml +51 -0
- package/dist/agents/skills/codex/add-harness-component/SKILL.md +192 -0
- package/dist/agents/skills/codex/add-harness-component/skill.yaml +33 -0
- package/dist/agents/skills/codex/align-documentation/SKILL.md +213 -0
- package/dist/agents/skills/codex/align-documentation/skill.yaml +32 -0
- package/dist/agents/skills/codex/check-mechanical-constraints/SKILL.md +191 -0
- package/dist/agents/skills/codex/check-mechanical-constraints/skill.yaml +33 -0
- package/dist/agents/skills/codex/cleanup-dead-code/SKILL.md +245 -0
- package/dist/agents/skills/codex/cleanup-dead-code/skill.yaml +34 -0
- package/dist/agents/skills/codex/detect-doc-drift/SKILL.md +179 -0
- package/dist/agents/skills/codex/detect-doc-drift/skill.yaml +31 -0
- package/dist/agents/skills/codex/enforce-architecture/SKILL.md +296 -0
- package/dist/agents/skills/codex/enforce-architecture/skill.yaml +35 -0
- package/dist/agents/skills/codex/harness-accessibility/SKILL.md +281 -0
- package/dist/agents/skills/codex/harness-accessibility/skill.yaml +52 -0
- package/dist/agents/skills/codex/harness-api-design/SKILL.md +356 -0
- package/dist/agents/skills/codex/harness-api-design/skill.yaml +74 -0
- package/dist/agents/skills/codex/harness-architecture-advisor/SKILL.md +449 -0
- package/dist/agents/skills/codex/harness-architecture-advisor/skill.yaml +49 -0
- package/dist/agents/skills/codex/harness-auth/SKILL.md +331 -0
- package/dist/agents/skills/codex/harness-auth/skill.yaml +81 -0
- package/dist/agents/skills/codex/harness-autopilot/SKILL.md +916 -0
- package/dist/agents/skills/codex/harness-autopilot/skill.yaml +67 -0
- package/dist/agents/skills/codex/harness-brainstorming/SKILL.md +406 -0
- package/dist/agents/skills/codex/harness-brainstorming/skill.yaml +50 -0
- package/dist/agents/skills/codex/harness-caching/SKILL.md +309 -0
- package/dist/agents/skills/codex/harness-caching/skill.yaml +73 -0
- package/dist/agents/skills/codex/harness-chaos/SKILL.md +295 -0
- package/dist/agents/skills/codex/harness-chaos/skill.yaml +72 -0
- package/dist/agents/skills/codex/harness-code-review/SKILL.md +857 -0
- package/dist/agents/skills/codex/harness-code-review/skill.yaml +52 -0
- package/dist/agents/skills/codex/harness-codebase-cleanup/SKILL.md +224 -0
- package/dist/agents/skills/codex/harness-codebase-cleanup/skill.yaml +65 -0
- package/dist/agents/skills/codex/harness-compliance/SKILL.md +303 -0
- package/dist/agents/skills/codex/harness-compliance/skill.yaml +78 -0
- package/dist/agents/skills/codex/harness-containerization/SKILL.md +284 -0
- package/dist/agents/skills/codex/harness-containerization/skill.yaml +80 -0
- package/dist/agents/skills/codex/harness-data-pipeline/SKILL.md +274 -0
- package/dist/agents/skills/codex/harness-data-pipeline/skill.yaml +81 -0
- package/dist/agents/skills/codex/harness-data-validation/SKILL.md +343 -0
- package/dist/agents/skills/codex/harness-data-validation/skill.yaml +75 -0
- package/dist/agents/skills/codex/harness-database/SKILL.md +310 -0
- package/dist/agents/skills/codex/harness-database/skill.yaml +80 -0
- package/dist/agents/skills/codex/harness-debugging/SKILL.md +366 -0
- package/dist/agents/skills/codex/harness-debugging/skill.yaml +48 -0
- package/dist/agents/skills/codex/harness-dependency-health/SKILL.md +179 -0
- package/dist/agents/skills/codex/harness-dependency-health/skill.yaml +42 -0
- package/dist/agents/skills/codex/harness-deployment/SKILL.md +307 -0
- package/dist/agents/skills/codex/harness-deployment/skill.yaml +77 -0
- package/dist/agents/skills/codex/harness-design/SKILL.md +265 -0
- package/dist/agents/skills/codex/harness-design/skill.yaml +54 -0
- package/dist/agents/skills/codex/harness-design-mobile/SKILL.md +336 -0
- package/dist/agents/skills/codex/harness-design-mobile/skill.yaml +50 -0
- package/dist/agents/skills/codex/harness-design-system/SKILL.md +282 -0
- package/dist/agents/skills/codex/harness-design-system/skill.yaml +51 -0
- package/dist/agents/skills/codex/harness-design-web/SKILL.md +360 -0
- package/dist/agents/skills/codex/harness-design-web/skill.yaml +53 -0
- package/dist/agents/skills/codex/harness-diagnostics/SKILL.md +318 -0
- package/dist/agents/skills/codex/harness-diagnostics/skill.yaml +51 -0
- package/dist/agents/skills/codex/harness-docs-pipeline/SKILL.md +460 -0
- package/dist/agents/skills/codex/harness-docs-pipeline/skill.yaml +70 -0
- package/dist/agents/skills/codex/harness-dx/SKILL.md +276 -0
- package/dist/agents/skills/codex/harness-dx/skill.yaml +76 -0
- package/dist/agents/skills/codex/harness-e2e/SKILL.md +245 -0
- package/dist/agents/skills/codex/harness-e2e/skill.yaml +78 -0
- package/dist/agents/skills/codex/harness-event-driven/SKILL.md +280 -0
- package/dist/agents/skills/codex/harness-event-driven/skill.yaml +77 -0
- package/dist/agents/skills/codex/harness-execution/SKILL.md +510 -0
- package/dist/agents/skills/codex/harness-execution/skill.yaml +52 -0
- package/dist/agents/skills/codex/harness-feature-flags/SKILL.md +287 -0
- package/dist/agents/skills/codex/harness-feature-flags/skill.yaml +74 -0
- package/dist/agents/skills/codex/harness-git-workflow/SKILL.md +268 -0
- package/dist/agents/skills/codex/harness-git-workflow/skill.yaml +32 -0
- package/dist/agents/skills/codex/harness-hotspot-detector/SKILL.md +161 -0
- package/dist/agents/skills/codex/harness-hotspot-detector/skill.yaml +45 -0
- package/dist/agents/skills/codex/harness-i18n/SKILL.md +484 -0
- package/dist/agents/skills/codex/harness-i18n/skill.yaml +55 -0
- package/dist/agents/skills/codex/harness-i18n-process/SKILL.md +388 -0
- package/dist/agents/skills/codex/harness-i18n-process/skill.yaml +44 -0
- package/dist/agents/skills/codex/harness-i18n-workflow/SKILL.md +512 -0
- package/dist/agents/skills/codex/harness-i18n-workflow/skill.yaml +54 -0
- package/dist/agents/skills/codex/harness-impact-analysis/SKILL.md +184 -0
- package/dist/agents/skills/codex/harness-impact-analysis/skill.yaml +45 -0
- package/dist/agents/skills/codex/harness-incident-response/SKILL.md +223 -0
- package/dist/agents/skills/codex/harness-incident-response/skill.yaml +78 -0
- package/dist/agents/skills/codex/harness-infrastructure-as-code/SKILL.md +279 -0
- package/dist/agents/skills/codex/harness-infrastructure-as-code/skill.yaml +80 -0
- package/dist/agents/skills/codex/harness-integration-test/SKILL.md +271 -0
- package/dist/agents/skills/codex/harness-integration-test/skill.yaml +73 -0
- package/dist/agents/skills/codex/harness-integrity/SKILL.md +167 -0
- package/dist/agents/skills/codex/harness-integrity/skill.yaml +48 -0
- package/dist/agents/skills/codex/harness-knowledge-mapper/SKILL.md +195 -0
- package/dist/agents/skills/codex/harness-knowledge-mapper/skill.yaml +50 -0
- package/dist/agents/skills/codex/harness-load-testing/SKILL.md +274 -0
- package/dist/agents/skills/codex/harness-load-testing/skill.yaml +79 -0
- package/dist/agents/skills/codex/harness-ml-ops/SKILL.md +341 -0
- package/dist/agents/skills/codex/harness-ml-ops/skill.yaml +79 -0
- package/dist/agents/skills/codex/harness-mobile-patterns/SKILL.md +326 -0
- package/dist/agents/skills/codex/harness-mobile-patterns/skill.yaml +82 -0
- package/dist/agents/skills/codex/harness-mutation-test/SKILL.md +251 -0
- package/dist/agents/skills/codex/harness-mutation-test/skill.yaml +70 -0
- package/dist/agents/skills/codex/harness-observability/SKILL.md +283 -0
- package/dist/agents/skills/codex/harness-observability/skill.yaml +78 -0
- package/dist/agents/skills/codex/harness-onboarding/SKILL.md +288 -0
- package/dist/agents/skills/codex/harness-onboarding/skill.yaml +31 -0
- package/dist/agents/skills/codex/harness-parallel-agents/SKILL.md +256 -0
- package/dist/agents/skills/codex/harness-parallel-agents/skill.yaml +34 -0
- package/dist/agents/skills/codex/harness-perf/SKILL.md +260 -0
- package/dist/agents/skills/codex/harness-perf/skill.yaml +51 -0
- package/dist/agents/skills/codex/harness-perf-tdd/SKILL.md +249 -0
- package/dist/agents/skills/codex/harness-perf-tdd/skill.yaml +48 -0
- package/dist/agents/skills/codex/harness-planning/SKILL.md +579 -0
- package/dist/agents/skills/codex/harness-planning/skill.yaml +56 -0
- package/dist/agents/skills/codex/harness-pre-commit-review/SKILL.md +324 -0
- package/dist/agents/skills/codex/harness-pre-commit-review/skill.yaml +34 -0
- package/dist/agents/skills/codex/harness-product-spec/SKILL.md +285 -0
- package/dist/agents/skills/codex/harness-product-spec/skill.yaml +72 -0
- package/dist/agents/skills/codex/harness-property-test/SKILL.md +281 -0
- package/dist/agents/skills/codex/harness-property-test/skill.yaml +71 -0
- package/dist/agents/skills/codex/harness-refactoring/SKILL.md +169 -0
- package/dist/agents/skills/codex/harness-refactoring/skill.yaml +34 -0
- package/dist/agents/skills/codex/harness-release-readiness/SKILL.md +689 -0
- package/dist/agents/skills/codex/harness-release-readiness/skill.yaml +58 -0
- package/dist/agents/skills/codex/harness-resilience/SKILL.md +255 -0
- package/dist/agents/skills/codex/harness-resilience/skill.yaml +76 -0
- package/dist/agents/skills/codex/harness-roadmap/SKILL.md +595 -0
- package/dist/agents/skills/codex/harness-roadmap/skill.yaml +44 -0
- package/dist/agents/skills/codex/harness-secrets/SKILL.md +293 -0
- package/dist/agents/skills/codex/harness-secrets/skill.yaml +76 -0
- package/dist/agents/skills/codex/harness-security-review/SKILL.md +260 -0
- package/dist/agents/skills/codex/harness-security-review/skill.yaml +53 -0
- package/dist/agents/skills/codex/harness-security-scan/SKILL.md +154 -0
- package/dist/agents/skills/codex/harness-security-scan/skill.yaml +42 -0
- package/dist/agents/skills/codex/harness-skill-authoring/SKILL.md +292 -0
- package/dist/agents/skills/codex/harness-skill-authoring/skill.yaml +33 -0
- package/dist/agents/skills/codex/harness-soundness-review/SKILL.md +1267 -0
- package/dist/agents/skills/codex/harness-soundness-review/skill.yaml +49 -0
- package/dist/agents/skills/codex/harness-sql-review/SKILL.md +315 -0
- package/dist/agents/skills/codex/harness-sql-review/skill.yaml +74 -0
- package/dist/agents/skills/codex/harness-state-management/SKILL.md +309 -0
- package/dist/agents/skills/codex/harness-state-management/skill.yaml +33 -0
- package/dist/agents/skills/codex/harness-supply-chain-audit/SKILL.md +281 -0
- package/dist/agents/skills/codex/harness-supply-chain-audit/skill.yaml +51 -0
- package/dist/agents/skills/codex/harness-tdd/SKILL.md +177 -0
- package/dist/agents/skills/codex/harness-tdd/skill.yaml +49 -0
- package/dist/agents/skills/codex/harness-test-advisor/SKILL.md +160 -0
- package/dist/agents/skills/codex/harness-test-advisor/skill.yaml +45 -0
- package/dist/agents/skills/codex/harness-test-data/SKILL.md +268 -0
- package/dist/agents/skills/codex/harness-test-data/skill.yaml +74 -0
- package/dist/agents/skills/codex/harness-ux-copy/SKILL.md +271 -0
- package/dist/agents/skills/codex/harness-ux-copy/skill.yaml +77 -0
- package/dist/agents/skills/codex/harness-verification/SKILL.md +421 -0
- package/dist/agents/skills/codex/harness-verification/skill.yaml +43 -0
- package/dist/agents/skills/codex/harness-verify/SKILL.md +159 -0
- package/dist/agents/skills/codex/harness-verify/skill.yaml +41 -0
- package/dist/agents/skills/codex/harness-visual-regression/SKILL.md +257 -0
- package/dist/agents/skills/codex/harness-visual-regression/skill.yaml +74 -0
- package/dist/agents/skills/codex/initialize-harness-project/SKILL.md +232 -0
- package/dist/agents/skills/codex/initialize-harness-project/skill.yaml +32 -0
- package/dist/agents/skills/codex/validate-context-engineering/SKILL.md +150 -0
- package/dist/agents/skills/codex/validate-context-engineering/skill.yaml +32 -0
- package/dist/agents/skills/cursor/add-harness-component/SKILL.md +192 -0
- package/dist/agents/skills/cursor/add-harness-component/skill.yaml +33 -0
- package/dist/agents/skills/cursor/align-documentation/SKILL.md +213 -0
- package/dist/agents/skills/cursor/align-documentation/skill.yaml +32 -0
- package/dist/agents/skills/cursor/check-mechanical-constraints/SKILL.md +191 -0
- package/dist/agents/skills/cursor/check-mechanical-constraints/skill.yaml +33 -0
- package/dist/agents/skills/cursor/cleanup-dead-code/SKILL.md +245 -0
- package/dist/agents/skills/cursor/cleanup-dead-code/skill.yaml +34 -0
- package/dist/agents/skills/cursor/detect-doc-drift/SKILL.md +179 -0
- package/dist/agents/skills/cursor/detect-doc-drift/skill.yaml +31 -0
- package/dist/agents/skills/cursor/enforce-architecture/SKILL.md +296 -0
- package/dist/agents/skills/cursor/enforce-architecture/skill.yaml +35 -0
- package/dist/agents/skills/cursor/harness-accessibility/SKILL.md +281 -0
- package/dist/agents/skills/cursor/harness-accessibility/skill.yaml +52 -0
- package/dist/agents/skills/cursor/harness-api-design/SKILL.md +356 -0
- package/dist/agents/skills/cursor/harness-api-design/skill.yaml +74 -0
- package/dist/agents/skills/cursor/harness-architecture-advisor/SKILL.md +449 -0
- package/dist/agents/skills/cursor/harness-architecture-advisor/skill.yaml +49 -0
- package/dist/agents/skills/cursor/harness-auth/SKILL.md +331 -0
- package/dist/agents/skills/cursor/harness-auth/skill.yaml +81 -0
- package/dist/agents/skills/cursor/harness-autopilot/SKILL.md +916 -0
- package/dist/agents/skills/cursor/harness-autopilot/skill.yaml +67 -0
- package/dist/agents/skills/cursor/harness-brainstorming/SKILL.md +406 -0
- package/dist/agents/skills/cursor/harness-brainstorming/skill.yaml +50 -0
- package/dist/agents/skills/cursor/harness-caching/SKILL.md +309 -0
- package/dist/agents/skills/cursor/harness-caching/skill.yaml +73 -0
- package/dist/agents/skills/cursor/harness-chaos/SKILL.md +295 -0
- package/dist/agents/skills/cursor/harness-chaos/skill.yaml +72 -0
- package/dist/agents/skills/cursor/harness-code-review/SKILL.md +857 -0
- package/dist/agents/skills/cursor/harness-code-review/skill.yaml +52 -0
- package/dist/agents/skills/cursor/harness-codebase-cleanup/SKILL.md +224 -0
- package/dist/agents/skills/cursor/harness-codebase-cleanup/skill.yaml +65 -0
- package/dist/agents/skills/cursor/harness-compliance/SKILL.md +303 -0
- package/dist/agents/skills/cursor/harness-compliance/skill.yaml +78 -0
- package/dist/agents/skills/cursor/harness-containerization/SKILL.md +284 -0
- package/dist/agents/skills/cursor/harness-containerization/skill.yaml +80 -0
- package/dist/agents/skills/cursor/harness-data-pipeline/SKILL.md +274 -0
- package/dist/agents/skills/cursor/harness-data-pipeline/skill.yaml +81 -0
- package/dist/agents/skills/cursor/harness-data-validation/SKILL.md +343 -0
- package/dist/agents/skills/cursor/harness-data-validation/skill.yaml +75 -0
- package/dist/agents/skills/cursor/harness-database/SKILL.md +310 -0
- package/dist/agents/skills/cursor/harness-database/skill.yaml +80 -0
- package/dist/agents/skills/cursor/harness-debugging/SKILL.md +366 -0
- package/dist/agents/skills/cursor/harness-debugging/skill.yaml +48 -0
- package/dist/agents/skills/cursor/harness-dependency-health/SKILL.md +179 -0
- package/dist/agents/skills/cursor/harness-dependency-health/skill.yaml +42 -0
- package/dist/agents/skills/cursor/harness-deployment/SKILL.md +307 -0
- package/dist/agents/skills/cursor/harness-deployment/skill.yaml +77 -0
- package/dist/agents/skills/cursor/harness-design/SKILL.md +265 -0
- package/dist/agents/skills/cursor/harness-design/skill.yaml +54 -0
- package/dist/agents/skills/cursor/harness-design-mobile/SKILL.md +336 -0
- package/dist/agents/skills/cursor/harness-design-mobile/skill.yaml +50 -0
- package/dist/agents/skills/cursor/harness-design-system/SKILL.md +282 -0
- package/dist/agents/skills/cursor/harness-design-system/skill.yaml +51 -0
- package/dist/agents/skills/cursor/harness-design-web/SKILL.md +360 -0
- package/dist/agents/skills/cursor/harness-design-web/skill.yaml +53 -0
- package/dist/agents/skills/cursor/harness-diagnostics/SKILL.md +318 -0
- package/dist/agents/skills/cursor/harness-diagnostics/skill.yaml +51 -0
- package/dist/agents/skills/cursor/harness-docs-pipeline/SKILL.md +460 -0
- package/dist/agents/skills/cursor/harness-docs-pipeline/skill.yaml +70 -0
- package/dist/agents/skills/cursor/harness-dx/SKILL.md +276 -0
- package/dist/agents/skills/cursor/harness-dx/skill.yaml +76 -0
- package/dist/agents/skills/cursor/harness-e2e/SKILL.md +245 -0
- package/dist/agents/skills/cursor/harness-e2e/skill.yaml +78 -0
- package/dist/agents/skills/cursor/harness-event-driven/SKILL.md +280 -0
- package/dist/agents/skills/cursor/harness-event-driven/skill.yaml +77 -0
- package/dist/agents/skills/cursor/harness-execution/SKILL.md +510 -0
- package/dist/agents/skills/cursor/harness-execution/skill.yaml +52 -0
- package/dist/agents/skills/cursor/harness-feature-flags/SKILL.md +287 -0
- package/dist/agents/skills/cursor/harness-feature-flags/skill.yaml +74 -0
- package/dist/agents/skills/cursor/harness-git-workflow/SKILL.md +268 -0
- package/dist/agents/skills/cursor/harness-git-workflow/skill.yaml +32 -0
- package/dist/agents/skills/cursor/harness-hotspot-detector/SKILL.md +161 -0
- package/dist/agents/skills/cursor/harness-hotspot-detector/skill.yaml +45 -0
- package/dist/agents/skills/cursor/harness-i18n/SKILL.md +484 -0
- package/dist/agents/skills/cursor/harness-i18n/skill.yaml +55 -0
- package/dist/agents/skills/cursor/harness-i18n-process/SKILL.md +388 -0
- package/dist/agents/skills/cursor/harness-i18n-process/skill.yaml +44 -0
- package/dist/agents/skills/cursor/harness-i18n-workflow/SKILL.md +512 -0
- package/dist/agents/skills/cursor/harness-i18n-workflow/skill.yaml +54 -0
- package/dist/agents/skills/cursor/harness-impact-analysis/SKILL.md +184 -0
- package/dist/agents/skills/cursor/harness-impact-analysis/skill.yaml +45 -0
- package/dist/agents/skills/cursor/harness-incident-response/SKILL.md +223 -0
- package/dist/agents/skills/cursor/harness-incident-response/skill.yaml +78 -0
- package/dist/agents/skills/cursor/harness-infrastructure-as-code/SKILL.md +279 -0
- package/dist/agents/skills/cursor/harness-infrastructure-as-code/skill.yaml +80 -0
- package/dist/agents/skills/cursor/harness-integration-test/SKILL.md +271 -0
- package/dist/agents/skills/cursor/harness-integration-test/skill.yaml +73 -0
- package/dist/agents/skills/cursor/harness-integrity/SKILL.md +167 -0
- package/dist/agents/skills/cursor/harness-integrity/skill.yaml +48 -0
- package/dist/agents/skills/cursor/harness-knowledge-mapper/SKILL.md +195 -0
- package/dist/agents/skills/cursor/harness-knowledge-mapper/skill.yaml +50 -0
- package/dist/agents/skills/cursor/harness-load-testing/SKILL.md +274 -0
- package/dist/agents/skills/cursor/harness-load-testing/skill.yaml +79 -0
- package/dist/agents/skills/cursor/harness-ml-ops/SKILL.md +341 -0
- package/dist/agents/skills/cursor/harness-ml-ops/skill.yaml +79 -0
- package/dist/agents/skills/cursor/harness-mobile-patterns/SKILL.md +326 -0
- package/dist/agents/skills/cursor/harness-mobile-patterns/skill.yaml +82 -0
- package/dist/agents/skills/cursor/harness-mutation-test/SKILL.md +251 -0
- package/dist/agents/skills/cursor/harness-mutation-test/skill.yaml +70 -0
- package/dist/agents/skills/cursor/harness-observability/SKILL.md +283 -0
- package/dist/agents/skills/cursor/harness-observability/skill.yaml +78 -0
- package/dist/agents/skills/cursor/harness-onboarding/SKILL.md +288 -0
- package/dist/agents/skills/cursor/harness-onboarding/skill.yaml +31 -0
- package/dist/agents/skills/cursor/harness-parallel-agents/SKILL.md +256 -0
- package/dist/agents/skills/cursor/harness-parallel-agents/skill.yaml +34 -0
- package/dist/agents/skills/cursor/harness-perf/SKILL.md +260 -0
- package/dist/agents/skills/cursor/harness-perf/skill.yaml +51 -0
- package/dist/agents/skills/cursor/harness-perf-tdd/SKILL.md +249 -0
- package/dist/agents/skills/cursor/harness-perf-tdd/skill.yaml +48 -0
- package/dist/agents/skills/cursor/harness-planning/SKILL.md +579 -0
- package/dist/agents/skills/cursor/harness-planning/skill.yaml +56 -0
- package/dist/agents/skills/cursor/harness-pre-commit-review/SKILL.md +324 -0
- package/dist/agents/skills/cursor/harness-pre-commit-review/skill.yaml +34 -0
- package/dist/agents/skills/cursor/harness-product-spec/SKILL.md +285 -0
- package/dist/agents/skills/cursor/harness-product-spec/skill.yaml +72 -0
- package/dist/agents/skills/cursor/harness-property-test/SKILL.md +281 -0
- package/dist/agents/skills/cursor/harness-property-test/skill.yaml +71 -0
- package/dist/agents/skills/cursor/harness-refactoring/SKILL.md +169 -0
- package/dist/agents/skills/cursor/harness-refactoring/skill.yaml +34 -0
- package/dist/agents/skills/cursor/harness-release-readiness/SKILL.md +689 -0
- package/dist/agents/skills/cursor/harness-release-readiness/skill.yaml +58 -0
- package/dist/agents/skills/cursor/harness-resilience/SKILL.md +255 -0
- package/dist/agents/skills/cursor/harness-resilience/skill.yaml +76 -0
- package/dist/agents/skills/cursor/harness-roadmap/SKILL.md +595 -0
- package/dist/agents/skills/cursor/harness-roadmap/skill.yaml +44 -0
- package/dist/agents/skills/cursor/harness-secrets/SKILL.md +293 -0
- package/dist/agents/skills/cursor/harness-secrets/skill.yaml +76 -0
- package/dist/agents/skills/cursor/harness-security-review/SKILL.md +260 -0
- package/dist/agents/skills/cursor/harness-security-review/skill.yaml +53 -0
- package/dist/agents/skills/cursor/harness-security-scan/SKILL.md +154 -0
- package/dist/agents/skills/cursor/harness-security-scan/skill.yaml +42 -0
- package/dist/agents/skills/cursor/harness-skill-authoring/SKILL.md +292 -0
- package/dist/agents/skills/cursor/harness-skill-authoring/skill.yaml +33 -0
- package/dist/agents/skills/cursor/harness-soundness-review/SKILL.md +1267 -0
- package/dist/agents/skills/cursor/harness-soundness-review/skill.yaml +49 -0
- package/dist/agents/skills/cursor/harness-sql-review/SKILL.md +315 -0
- package/dist/agents/skills/cursor/harness-sql-review/skill.yaml +74 -0
- package/dist/agents/skills/cursor/harness-state-management/SKILL.md +309 -0
- package/dist/agents/skills/cursor/harness-state-management/skill.yaml +33 -0
- package/dist/agents/skills/cursor/harness-supply-chain-audit/SKILL.md +281 -0
- package/dist/agents/skills/cursor/harness-supply-chain-audit/skill.yaml +51 -0
- package/dist/agents/skills/cursor/harness-tdd/SKILL.md +177 -0
- package/dist/agents/skills/cursor/harness-tdd/skill.yaml +49 -0
- package/dist/agents/skills/cursor/harness-test-advisor/SKILL.md +160 -0
- package/dist/agents/skills/cursor/harness-test-advisor/skill.yaml +45 -0
- package/dist/agents/skills/cursor/harness-test-data/SKILL.md +268 -0
- package/dist/agents/skills/cursor/harness-test-data/skill.yaml +74 -0
- package/dist/agents/skills/cursor/harness-ux-copy/SKILL.md +271 -0
- package/dist/agents/skills/cursor/harness-ux-copy/skill.yaml +77 -0
- package/dist/agents/skills/cursor/harness-verification/SKILL.md +421 -0
- package/dist/agents/skills/cursor/harness-verification/skill.yaml +43 -0
- package/dist/agents/skills/cursor/harness-verify/SKILL.md +159 -0
- package/dist/agents/skills/cursor/harness-verify/skill.yaml +41 -0
- package/dist/agents/skills/cursor/harness-visual-regression/SKILL.md +257 -0
- package/dist/agents/skills/cursor/harness-visual-regression/skill.yaml +74 -0
- package/dist/agents/skills/cursor/initialize-harness-project/SKILL.md +232 -0
- package/dist/agents/skills/cursor/initialize-harness-project/skill.yaml +32 -0
- package/dist/agents/skills/cursor/validate-context-engineering/SKILL.md +150 -0
- package/dist/agents/skills/cursor/validate-context-engineering/skill.yaml +32 -0
- package/dist/agents/skills/gemini-cli/enforce-architecture/SKILL.md +52 -0
- package/dist/agents/skills/gemini-cli/harness-api-design/SKILL.md +52 -0
- package/dist/agents/skills/gemini-cli/harness-architecture-advisor/SKILL.md +52 -0
- package/dist/agents/skills/gemini-cli/harness-auth/SKILL.md +52 -0
- package/dist/agents/skills/gemini-cli/harness-autopilot/SKILL.md +123 -14
- package/dist/agents/skills/gemini-cli/harness-autopilot/skill.yaml +6 -0
- package/dist/agents/skills/gemini-cli/harness-code-review/SKILL.md +97 -3
- package/dist/agents/skills/gemini-cli/harness-code-review/skill.yaml +6 -0
- package/dist/agents/skills/gemini-cli/harness-codebase-cleanup/SKILL.md +2 -4
- package/dist/agents/skills/gemini-cli/harness-database/SKILL.md +52 -0
- package/dist/agents/skills/gemini-cli/harness-deployment/SKILL.md +52 -0
- package/dist/agents/skills/gemini-cli/harness-planning/SKILL.md +99 -3
- package/dist/agents/skills/gemini-cli/harness-planning/skill.yaml +6 -0
- package/dist/agents/skills/gemini-cli/harness-pre-commit-review/SKILL.md +1 -1
- package/dist/agents/skills/gemini-cli/harness-security-review/SKILL.md +27 -7
- package/dist/agents/skills/gemini-cli/harness-security-scan/SKILL.md +52 -0
- package/dist/agents/skills/gemini-cli/harness-supply-chain-audit/SKILL.md +281 -0
- package/dist/agents/skills/gemini-cli/harness-supply-chain-audit/skill.yaml +51 -0
- package/dist/agents/skills/templates/discipline-template.md +49 -0
- package/dist/agents/skills/tests/schema.ts +1 -1
- package/dist/{agents-md-ZGNIDWAF.js → agents-md-VYDFPIRW.js} +1 -1
- package/dist/{architecture-ZLIH5533.js → architecture-K5HSRBGB.js} +2 -2
- package/dist/bin/harness-mcp.js +13 -13
- package/dist/bin/harness.js +18 -18
- package/dist/{check-phase-gate-ZOXVBDCN.js → check-phase-gate-5AS6SXL6.js} +3 -3
- package/dist/{chunk-LGYBN7Y6.js → chunk-5ZXHMCPL.js} +1 -1
- package/dist/{chunk-RCWZBSK5.js → chunk-6KWBH4EO.js} +1 -1
- package/dist/{chunk-Z2OOPXJO.js → chunk-ALFKNAZW.js} +1172 -74
- package/dist/{chunk-VEPAJXBW.js → chunk-AV6KMDO5.js} +2 -2
- package/dist/{chunk-2BKLWLY6.js → chunk-C7DTKLPW.js} +4 -4
- package/dist/{chunk-ZOAWBDWU.js → chunk-CJDVBBPB.js} +5 -1
- package/dist/{chunk-EDXIVMAP.js → chunk-DNDBFIZN.js} +18 -4
- package/dist/{chunk-XYLGHKG6.js → chunk-HKUX2X7O.js} +11 -2
- package/dist/{chunk-NNHDDXYT.js → chunk-JOP2NDNB.js} +396 -114
- package/dist/{chunk-YBJ262QL.js → chunk-LRG3B43J.js} +1 -1
- package/dist/{chunk-AOZRDOIP.js → chunk-M6TIO6NF.js} +1 -1
- package/dist/{chunk-B2HKP423.js → chunk-OCDDCGDE.js} +9 -1
- package/dist/{chunk-3ZZKVN62.js → chunk-QDF7COPQ.js} +1 -1
- package/dist/{chunk-YLXFKVJE.js → chunk-RWZPHW4H.js} +3 -3
- package/dist/{chunk-N25INEIX.js → chunk-SFRGPAK6.js} +1 -1
- package/dist/{chunk-J4RAX7YB.js → chunk-SHYWICGA.js} +1677 -501
- package/dist/{chunk-OFXQSFOW.js → chunk-TF6ZLHJV.js} +2 -2
- package/dist/{chunk-ND2ENWDM.js → chunk-ZJMU7MEV.js} +1 -1
- package/dist/{ci-workflow-765LSHRD.js → ci-workflow-CRWU723U.js} +1 -1
- package/dist/{create-skill-XSWHMSM5.js → create-skill-NDXQSTIK.js} +2 -2
- package/dist/{dist-ALQDD67R.js → dist-4LPXJYVZ.js} +59 -1
- package/dist/{docs-NRMQCOJ6.js → docs-4JRHTLUZ.js} +3 -3
- package/dist/{engine-3RB7MXPP.js → engine-3G3VIM6L.js} +1 -1
- package/dist/{entropy-6AGX2ZUN.js → entropy-G6CZ2A6P.js} +2 -2
- package/dist/{feedback-MY4QZIFD.js → feedback-QYKQ65HB.js} +1 -1
- package/dist/{generate-agent-definitions-ZAE726AU.js → generate-agent-definitions-SAAOAPT4.js} +3 -3
- package/dist/index.d.ts +33 -12
- package/dist/index.js +18 -18
- package/dist/{loader-UUTVMQCC.js → loader-VCOK3PF7.js} +1 -1
- package/dist/{mcp-VU5FMO52.js → mcp-YENEPHBW.js} +13 -13
- package/dist/{performance-2D7G6NMJ.js → performance-UBCFI2UP.js} +4 -2
- package/dist/{review-pipeline-RAQ55ISU.js → review-pipeline-IQAVCWAX.js} +1 -1
- package/dist/{runtime-BCK5RRZQ.js → runtime-PYFFIESU.js} +1 -1
- package/dist/{security-2RPQEN62.js → security-ZDADTPYW.js} +1 -1
- package/dist/{skill-executor-XZLYZYAK.js → skill-executor-XEVDGXUM.js} +2 -2
- package/dist/{validate-KBYQAEWE.js → validate-VRTUHALQ.js} +2 -2
- package/dist/{validate-cross-check-OABMREW4.js → validate-cross-check-4Y6NHNK3.js} +1 -1
- package/package.json +6 -5
|
@@ -33,6 +33,20 @@ Autopilot orchestrates these persona agents — it never reimplements their logi
|
|
|
33
33
|
|
|
34
34
|
**Plans are gated by concern signals.** When no concern signals fire (low complexity, no planner concerns, task count within threshold), plans are auto-approved with a structured report and execution proceeds immediately. When any signal fires, the plan pauses for human review with the standard yes/revise/skip/stop flow. The `--review-plans` session flag forces all plans to pause regardless of signals.
|
|
35
35
|
|
|
36
|
+
## Rigor Levels
|
|
37
|
+
|
|
38
|
+
The `rigorLevel` is set during INIT via `--fast` or `--thorough` flags and persists for the entire session. Default is `standard`.
|
|
39
|
+
|
|
40
|
+
| State | `fast` | `standard` (default) | `thorough` |
|
|
41
|
+
| -------------- | -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
|
|
42
|
+
| PLAN | Pass `rigorLevel: fast` to planner. Planner skips skeleton pass. | Default planner behavior. | Pass `rigorLevel: thorough` to planner. Planner always produces skeleton for approval. |
|
|
43
|
+
| APPROVE_PLAN | Auto-approve all plans regardless of concern signals. Skip human review. | Default signal-based approval logic. | Force human review of all plans (equivalent to `--review-plans`). |
|
|
44
|
+
| EXECUTE | Skip scratchpad — agents keep research in conversation. Checkpoint commits still fire. | Agents use scratchpad for research >500 words. Checkpoint commits fire. | Verbose scratchpad — agents write all research, reasoning, and intermediate output to scratchpad. Checkpoint commits fire. |
|
|
45
|
+
| VERIFY | Minimal verification — run `harness validate` only. Skip detailed verification agent. | Default verification pipeline. | Full verification — run verification agent with expanded checks. |
|
|
46
|
+
| PHASE_COMPLETE | Scratchpad clear is a no-op (nothing written). | Clear scratchpad for completed phase. | Clear scratchpad for completed phase. |
|
|
47
|
+
|
|
48
|
+
When `rigorLevel` is `fast`, the APPROVE_PLAN concern signal evaluation is bypassed entirely — plans always auto-approve. When `rigorLevel` is `thorough`, it implicitly sets `reviewPlans: true` for the APPROVE_PLAN gate.
|
|
49
|
+
|
|
36
50
|
## Process
|
|
37
51
|
|
|
38
52
|
### State Machine
|
|
@@ -61,7 +75,7 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
|
|
|
61
75
|
- Create the session directory if it does not exist
|
|
62
76
|
|
|
63
77
|
3. **Check for existing state.** Read `{sessionDir}/autopilot-state.json`. If it exists and `currentState` is not `DONE`:
|
|
64
|
-
- **Schema migration:** If `schemaVersion < 3`, backfill missing fields: set `startingCommit` to the earliest commit in `history` (or current HEAD if no history), set `decisions` to `[]`, set `finalReview` to `{ "status": "pending", "findings": [], "retryCount": 0 }`. If `schemaVersion < 4`, set `reviewPlans` to `false`. Update `schemaVersion` to `4` and save.
|
|
78
|
+
- **Schema migration:** If `schemaVersion < 3`, backfill missing fields: set `startingCommit` to the earliest commit in `history` (or current HEAD if no history), set `decisions` to `[]`, set `finalReview` to `{ "status": "pending", "findings": [], "retryCount": 0 }`. If `schemaVersion < 4`, set `reviewPlans` to `false`. Update `schemaVersion` to `4` and save. If `schemaVersion < 5`, set `rigorLevel` to `"standard"`. Update `schemaVersion` to `5` and save.
|
|
65
79
|
- Report: "Resuming autopilot from state `{currentState}`, phase {currentPhase}: {phaseName}."
|
|
66
80
|
- Skip steps 4 and 5 (initial state creation and flag parsing) — these only apply to fresh starts.
|
|
67
81
|
- Skip to the recorded `currentState` and continue from there.
|
|
@@ -76,11 +90,12 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
|
|
|
76
90
|
- Create `{sessionDir}/autopilot-state.json`:
|
|
77
91
|
```json
|
|
78
92
|
{
|
|
79
|
-
"schemaVersion":
|
|
93
|
+
"schemaVersion": 5,
|
|
80
94
|
"sessionDir": ".harness/sessions/<slug>",
|
|
81
95
|
"specPath": "<path to spec>",
|
|
82
96
|
"startingCommit": "<git rev-parse HEAD output>",
|
|
83
97
|
"reviewPlans": false,
|
|
98
|
+
"rigorLevel": "standard",
|
|
84
99
|
"currentState": "ASSESS",
|
|
85
100
|
"currentPhase": 0,
|
|
86
101
|
"phases": [
|
|
@@ -106,7 +121,12 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
|
|
|
106
121
|
}
|
|
107
122
|
```
|
|
108
123
|
|
|
109
|
-
5. **Parse session flags.** Check CLI arguments for
|
|
124
|
+
5. **Parse session flags.** Check CLI arguments for session-level flags. These persist for the entire session -- resuming a session preserves the settings from when it was started (flags are only read on fresh start, not on resume).
|
|
125
|
+
- `--review-plans`: Set `state.reviewPlans: true`.
|
|
126
|
+
- `--fast`: Set `state.rigorLevel: "fast"`. Reduces rigor across all phases: skip skeleton approval, skip scratchpad, minimal verification.
|
|
127
|
+
- `--thorough`: Set `state.rigorLevel: "thorough"`. Increases rigor across all phases: require skeleton approval, verbose scratchpad, full verification.
|
|
128
|
+
- If neither `--fast` nor `--thorough` is passed, `rigorLevel` defaults to `"standard"`.
|
|
129
|
+
- If both `--fast` and `--thorough` are passed, reject with error: "Cannot use --fast and --thorough together. Choose one."
|
|
110
130
|
|
|
111
131
|
6. **Load context via gather_context.** Use the `gather_context` MCP tool to load all working context efficiently:
|
|
112
132
|
|
|
@@ -176,10 +196,23 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
|
|
|
176
196
|
Session directory: {sessionDir}
|
|
177
197
|
Session slug: {sessionSlug}
|
|
178
198
|
Phase description: {phase description from spec}
|
|
199
|
+
Rigor level: {rigorLevel}
|
|
179
200
|
|
|
180
201
|
On startup, call gather_context({ session: "{sessionSlug}" }) to load
|
|
181
202
|
session-scoped learnings, state, and validation context.
|
|
182
203
|
|
|
204
|
+
## Scratchpad (if rigorLevel is not "fast")
|
|
205
|
+
|
|
206
|
+
For bulky research output (spec analysis, codebase exploration notes,
|
|
207
|
+
dependency analysis — anything >500 words), write to scratchpad instead
|
|
208
|
+
of keeping in conversation:
|
|
209
|
+
|
|
210
|
+
writeScratchpad({ session: "{sessionSlug}", phase: "{phaseName}", projectPath: "{projectPath}" }, "research-{topic}.md", content)
|
|
211
|
+
|
|
212
|
+
Reference the scratchpad file path in your conversation instead of
|
|
213
|
+
inlining the content. This keeps the planning context focused on
|
|
214
|
+
decisions and task structure.
|
|
215
|
+
|
|
183
216
|
Follow the harness-planning skill process exactly. Write the plan to
|
|
184
217
|
docs/plans/{date}-{phase-name}-plan.md. Write {sessionDir}/handoff.json when done.
|
|
185
218
|
```
|
|
@@ -215,7 +248,12 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
|
|
|
215
248
|
- Effective complexity (original + any override)
|
|
216
249
|
- Concerns array from the planning handoff (`{sessionDir}/handoff.json` field `concerns`, default: `[]` if field is absent)
|
|
217
250
|
|
|
218
|
-
2. **
|
|
251
|
+
2. **Rigor-level override:**
|
|
252
|
+
- If `rigorLevel` is `"fast"`: Skip the signal evaluation entirely. Auto-approve the plan. Record decision as `"auto_approved_plan_fast"`. Transition directly to EXECUTE.
|
|
253
|
+
- If `rigorLevel` is `"thorough"`: Force `shouldPauseForReview = true` regardless of other signals (equivalent to `--review-plans`).
|
|
254
|
+
- If `rigorLevel` is `"standard"`: Proceed with normal signal evaluation below.
|
|
255
|
+
|
|
256
|
+
3. **Evaluate `shouldPauseForReview`.** Check the following signals in order. If **any** signal is true, pause for human review. If **all** are false, auto-approve.
|
|
219
257
|
|
|
220
258
|
| # | Signal | Condition | Description |
|
|
221
259
|
| --- | -------------------- | ------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
@@ -225,7 +263,7 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
|
|
|
225
263
|
| 4 | `plannerConcerns` | Handoff `concerns` array is non-empty | Planner flagged specific risks or uncertainties |
|
|
226
264
|
| 5 | `taskCount` | Plan contains > 15 tasks (i.e., 16+) | Plan is large enough to warrant human review |
|
|
227
265
|
|
|
228
|
-
|
|
266
|
+
4. **Build the signal evaluation result** for reporting and recording:
|
|
229
267
|
|
|
230
268
|
```json
|
|
231
269
|
{
|
|
@@ -238,7 +276,7 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
|
|
|
238
276
|
}
|
|
239
277
|
```
|
|
240
278
|
|
|
241
|
-
|
|
279
|
+
5. **If auto-approving (no signals fired):**
|
|
242
280
|
|
|
243
281
|
a. **Emit structured auto-approve report:**
|
|
244
282
|
|
|
@@ -270,7 +308,7 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
|
|
|
270
308
|
|
|
271
309
|
c. **Transition to EXECUTE** — no human interaction needed.
|
|
272
310
|
|
|
273
|
-
|
|
311
|
+
6. **If pausing for review (one or more signals fired):**
|
|
274
312
|
|
|
275
313
|
a. **Emit structured pause report** showing which signal(s) triggered:
|
|
276
314
|
|
|
@@ -312,7 +350,7 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
|
|
|
312
350
|
|
|
313
351
|
Use the actual decision value: `approved_plan`, `revised_plan`, `skipped_phase`, or `stopped`.
|
|
314
352
|
|
|
315
|
-
|
|
353
|
+
7. **Update state** with `currentState: "EXECUTE"` (or appropriate state for skip/stop) and save.
|
|
316
354
|
|
|
317
355
|
---
|
|
318
356
|
|
|
@@ -331,16 +369,35 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
|
|
|
331
369
|
Session directory: {sessionDir}
|
|
332
370
|
Session slug: {sessionSlug}
|
|
333
371
|
State: {sessionDir}/state.json
|
|
372
|
+
Rigor level: {rigorLevel}
|
|
334
373
|
|
|
335
374
|
On startup, call gather_context({ session: "{sessionSlug}" }) to load
|
|
336
375
|
session-scoped learnings, state, and validation context.
|
|
337
376
|
|
|
377
|
+
## Scratchpad (if rigorLevel is not "fast")
|
|
378
|
+
|
|
379
|
+
For bulky intermediate output (test output analysis, error investigation
|
|
380
|
+
notes, dependency trees — anything >500 words), write to scratchpad:
|
|
381
|
+
|
|
382
|
+
writeScratchpad({ session: "{sessionSlug}", phase: "{phaseName}", projectPath: "{projectPath}" }, "task-{N}-{topic}.md", content)
|
|
383
|
+
|
|
384
|
+
Reference the scratchpad file path instead of inlining the content.
|
|
385
|
+
|
|
338
386
|
Follow the harness-execution skill process exactly.
|
|
339
387
|
Update {sessionDir}/state.json after each task.
|
|
340
388
|
Write {sessionDir}/handoff.json when done or when blocked.
|
|
341
389
|
```
|
|
342
390
|
|
|
343
391
|
2. **When the agent returns, check the outcome:**
|
|
392
|
+
- **After each checkpoint verification passes**, commit the work:
|
|
393
|
+
```
|
|
394
|
+
commitAtCheckpoint({
|
|
395
|
+
projectPath: "{projectPath}",
|
|
396
|
+
session: "{sessionSlug}",
|
|
397
|
+
checkpointLabel: "Checkpoint {N}: {checkpoint description}"
|
|
398
|
+
})
|
|
399
|
+
```
|
|
400
|
+
If the commit result shows `committed: false`, no changes existed — continue silently.
|
|
344
401
|
- **All tasks complete:** Transition to VERIFY.
|
|
345
402
|
- **Checkpoint reached:** Surface the checkpoint to the user in the main conversation. Handle the checkpoint type:
|
|
346
403
|
- `[checkpoint:human-verify]` — Show output, ask for confirmation, then resume execution agent.
|
|
@@ -357,6 +414,16 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
|
|
|
357
414
|
- **Attempt 2:** Expand context — read related files, check `learnings.md` for similar failures, re-dispatch with additional context.
|
|
358
415
|
- **Attempt 3:** Full context gather — read test output, imports, plan instructions for ambiguity. Re-dispatch with maximum context.
|
|
359
416
|
- If budget exhausted:
|
|
417
|
+
- **Recovery commit:** Before stopping, commit any passing work:
|
|
418
|
+
```
|
|
419
|
+
commitAtCheckpoint({
|
|
420
|
+
projectPath: "{projectPath}",
|
|
421
|
+
session: "{sessionSlug}",
|
|
422
|
+
checkpointLabel: "Phase {N}: {name} — recovery at task {taskNumber}",
|
|
423
|
+
isRecovery: true
|
|
424
|
+
})
|
|
425
|
+
```
|
|
426
|
+
This preserves all work completed before the failure. The `[autopilot][recovery]` prefix in the commit message distinguishes recovery commits from normal checkpoint commits.
|
|
360
427
|
- **Stop.** Present all 3 attempts with full context to the user.
|
|
361
428
|
- Record failure in `.harness/failures.md`.
|
|
362
429
|
- Ask: "How should we proceed? (fix manually and continue / revise plan / stop)"
|
|
@@ -368,7 +435,11 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
|
|
|
368
435
|
|
|
369
436
|
### VERIFY — Post-Execution Validation
|
|
370
437
|
|
|
371
|
-
1. **
|
|
438
|
+
1. **Rigor-level branching:**
|
|
439
|
+
- If `rigorLevel` is `"fast"`: Skip the verification agent entirely. Run only `harness validate`. If it passes, transition to REVIEW. If it fails, surface to user.
|
|
440
|
+
- If `rigorLevel` is `"thorough"` or `"standard"`: Dispatch the verification agent as below.
|
|
441
|
+
|
|
442
|
+
2. **Dispatch verification agent using the Agent tool:**
|
|
372
443
|
|
|
373
444
|
```
|
|
374
445
|
Agent tool parameters:
|
|
@@ -387,14 +458,14 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
|
|
|
387
458
|
Report pass/fail with findings.
|
|
388
459
|
```
|
|
389
460
|
|
|
390
|
-
|
|
461
|
+
3. **When the agent returns:**
|
|
391
462
|
- **All checks pass:** Transition to REVIEW.
|
|
392
463
|
- **Failures found:** Surface findings to the user. Ask: "Fix these issues before review? (fix / skip verification / stop)"
|
|
393
464
|
- **fix** — Re-enter EXECUTE with targeted fixes (retry budget resets for verification fixes).
|
|
394
465
|
- **skip** — Record skip decision in `decisions` array. Proceed to REVIEW with verification warnings noted.
|
|
395
466
|
- **stop** — Save state and exit.
|
|
396
467
|
|
|
397
|
-
|
|
468
|
+
4. **Update state** with `currentState: "REVIEW"` and save.
|
|
398
469
|
|
|
399
470
|
---
|
|
400
471
|
|
|
@@ -458,9 +529,11 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
|
|
|
458
529
|
|
|
459
530
|
3. **Mark phase as `complete`** in state.
|
|
460
531
|
|
|
461
|
-
4. **
|
|
532
|
+
4. **Clear scratchpad for this phase.** Call `clearScratchpad({ session: sessionSlug, phase: phaseName, projectPath: projectPath })` to delete ephemeral research files for the completed phase. This frees disk space and prevents stale scratchpad data from leaking into future phases.
|
|
462
533
|
|
|
463
|
-
5. **
|
|
534
|
+
5. **Sync roadmap.** If `docs/roadmap.md` exists, call `manage_roadmap` with action `sync` and `apply: true`. This reflects the just-completed phase in the roadmap (e.g., updating the feature from `planned` to `in-progress`). If `manage_roadmap` is unavailable, fall back to direct file manipulation using `syncRoadmap()` from core. Skip silently if no roadmap exists. Do not use `force_sync: true` — the human-always-wins rule applies.
|
|
535
|
+
|
|
536
|
+
6. **Write session summary.** Update the session summary to reflect the completed phase:
|
|
464
537
|
|
|
465
538
|
```json
|
|
466
539
|
writeSessionSummary(projectPath, sessionSlug, {
|
|
@@ -476,7 +549,7 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
|
|
|
476
549
|
})
|
|
477
550
|
```
|
|
478
551
|
|
|
479
|
-
|
|
552
|
+
7. **Check for next phase:**
|
|
480
553
|
- If more phases remain: "Phase {N} complete. Next: Phase {N+1}: {name} (complexity: {level}). Continue? (yes / stop)"
|
|
481
554
|
- **yes** — Increment `currentPhase`, reset `retryBudget`, transition to ASSESS.
|
|
482
555
|
- **stop** — Save state and exit.
|
|
@@ -626,6 +699,9 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
|
|
|
626
699
|
- **Learnings** — `.harness/learnings.md` (global) is appended by both delegated skills and autopilot itself. On DONE, session learnings with generalizable outcomes are promoted to global via `promoteSessionLearnings`. If global count exceeds 30, autopilot suggests running `harness learnings prune`.
|
|
627
700
|
- **Roadmap context** — During INIT, reads `docs/roadmap.md` (if present) for project-level priorities, blockers, and milestone status. Provides broader context for phase execution decisions.
|
|
628
701
|
- **Roadmap sync** — During PHASE_COMPLETE, calls `manage_roadmap` with `sync` and `apply: true` to reflect phase progress. During DONE, calls `manage_roadmap` with `update` to set feature status to `done`. Both skip silently when no roadmap exists. Neither uses `force_sync: true`.
|
|
702
|
+
- **Scratchpad** — Agents write bulky research output (>500 words) to `.harness/sessions/<slug>/scratchpad/<phase>/` via `writeScratchpad()` instead of keeping it in conversation context. Cleared automatically at phase transitions via `clearScratchpad()` in PHASE_COMPLETE. Skipped entirely when `rigorLevel` is `"fast"`.
|
|
703
|
+
- **Checkpoint commits** — After each checkpoint verification passes in EXECUTE, `commitAtCheckpoint()` creates a commit with message `[autopilot] <label>`. On failure with retry budget exhausted, a recovery commit is created with `[autopilot][recovery] <label>`. Skipped silently when no changes exist.
|
|
704
|
+
- **Rigor levels** — `--fast` / `--thorough` flags set `rigorLevel` in state during INIT. Persists for the entire session. Affects PLAN (skeleton skip/require), APPROVE_PLAN (auto-approve/force-review), EXECUTE (scratchpad usage), and VERIFY (minimal/full). See the Rigor Behavior Table for details.
|
|
629
705
|
|
|
630
706
|
## Success Criteria
|
|
631
707
|
|
|
@@ -638,6 +714,11 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
|
|
|
638
714
|
- Plans auto-approve when no concern signals fire; plans pause for human review when any signal fires
|
|
639
715
|
- `--review-plans` flag forces human review for all plans in a session
|
|
640
716
|
- Phase completion summary shown between every phase
|
|
717
|
+
- `--fast` skips skeleton approval, skips scratchpad, auto-approves plans, and runs minimal verification
|
|
718
|
+
- `--thorough` requires skeleton approval, uses verbose scratchpad, forces plan review, and runs full verification
|
|
719
|
+
- Scratchpad is cleared automatically at every phase transition (PHASE_COMPLETE)
|
|
720
|
+
- Checkpoint commits fire after every passing checkpoint; recovery commits fire on retry budget exhaustion
|
|
721
|
+
- Rigor level persists across session resume — set once during INIT, never changed mid-session
|
|
641
722
|
|
|
642
723
|
## Examples
|
|
643
724
|
|
|
@@ -645,6 +726,34 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
|
|
|
645
726
|
|
|
646
727
|
**User invokes:** `/harness:autopilot docs/changes/security-scanner/proposal.md`
|
|
647
728
|
|
|
729
|
+
**Or with rigor flag:** `/harness:autopilot docs/changes/security-scanner/proposal.md --fast`
|
|
730
|
+
|
|
731
|
+
**INIT (with --fast):**
|
|
732
|
+
|
|
733
|
+
```
|
|
734
|
+
Read spec — found 3 phases:
|
|
735
|
+
Phase 1: Core Scanner (complexity: low)
|
|
736
|
+
Phase 2: Rule Engine (complexity: high)
|
|
737
|
+
Phase 3: CLI Integration (complexity: low)
|
|
738
|
+
Rigor level: fast
|
|
739
|
+
Created .harness/sessions/changes--security-scanner--proposal/autopilot-state.json. Starting Phase 1.
|
|
740
|
+
```
|
|
741
|
+
|
|
742
|
+
**Phase 1 — APPROVE_PLAN (fast mode):**
|
|
743
|
+
|
|
744
|
+
```
|
|
745
|
+
Auto-approved Phase 1: Core Scanner (fast mode — signal evaluation skipped)
|
|
746
|
+
```
|
|
747
|
+
|
|
748
|
+
**Phase 1 — EXECUTE (checkpoint commit):**
|
|
749
|
+
|
|
750
|
+
```
|
|
751
|
+
[harness-task-executor executes 8 tasks]
|
|
752
|
+
Checkpoint 1: types and interfaces — committed (abc1234)
|
|
753
|
+
Checkpoint 2: core implementation — committed (def5678)
|
|
754
|
+
Checkpoint 3: tests and validation — nothing to commit (skipped)
|
|
755
|
+
```
|
|
756
|
+
|
|
648
757
|
**INIT:**
|
|
649
758
|
|
|
650
759
|
```
|
|
@@ -26,6 +26,12 @@ cli:
|
|
|
26
26
|
- name: review-plans
|
|
27
27
|
description: Force human review of all plans (overrides auto-approve)
|
|
28
28
|
required: false
|
|
29
|
+
- name: fast
|
|
30
|
+
description: Run with reduced rigor — skip skeleton approval, skip scratchpad, minimal verification
|
|
31
|
+
required: false
|
|
32
|
+
- name: thorough
|
|
33
|
+
description: Run with maximum rigor — require skeleton approval, verbose scratchpad, full verification
|
|
34
|
+
required: false
|
|
29
35
|
mcp:
|
|
30
36
|
tool: run_skill
|
|
31
37
|
input:
|
|
@@ -58,6 +58,20 @@ interface ReviewFinding {
|
|
|
58
58
|
| `--deep` | Pass `--deep` to `harness-security-review` for threat modeling in the security fan-out slot |
|
|
59
59
|
| `--no-mechanical` | Skip mechanical checks (useful if already run in CI) |
|
|
60
60
|
| `--ci` | Enable eligibility gate, non-interactive output |
|
|
61
|
+
| `--fast` | Reduced rigor: skip learnings integration, fast-tier agents for all fan-out slots |
|
|
62
|
+
| `--thorough` | Maximum rigor: always load learnings, full agent roster + meta-judge, learnings in output |
|
|
63
|
+
|
|
64
|
+
### Rigor Levels
|
|
65
|
+
|
|
66
|
+
The `rigorLevel` is set via `--fast` or `--thorough` flags (or passed by autopilot). Default is `standard`. Rigor controls learnings integration, agent tier selection, and output verbosity.
|
|
67
|
+
|
|
68
|
+
| Phase | `fast` | `standard` (default) | `thorough` |
|
|
69
|
+
| ---------- | ----------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
|
|
70
|
+
| 3. CONTEXT | Skip learnings integration entirely. No `filterByRelevance` call. | Load learnings if `.harness/review-learnings.md` exists. Score and filter via `filterByRelevance`. | Always load learnings. Score and filter via `filterByRelevance`. Fail loudly if learnings file is missing. |
|
|
71
|
+
| 4. FAN-OUT | All agents run at fast tier. Reduced focus areas. | Default tier assignments (see Model Tiers table). | Full agent roster at default tiers + meta-judge pass that cross-validates findings across domains. |
|
|
72
|
+
| 7. OUTPUT | Standard output format. | Standard output format. | Include a "Learnings Applied" section listing which learnings influenced the review and their relevance scores. |
|
|
73
|
+
|
|
74
|
+
When `rigorLevel` is `fast`, the pipeline optimizes for speed: learnings are skipped entirely and all fan-out agents run at fast tier. When `rigorLevel` is `thorough`, the pipeline optimizes for depth: learnings are always scored and included, the full agent roster runs, a meta-judge validates cross-domain findings, and the output includes which learnings were applied.
|
|
61
75
|
|
|
62
76
|
### Model Tiers
|
|
63
77
|
|
|
@@ -71,19 +85,39 @@ Tiers are abstract labels resolved at runtime from project config. If no config
|
|
|
71
85
|
|
|
72
86
|
### Review Learnings Calibration
|
|
73
87
|
|
|
74
|
-
Before starting the pipeline, check for a project-specific calibration file:
|
|
88
|
+
Before starting the pipeline, check for a project-specific calibration file. Learnings integration is gated by rigor level:
|
|
89
|
+
|
|
90
|
+
- **`fast`:** Skip this section entirely. Do not read or score learnings.
|
|
91
|
+
- **`standard`:** Read learnings if the file exists. Score and filter. If the file does not exist, proceed with default focus areas.
|
|
92
|
+
- **`thorough`:** Always read learnings. If `.harness/review-learnings.md` does not exist, log a warning: "No review-learnings.md found -- thorough mode expects calibration data."
|
|
75
93
|
|
|
76
94
|
```bash
|
|
77
95
|
cat .harness/review-learnings.md 2>/dev/null
|
|
78
96
|
```
|
|
79
97
|
|
|
80
|
-
If `.harness/review-learnings.md` exists:
|
|
98
|
+
If `.harness/review-learnings.md` exists (and rigor is not `fast`):
|
|
81
99
|
|
|
82
100
|
1. **Read the Useful Findings section.** Prioritize these categories during review — they have historically caught real issues in this project.
|
|
83
101
|
2. **Read the Noise / False Positives section.** De-prioritize or skip these categories — flagging them wastes the author's time and erodes trust in the review process.
|
|
84
102
|
3. **Read the Calibration Notes section.** Apply these project-specific overrides to your review judgment. These represent deliberate team decisions, not oversights.
|
|
85
103
|
|
|
86
|
-
|
|
104
|
+
#### Learnings Relevance Scoring
|
|
105
|
+
|
|
106
|
+
When learnings are loaded (standard or thorough mode), score them against the diff context before applying:
|
|
107
|
+
|
|
108
|
+
1. **Build the diff context string.** Concatenate: changed file paths (one per line) + diff summary (commit message or PR description).
|
|
109
|
+
2. **Score each learning** using `filterByRelevance(learnings, diffContext, 0.7, 1000)` from `packages/core/src/state/learnings-relevance.ts`.
|
|
110
|
+
- Each learning is scored against the diff context via Jaccard similarity.
|
|
111
|
+
- Only learnings scoring >= 0.7 are retained.
|
|
112
|
+
- Results are sorted by score descending.
|
|
113
|
+
- Results are truncated to fit within the 1000-token budget.
|
|
114
|
+
3. **Apply filtered learnings** to the review focus areas:
|
|
115
|
+
- Useful Findings entries that pass the filter: boost priority for those categories.
|
|
116
|
+
- Noise/False Positive entries that pass the filter: actively suppress those patterns.
|
|
117
|
+
- Calibration Notes entries that pass the filter: apply as overrides.
|
|
118
|
+
4. **If no learnings pass the 0.7 threshold,** proceed with default focus areas. Do not fall back to unscored inclusion.
|
|
119
|
+
|
|
120
|
+
If the file does not exist and rigor is `standard`, proceed with default review focus areas. After completing the review, consider suggesting that the team create `.harness/review-learnings.md` if you notice patterns that would benefit from calibration.
|
|
87
121
|
|
|
88
122
|
## Pipeline Phases
|
|
89
123
|
|
|
@@ -285,6 +319,12 @@ Use commit history to answer:
|
|
|
285
319
|
**Tier:** mixed (see per-agent tiers below)
|
|
286
320
|
**Purpose:** Run four parallel review subagents, each with domain-scoped context from Phase 3. Each agent produces findings in the `ReviewFinding` schema.
|
|
287
321
|
|
|
322
|
+
**Rigor overrides:**
|
|
323
|
+
|
|
324
|
+
- **`fast`:** All four agents run at **fast tier** (haiku-class). Focus areas are unchanged but agents operate with reduced reasoning depth.
|
|
325
|
+
- **`standard`:** Default tier assignments as listed per agent below.
|
|
326
|
+
- **`thorough`:** Default tier assignments + a **meta-judge pass** after all agents return. The meta-judge (strong tier) cross-validates findings across domains: confirms findings cited by multiple agents, flags contradictions, and surfaces cross-cutting concerns that individual agents missed.
|
|
327
|
+
|
|
288
328
|
#### Compliance Agent (standard tier)
|
|
289
329
|
|
|
290
330
|
Reviews adherence to project conventions, standards, and documentation requirements.
|
|
@@ -493,6 +533,16 @@ For each issue, provide:
|
|
|
493
533
|
- **Request Changes** — Critical or important issues must be addressed.
|
|
494
534
|
- **Comment** — Observations only, no blocking issues.
|
|
495
535
|
|
|
536
|
+
**Learnings Applied (thorough mode only):** When `rigorLevel` is `thorough`, append a "Learnings Applied" section after the Assessment:
|
|
537
|
+
|
|
538
|
+
```
|
|
539
|
+
**Learnings Applied:**
|
|
540
|
+
- [0.85] "Useful Finding: Missing error handling in service layer" — boosted priority for error handling checks
|
|
541
|
+
- [0.72] "Noise: Style-only import ordering" — suppressed import order findings
|
|
542
|
+
```
|
|
543
|
+
|
|
544
|
+
Each entry shows the Jaccard relevance score and how the learning influenced the review. This section is omitted in `fast` and `standard` modes.
|
|
545
|
+
|
|
496
546
|
**Exit code:** 0 for Approve/Comment, 1 for Request Changes.
|
|
497
547
|
|
|
498
548
|
#### Inline GitHub Comments (`--comment` flag)
|
|
@@ -679,6 +729,8 @@ Every review finding MUST cite evidence using one of:
|
|
|
679
729
|
- **`harness cleanup`** — Optional check during Phase 2 for entropy accumulation in changed files.
|
|
680
730
|
- **Graph queries** — Used in Phase 3 (CONTEXT) for dependency-scoped context and in Phase 5 (VALIDATE) for reachability verification. Graceful fallback when no graph exists.
|
|
681
731
|
- **`emit_interaction`** -- Call after review approval to suggest transitioning to merge/PR creation. Only emitted on APPROVE assessment. Uses confirmed transition (waits for user approval).
|
|
732
|
+
- **Rigor levels** — `--fast` / `--thorough` flags control learnings integration and agent tiers. Fast skips learnings and runs all agents at fast tier. Standard includes learnings if available. Thorough always loads learnings, runs a meta-judge pass, and includes a "Learnings Applied" section in output. See the Rigor Levels table for details.
|
|
733
|
+
- **`filterByRelevance`** — Used in the Review Learnings Calibration section (Phase 3) to score learnings against diff context. Threshold 0.7, token budget 1000. From `packages/core/src/state/learnings-relevance.ts`.
|
|
682
734
|
|
|
683
735
|
## Success Criteria
|
|
684
736
|
|
|
@@ -696,6 +748,10 @@ Every review finding MUST cite evidence using one of:
|
|
|
696
748
|
- No code merges with failing harness checks
|
|
697
749
|
- Response to feedback (Role C) is verified before implementation
|
|
698
750
|
- Pushback on incorrect feedback is evidence-based
|
|
751
|
+
- When `rigorLevel` is `fast`, learnings integration is skipped and all fan-out agents run at fast tier
|
|
752
|
+
- When `rigorLevel` is `thorough`, learnings are always loaded and scored, a meta-judge validates cross-domain findings, and a "Learnings Applied" section appears in the output
|
|
753
|
+
- When `rigorLevel` is `standard`, learnings are included if `.harness/review-learnings.md` exists, scored via `filterByRelevance` at 0.7 threshold
|
|
754
|
+
- When all learnings score below 0.7 threshold, zero learnings are included (no fallback to unscored inclusion)
|
|
699
755
|
|
|
700
756
|
## Examples
|
|
701
757
|
|
|
@@ -753,6 +809,44 @@ Every review finding MUST cite evidence using one of:
|
|
|
753
809
|
- **Never agree performatively.** "Sure, I'll change that" without understanding why is forbidden. Every change must be understood.
|
|
754
810
|
- **Never skip the YAGNI check.** Every suggestion must answer: "Does this serve a current, concrete need?" Speculative improvements are rejected.
|
|
755
811
|
|
|
812
|
+
## Red Flags
|
|
813
|
+
|
|
814
|
+
### Universal
|
|
815
|
+
|
|
816
|
+
These apply to ALL skills. If you catch yourself doing any of these, STOP.
|
|
817
|
+
|
|
818
|
+
- **"I believe the codebase does X"** — Stop. Read the code and cite a file:line
|
|
819
|
+
reference. Belief is not evidence.
|
|
820
|
+
- **"Let me recommend [pattern] for this"** without checking existing patterns — Stop.
|
|
821
|
+
Search the codebase first. The project may already have a convention.
|
|
822
|
+
- **"While we're here, we should also [unrelated improvement]"** — Stop. Flag the idea
|
|
823
|
+
but do not expand scope beyond the stated task.
|
|
824
|
+
|
|
825
|
+
### Domain-Specific
|
|
826
|
+
|
|
827
|
+
- **"The change looks reasonable, approving"** — Stop. Have you read every changed file? Approval without full review is rubber-stamping.
|
|
828
|
+
- **"Let me fix this issue I found"** — Stop. Review identifies issues; it does not fix them. Suggest the fix, do not apply it.
|
|
829
|
+
- **"This is a minor style issue"** — Stop. Is it a style issue or a readability/maintainability concern? Classify accurately before dismissing.
|
|
830
|
+
- **"The author probably meant to..."** — Stop. Do not infer intent. If the code is ambiguous, flag it as a question for the author.
|
|
831
|
+
|
|
832
|
+
## Rationalizations to Reject
|
|
833
|
+
|
|
834
|
+
### Universal
|
|
835
|
+
|
|
836
|
+
These reasoning patterns sound plausible but lead to bad outcomes. Reject them.
|
|
837
|
+
|
|
838
|
+
- **"It's probably fine"** — "Probably" is not evidence. Verify before asserting.
|
|
839
|
+
- **"This is best practice"** — Best practice in what context? Cite the source and
|
|
840
|
+
confirm it applies to this codebase.
|
|
841
|
+
- **"We can fix it later"** — If it is worth flagging, it is worth documenting now
|
|
842
|
+
with a concrete follow-up plan.
|
|
843
|
+
|
|
844
|
+
### Domain-Specific
|
|
845
|
+
|
|
846
|
+
- **"The tests pass, so the logic must be correct"** — Tests can be incomplete. Review the logic independently of test results.
|
|
847
|
+
- **"This is how it was done elsewhere in the codebase"** — Existing patterns can be wrong. Evaluate the pattern on its merits, not just its precedent.
|
|
848
|
+
- **"It's just a refactor, low risk"** — Refactors change behavior surfaces. Review them with the same rigor as feature changes.
|
|
849
|
+
|
|
756
850
|
## Escalation
|
|
757
851
|
|
|
758
852
|
- **When reviewers disagree:** If two reviewers give contradictory feedback, escalate to the human or tech lead.
|
|
@@ -33,6 +33,12 @@ cli:
|
|
|
33
33
|
- name: --ci
|
|
34
34
|
description: Enable eligibility gate, non-interactive output
|
|
35
35
|
required: false
|
|
36
|
+
- name: --fast
|
|
37
|
+
description: Reduced rigor — skip learnings integration, fast-tier agents only
|
|
38
|
+
required: false
|
|
39
|
+
- name: --thorough
|
|
40
|
+
description: Maximum rigor — always load learnings, full agent roster + meta-judge
|
|
41
|
+
required: false
|
|
36
42
|
mcp:
|
|
37
43
|
tool: run_skill
|
|
38
44
|
input:
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
### Phase 1: CONTEXT -- Build Hotspot Map
|
|
28
28
|
|
|
29
|
-
1. **Run hotspot detection** via
|
|
29
|
+
1. **Run hotspot detection** via git log analysis:
|
|
30
30
|
```bash
|
|
31
31
|
git log --format=format: --name-only --since="6 months ago" | sort | uniq -c | sort -rn | head -50
|
|
32
32
|
```
|
|
@@ -38,7 +38,6 @@
|
|
|
38
38
|
|
|
39
39
|
1. **Dead code detection** (skip if `--architecture-only`):
|
|
40
40
|
- Run `harness cleanup --type dead-code --json`
|
|
41
|
-
- Or use the `detect_entropy` MCP tool with `type: 'dead-code'`
|
|
42
41
|
- Captures: dead files, dead exports, unused imports, dead internals, commented-out code blocks, orphaned dependencies
|
|
43
42
|
|
|
44
43
|
2. **Architecture detection** (skip if `--dead-code-only`):
|
|
@@ -204,8 +203,7 @@ After removing the `legacy-auth` module:
|
|
|
204
203
|
|
|
205
204
|
- **`harness cleanup --type dead-code --json`** -- Dead code detection input
|
|
206
205
|
- **`harness check-deps --json`** -- Architecture violation detection input
|
|
207
|
-
- **`
|
|
208
|
-
- **`detect_entropy` MCP tool with `autoFix: true`** -- Detects entropy and applies safe fixes via the MCP server
|
|
206
|
+
- **`git log` analysis** -- Hotspot context for safety classification (inline command, no skill invocation needed)
|
|
209
207
|
- **`harness validate`** -- Final validation after all fixes
|
|
210
208
|
- **`harness check-deps`** -- Final architecture check after all fixes
|
|
211
209
|
|
|
@@ -250,6 +250,58 @@ CREATE POLICY tenant_isolation ON users
|
|
|
250
250
|
- **Migration files must include rollback logic.** Every `up` function must have a corresponding `down` function. WHERE a migration is irreversible (data loss on rollback), THEN it must be explicitly marked as such with a comment explaining why.
|
|
251
251
|
- **No migrations that lock large tables without warning.** WHERE a migration performs an ALTER TABLE that acquires an ACCESS EXCLUSIVE lock on a table estimated to have more than 10,000 rows, THEN the skill must flag the lock risk and suggest a non-locking alternative.
|
|
252
252
|
|
|
253
|
+
## Evidence Requirements
|
|
254
|
+
|
|
255
|
+
When this skill makes claims about existing code, architecture, or behavior,
|
|
256
|
+
it MUST cite evidence using one of:
|
|
257
|
+
|
|
258
|
+
1. **File reference:** `file:line` format (e.g., `src/auth.ts:42`)
|
|
259
|
+
2. **Code pattern reference:** `file` with description (e.g., `src/utils/hash.ts` —
|
|
260
|
+
"existing bcrypt wrapper")
|
|
261
|
+
3. **Test/command output:** Inline or referenced output from a test run or CLI command
|
|
262
|
+
4. **Session evidence:** Write to the `evidence` session section via `manage_state`
|
|
263
|
+
|
|
264
|
+
**Uncited claims:** Technical assertions without citations MUST be prefixed with
|
|
265
|
+
`[UNVERIFIED]`. Example: `[UNVERIFIED] The auth middleware supports refresh tokens`.
|
|
266
|
+
|
|
267
|
+
## Red Flags
|
|
268
|
+
|
|
269
|
+
### Universal
|
|
270
|
+
|
|
271
|
+
These apply to ALL skills. If you catch yourself doing any of these, STOP.
|
|
272
|
+
|
|
273
|
+
- **"I believe the codebase does X"** — Stop. Read the code and cite a file:line
|
|
274
|
+
reference. Belief is not evidence.
|
|
275
|
+
- **"Let me recommend [pattern] for this"** without checking existing patterns — Stop.
|
|
276
|
+
Search the codebase first. The project may already have a convention.
|
|
277
|
+
- **"While we're here, we should also [unrelated improvement]"** — Stop. Flag the idea
|
|
278
|
+
but do not expand scope beyond the stated task.
|
|
279
|
+
|
|
280
|
+
### Domain-Specific
|
|
281
|
+
|
|
282
|
+
- **"Running this migration in production"** without a rollback plan — Stop. Every migration must have a tested reverse migration before it touches production data.
|
|
283
|
+
- **"Adding an index to speed up this query"** without checking write patterns — Stop. Indexes speed reads but slow writes. Check both access patterns before recommending.
|
|
284
|
+
- **"Dropping this column, it's unused"** — Stop. Verify no application code references it — including ORMs, background jobs, analytics queries, and reporting systems.
|
|
285
|
+
- **"Let's denormalize this for performance"** — Stop. Denormalization decisions are hard to reverse. Cite the specific query performance problem with evidence before recommending.
|
|
286
|
+
|
|
287
|
+
## Rationalizations to Reject
|
|
288
|
+
|
|
289
|
+
### Universal
|
|
290
|
+
|
|
291
|
+
These reasoning patterns sound plausible but lead to bad outcomes. Reject them.
|
|
292
|
+
|
|
293
|
+
- **"It's probably fine"** — "Probably" is not evidence. Verify before asserting.
|
|
294
|
+
- **"This is best practice"** — Best practice in what context? Cite the source and
|
|
295
|
+
confirm it applies to this codebase.
|
|
296
|
+
- **"We can fix it later"** — If it is worth flagging, it is worth documenting now
|
|
297
|
+
with a concrete follow-up plan.
|
|
298
|
+
|
|
299
|
+
### Domain-Specific
|
|
300
|
+
|
|
301
|
+
- **"The table is small, we don't need an index"** — Tables grow. Plan for the steady state, not the current row count.
|
|
302
|
+
- **"The ORM handles this for us"** — ORMs generate SQL that may not match your performance expectations. Review the generated queries for correctness and efficiency.
|
|
303
|
+
- **"We can always add a migration later"** — Schema changes in production have operational cost. Design the schema thoughtfully now rather than migrating repeatedly.
|
|
304
|
+
|
|
253
305
|
## Escalation
|
|
254
306
|
|
|
255
307
|
- **Production data at risk:** When a migration would delete or overwrite existing data (DROP COLUMN, column type change that truncates), report: "This migration will permanently delete data in column `X`. Provide a data backup confirmation or approve a non-destructive alternative (add new column, backfill, drop old) before proceeding."
|
|
@@ -247,6 +247,58 @@ Phase 4: VALIDATE
|
|
|
247
247
|
- **No deploy without rollback.** Every deployment target must have a documented or automated rollback mechanism. Missing rollback is a blocking warning.
|
|
248
248
|
- **No skipping pipeline lint.** Pipeline configuration must pass syntax validation before recommendations are made.
|
|
249
249
|
|
|
250
|
+
## Evidence Requirements
|
|
251
|
+
|
|
252
|
+
When this skill makes claims about existing code, architecture, or behavior,
|
|
253
|
+
it MUST cite evidence using one of:
|
|
254
|
+
|
|
255
|
+
1. **File reference:** `file:line` format (e.g., `src/auth.ts:42`)
|
|
256
|
+
2. **Code pattern reference:** `file` with description (e.g., `src/utils/hash.ts` —
|
|
257
|
+
"existing bcrypt wrapper")
|
|
258
|
+
3. **Test/command output:** Inline or referenced output from a test run or CLI command
|
|
259
|
+
4. **Session evidence:** Write to the `evidence` session section via `manage_state`
|
|
260
|
+
|
|
261
|
+
**Uncited claims:** Technical assertions without citations MUST be prefixed with
|
|
262
|
+
`[UNVERIFIED]`. Example: `[UNVERIFIED] The auth middleware supports refresh tokens`.
|
|
263
|
+
|
|
264
|
+
## Red Flags
|
|
265
|
+
|
|
266
|
+
### Universal
|
|
267
|
+
|
|
268
|
+
These apply to ALL skills. If you catch yourself doing any of these, STOP.
|
|
269
|
+
|
|
270
|
+
- **"I believe the codebase does X"** — Stop. Read the code and cite a file:line
|
|
271
|
+
reference. Belief is not evidence.
|
|
272
|
+
- **"Let me recommend [pattern] for this"** without checking existing patterns — Stop.
|
|
273
|
+
Search the codebase first. The project may already have a convention.
|
|
274
|
+
- **"While we're here, we should also [unrelated improvement]"** — Stop. Flag the idea
|
|
275
|
+
but do not expand scope beyond the stated task.
|
|
276
|
+
|
|
277
|
+
### Domain-Specific
|
|
278
|
+
|
|
279
|
+
- **"Deploying without a health check endpoint"** — Stop. Without health checks, the orchestrator cannot detect failed deployments. Add health checks before deploying.
|
|
280
|
+
- **"Skipping canary deployment, it's a small change"** — Stop. Small changes cause outages too. Follow the deployment policy regardless of change size.
|
|
281
|
+
- **"Rolling back manually if something goes wrong"** — Stop. Manual rollback under incident pressure fails. Automate rollback before deploying.
|
|
282
|
+
- **"We can update the runbook after the deploy"** — Stop. If the deployment changes operational behavior, update the runbook first. Stale runbooks during incidents cause escalations.
|
|
283
|
+
|
|
284
|
+
## Rationalizations to Reject
|
|
285
|
+
|
|
286
|
+
### Universal
|
|
287
|
+
|
|
288
|
+
These reasoning patterns sound plausible but lead to bad outcomes. Reject them.
|
|
289
|
+
|
|
290
|
+
- **"It's probably fine"** — "Probably" is not evidence. Verify before asserting.
|
|
291
|
+
- **"This is best practice"** — Best practice in what context? Cite the source and
|
|
292
|
+
confirm it applies to this codebase.
|
|
293
|
+
- **"We can fix it later"** — If it is worth flagging, it is worth documenting now
|
|
294
|
+
with a concrete follow-up plan.
|
|
295
|
+
|
|
296
|
+
### Domain-Specific
|
|
297
|
+
|
|
298
|
+
- **"It's just a config change, not a code change"** — Config changes cause outages at the same rate as code changes. Deploy them with the same rigor and rollback strategy.
|
|
299
|
+
- **"We tested this in staging"** — Staging is not production. Traffic patterns, data volume, and edge cases differ. Staging success does not guarantee production safety.
|
|
300
|
+
- **"Downtime will be brief"** — Brief is not zero. Quantify the expected impact and communicate it to stakeholders before deploying.
|
|
301
|
+
|
|
250
302
|
## Escalation
|
|
251
303
|
|
|
252
304
|
- **When the CI/CD platform is unsupported:** Report which platform was detected and that analysis is limited to general best practices. Recommend the user provide platform-specific documentation for deeper analysis.
|