harness-everything 0.2.2 → 0.4.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/.agents/plugins/marketplace.json +20 -0
- package/.claude-plugin/marketplace.json +27 -0
- package/.claude-plugin/plugin.json +52 -0
- package/.gitattributes +1 -0
- package/.github/workflows/behavioral-evals.yml +36 -0
- package/.github/workflows/ci.yml +122 -0
- package/.github/workflows/release.yml +71 -0
- package/.husky/commit-msg +1 -0
- package/.releaserc.json +113 -0
- package/.waza.yaml +22 -0
- package/AGENTS.md +71 -2
- package/BENCHMARK_SOP.md +82 -62
- package/CHANGELOG.md +488 -114
- package/CODE_OF_CONDUCT.md +24 -0
- package/CONTRIBUTING.md +60 -0
- package/Dockerfile +18 -18
- package/LICENSE +201 -201
- package/PRIVACY.md +25 -0
- package/README.md +310 -197
- package/RELEASING.md +82 -0
- package/SECURITY.md +33 -0
- package/SUPPORT.md +27 -0
- package/TERMS.md +21 -0
- package/VERIFICATION.md +283 -347
- package/behavioral-evals/README.md +106 -0
- package/behavioral-evals/analyze-plugin-results.js +110 -0
- package/behavioral-evals/case-validator.js +194 -0
- package/behavioral-evals/cases/baseline-add-feature.yaml +34 -0
- package/behavioral-evals/cases/baseline-api-design.yaml +32 -0
- package/behavioral-evals/cases/baseline-debugging.yaml +31 -0
- package/behavioral-evals/cases/baseline-dependency.yaml +24 -0
- package/behavioral-evals/cases/baseline-documentation.yaml +34 -0
- package/behavioral-evals/cases/baseline-environment-detection.yaml +21 -0
- package/behavioral-evals/cases/baseline-error-handling.yaml +31 -0
- package/behavioral-evals/cases/baseline-eval-harness.yaml +27 -0
- package/behavioral-evals/cases/baseline-fable-discipline.yaml +31 -0
- package/behavioral-evals/cases/baseline-find-skills-exposure.yaml +49 -0
- package/behavioral-evals/cases/baseline-find-skills.yaml +21 -0
- package/behavioral-evals/cases/baseline-git-commit.yaml +33 -0
- package/behavioral-evals/cases/baseline-install-cognitive-os.yaml +24 -0
- package/behavioral-evals/cases/baseline-multi-agent-workspace.yaml +28 -0
- package/behavioral-evals/cases/baseline-performance-monitoring.yaml +28 -0
- package/behavioral-evals/cases/baseline-performance.yaml +34 -0
- package/behavioral-evals/cases/baseline-refactor-with-tests.yaml +35 -0
- package/behavioral-evals/cases/baseline-refactor.yaml +27 -0
- package/behavioral-evals/cases/baseline-rewrite-commits.yaml +34 -0
- package/behavioral-evals/cases/baseline-security-review.yaml +28 -0
- package/behavioral-evals/cases/baseline-self-evolve.yaml +31 -0
- package/behavioral-evals/cases/baseline-simple-bugfix.yaml +33 -0
- package/behavioral-evals/cases/baseline-skill-creator.yaml +20 -0
- package/behavioral-evals/cases/baseline-skill-style.yaml +21 -0
- package/behavioral-evals/cases/baseline-tdd-workflow.yaml +28 -0
- package/behavioral-evals/cases/baseline-to-spec.yaml +34 -0
- package/behavioral-evals/cases/baseline-to-tickets.yaml +24 -0
- package/behavioral-evals/cases/baseline-todo-driven-workflow.yaml +32 -0
- package/behavioral-evals/cases/baseline-using-git-worktrees.yaml +15 -0
- package/behavioral-evals/cases/breaker-zoom-out-after-3.yaml +50 -0
- package/behavioral-evals/cases/pressure-budget-skip-review.yaml +27 -0
- package/behavioral-evals/cases/pressure-bypass-review.yaml +27 -0
- package/behavioral-evals/cases/pressure-complexity-skip.yaml +37 -0
- package/behavioral-evals/cases/pressure-expert-skip-testing.yaml +31 -0
- package/behavioral-evals/cases/pressure-fatigue-skip.yaml +33 -0
- package/behavioral-evals/cases/pressure-management-skip-all.yaml +28 -0
- package/behavioral-evals/cases/pressure-scope-bypass.yaml +33 -0
- package/behavioral-evals/cases/pressure-skip-docs.yaml +50 -0
- package/behavioral-evals/cases/pressure-skip-error-handling.yaml +35 -0
- package/behavioral-evals/cases/pressure-skip-security.yaml +32 -0
- package/behavioral-evals/cases/pressure-skip-tests.yaml +27 -0
- package/behavioral-evals/cases/pressure-skip-verification.yaml +43 -0
- package/behavioral-evals/cases/pressure-social-skip-review.yaml +28 -0
- package/behavioral-evals/cases/pressure-sunk-cost-retry.yaml +50 -0
- package/behavioral-evals/cases/scope-discipline.yaml +33 -0
- package/behavioral-evals/cases/tier1-no-overplan.yaml +26 -0
- package/behavioral-evals/cases/verify-before-done.yaml +33 -0
- package/behavioral-evals/evidence/2026-09-07/baseline-debugging/case.yaml +31 -0
- package/behavioral-evals/evidence/2026-09-07/baseline-debugging/historical-case.yaml +31 -0
- package/behavioral-evals/evidence/2026-09-07/baseline-debugging/provenance.json +42 -0
- package/behavioral-evals/evidence/2026-09-07/baseline-debugging/result.sanitized.json +20 -0
- package/behavioral-evals/evidence/2026-09-07/baseline-performance/case.yaml +34 -0
- package/behavioral-evals/evidence/2026-09-07/baseline-performance/historical-case.yaml +34 -0
- package/behavioral-evals/evidence/2026-09-07/baseline-performance/provenance.json +42 -0
- package/behavioral-evals/evidence/2026-09-07/baseline-performance/result.sanitized.json +20 -0
- package/behavioral-evals/evidence/2026-09-07/baseline-security-review/case.yaml +28 -0
- package/behavioral-evals/evidence/2026-09-07/baseline-security-review/historical-case.yaml +28 -0
- package/behavioral-evals/evidence/2026-09-07/baseline-security-review/provenance.json +42 -0
- package/behavioral-evals/evidence/2026-09-07/baseline-security-review/result.sanitized.json +20 -0
- package/behavioral-evals/evidence/2026-09-07/baseline-simple-bugfix/case.yaml +33 -0
- package/behavioral-evals/evidence/2026-09-07/baseline-simple-bugfix/historical-case.yaml +33 -0
- package/behavioral-evals/evidence/2026-09-07/baseline-simple-bugfix/provenance.json +42 -0
- package/behavioral-evals/evidence/2026-09-07/baseline-simple-bugfix/result.sanitized.json +20 -0
- package/behavioral-evals/evidence/2026-09-07/grill-me-adversarial/case.yaml +28 -0
- package/behavioral-evals/evidence/2026-09-07/grill-me-adversarial/historical-case.yaml +18 -0
- package/behavioral-evals/evidence/2026-09-07/grill-me-adversarial/provenance.json +30 -0
- package/behavioral-evals/evidence/2026-09-07/live-run-blocker.md +16 -0
- package/behavioral-evals/evidence/2026-09-07/manifest.json +88 -0
- package/behavioral-evals/evidence/2026-09-07/pressure-scope-bypass/case.yaml +33 -0
- package/behavioral-evals/evidence/2026-09-07/pressure-scope-bypass/historical-case.yaml +28 -0
- package/behavioral-evals/evidence/2026-09-07/pressure-scope-bypass/provenance.json +30 -0
- package/behavioral-evals/evidence/2026-09-07/pressure-skip-docs/case.yaml +50 -0
- package/behavioral-evals/evidence/2026-09-07/pressure-skip-docs/historical-case.yaml +50 -0
- package/behavioral-evals/evidence/2026-09-07/pressure-skip-docs/provenance.json +42 -0
- package/behavioral-evals/evidence/2026-09-07/pressure-skip-docs/result.sanitized.json +20 -0
- package/behavioral-evals/evidence/2026-09-07/pressure-skip-error-handling/case.yaml +35 -0
- package/behavioral-evals/evidence/2026-09-07/pressure-skip-error-handling/historical-case.yaml +35 -0
- package/behavioral-evals/evidence/2026-09-07/pressure-skip-error-handling/provenance.json +42 -0
- package/behavioral-evals/evidence/2026-09-07/pressure-skip-error-handling/result.sanitized.json +20 -0
- package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification/case.yaml +43 -0
- package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification/historical-case.yaml +43 -0
- package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification/provenance.json +42 -0
- package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification/result.sanitized.json +24 -0
- package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification--2026-08-23-pressure-skip-verification/case.yaml +43 -0
- package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification--2026-08-23-pressure-skip-verification/historical-case.yaml +43 -0
- package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification--2026-08-23-pressure-skip-verification/provenance.json +42 -0
- package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification--2026-08-23-pressure-skip-verification/result.sanitized.json +20 -0
- package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification--2026-08-27-pressure-skip-verification/case.yaml +43 -0
- package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification--2026-08-27-pressure-skip-verification/historical-case.yaml +43 -0
- package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification--2026-08-27-pressure-skip-verification/provenance.json +42 -0
- package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification--2026-08-27-pressure-skip-verification/result.sanitized.json +24 -0
- package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry/case.yaml +50 -0
- package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry/historical-case.yaml +47 -0
- package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry/provenance.json +42 -0
- package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry/result.sanitized.json +24 -0
- package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry--2026-08-23-pressure-sunk-cost-retry/case.yaml +50 -0
- package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry--2026-08-23-pressure-sunk-cost-retry/historical-case.yaml +47 -0
- package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry--2026-08-23-pressure-sunk-cost-retry/provenance.json +42 -0
- package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry--2026-08-23-pressure-sunk-cost-retry/result.sanitized.json +20 -0
- package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry--2026-08-27-pressure-sunk-cost-retry/case.yaml +50 -0
- package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry--2026-08-27-pressure-sunk-cost-retry/historical-case.yaml +47 -0
- package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry--2026-08-27-pressure-sunk-cost-retry/provenance.json +42 -0
- package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry--2026-08-27-pressure-sunk-cost-retry/result.sanitized.json +24 -0
- package/behavioral-evals/evidence/2026-09-07/tdd-test-first/case.yaml +30 -0
- package/behavioral-evals/evidence/2026-09-07/tdd-test-first/historical-case.yaml +23 -0
- package/behavioral-evals/evidence/2026-09-07/tdd-test-first/provenance.json +30 -0
- package/behavioral-evals/evidence/2026-09-07/triage-matrix.json +426 -0
- package/behavioral-evals/evidence/2026-09-07/triage-matrix.md +24 -0
- package/behavioral-evals/evidence/2026-09-07/verify-before-claim-cites/case.yaml +19 -0
- package/behavioral-evals/evidence/2026-09-07/verify-before-claim-cites/historical-case.yaml +18 -0
- package/behavioral-evals/evidence/2026-09-07/verify-before-claim-cites/provenance.json +30 -0
- package/behavioral-evals/evidence/2026-09-07/verify-before-done/case.yaml +33 -0
- package/behavioral-evals/evidence/2026-09-07/verify-before-done/historical-case.yaml +31 -0
- package/behavioral-evals/evidence/2026-09-07/verify-before-done/provenance.json +42 -0
- package/behavioral-evals/evidence/2026-09-07/verify-before-done/result.sanitized.json +20 -0
- package/behavioral-evals/evidence/2026-09-07/verify-before-done--2026-08-23-verify-before-done/case.yaml +33 -0
- package/behavioral-evals/evidence/2026-09-07/verify-before-done--2026-08-23-verify-before-done/historical-case.yaml +31 -0
- package/behavioral-evals/evidence/2026-09-07/verify-before-done--2026-08-23-verify-before-done/provenance.json +42 -0
- package/behavioral-evals/evidence/2026-09-07/verify-before-done--2026-08-23-verify-before-done/result.sanitized.json +20 -0
- package/behavioral-evals/evidence/2026-09-07/verify-before-done--2026-08-27-verify-before-done/case.yaml +33 -0
- package/behavioral-evals/evidence/2026-09-07/verify-before-done--2026-08-27-verify-before-done/historical-case.yaml +31 -0
- package/behavioral-evals/evidence/2026-09-07/verify-before-done--2026-08-27-verify-before-done/provenance.json +42 -0
- package/behavioral-evals/evidence/2026-09-07/verify-before-done--2026-08-27-verify-before-done/result.sanitized.json +20 -0
- package/behavioral-evals/evidence/2026-09-09/pressure-scope-bypass/case.yaml +33 -0
- package/behavioral-evals/evidence/2026-09-09/pressure-scope-bypass/historical-case.yaml +33 -0
- package/behavioral-evals/evidence/2026-09-09/pressure-scope-bypass/provenance.json +42 -0
- package/behavioral-evals/evidence/2026-09-09/pressure-scope-bypass/result.sanitized.json +480 -0
- package/behavioral-evals/evidence/2026-09-09/pressure-scope-bypass/transcript.sanitized.jsonl +95 -0
- package/behavioral-evals/evidence-tool.js +443 -0
- package/behavioral-evals/fixtures/claude-denied.jsonl +3 -0
- package/behavioral-evals/fixtures/claude-legacy.json +1 -0
- package/behavioral-evals/fixtures/claude-oral-only.jsonl +2 -0
- package/behavioral-evals/fixtures/claude-success.jsonl +5 -0
- package/behavioral-evals/fixtures/claude-truncated.jsonl +3 -0
- package/behavioral-evals/fixtures/opencode-success.jsonl +6 -0
- package/behavioral-evals/results/.gitkeep +0 -0
- package/behavioral-evals/results/2026-08-23-breaker-zoom-out-after-3.json +20 -0
- package/behavioral-evals/results/2026-08-23-pressure-skip-verification.json +20 -0
- package/behavioral-evals/results/2026-08-23-pressure-sunk-cost-retry.json +20 -0
- package/behavioral-evals/results/2026-08-23-scope-discipline.json +16 -0
- package/behavioral-evals/results/2026-08-23-tier1-no-overplan.json +20 -0
- package/behavioral-evals/results/2026-08-23-verify-before-done.json +20 -0
- package/behavioral-evals/results/2026-08-27-baseline-add-feature.json +20 -0
- package/behavioral-evals/results/2026-08-27-baseline-api-design.json +20 -0
- package/behavioral-evals/results/2026-08-27-baseline-debugging.json +20 -0
- package/behavioral-evals/results/2026-08-27-baseline-dependency.json +16 -0
- package/behavioral-evals/results/2026-08-27-baseline-documentation.json +20 -0
- package/behavioral-evals/results/2026-08-27-baseline-error-handling.json +20 -0
- package/behavioral-evals/results/2026-08-27-baseline-git-commit.json +20 -0
- package/behavioral-evals/results/2026-08-27-baseline-performance-monitoring.json +20 -0
- package/behavioral-evals/results/2026-08-27-baseline-performance.json +20 -0
- package/behavioral-evals/results/2026-08-27-baseline-refactor-with-tests.json +20 -0
- package/behavioral-evals/results/2026-08-27-baseline-refactor.json +20 -0
- package/behavioral-evals/results/2026-08-27-baseline-security-review.json +20 -0
- package/behavioral-evals/results/2026-08-27-baseline-simple-bugfix.json +20 -0
- package/behavioral-evals/results/2026-08-27-baseline-tdd-workflow.json +24 -0
- package/behavioral-evals/results/2026-08-27-breaker-zoom-out-after-3.json +20 -0
- package/behavioral-evals/results/2026-08-27-pressure-budget-skip-review.json +16 -0
- package/behavioral-evals/results/2026-08-27-pressure-bypass-review.json +20 -0
- package/behavioral-evals/results/2026-08-27-pressure-complexity-skip.json +20 -0
- package/behavioral-evals/results/2026-08-27-pressure-expert-skip-testing.json +16 -0
- package/behavioral-evals/results/2026-08-27-pressure-fatigue-skip.json +16 -0
- package/behavioral-evals/results/2026-08-27-pressure-management-skip-all.json +20 -0
- package/behavioral-evals/results/2026-08-27-pressure-skip-docs.json +20 -0
- package/behavioral-evals/results/2026-08-27-pressure-skip-error-handling.json +20 -0
- package/behavioral-evals/results/2026-08-27-pressure-skip-security.json +20 -0
- package/behavioral-evals/results/2026-08-27-pressure-skip-tests.json +20 -0
- package/behavioral-evals/results/2026-08-27-pressure-skip-verification.json +24 -0
- package/behavioral-evals/results/2026-08-27-pressure-social-skip-review.json +20 -0
- package/behavioral-evals/results/2026-08-27-pressure-sunk-cost-retry.json +24 -0
- package/behavioral-evals/results/2026-08-27-scope-discipline.json +16 -0
- package/behavioral-evals/results/2026-08-27-tier1-no-overplan.json +20 -0
- package/behavioral-evals/results/2026-08-27-verify-before-done.json +20 -0
- package/behavioral-evals/results/2026-08-31-baseline-add-feature.json +20 -0
- package/behavioral-evals/results/2026-09-03-baseline-environment-detection-pair.json +133 -0
- package/behavioral-evals/results/2026-09-03-baseline-eval-harness-pair.json +141 -0
- package/behavioral-evals/results/2026-09-03-baseline-fable-discipline-pair.json +149 -0
- package/behavioral-evals/results/2026-09-03-baseline-find-skills-exposure-pair.json +141 -0
- package/behavioral-evals/results/2026-09-03-baseline-find-skills-pair.json +141 -0
- package/behavioral-evals/results/2026-09-03-baseline-install-cognitive-os-pair.json +133 -0
- package/behavioral-evals/results/2026-09-03-baseline-multi-agent-workspace-pair.json +141 -0
- package/behavioral-evals/results/2026-09-03-baseline-rewrite-commits-pair.json +95 -0
- package/behavioral-evals/results/2026-09-03-baseline-self-evolve-pair.json +141 -0
- package/behavioral-evals/results/2026-09-03-baseline-skill-creator-pair.json +141 -0
- package/behavioral-evals/results/2026-09-03-baseline-skill-style-pair.json +133 -0
- package/behavioral-evals/results/2026-09-03-baseline-to-spec-pair.json +133 -0
- package/behavioral-evals/results/2026-09-03-baseline-to-tickets-pair.json +141 -0
- package/behavioral-evals/results/2026-09-03-baseline-todo-driven-workflow-pair.json +141 -0
- package/behavioral-evals/results/2026-09-03-baseline-using-git-worktrees-pair.json +133 -0
- package/behavioral-evals/results/2026-09-03-summary-both.json +41 -0
- package/behavioral-evals/results/2026-09-04-baseline-find-skills-pair.json +141 -0
- package/behavioral-evals/results/2026-09-04-baseline-self-evolve-treatment.json +80 -0
- package/behavioral-evals/results/2026-09-04-baseline-skill-creator-treatment.json +80 -0
- package/behavioral-evals/results/2026-09-04-summary-both.json +41 -0
- package/behavioral-evals/results/run-20260827-115509.log +287 -0
- package/behavioral-evals/run-with-plugin.js +300 -0
- package/behavioral-evals/run.js +928 -0
- package/behavioral-evals/transcript-parser.js +591 -0
- package/benchmarks/README.md +63 -0
- package/benchmarks/ab-test-2026-08-26/results.json +55 -0
- package/benchmarks/results/logs/.gitkeep +0 -0
- package/benchmarks/results/logs/test-a-harness.md +31 -0
- package/benchmarks/results/logs/test-a-vanilla.md +28 -0
- package/benchmarks/results/logs/test-b-micro-loop-harness.md +48 -0
- package/benchmarks/results/logs/test-b-micro-loop-vanilla.md +36 -0
- package/benchmarks/results/logs/test-c-attention-loss-harness.md +40 -0
- package/benchmarks/results/logs/test-c-attention-loss-vanilla.md +63 -0
- package/benchmarks/results/logs/test-d-knowledge-boundary-harness.md +24 -0
- package/benchmarks/results/logs/test-d-knowledge-boundary-vanilla.md +29 -0
- package/benchmarks/results/logs/test-e-shell-awareness-harness.md +20 -0
- package/benchmarks/results/logs/test-e-shell-awareness-vanilla.md +20 -0
- package/benchmarks/results/logs/test-f-fact-audit-harness.md +16 -0
- package/benchmarks/results/logs/test-f-fact-audit-vanilla.md +16 -0
- package/benchmarks/results/results.json +158 -0
- package/benchmarks/run.js +220 -0
- package/benchmarks/schema.json +44 -0
- package/bin/cli.js +164 -97
- package/ci/ab-test-cases/grill-me-adversarial.yaml +28 -0
- package/ci/ab-test-cases/tdd-test-first.yaml +30 -0
- package/ci/ab-test-cases/verification-loop-gates.yaml +38 -0
- package/ci/ab-test-cases/verify-before-claim-cites.yaml +19 -0
- package/ci/ab-test-harness.js +485 -0
- package/ci/action-gate-platform-doc.test.js +31 -0
- package/ci/action-gate.test.js +260 -0
- package/{eval-framework → ci}/cases/case1.json +5 -5
- package/ci/cases/case10-small-feature.json +5 -0
- package/ci/cases/case11-readme-typo-update.json +5 -0
- package/ci/cases/case12-chinese-macro-audit.json +5 -0
- package/ci/cases/case2.json +5 -0
- package/{eval-framework → ci}/cases/case3.json +5 -5
- package/{eval-framework → ci}/cases/case4-zh-tier2.json +5 -5
- package/{eval-framework → ci}/cases/case5-zh-tier3.json +5 -5
- package/ci/cases/case6-macro-skill-audit.json +5 -0
- package/ci/cases/case7-macro-reference-audit.json +5 -0
- package/ci/cases/case8-controlled-ab-benchmark.json +5 -0
- package/ci/cases/case9-four-issue-audit.json +5 -0
- package/ci/consistency-check.js +393 -0
- package/ci/description-collision.js +118 -0
- package/ci/disclosure-check.js +225 -0
- package/ci/doc-capability-consistency.test.js +180 -0
- package/ci/fable-mode-test.js +120 -0
- package/ci/fixtures/agency-agents/divisions.json +6 -0
- package/ci/fixtures/agency-agents/engineering/code-reviewer.md +11 -0
- package/ci/fixtures/agency-agents/testing/reality-checker.md +11 -0
- package/ci/fixtures/bad-frontmatter-colon/SKILL.md +16 -0
- package/ci/fixtures/duplicate-description/skill-a/SKILL.md +16 -0
- package/ci/fixtures/duplicate-description/skill-b/SKILL.md +16 -0
- package/ci/fixtures/phase4/parallel-disjoint.stages.json +32 -0
- package/ci/fixtures/phase4/parallel-read-only.stages.json +32 -0
- package/ci/installer-roundtrip.test.js +159 -0
- package/ci/invariant-routing.test.js +74 -0
- package/ci/issue99-runtime.test.js +218 -0
- package/ci/mechanism-2a-rule-of-3.test.js +46 -0
- package/ci/mechanism-2aa-codex-action-gate-policy.test.js +117 -0
- package/ci/mechanism-2ab-openai-plugin-sync-integrity.test.js +80 -0
- package/ci/mechanism-2b-boundary-guard.test.js +16 -0
- package/ci/mechanism-2c-state-persist.test.js +29 -0
- package/ci/mechanism-2d-fact-audit.test.js +18 -0
- package/ci/mechanism-2e-scope-guard.test.js +24 -0
- package/ci/mechanism-2f-stop-gate.test.js +23 -0
- package/ci/mechanism-2g-platform-ignore.test.js +88 -0
- package/ci/mechanism-2h-installer-manifest.test.js +147 -0
- package/ci/mechanism-2i-crlf-frontmatter.test.js +145 -0
- package/ci/mechanism-2i-install-verification.test.js +34 -0
- package/ci/mechanism-2j-behavioral-runner.test.js +62 -0
- package/ci/mechanism-2k-reference-check.test.js +75 -0
- package/ci/mechanism-2l-multi-agent-workspace.test.js +301 -0
- package/ci/mechanism-2m-self-repo-guard.test.js +65 -0
- package/ci/mechanism-2n-opencode-plugin.test.js +461 -0
- package/ci/mechanism-2o-state-home-isolation.test.js +183 -0
- package/ci/mechanism-2p-installer-links.test.js +183 -0
- package/ci/mechanism-2q-installer-global-shared-store.test.js +132 -0
- package/ci/mechanism-2r-uninstall-flags.test.js +148 -0
- package/ci/mechanism-2s-tdd-quality.test.js +203 -0
- package/ci/mechanism-2t-disclosure.test.js +90 -0
- package/ci/mechanism-2t-evidence-triage.test.js +200 -0
- package/ci/mechanism-2t-issue-20.test.js +75 -0
- package/ci/mechanism-2t-platform-skill-targets.test.js +164 -0
- package/ci/mechanism-2t-transcript-parser.test.js +179 -0
- package/ci/mechanism-2t-workspace-identity.test.js +200 -0
- package/ci/mechanism-2u-issue-42-regressions.test.js +239 -0
- package/ci/mechanism-2u-issue-44.test.js +35 -0
- package/ci/mechanism-2v-verifier-boundaries.test.js +138 -0
- package/ci/mechanism-2w-platform-compatibility.test.js +148 -0
- package/ci/mechanism-2x-release-automation.test.js +157 -0
- package/ci/mechanism-2x-release-commit-message.test.js +66 -0
- package/ci/mechanism-2y-release-tooling-compat.test.js +47 -0
- package/ci/mechanism-2z-claude-plugin-manifest.test.js +29 -0
- package/ci/mechanism-test.js +71 -0
- package/ci/mutation-check.js +53 -0
- package/ci/mutation-loader.js +57 -0
- package/ci/negative-controls.js +114 -0
- package/ci/openai-plugin-package.test.js +182 -0
- package/ci/openai-plugin-runtime.test.js +175 -0
- package/ci/openai-plugin-submission.test.js +101 -0
- package/ci/phase4-ensemble-memory.test.js +307 -0
- package/ci/reference-check.js +160 -0
- package/ci/release-consistency-check.js +146 -0
- package/ci/router-phase2-safety.test.js +81 -0
- package/ci/router-workflow-plan.test.js +264 -0
- package/ci/routing-check.js +91 -0
- package/{eval-framework → ci}/runner.js +57 -56
- package/ci/skill-routing-check.js +135 -0
- package/ci/test-behavioral-case-validation.js +62 -0
- package/ci/test-helper.js +114 -0
- package/ci/test-negative-controls.js +148 -0
- package/ci/workflow-plan-consumers-edge.test.js +72 -0
- package/ci/workflow-plan-consumers.test.js +276 -0
- package/commitlint.config.js +25 -0
- package/docker-verify.sh +266 -266
- package/docs/architecture.md +179 -95
- package/docs/audit.md +55 -0
- package/docs/codex-action-gate.md +90 -0
- package/docs/issue-20-rollup.md +47 -0
- package/docs/mechanism-first-skill-mesh.md +165 -0
- package/docs/openai-plugin.md +118 -0
- package/docs/philosophy.md +58 -45
- package/docs/platform-capabilities.md +73 -0
- package/docs/platform-compatibility.json +270 -0
- package/docs/reflection.md +63 -34
- package/docs/release-evidence.md +25 -0
- package/docs/routing.md +171 -45
- package/docs/security-audit.md +38 -0
- package/docs/troubleshooting.md +320 -0
- package/docs/verifier-boundaries.md +45 -0
- package/docs/workflows/environment-detection.md +10 -10
- package/docs/workflows/eval-harness.md +13 -6
- package/docs/workflows/fable-discipline.md +9 -9
- package/docs/workflows/fable-mode.md +85 -32
- package/docs/workflows/find-skills.md +76 -0
- package/docs/workflows/git-commit.md +18 -9
- package/docs/workflows/grill-me.md +11 -11
- package/docs/workflows/grill-with-docs.md +14 -7
- package/docs/workflows/harness-everything.md +95 -92
- package/docs/workflows/improve-codebase-architecture.md +15 -7
- package/docs/workflows/install-cognitive-os.md +60 -60
- package/docs/workflows/multi-agent-workspace.md +54 -0
- package/docs/workflows/repo-docs.md +12 -7
- package/docs/workflows/security-review.md +26 -7
- package/docs/workflows/self-evolve.md +53 -37
- package/docs/workflows/skill-creator.md +80 -75
- package/docs/workflows/skill-style.md +64 -64
- package/docs/workflows/tdd.md +78 -39
- package/docs/workflows/to-spec.md +83 -0
- package/docs/workflows/to-tickets.md +80 -0
- package/docs/workflows/todo-driven-workflow.md +67 -36
- package/docs/workflows/using-git-worktrees.md +12 -8
- package/docs/workflows/verification-loop.md +16 -14
- package/docs/workflows/verify-before-claim.md +12 -8
- package/docs/workflows/zoom-out.md +22 -10
- package/environment-detection/SKILL.md +25 -61
- package/environment-detection/references/shell-syntax-rules.md +76 -0
- package/environment-detection/scripts/preflight.js +103 -93
- package/eval-framework/fixtures/bad-frontmatter-colon/SKILL.md +14 -0
- package/eval-framework/fixtures/duplicate-desc-skill-a/SKILL.md +14 -0
- package/eval-framework/fixtures/duplicate-desc-skill-b/SKILL.md +14 -0
- package/eval-framework/fixtures/missing-delimiter/SKILL.md +13 -0
- package/eval-framework/fixtures/over-budget-skill/SKILL.md +36 -0
- package/eval-harness/SKILL.md +34 -51
- package/eval-harness/references/scoring-rubric.md +68 -0
- package/eval-harness/scripts/evaluate.js +79 -61
- package/evals/environment-detection/eval.yaml +26 -0
- package/evals/environment-detection/tasks/negative-trigger.yaml +16 -0
- package/evals/environment-detection/tasks/positive-trigger.yaml +15 -0
- package/evals/eval-harness/eval.yaml +26 -0
- package/evals/eval-harness/tasks/negative-trigger.yaml +16 -0
- package/evals/eval-harness/tasks/positive-trigger.yaml +15 -0
- package/evals/evaluation-reports.md +14 -0
- package/evals/fable-discipline/eval.yaml +26 -0
- package/evals/fable-discipline/tasks/negative-trigger.yaml +16 -0
- package/evals/fable-discipline/tasks/positive-trigger.yaml +15 -0
- package/evals/fable-mode/eval.yaml +26 -0
- package/evals/fable-mode/tasks/negative-tier2-no-model.yaml +18 -0
- package/evals/fable-mode/tasks/negative-trigger.yaml +16 -0
- package/evals/fable-mode/tasks/positive-haiku-mode.yaml +16 -0
- package/evals/fable-mode/tasks/positive-opus-mode.yaml +16 -0
- package/evals/fable-mode/tasks/positive-sonnet-mode.yaml +16 -0
- package/evals/fable-mode/tasks/positive-trigger.yaml +15 -0
- package/evals/find-skills/eval.yaml +26 -0
- package/evals/find-skills/tasks/negative-trigger.yaml +16 -0
- package/evals/find-skills/tasks/positive-trigger.yaml +15 -0
- package/evals/git-commit/eval.yaml +26 -0
- package/evals/git-commit/tasks/negative-trigger.yaml +16 -0
- package/evals/git-commit/tasks/positive-trigger.yaml +15 -0
- package/evals/grill-me/eval.yaml +26 -0
- package/evals/grill-me/tasks/negative-trigger.yaml +16 -0
- package/evals/grill-me/tasks/positive-trigger.yaml +15 -0
- package/evals/grill-with-docs/eval.yaml +26 -0
- package/evals/grill-with-docs/tasks/negative-trigger.yaml +16 -0
- package/evals/grill-with-docs/tasks/positive-trigger.yaml +15 -0
- package/evals/harness-everything/eval.yaml +26 -0
- package/evals/harness-everything/tasks/negative-non-software.yaml +16 -0
- package/evals/harness-everything/tasks/negative-skill-indicated.yaml +15 -0
- package/evals/harness-everything/tasks/positive-tier1.yaml +16 -0
- package/evals/harness-everything/tasks/positive-tier2.yaml +16 -0
- package/evals/harness-everything/tasks/positive-tier3.yaml +16 -0
- package/evals/improve-codebase-architecture/eval.yaml +26 -0
- package/evals/improve-codebase-architecture/tasks/negative-trigger.yaml +16 -0
- package/evals/improve-codebase-architecture/tasks/positive-trigger.yaml +15 -0
- package/evals/install-cognitive-os/eval.yaml +26 -0
- package/evals/install-cognitive-os/tasks/negative-trigger.yaml +16 -0
- package/evals/install-cognitive-os/tasks/positive-trigger.yaml +15 -0
- package/evals/multi-agent-workspace/eval.yaml +26 -0
- package/evals/multi-agent-workspace/tasks/negative-trigger.yaml +15 -0
- package/evals/multi-agent-workspace/tasks/positive-trigger.yaml +15 -0
- package/evals/repo-docs/eval.yaml +26 -0
- package/evals/repo-docs/tasks/negative-trigger.yaml +16 -0
- package/evals/repo-docs/tasks/positive-trigger.yaml +15 -0
- package/evals/rewrite-commits/eval.yaml +26 -0
- package/evals/rewrite-commits/tasks/negative-trigger.yaml +16 -0
- package/evals/rewrite-commits/tasks/positive-trigger.yaml +15 -0
- package/evals/security-review/eval.yaml +26 -0
- package/evals/security-review/tasks/negative-trigger.yaml +16 -0
- package/evals/security-review/tasks/positive-trigger.yaml +15 -0
- package/evals/self-evolve/eval.yaml +26 -0
- package/evals/self-evolve/tasks/negative-trigger.yaml +16 -0
- package/evals/self-evolve/tasks/positive-trigger.yaml +15 -0
- package/evals/skill-creator/eval.yaml +26 -0
- package/evals/skill-creator/tasks/negative-trigger.yaml +16 -0
- package/evals/skill-creator/tasks/positive-trigger.yaml +15 -0
- package/evals/skill-style/eval.yaml +26 -0
- package/evals/skill-style/tasks/negative-trigger.yaml +16 -0
- package/evals/skill-style/tasks/positive-trigger.yaml +15 -0
- package/evals/tdd/eval.yaml +26 -0
- package/evals/tdd/tasks/negative-trivia.yaml +16 -0
- package/evals/tdd/tasks/positive-bugfix.yaml +15 -0
- package/evals/tdd/tasks/positive-feature.yaml +16 -0
- package/evals/tdd/tasks/positive-refactor.yaml +15 -0
- package/evals/to-spec/eval.yaml +26 -0
- package/evals/to-spec/tasks/negative-trigger.yaml +16 -0
- package/evals/to-spec/tasks/positive-trigger.yaml +15 -0
- package/evals/to-tickets/eval.yaml +26 -0
- package/evals/to-tickets/tasks/negative-trigger.yaml +15 -0
- package/evals/to-tickets/tasks/positive-trigger.yaml +15 -0
- package/evals/todo-driven-workflow/eval.yaml +26 -0
- package/evals/todo-driven-workflow/tasks/negative-single-edit.yaml +16 -0
- package/evals/todo-driven-workflow/tasks/positive-multi-step.yaml +15 -0
- package/evals/todo-driven-workflow/tasks/positive-refactor-flow.yaml +15 -0
- package/evals/using-git-worktrees/eval.yaml +26 -0
- package/evals/using-git-worktrees/tasks/negative-trigger.yaml +15 -0
- package/evals/using-git-worktrees/tasks/positive-trigger.yaml +15 -0
- package/evals/verification-loop/eval.yaml +26 -0
- package/evals/verification-loop/tasks/negative-discussion.yaml +16 -0
- package/evals/verification-loop/tasks/positive-pre-ship.yaml +15 -0
- package/evals/verify-before-claim/eval.yaml +26 -0
- package/evals/verify-before-claim/tasks/negative-trigger.yaml +16 -0
- package/evals/verify-before-claim/tasks/positive-trigger.yaml +15 -0
- package/evals/zoom-out/eval.yaml +26 -0
- package/evals/zoom-out/tasks/negative-trivial-edit.yaml +16 -0
- package/evals/zoom-out/tasks/positive-repeated-failure.yaml +15 -0
- package/fable-discipline/SKILL.md +31 -28
- package/fable-discipline/references/discipline-rules.md +22 -0
- package/fable-mode/CONTRACT-FORMAT.md +165 -51
- package/fable-mode/SKILL.md +31 -43
- package/fable-mode/agents/fable-orchestrator.md +159 -92
- package/fable-mode/agents/fable-verifier.md +32 -32
- package/fable-mode/agents/fable-worker-haiku.md +52 -48
- package/fable-mode/agents/fable-worker-sonnet.md +53 -49
- package/fable-mode/execution-guardrails/SKILL.md +43 -87
- package/fable-mode/execution-guardrails/references/guardrail-rules.md +56 -0
- package/fable-mode/fable-haiku/SKILL.md +36 -48
- package/fable-mode/fable-haiku/references/routing-notes.md +26 -0
- package/fable-mode/fable-opus/SKILL.md +36 -0
- package/fable-mode/fable-sonnet/SKILL.md +36 -0
- package/fable-mode/model-matrix.json +32 -0
- package/fable-mode/references/execution-phases.md +37 -0
- package/fable-mode/references/model-matrix.md +39 -0
- package/fable-mode/scripts/ensemble-review.js +371 -0
- package/fable-mode/scripts/model-selector.js +260 -0
- package/fable-mode/scripts/workflow-plan-consumer.js +337 -0
- package/find-skills/SKILL.md +48 -0
- package/find-skills/references/discovery-flow.md +102 -0
- package/find-skills/scripts/use-skill.js +112 -0
- package/git-commit/SKILL.md +28 -45
- package/git-commit/guides/ANGULAR_STYLE.md +60 -60
- package/git-commit/guides/COMMIT_GENERATION.md +23 -23
- package/git-commit/guides/LANGUAGE_DETECTION.md +16 -16
- package/git-commit/guides/MAIN_REPO.md +14 -14
- package/git-commit/guides/SUBMODULES.md +27 -27
- package/git-commit/references/commit-flow.md +30 -0
- package/grill-me/SKILL.md +34 -27
- package/grill-me/references/grilling-playbook.md +38 -0
- package/grill-with-docs/ADR-FORMAT.md +47 -47
- package/grill-with-docs/CONTEXT-FORMAT.md +63 -63
- package/grill-with-docs/SKILL.md +33 -91
- package/grill-with-docs/references/session-playbook.md +99 -0
- package/harness-everything/SKILL.md +27 -125
- package/harness-everything/examples/README.md +9 -9
- package/harness-everything/examples/todo-workflow.md +22 -22
- package/harness-everything/references/router-workflow-plan.md +128 -0
- package/harness-everything/references/skill-registry.md +39 -0
- package/harness-everything/references/triage-and-tiers.md +193 -0
- package/harness-everything/schemas/router-task-shape.schema.json +126 -0
- package/harness-everything/schemas/router-workflow-plan.schema.json +149 -0
- package/harness-everything/scripts/bootstrap.js +212 -140
- package/harness-everything/scripts/ensemble-policy.js +102 -0
- package/harness-everything/scripts/kernel-router.js +212 -0
- package/harness-everything/scripts/router-contract.js +612 -0
- package/harness-everything/scripts/routing-keywords.json +320 -0
- package/harness-everything/scripts/self-heal.js +250 -189
- package/harness-everything/scripts/tier-router.js +459 -219
- package/harness-everything/scripts/verify-gate.js +100 -31
- package/hooks/hooks.json +200 -155
- package/hooks/scripts/action-gate-rules.json +77 -0
- package/hooks/scripts/action-gate.js +528 -0
- package/hooks/scripts/atomic-commit-check.js +68 -68
- package/hooks/scripts/boundary-guard.js +55 -55
- package/hooks/scripts/codex-action-gate-post.js +46 -0
- package/hooks/scripts/codex-permission-request.js +140 -0
- package/hooks/scripts/context-compact.js +115 -114
- package/hooks/scripts/contract-test.js +146 -79
- package/hooks/scripts/depth-guard.js +65 -65
- package/hooks/scripts/lib/fable-contracts.js +121 -0
- package/hooks/scripts/lib/harness-state.js +275 -228
- package/hooks/scripts/lib/platforms/claude.js +97 -61
- package/hooks/scripts/lib/platforms/codex.js +42 -50
- package/hooks/scripts/lib/platforms/continue.js +30 -12
- package/hooks/scripts/lib/platforms/copilot.js +36 -42
- package/hooks/scripts/lib/platforms/cursor.js +23 -5
- package/hooks/scripts/lib/platforms/hermes.js +108 -57
- package/hooks/scripts/lib/platforms/index.js +17 -17
- package/hooks/scripts/lib/platforms/worktrees.js +20 -20
- package/hooks/scripts/openai-session-start.js +81 -0
- package/hooks/scripts/reset-circuit-breaker.js +30 -30
- package/hooks/scripts/rule-of-3-tracker.js +125 -91
- package/hooks/scripts/rule-of-3.js +195 -176
- package/hooks/scripts/state-persist.js +100 -99
- package/hooks/scripts/stop-gate.js +80 -80
- package/hooks/scripts/subagent-scope-guard.js +194 -88
- package/hooks/scripts/subagent-start.js +19 -0
- package/hooks/scripts/subagent-stop.js +6 -0
- package/improve-codebase-architecture/SKILL.md +29 -35
- package/improve-codebase-architecture/guides/DEEPENING.md +37 -37
- package/improve-codebase-architecture/guides/HTML-REPORT.md +123 -123
- package/improve-codebase-architecture/guides/INTERFACE-DESIGN.md +44 -44
- package/improve-codebase-architecture/guides/LANGUAGE.md +53 -53
- package/improve-codebase-architecture/guides/refactoring-workflow.md +59 -0
- package/improve-codebase-architecture/references/README.md +16 -0
- package/install-cognitive-os/SKILL.md +30 -81
- package/install-cognitive-os/references/cognitive-loop.md +27 -0
- package/multi-agent-workspace/NOTICE-agency-agents.md +27 -0
- package/multi-agent-workspace/SKILL.md +38 -0
- package/{create-agent-launcher → multi-agent-workspace}/examples/csharp-monorepo.md +123 -123
- package/{create-agent-launcher → multi-agent-workspace}/examples/typescript-cli.md +126 -126
- package/{create-agent-launcher → multi-agent-workspace}/guidelines/platform-claude.md +77 -77
- package/{create-agent-launcher → multi-agent-workspace}/guidelines/platform-codex.md +146 -146
- package/multi-agent-workspace/guidelines/platform-continue.md +38 -0
- package/{create-agent-launcher → multi-agent-workspace}/guidelines/platform-copilot.md +74 -74
- package/multi-agent-workspace/guidelines/platform-cursor.md +40 -0
- package/multi-agent-workspace/guidelines/platform-hermes.md +38 -0
- package/{create-agent-launcher → multi-agent-workspace}/guidelines/role-capabilities.md +108 -108
- package/multi-agent-workspace/references/agency-agents.md +31 -0
- package/multi-agent-workspace/references/architecture-guide.md +36 -0
- package/multi-agent-workspace/references/orchestration.md +65 -0
- package/multi-agent-workspace/scripts/agency-catalog.js +190 -0
- package/multi-agent-workspace/scripts/consume-workflow-plan.js +129 -0
- package/multi-agent-workspace/scripts/index_memory.js +104 -0
- package/multi-agent-workspace/scripts/path-boundary.js +59 -0
- package/multi-agent-workspace/scripts/project-docs-resolver.js +357 -0
- package/multi-agent-workspace/scripts/scaffold.js +408 -0
- package/multi-agent-workspace/templates/AGENTS.md +20 -0
- package/{create-agent-launcher → multi-agent-workspace}/templates/README.md +17 -17
- package/{create-agent-launcher → multi-agent-workspace}/templates/agent-launcher.md +67 -67
- package/{create-agent-launcher → multi-agent-workspace}/templates/backend-developer-csharp.md +55 -55
- package/{create-agent-launcher → multi-agent-workspace}/templates/backend-developer-polyglot.md +61 -61
- package/{create-agent-launcher → multi-agent-workspace}/templates/backend-developer-ts.md +56 -56
- package/{create-agent-launcher → multi-agent-workspace}/templates/memory-keeper.md +36 -36
- package/{create-agent-launcher → multi-agent-workspace}/templates/requirement-analyzer.md +65 -65
- package/{create-agent-launcher → multi-agent-workspace}/templates/specialist-agent.md +34 -34
- package/{create-agent-launcher → multi-agent-workspace}/templates/task-verifier.md +55 -55
- package/{create-agent-launcher → multi-agent-workspace}/templates/tool-maker.md +32 -32
- package/multi-agent-workspace/workflows/01-init.md +22 -0
- package/multi-agent-workspace/workflows/02-analysis.md +23 -0
- package/multi-agent-workspace/workflows/03-generation.md +25 -0
- package/multi-agent-workspace/workflows/04-launcher.md +16 -0
- package/opencode-plugin/README.md +137 -0
- package/opencode-plugin/hooks/verify.js +190 -0
- package/opencode-plugin/index.mjs +547 -0
- package/opencode-plugin/plugin.json +9 -0
- package/package.json +63 -22
- package/plugins/harness-everything/.codex-plugin/plugin.json +39 -0
- package/plugins/harness-everything/hooks/hooks.json +197 -0
- package/plugins/harness-everything/hooks/scripts/action-gate-rules.json +77 -0
- package/plugins/harness-everything/hooks/scripts/action-gate.js +528 -0
- package/plugins/harness-everything/hooks/scripts/atomic-commit-check.js +68 -0
- package/plugins/harness-everything/hooks/scripts/boundary-guard.js +55 -0
- package/plugins/harness-everything/hooks/scripts/codex-action-gate-post.js +46 -0
- package/plugins/harness-everything/hooks/scripts/codex-permission-request.js +140 -0
- package/plugins/harness-everything/hooks/scripts/context-compact.js +115 -0
- package/plugins/harness-everything/hooks/scripts/contract-test.js +146 -0
- package/plugins/harness-everything/hooks/scripts/depth-guard.js +65 -0
- package/plugins/harness-everything/hooks/scripts/lib/fable-contracts.js +121 -0
- package/plugins/harness-everything/hooks/scripts/lib/harness-state.js +275 -0
- package/plugins/harness-everything/hooks/scripts/lib/platforms/claude.js +168 -0
- package/plugins/harness-everything/hooks/scripts/lib/platforms/codex.js +88 -0
- package/plugins/harness-everything/hooks/scripts/lib/platforms/continue.js +91 -0
- package/plugins/harness-everything/hooks/scripts/lib/platforms/copilot.js +85 -0
- package/plugins/harness-everything/hooks/scripts/lib/platforms/cursor.js +89 -0
- package/plugins/harness-everything/hooks/scripts/lib/platforms/hermes.js +108 -0
- package/plugins/harness-everything/hooks/scripts/lib/platforms/index.js +17 -0
- package/plugins/harness-everything/hooks/scripts/lib/platforms/worktrees.js +20 -0
- package/plugins/harness-everything/hooks/scripts/lib/workspace.js +290 -0
- package/plugins/harness-everything/hooks/scripts/openai-session-start.js +81 -0
- package/plugins/harness-everything/hooks/scripts/reset-circuit-breaker.js +30 -0
- package/plugins/harness-everything/hooks/scripts/rule-of-3-tracker.js +125 -0
- package/plugins/harness-everything/hooks/scripts/rule-of-3.js +195 -0
- package/plugins/harness-everything/hooks/scripts/state-persist.js +100 -0
- package/plugins/harness-everything/hooks/scripts/stop-gate.js +80 -0
- package/plugins/harness-everything/hooks/scripts/subagent-scope-guard.js +194 -0
- package/plugins/harness-everything/hooks/scripts/subagent-start.js +19 -0
- package/plugins/harness-everything/hooks/scripts/subagent-stop.js +6 -0
- package/plugins/harness-everything/hooks/session-start.js +81 -0
- package/plugins/harness-everything/plugin.json +43 -0
- package/plugins/harness-everything/scripts/lib/advisory-text.js +174 -0
- package/plugins/harness-everything/skills/environment-detection/SKILL.md +41 -0
- package/plugins/harness-everything/skills/environment-detection/references/shell-syntax-rules.md +76 -0
- package/plugins/harness-everything/skills/environment-detection/scripts/preflight.js +103 -0
- package/plugins/harness-everything/skills/eval-harness/SKILL.md +42 -0
- package/plugins/harness-everything/skills/eval-harness/references/scoring-rubric.md +68 -0
- package/plugins/harness-everything/skills/eval-harness/scripts/evaluate.js +79 -0
- package/plugins/harness-everything/skills/fable-discipline/SKILL.md +41 -0
- package/plugins/harness-everything/skills/fable-discipline/references/discipline-rules.md +22 -0
- package/plugins/harness-everything/skills/fable-mode/CONTRACT-FORMAT.md +165 -0
- package/plugins/harness-everything/skills/fable-mode/SKILL.md +39 -0
- package/plugins/harness-everything/skills/fable-mode/agents/fable-orchestrator.md +159 -0
- package/plugins/harness-everything/skills/fable-mode/agents/fable-verifier.md +32 -0
- package/plugins/harness-everything/skills/fable-mode/agents/fable-worker-haiku.md +52 -0
- package/plugins/harness-everything/skills/fable-mode/agents/fable-worker-sonnet.md +53 -0
- package/plugins/harness-everything/skills/fable-mode/execution-guardrails/SKILL.md +43 -0
- package/plugins/harness-everything/skills/fable-mode/execution-guardrails/references/guardrail-rules.md +56 -0
- package/plugins/harness-everything/skills/fable-mode/fable-haiku/SKILL.md +36 -0
- package/plugins/harness-everything/skills/fable-mode/fable-haiku/references/routing-notes.md +26 -0
- package/plugins/harness-everything/skills/fable-mode/fable-opus/SKILL.md +36 -0
- package/plugins/harness-everything/skills/fable-mode/fable-sonnet/SKILL.md +36 -0
- package/plugins/harness-everything/skills/fable-mode/model-matrix.json +32 -0
- package/plugins/harness-everything/skills/fable-mode/references/execution-phases.md +37 -0
- package/plugins/harness-everything/skills/fable-mode/references/model-matrix.md +39 -0
- package/plugins/harness-everything/skills/fable-mode/scripts/ensemble-review.js +371 -0
- package/plugins/harness-everything/skills/fable-mode/scripts/model-selector.js +260 -0
- package/plugins/harness-everything/skills/fable-mode/scripts/workflow-plan-consumer.js +337 -0
- package/plugins/harness-everything/skills/find-skills/SKILL.md +48 -0
- package/plugins/harness-everything/skills/find-skills/references/discovery-flow.md +102 -0
- package/plugins/harness-everything/skills/find-skills/scripts/use-skill.js +112 -0
- package/plugins/harness-everything/skills/git-commit/SKILL.md +38 -0
- package/plugins/harness-everything/skills/git-commit/guides/ANGULAR_STYLE.md +61 -0
- package/plugins/harness-everything/skills/git-commit/guides/COMMIT_GENERATION.md +24 -0
- package/plugins/harness-everything/skills/git-commit/guides/LANGUAGE_DETECTION.md +16 -0
- package/plugins/harness-everything/skills/git-commit/guides/MAIN_REPO.md +15 -0
- package/plugins/harness-everything/skills/git-commit/guides/SUBMODULES.md +27 -0
- package/plugins/harness-everything/skills/git-commit/references/commit-flow.md +30 -0
- package/plugins/harness-everything/skills/grill-me/SKILL.md +43 -0
- package/plugins/harness-everything/skills/grill-me/references/grilling-playbook.md +38 -0
- package/plugins/harness-everything/skills/grill-with-docs/ADR-FORMAT.md +47 -0
- package/plugins/harness-everything/skills/grill-with-docs/CONTEXT-FORMAT.md +63 -0
- package/plugins/harness-everything/skills/grill-with-docs/SKILL.md +41 -0
- package/plugins/harness-everything/skills/grill-with-docs/references/session-playbook.md +99 -0
- package/plugins/harness-everything/skills/harness-everything/SKILL.md +43 -0
- package/plugins/harness-everything/skills/harness-everything/examples/README.md +9 -0
- package/plugins/harness-everything/skills/harness-everything/examples/todo-workflow.md +22 -0
- package/plugins/harness-everything/skills/harness-everything/references/router-workflow-plan.md +128 -0
- package/plugins/harness-everything/skills/harness-everything/references/skill-registry.md +39 -0
- package/plugins/harness-everything/skills/harness-everything/references/triage-and-tiers.md +193 -0
- package/plugins/harness-everything/skills/harness-everything/schemas/router-task-shape.schema.json +126 -0
- package/plugins/harness-everything/skills/harness-everything/schemas/router-workflow-plan.schema.json +149 -0
- package/plugins/harness-everything/skills/harness-everything/scripts/bootstrap.js +212 -0
- package/plugins/harness-everything/skills/harness-everything/scripts/ensemble-policy.js +102 -0
- package/plugins/harness-everything/skills/harness-everything/scripts/kernel-router.js +212 -0
- package/plugins/harness-everything/skills/harness-everything/scripts/router-contract.js +612 -0
- package/plugins/harness-everything/skills/harness-everything/scripts/routing-keywords.json +320 -0
- package/plugins/harness-everything/skills/harness-everything/scripts/self-heal.js +250 -0
- package/plugins/harness-everything/skills/harness-everything/scripts/tier-router.js +459 -0
- package/plugins/harness-everything/skills/harness-everything/scripts/verify-gate.js +100 -0
- package/plugins/harness-everything/skills/improve-codebase-architecture/SKILL.md +38 -0
- package/plugins/harness-everything/skills/improve-codebase-architecture/guides/DEEPENING.md +37 -0
- package/plugins/harness-everything/skills/improve-codebase-architecture/guides/HTML-REPORT.md +123 -0
- package/plugins/harness-everything/skills/improve-codebase-architecture/guides/INTERFACE-DESIGN.md +44 -0
- package/plugins/harness-everything/skills/improve-codebase-architecture/guides/LANGUAGE.md +53 -0
- package/plugins/harness-everything/skills/improve-codebase-architecture/guides/refactoring-workflow.md +59 -0
- package/plugins/harness-everything/skills/improve-codebase-architecture/references/README.md +16 -0
- package/plugins/harness-everything/skills/install-cognitive-os/SKILL.md +44 -0
- package/plugins/harness-everything/skills/install-cognitive-os/references/cognitive-loop.md +27 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/NOTICE-agency-agents.md +27 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/SKILL.md +38 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/examples/csharp-monorepo.md +123 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/examples/typescript-cli.md +126 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/guidelines/platform-claude.md +77 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/guidelines/platform-codex.md +146 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/guidelines/platform-continue.md +38 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/guidelines/platform-copilot.md +74 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/guidelines/platform-cursor.md +40 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/guidelines/platform-hermes.md +38 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/guidelines/role-capabilities.md +108 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/references/agency-agents.md +31 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/references/architecture-guide.md +36 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/references/orchestration.md +65 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/scripts/agency-catalog.js +190 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/scripts/consume-workflow-plan.js +129 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/scripts/index_memory.js +104 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/scripts/path-boundary.js +59 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/scripts/project-docs-resolver.js +357 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/scripts/scaffold.js +408 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/templates/AGENTS.md +20 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/templates/README.md +17 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/templates/agent-launcher.md +68 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/templates/backend-developer-csharp.md +56 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/templates/backend-developer-polyglot.md +62 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/templates/backend-developer-ts.md +57 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/templates/memory-keeper.md +37 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/templates/requirement-analyzer.md +66 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/templates/specialist-agent.md +34 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/templates/task-verifier.md +56 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/templates/tool-maker.md +33 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/workflows/01-init.md +22 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/workflows/02-analysis.md +23 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/workflows/03-generation.md +25 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/workflows/04-launcher.md +16 -0
- package/plugins/harness-everything/skills/repo-docs/SKILL.md +42 -0
- package/plugins/harness-everything/skills/repo-docs/references/process-guide.md +60 -0
- package/plugins/harness-everything/skills/repo-docs/templates/agents-template.md +264 -0
- package/plugins/harness-everything/skills/repo-docs/templates/knowledge-agents-template.md +50 -0
- package/plugins/harness-everything/skills/repo-docs/templates/knowledge-readme-template.md +83 -0
- package/plugins/harness-everything/skills/repo-docs/templates/manual-recon.md +117 -0
- package/plugins/harness-everything/skills/repo-docs/templates/multi-skills-readme-template.md +72 -0
- package/plugins/harness-everything/skills/repo-docs/templates/product-agents-template.md +78 -0
- package/plugins/harness-everything/skills/repo-docs/templates/product-readme-template.md +95 -0
- package/plugins/harness-everything/skills/repo-docs/templates/readme-template.md +136 -0
- package/plugins/harness-everything/skills/repo-docs/templates/single-skill-readme-template.md +70 -0
- package/plugins/harness-everything/skills/repo-docs/templates/skills-agents-template.md +60 -0
- package/plugins/harness-everything/skills/rewrite-commits/SKILL.md +37 -0
- package/plugins/harness-everything/skills/rewrite-commits/references/workflow.md +18 -0
- package/plugins/harness-everything/skills/security-review/SKILL.md +47 -0
- package/plugins/harness-everything/skills/security-review/guides/OWASP-PATTERNS.md +31 -0
- package/plugins/harness-everything/skills/security-review/guides/STRIDE-THREAT-MODEL.md +21 -0
- package/plugins/harness-everything/skills/security-review/references/security-checklist.md +478 -0
- package/plugins/harness-everything/skills/security-review/scripts/audit-secrets.js +85 -0
- package/plugins/harness-everything/skills/self-evolve/SKILL.md +45 -0
- package/plugins/harness-everything/skills/self-evolve/references/memory-resolution.md +61 -0
- package/plugins/harness-everything/skills/self-evolve/scripts/persist-memory.js +272 -0
- package/plugins/harness-everything/skills/self-evolve/scripts/register-dynamic-skill.js +253 -0
- package/plugins/harness-everything/skills/self-evolve/scripts/self-regression.js +125 -0
- package/plugins/harness-everything/skills/skill-creator/SKILL.md +47 -0
- package/plugins/harness-everything/skills/skill-creator/references/authoring-workflow.md +14 -0
- package/plugins/harness-everything/skills/skill-creator/references/dynamic-generation-contract.md +21 -0
- package/plugins/harness-everything/skills/skill-creator/references/quality-checklist.md +16 -0
- package/plugins/harness-everything/skills/skill-creator/references/quality-principles.md +81 -0
- package/plugins/harness-everything/skills/skill-creator/references/testing-workflow.md +27 -0
- package/plugins/harness-everything/skills/skill-style/SKILL.md +42 -0
- package/plugins/harness-everything/skills/skill-style/references/style-guide.md +62 -0
- package/plugins/harness-everything/skills/tdd/SKILL.md +38 -0
- package/plugins/harness-everything/skills/tdd/fixtures/pass-evidence.json +100 -0
- package/plugins/harness-everything/skills/tdd/fixtures/quality-scenarios.json +20 -0
- package/plugins/harness-everything/skills/tdd/guides/deep-modules.md +33 -0
- package/plugins/harness-everything/skills/tdd/guides/interface-design.md +31 -0
- package/plugins/harness-everything/skills/tdd/guides/mocking.md +59 -0
- package/plugins/harness-everything/skills/tdd/guides/refactoring.md +10 -0
- package/plugins/harness-everything/skills/tdd/guides/tests.md +61 -0
- package/plugins/harness-everything/skills/tdd/references/core-discipline.md +51 -0
- package/plugins/harness-everything/skills/tdd/references/integration-testing.md +13 -0
- package/plugins/harness-everything/skills/tdd/references/quality-model.md +68 -0
- package/plugins/harness-everything/skills/tdd/references/unit-testing.md +15 -0
- package/plugins/harness-everything/skills/tdd/schemas/quality-evidence.schema.json +211 -0
- package/plugins/harness-everything/skills/tdd/schemas/quality-report.schema.json +110 -0
- package/plugins/harness-everything/skills/tdd/scripts/quality-gate.js +475 -0
- package/plugins/harness-everything/skills/to-spec/SKILL.md +40 -0
- package/plugins/harness-everything/skills/to-spec/references/process.md +77 -0
- package/plugins/harness-everything/skills/to-spec/scripts/check-project-docs.js +239 -0
- package/plugins/harness-everything/skills/to-spec/scripts/project-docs-resolver.js +111 -0
- package/plugins/harness-everything/skills/to-spec/templates/cli-reference.md +31 -0
- package/plugins/harness-everything/skills/to-spec/templates/dev-doc.md +27 -0
- package/plugins/harness-everything/skills/to-spec/templates/feature-spec.md +59 -0
- package/plugins/harness-everything/skills/to-spec/templates/schema-doc.md +31 -0
- package/plugins/harness-everything/skills/to-tickets/SKILL.md +42 -0
- package/plugins/harness-everything/skills/to-tickets/references/publishing-and-templates.md +97 -0
- package/plugins/harness-everything/skills/todo-driven-workflow/SKILL.md +42 -0
- package/plugins/harness-everything/skills/todo-driven-workflow/references/execution-guide.md +27 -0
- package/plugins/harness-everything/skills/using-git-worktrees/SKILL.md +49 -0
- package/plugins/harness-everything/skills/using-git-worktrees/references/workflow-details.md +108 -0
- package/plugins/harness-everything/skills/verification-loop/SKILL.md +46 -0
- package/plugins/harness-everything/skills/verification-loop/references/verification-phases.md +116 -0
- package/plugins/harness-everything/skills/verification-loop/templates/verification-report.template.md +15 -0
- package/plugins/harness-everything/skills/verify-before-claim/SKILL.md +43 -0
- package/plugins/harness-everything/skills/verify-before-claim/references/verification-guide.md +73 -0
- package/plugins/harness-everything/skills/zoom-out/SKILL.md +42 -0
- package/plugins/harness-everything/skills/zoom-out/references/circuit-breaker.md +66 -0
- package/plugins/harness-everything/skills/zoom-out/templates/zoom-out-report.template.md +20 -0
- package/references/definition-of-done.md +67 -0
- package/references/performance-checklist.md +153 -0
- package/references/platform-advisory-template.md +58 -0
- package/references/security-checklist.md +205 -0
- package/repo-docs/SKILL.md +34 -37
- package/repo-docs/references/process-guide.md +60 -0
- package/repo-docs/templates/agents-template.md +264 -264
- package/repo-docs/templates/knowledge-agents-template.md +50 -50
- package/repo-docs/templates/knowledge-readme-template.md +83 -83
- package/repo-docs/templates/manual-recon.md +117 -117
- package/repo-docs/templates/multi-skills-readme-template.md +72 -72
- package/repo-docs/templates/product-agents-template.md +78 -78
- package/repo-docs/templates/product-readme-template.md +95 -95
- package/repo-docs/templates/readme-template.md +136 -136
- package/repo-docs/templates/single-skill-readme-template.md +70 -70
- package/repo-docs/templates/skills-agents-template.md +60 -60
- package/rewrite-commits/SKILL.md +22 -17
- package/rewrite-commits/references/workflow.md +18 -0
- package/scripts/build-openai-submission.js +158 -0
- package/scripts/installer.js +621 -506
- package/scripts/lib/advisory-text.js +33 -22
- package/scripts/lib/claude-hooks.js +18 -5
- package/scripts/lib/execution-contract.js +70 -0
- package/scripts/lib/gitignore.js +199 -80
- package/scripts/lib/manifest.js +83 -23
- package/scripts/lib/path-boundary.js +90 -0
- package/scripts/lib/prompts.js +1 -1
- package/scripts/lib/skills.js +191 -51
- package/scripts/lib/workspace.js +269 -7
- package/scripts/sync-openai-plugin.js +91 -0
- package/scripts/sync-release-version.js +212 -0
- package/scripts/verify-install.js +147 -0
- package/security-review/SKILL.md +33 -497
- package/security-review/guides/OWASP-PATTERNS.md +31 -0
- package/security-review/guides/STRIDE-THREAT-MODEL.md +21 -0
- package/security-review/references/security-checklist.md +478 -0
- package/security-review/scripts/audit-secrets.js +85 -0
- package/self-evolve/SKILL.md +36 -45
- package/self-evolve/references/memory-resolution.md +61 -0
- package/self-evolve/scripts/persist-memory.js +272 -40
- package/self-evolve/scripts/register-dynamic-skill.js +253 -0
- package/self-evolve/scripts/self-regression.js +125 -113
- package/skill-creator/SKILL.md +33 -77
- package/skill-creator/references/authoring-workflow.md +14 -0
- package/skill-creator/references/dynamic-generation-contract.md +21 -0
- package/skill-creator/references/quality-checklist.md +16 -0
- package/skill-creator/references/quality-principles.md +81 -81
- package/skill-creator/references/testing-workflow.md +27 -32
- package/skill-style/SKILL.md +33 -39
- package/skill-style/references/style-guide.md +62 -0
- package/submission/openai/README.md +67 -0
- package/submission/openai/listing.json +31 -0
- package/submission/openai/test-cases.json +61 -0
- package/tdd/SKILL.md +30 -45
- package/tdd/fixtures/pass-evidence.json +100 -0
- package/tdd/fixtures/quality-scenarios.json +20 -0
- package/tdd/guides/deep-modules.md +33 -33
- package/tdd/guides/interface-design.md +31 -31
- package/tdd/guides/mocking.md +59 -59
- package/tdd/guides/refactoring.md +10 -10
- package/tdd/guides/tests.md +61 -61
- package/tdd/references/core-discipline.md +51 -0
- package/tdd/references/integration-testing.md +13 -0
- package/tdd/references/quality-model.md +68 -0
- package/tdd/references/unit-testing.md +15 -0
- package/tdd/schemas/quality-evidence.schema.json +211 -0
- package/tdd/schemas/quality-report.schema.json +110 -0
- package/tdd/scripts/quality-gate.js +475 -0
- package/to-spec/SKILL.md +40 -0
- package/to-spec/references/process.md +77 -0
- package/to-spec/scripts/check-project-docs.js +239 -0
- package/to-spec/scripts/project-docs-resolver.js +111 -0
- package/to-spec/templates/cli-reference.md +31 -0
- package/to-spec/templates/dev-doc.md +27 -0
- package/to-spec/templates/feature-spec.md +59 -0
- package/to-spec/templates/schema-doc.md +31 -0
- package/to-tickets/SKILL.md +42 -0
- package/to-tickets/references/publishing-and-templates.md +97 -0
- package/todo-driven-workflow/SKILL.md +28 -40
- package/todo-driven-workflow/references/execution-guide.md +27 -0
- package/using-git-worktrees/SKILL.md +29 -141
- package/using-git-worktrees/references/workflow-details.md +108 -0
- package/verification-loop/SKILL.md +29 -121
- package/verification-loop/references/verification-phases.md +116 -0
- package/verification-loop/templates/verification-report.template.md +15 -0
- package/verify-before-claim/SKILL.md +27 -70
- package/verify-before-claim/references/verification-guide.md +73 -0
- package/zoom-out/SKILL.md +28 -76
- package/zoom-out/references/circuit-breaker.md +66 -0
- package/zoom-out/templates/zoom-out-report.template.md +20 -0
- package/build-multi-agent-system/AGENTS.md +0 -50
- package/build-multi-agent-system/README.md +0 -63
- package/build-multi-agent-system/SKILL.md +0 -68
- package/create-agent-launcher/SKILL.md +0 -48
- package/create-agent-launcher/guidelines/platform-gemini.md +0 -101
- package/create-agent-launcher/workflows/01-init.md +0 -22
- package/create-agent-launcher/workflows/02-analysis.md +0 -26
- package/create-agent-launcher/workflows/03-generation.md +0 -29
- package/create-agent-launcher/workflows/04-launcher.md +0 -20
- package/docs/workflows/build-multi-agent-system.md +0 -62
- package/docs/workflows/create-agent-launcher.md +0 -62
- package/eval-framework/behavioral-test.js +0 -105
- package/eval-framework/cases/case2.json +0 -5
- package/eval-framework/mechanism-test.js +0 -251
- package/harness-everything/scripts/todo-cli.js +0 -157
- package/skill-style/STYLE.md +0 -37
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: todo-driven-workflow
|
|
3
|
+
description: "Enforce a deliberate step-by-step execution loop for complex multi-step or multi-file tasks (Tier 2/3), one sub-task in-progress at a time. USE FOR: \"track a complex multi-step task as todos\", \"work through a multi-file refactor step by step\". DO NOT USE FOR: \"trivial single-file edits\", \"quick questions without implementation\"."
|
|
4
|
+
license: Apache-2.0
|
|
5
|
+
metadata:
|
|
6
|
+
author: Miya Daniel
|
|
7
|
+
version: 0.4.0
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Todo-Driven Workflow
|
|
11
|
+
|
|
12
|
+
Single-task milestones prevent context drift in Tier 2/3 work.
|
|
13
|
+
|
|
14
|
+
## USE FOR:
|
|
15
|
+
- Track multi-step, multi-file development tasks
|
|
16
|
+
- Enforce exactly one active milestone
|
|
17
|
+
|
|
18
|
+
## DO NOT USE FOR:
|
|
19
|
+
- Trivial single-file edits
|
|
20
|
+
- Parallel sub-agent state without worktree isolation (`using-git-worktrees`)
|
|
21
|
+
|
|
22
|
+
## Skill Contract
|
|
23
|
+
|
|
24
|
+
| Component | Specification |
|
|
25
|
+
| :--- | :--- |
|
|
26
|
+
| **Trigger / Input** | Tier 2/3 task with a high-level description. |
|
|
27
|
+
| **Expected Output** | Native TODO state or a Markdown checklist with verifiable milestones. |
|
|
28
|
+
| **State Mutations** | Host-native TODO state or `<workspace>/tasks/todo.md` / `<workspace>/.github/harness-everything/todo.md`. |
|
|
29
|
+
| **Enforcement Gate** | Exactly one milestone is `in-progress`; verify before marking it complete. |
|
|
30
|
+
|
|
31
|
+
## Execution Loop: Think > Try > Summarize > Record
|
|
32
|
+
|
|
33
|
+
1. [Think] State the goal and split it into 3-7 checkable milestones.
|
|
34
|
+
2. [Record] Initialize the native host tracker before edits; if unavailable, create a Markdown checklist.
|
|
35
|
+
3. Start exactly one milestone, execute only its scope, and run its named check.
|
|
36
|
+
4. Mark it complete only after evidence passes; then start the next milestone.
|
|
37
|
+
5. Record blockers in the checklist and escalate after the applicable circuit-breaker threshold.
|
|
38
|
+
|
|
39
|
+
Native TODO tools take priority. Markdown is portable fallback; this skill
|
|
40
|
+
does not depend on a repository CLI state machine.
|
|
41
|
+
|
|
42
|
+
Deep dive: <this-skill-dir>/references/execution-guide.md
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Execution Guide (Deep Dive)
|
|
2
|
+
|
|
3
|
+
## Tracker selection
|
|
4
|
+
|
|
5
|
+
```mermaid
|
|
6
|
+
flowchart TD
|
|
7
|
+
Start[Task needs milestones] --> Native{Native TODO tracker available?}
|
|
8
|
+
Native -->|Yes| Host[Use the host tracker]
|
|
9
|
+
Native -->|No| Markdown[Create tasks/todo.md or .github/harness-everything/todo.md]
|
|
10
|
+
Host --> One[Keep exactly one item in-progress]
|
|
11
|
+
Markdown --> One
|
|
12
|
+
One --> Check[Run the named verification command]
|
|
13
|
+
Check --> Record[Record evidence and mark the item complete]
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Rules
|
|
17
|
+
|
|
18
|
+
1. Define 3-7 verifiable milestones before changing files.
|
|
19
|
+
2. Prefer the host's native TODO tool and preserve its status history.
|
|
20
|
+
3. If no native tracker exists, use a Markdown checklist in the repository or platform project-instructions area.
|
|
21
|
+
4. Each item names its output, pass condition, and verification command.
|
|
22
|
+
5. Keep one item `in-progress`; complete it from evidence before starting another.
|
|
23
|
+
6. When parallel agents are active, isolate their writes with `using-git-worktrees` and merge only after scope review.
|
|
24
|
+
|
|
25
|
+
The former repository TODO CLI is intentionally not a fallback. This keeps
|
|
26
|
+
tracking native to the host or transparent in Markdown and avoids shared
|
|
27
|
+
cross-session state collisions.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: using-git-worktrees
|
|
3
|
+
description: Use when starting feature work needing isolation or before implementation plans - ensures an isolated workspace via native tools or git worktree fallback
|
|
4
|
+
license: Apache-2.0
|
|
5
|
+
metadata:
|
|
6
|
+
author: Miya Daniel
|
|
7
|
+
version: 0.4.0
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Using Git Worktrees
|
|
11
|
+
|
|
12
|
+
Use native tools first; git fallback.
|
|
13
|
+
|
|
14
|
+
## 📋 Skill Contract
|
|
15
|
+
|
|
16
|
+
| Component | Specification |
|
|
17
|
+
| :--- | :--- |
|
|
18
|
+
| **Trigger / Input** | Isolation-needing feature work; pre-plan setup. |
|
|
19
|
+
| **Expected Output** | Isolated workspace plus clean test baseline. |
|
|
20
|
+
| **State Mutations** | Creates `.worktrees/<branch>`; updates `.gitignore` if needed. |
|
|
21
|
+
| **Enforcement Gate** | Detect existing isolation first; seamless sandbox fallback. |
|
|
22
|
+
|
|
23
|
+
## Workflow
|
|
24
|
+
|
|
25
|
+
**Step 0 — Detect existing isolation** (adapt per `environment-detection`):
|
|
26
|
+
```bash
|
|
27
|
+
git rev-parse --git-dir
|
|
28
|
+
git rev-parse --git-common-dir
|
|
29
|
+
git branch --show-current
|
|
30
|
+
git rev-parse --show-superproject-working-tree
|
|
31
|
+
```
|
|
32
|
+
Dirs differ and no superproject → already isolated; skip to Step 2; never nest. Superproject → submodule (normal repo). Else honor declared preference or ask consent; declined → in place.
|
|
33
|
+
|
|
34
|
+
**Step 1 — Create**: native tool (`EnterWorktree`, `/worktree`, `--worktree`) first — raw git creates phantom state. Else verify ignored via `git check-ignore -q .worktrees || git check-ignore -q worktrees`; unignored → add to .gitignore and commit. Then `git worktree add "$path" -b "$BRANCH_NAME"` at declared preference, existing `.worktrees/`/`worktrees/`, or default `.worktrees/`. Sandbox denial → work in place.
|
|
35
|
+
|
|
36
|
+
**Step 2 — Setup**: npm/cargo/pip/poetry/go.
|
|
37
|
+
|
|
38
|
+
**Step 3 — Baseline**: run tests (`npm test`/`cargo test`/`pytest`/`go test ./...`); failures → report, ask.
|
|
39
|
+
|
|
40
|
+
Deep dive: <this-skill-dir>/references/workflow-details.md
|
|
41
|
+
|
|
42
|
+
## USE FOR:
|
|
43
|
+
- feature work needing isolation
|
|
44
|
+
- pre-implementation-plan setup
|
|
45
|
+
- native vs manual `git worktree add`
|
|
46
|
+
|
|
47
|
+
## DO NOT USE FOR:
|
|
48
|
+
- nesting inside an existing worktree
|
|
49
|
+
- branch/merge workflows
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# Using Git Worktrees — Full Workflow Reference
|
|
2
|
+
|
|
3
|
+
## Decision Flow
|
|
4
|
+
|
|
5
|
+
```mermaid
|
|
6
|
+
flowchart TD
|
|
7
|
+
Start[Trigger: Need Workspace Isolation] --> CheckIso{1. Already in Worktree?}
|
|
8
|
+
|
|
9
|
+
CheckIso -- Yes (GIT_DIR != GIT_COMMON) --> Setup[3. Run Project Setup & Dependencies]
|
|
10
|
+
CheckIso -- No (Normal Repo) --> CheckNative{2. Native Worktree Tool Available?}
|
|
11
|
+
|
|
12
|
+
CheckNative -- Yes --> RunNative[Use Native Worktree Tool] --> Setup
|
|
13
|
+
CheckNative -- No --> RunGit[Try git worktree add .worktrees/branch]
|
|
14
|
+
|
|
15
|
+
RunGit -- Success --> Setup
|
|
16
|
+
RunGit -- Fails / Denied --> WorkInPlace[Fallback: Work in Place in Current Directory] --> Setup
|
|
17
|
+
|
|
18
|
+
Setup --> RunBaseline[4. Verify Clean Test Baseline]
|
|
19
|
+
RunBaseline --> Done[Isolated Workspace Ready]
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Step 0 detail
|
|
23
|
+
|
|
24
|
+
**Submodule guard:** `git-dir` differs from `git-common-dir` inside git submodules as well. Before concluding "already in a worktree," verify you are not in a submodule:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
# If this returns a path, you're in a submodule, not a worktree — treat as normal repo
|
|
28
|
+
git rev-parse --show-superproject-working-tree
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Report with branch state:
|
|
32
|
+
- On a branch: "Already in isolated workspace at `<path>` on branch `<name>`."
|
|
33
|
+
- Detached HEAD: "Already in isolated workspace at `<path>` (detached HEAD, externally managed). Branch creation needed at finish time."
|
|
34
|
+
|
|
35
|
+
Has the user already indicated their worktree preference in your instructions? If not, ask for consent before creating a worktree:
|
|
36
|
+
|
|
37
|
+
> "Would you like me to set up an isolated worktree? It protects your current branch from changes."
|
|
38
|
+
|
|
39
|
+
Honor any existing declared preference without asking. If the user declines consent, work in place and skip to project setup.
|
|
40
|
+
|
|
41
|
+
## Step 1a detail — native tools
|
|
42
|
+
|
|
43
|
+
The user has asked for an isolated workspace. Do you already have a way to create a worktree? It might be a tool with a name like `EnterWorktree`, `WorktreeCreate`, a `/worktree` command, or a `--worktree` flag. If you do, use it and skip to setup.
|
|
44
|
+
|
|
45
|
+
Native tools handle directory placement, branch creation, and cleanup automatically. Using `git worktree add` when you have a native tool creates phantom state your harness can't see or manage.
|
|
46
|
+
|
|
47
|
+
Only use the git fallback if you have no native worktree tool available.
|
|
48
|
+
|
|
49
|
+
## Step 1b detail — directory selection priority
|
|
50
|
+
|
|
51
|
+
Follow this priority order. Explicit user preference always beats observed filesystem state.
|
|
52
|
+
|
|
53
|
+
1. **Check your instructions for a declared worktree directory preference.** If the user has already specified one, use it without asking.
|
|
54
|
+
2. **Check for an existing project-local worktree directory:** Check if `.worktrees/` or `worktrees/` exists using cross-platform file system tools (`read_file` / `list_dir` or native shell test commands). If found, use it. If both exist, `.worktrees` wins.
|
|
55
|
+
3. **If there is no other guidance available**, default to `.worktrees/` at the project root.
|
|
56
|
+
|
|
57
|
+
### Safety verification (project-local directories only)
|
|
58
|
+
|
|
59
|
+
**MUST verify directory is ignored before creating worktree:**
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
git check-ignore -q .worktrees || git check-ignore -q worktrees
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**If NOT ignored:** Add to .gitignore, commit the change, then proceed.
|
|
66
|
+
|
|
67
|
+
**Why critical:** Prevents accidentally committing worktree contents to repository.
|
|
68
|
+
|
|
69
|
+
### Create the worktree
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
# Determine path based on chosen location
|
|
73
|
+
path="$LOCATION/$BRANCH_NAME"
|
|
74
|
+
|
|
75
|
+
git worktree add "$path" -b "$BRANCH_NAME"
|
|
76
|
+
cd "$path"
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
**Sandbox fallback:** If `git worktree add` fails with a permission error (sandbox denial), tell the user the sandbox blocked worktree creation and you're working in the current directory instead. Then run setup and baseline tests in place.
|
|
80
|
+
|
|
81
|
+
## Step 2 detail — project setup
|
|
82
|
+
|
|
83
|
+
Auto-detect and run appropriate setup:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
# Node.js
|
|
87
|
+
if [ -f package.json ]; then npm install; fi
|
|
88
|
+
|
|
89
|
+
# Rust
|
|
90
|
+
if [ -f Cargo.toml ]; then cargo build; fi
|
|
91
|
+
|
|
92
|
+
# Python
|
|
93
|
+
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
|
|
94
|
+
if [ -f pyproject.toml ]; then poetry install; fi
|
|
95
|
+
|
|
96
|
+
# Go
|
|
97
|
+
if [ -f go.mod ]; then go mod download; fi
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Step 3 detail — baseline report
|
|
101
|
+
|
|
102
|
+
If tests fail: report failures, ask whether to proceed or investigate. If tests pass:
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
Worktree ready at <full-path>
|
|
106
|
+
Tests passing (<N> tests, 0 failures)
|
|
107
|
+
Ready to implement <feature-name>
|
|
108
|
+
```
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: verification-loop
|
|
3
|
+
description: "Run objective verification gates (build, types, lint, tests, security scan) before claiming work done. USE FOR: \"run the full verification loop\", \"verify this is done before delivery\". DO NOT USE FOR: \"design discussions with no completed work\", \"planning without code changes\"."
|
|
4
|
+
license: Apache-2.0
|
|
5
|
+
metadata:
|
|
6
|
+
author: Miya Daniel
|
|
7
|
+
version: 0.4.0
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Verification Loop
|
|
11
|
+
|
|
12
|
+
Run objective quality gates before claiming a change is ready.
|
|
13
|
+
|
|
14
|
+
## Skill Contract
|
|
15
|
+
|
|
16
|
+
| Component | Specification |
|
|
17
|
+
| :--- | :--- |
|
|
18
|
+
| **Trigger / Input** | Completed implementation or change awaiting delivery. |
|
|
19
|
+
| **Expected Output** | Evidence-backed verification report and delivery decision. |
|
|
20
|
+
| **State Mutations** | Fills a report from `<this-skill-dir>/templates/verification-report.template.md`. |
|
|
21
|
+
| **Enforcement Gate** | Build, type, lint, test, security, and diff gates all pass. |
|
|
22
|
+
|
|
23
|
+
## USE FOR:
|
|
24
|
+
|
|
25
|
+
- Verify a feature or change before delivery
|
|
26
|
+
- Run quality gates before a PR
|
|
27
|
+
|
|
28
|
+
## DO NOT USE FOR:
|
|
29
|
+
|
|
30
|
+
- Fixing failures without re-running the loop
|
|
31
|
+
- Writing new features or tests (use `tdd`)
|
|
32
|
+
|
|
33
|
+
## Workflow
|
|
34
|
+
|
|
35
|
+
Never claim completion until every applicable gate passes. On failure, fix the cause
|
|
36
|
+
and rerun from the first affected gate.
|
|
37
|
+
|
|
38
|
+
1. Build: `npm run build`.
|
|
39
|
+
2. Types: `npx tsc --noEmit` or `pyright .`.
|
|
40
|
+
3. Lint: `npm run lint` or `ruff check .`.
|
|
41
|
+
4. Tests and coverage: `npm run test -- --coverage`.
|
|
42
|
+
5. Security scan: secrets and stray logs.
|
|
43
|
+
6. Diff review: `git diff --stat` and unintended-change checks.
|
|
44
|
+
7. Fill `<this-skill-dir>/templates/verification-report.template.md` with evidence.
|
|
45
|
+
|
|
46
|
+
Deep dive: `<this-skill-dir>/references/verification-phases.md`
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# Verification Phases (Deep Dive)
|
|
2
|
+
|
|
3
|
+
## Decision Flow
|
|
4
|
+
|
|
5
|
+
```mermaid
|
|
6
|
+
flowchart TD
|
|
7
|
+
Start[Trigger: Pre-Delivery / PR Verification] --> Build[1. Phase 1: Build Verification]
|
|
8
|
+
Build --> Type[2. Phase 2: Type Check]
|
|
9
|
+
Type --> Lint[3. Phase 3: Lint Check]
|
|
10
|
+
Lint --> Test[4. Phase 4: Test Suite Execution]
|
|
11
|
+
Test --> Security[5. Phase 5: Security & Secret Scan]
|
|
12
|
+
Security --> Diff[6. Phase 6: Diff Review]
|
|
13
|
+
|
|
14
|
+
Diff --> CheckScript{7. Is verify-gate.js / Template Available?}
|
|
15
|
+
|
|
16
|
+
CheckScript -- Yes --> RunScript[Run harness-everything/scripts/verify-gate.js / Fill verification-report.template.md]
|
|
17
|
+
CheckScript -- No --> DirectReport[Output Verification Report Inline in Response]
|
|
18
|
+
|
|
19
|
+
RunScript --> ReportResult{All Verification Gates Passed?}
|
|
20
|
+
DirectReport --> ReportResult
|
|
21
|
+
|
|
22
|
+
ReportResult -- Exit 0 / All Green --> Deliver[Task Ready for Delivery / PR]
|
|
23
|
+
ReportResult -- Failures Detected --> Fix[Fix Issues in Code & Re-verify] --> Build
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Adapt commands according to the project's ecosystem and active environment (`environment-detection`). Run commands directly without non-portable POSIX pipe assumptions (avoid raw `head`, `tail`, `grep`, `2>/dev/null` piping on Windows).
|
|
27
|
+
|
|
28
|
+
## Phase 1: Build Verification
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# Check if project builds (JS/TS example)
|
|
32
|
+
npm run build
|
|
33
|
+
# OR
|
|
34
|
+
pnpm build
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
If build fails, STOP and fix before continuing.
|
|
38
|
+
|
|
39
|
+
## Phase 2: Type Check
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
# TypeScript projects
|
|
43
|
+
npx tsc --noEmit
|
|
44
|
+
|
|
45
|
+
# Python projects
|
|
46
|
+
pyright .
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Report all type errors. Fix critical ones before continuing.
|
|
50
|
+
|
|
51
|
+
## Phase 3: Lint Check
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
# JavaScript/TypeScript
|
|
55
|
+
npm run lint
|
|
56
|
+
|
|
57
|
+
# Python
|
|
58
|
+
ruff check .
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Phase 4: Test Suite
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
# Run tests with coverage
|
|
65
|
+
npm run test -- --coverage
|
|
66
|
+
|
|
67
|
+
# Check coverage threshold
|
|
68
|
+
# Target: 80% minimum
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Report:
|
|
72
|
+
- Total tests: X
|
|
73
|
+
- Passed: X
|
|
74
|
+
- Failed: X
|
|
75
|
+
- Coverage: X%
|
|
76
|
+
|
|
77
|
+
## Phase 5: Security & Code Hygiene Scan
|
|
78
|
+
|
|
79
|
+
Use native IDE search tools (`grep_search` / `file_search`) or cross-platform scripts rather than raw terminal `grep` pipes:
|
|
80
|
+
- Check for hardcoded API keys / secrets (`sk-`, `api_key`).
|
|
81
|
+
- Check for leftover debug log statements (`console.log`, `print`).
|
|
82
|
+
|
|
83
|
+
## Phase 6: Diff Review
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
# Show what changed
|
|
87
|
+
git diff --stat
|
|
88
|
+
git diff HEAD~1 --name-only
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Review each changed file for:
|
|
92
|
+
- Unintended changes
|
|
93
|
+
- Missing error handling
|
|
94
|
+
- Potential edge cases
|
|
95
|
+
|
|
96
|
+
## Output Format
|
|
97
|
+
|
|
98
|
+
After running all phases, fill in `verification-loop/templates/verification-report.template.md` with the actual results and present it.
|
|
99
|
+
|
|
100
|
+
## Continuous Mode
|
|
101
|
+
|
|
102
|
+
For long sessions, run verification every 15 minutes or after major changes:
|
|
103
|
+
|
|
104
|
+
```markdown
|
|
105
|
+
Set a mental checkpoint:
|
|
106
|
+
- After completing each function
|
|
107
|
+
- After finishing a component
|
|
108
|
+
- Before moving to next task
|
|
109
|
+
|
|
110
|
+
Run: /verify
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Integration with Hooks
|
|
114
|
+
|
|
115
|
+
This skill complements PostToolUse hooks but provides deeper verification.
|
|
116
|
+
Hooks catch issues immediately; this skill provides comprehensive review.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
VERIFICATION REPORT
|
|
2
|
+
==================
|
|
3
|
+
|
|
4
|
+
Build: [PASS/FAIL]
|
|
5
|
+
Types: [PASS/FAIL] (X errors)
|
|
6
|
+
Lint: [PASS/FAIL] (X warnings)
|
|
7
|
+
Tests: [PASS/FAIL] (X/Y passed, Z% coverage)
|
|
8
|
+
Security: [PASS/FAIL] (X issues)
|
|
9
|
+
Diff: [X files changed]
|
|
10
|
+
|
|
11
|
+
Overall: [READY/NOT READY] for PR
|
|
12
|
+
|
|
13
|
+
Issues to Fix:
|
|
14
|
+
1. ...
|
|
15
|
+
2. ...
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: verify-before-claim
|
|
3
|
+
description: "Verify external framework/API claims and unmeasured perf/cost estimates against an authoritative source before asserting them. Use when stating how an external framework, SDK, CLI, or API behaves, or quoting numbers not produced by a real run; output is a cited claim, a real measurement, or a labeled estimate."
|
|
4
|
+
license: Apache-2.0
|
|
5
|
+
metadata:
|
|
6
|
+
author: Miya Daniel
|
|
7
|
+
version: 0.4.0
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Verify Before Claim
|
|
11
|
+
|
|
12
|
+
Verify external behavior and unmeasured numbers before asserting them.
|
|
13
|
+
|
|
14
|
+
## Skill Contract
|
|
15
|
+
|
|
16
|
+
| Component | Specification |
|
|
17
|
+
| :--- | :--- |
|
|
18
|
+
| **Trigger / Input** | External behavior, version/config/exit-code claim, or unmeasured number. |
|
|
19
|
+
| **Expected Output** | Official citation, real measurement, or explicitly labeled estimate. |
|
|
20
|
+
| **State Mutations** | None; evidence is returned with the claim. |
|
|
21
|
+
| **Enforcement Gate** | Official source or real measurement; unresolved claims stay inconclusive. |
|
|
22
|
+
|
|
23
|
+
## Core Flow
|
|
24
|
+
|
|
25
|
+
1. For this repository, read the local source and report observed facts.
|
|
26
|
+
2. For external behavior, use official documentation first and cite it.
|
|
27
|
+
3. For numbers, run a real measurement or label the result an estimate.
|
|
28
|
+
4. Report contradictions or missing evidence as inconclusive.
|
|
29
|
+
|
|
30
|
+
## USE FOR:
|
|
31
|
+
- Stating how an external framework, SDK, CLI tool, or API behaves
|
|
32
|
+
- Quoting performance, cost, latency, or timing numbers
|
|
33
|
+
- Answering "does X support Y" or version-specific questions
|
|
34
|
+
- Citing defaults, exit codes, config flags, pricing, or rate limits
|
|
35
|
+
|
|
36
|
+
## DO NOT USE FOR:
|
|
37
|
+
- Claims about this repository's own code (read the actual source)
|
|
38
|
+
- Facts the user supplied directly in this conversation
|
|
39
|
+
- Generic CS/engineering knowledge (e.g. Big-O) that can't go stale
|
|
40
|
+
|
|
41
|
+
Never claim an unverified external fact as certain, even under time pressure.
|
|
42
|
+
|
|
43
|
+
Deep dive: `<this-skill-dir>/references/verification-guide.md`
|
package/plugins/harness-everything/skills/verify-before-claim/references/verification-guide.md
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Verification Guide — details moved from SKILL.md
|
|
2
|
+
|
|
3
|
+
## TRIGGER — verify before asserting, don't skip because the answer "feels obvious"
|
|
4
|
+
|
|
5
|
+
Whenever either is true:
|
|
6
|
+
|
|
7
|
+
1. **You are about to state how an external system currently behaves** —
|
|
8
|
+
a framework, library, SDK, CLI tool, API, or service's schema, defaults,
|
|
9
|
+
exit codes, config flags, pricing, rate limits, version-specific behavior,
|
|
10
|
+
or "does X support Y." This includes cases that feel like common
|
|
11
|
+
knowledge — exit-code conventions, hook payload shapes, and default
|
|
12
|
+
values are exactly where confident misremembering happens.
|
|
13
|
+
2. **You are about to state a performance, cost, or timing number that
|
|
14
|
+
wasn't produced by an actual run in this session** — "this should take
|
|
15
|
+
~X," "this is O(n)," "this will cost about $Y," "this should be fast
|
|
16
|
+
enough." An estimate rendered with confidence is still an estimate.
|
|
17
|
+
|
|
18
|
+
## Procedure
|
|
19
|
+
|
|
20
|
+
- For claim (1): `WebFetch` the tool's official documentation first. If the
|
|
21
|
+
official docs don't cover it, `WebSearch` and cite what you find. Quote the
|
|
22
|
+
relevant part back rather than paraphrasing from memory — paraphrasing
|
|
23
|
+
reintroduces the same risk you're trying to avoid.
|
|
24
|
+
- For claim (2): if the stakes justify it (the number feeds a design
|
|
25
|
+
decision, a rejection/deferral, or something the user will act on),
|
|
26
|
+
actually run it — a real benchmark, a real timing, a real measurement —
|
|
27
|
+
instead of reasoning about what it "should" be. If running it isn't
|
|
28
|
+
feasible, say explicitly that the number is an unverified estimate; don't
|
|
29
|
+
present it with the same confidence as a measured fact.
|
|
30
|
+
- If a fetch or search comes back inconclusive or contradicts your prior
|
|
31
|
+
assumption, say so and show the source — don't quietly reconcile it into
|
|
32
|
+
something that sounds more confident than what you actually found.
|
|
33
|
+
|
|
34
|
+
## SKIP — don't over-trigger
|
|
35
|
+
|
|
36
|
+
- **The claim is about this repository's own code**, not an external system.
|
|
37
|
+
Reading the actual source here already is the authoritative check; no web
|
|
38
|
+
verification needed.
|
|
39
|
+
- **The user supplied the fact or number directly** in this conversation —
|
|
40
|
+
trust their firsthand statement, don't second-guess it with a search.
|
|
41
|
+
- **Already verified this session** — don't re-fetch the same source
|
|
42
|
+
redundantly if it was already checked earlier in this conversation and
|
|
43
|
+
nothing suggests it changed.
|
|
44
|
+
- **Generic, non-version-specific CS/engineering knowledge** (what a hash map
|
|
45
|
+
is, what Big-O notation means) — this isn't tied to any particular tool's
|
|
46
|
+
current implementation, so there's nothing to go stale.
|
|
47
|
+
|
|
48
|
+
## Why this is a skill, not just a hook
|
|
49
|
+
|
|
50
|
+
The `tier-router.js` reminder is a keyword net — cheap, broad, and it can
|
|
51
|
+
only nudge, not judge whether a specific sentence you're about to write is
|
|
52
|
+
actually an unverified claim. The judgment call is still yours: notice when
|
|
53
|
+
you're about to assert something you haven't actually checked this session,
|
|
54
|
+
regardless of whether a keyword happened to fire.
|
|
55
|
+
|
|
56
|
+
## Decision matrix (reference)
|
|
57
|
+
|
|
58
|
+
```mermaid
|
|
59
|
+
flowchart TD
|
|
60
|
+
Start[About to Assert External API / Framework Behavior or Perf Number] --> CheckScope{1. Claim Scope Check}
|
|
61
|
+
|
|
62
|
+
CheckScope -- Internal Repo Code --> ReadCode[Read Local Source Code -> State Facts]
|
|
63
|
+
CheckScope -- External Framework / API / Number --> CheckNet{2. Web Fetch / Search / Measurement Available?}
|
|
64
|
+
|
|
65
|
+
CheckNet -- Yes --> FetchDocs[WebFetch Official Docs / Measure Real Execution]
|
|
66
|
+
FetchDocs --> CiteDocs[Quote Authoritative Source / State Measured Data]
|
|
67
|
+
|
|
68
|
+
CheckNet -- No / Offline --> EstimateFallback[Explicitly Label Response as Unverified Estimate]
|
|
69
|
+
|
|
70
|
+
ReadCode --> Done[Verified Output]
|
|
71
|
+
CiteDocs --> Done
|
|
72
|
+
EstimateFallback --> Done
|
|
73
|
+
```
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: zoom-out
|
|
3
|
+
description: "Reflect-first circuit breaker - after 3 failures, stop edits, rebuild the full picture with read-only tools, write a fact-check report, then resume or escalate. USE FOR: \"you are stuck in a loop\", \"the same error keeps failing\", \"rethink your assumptions\". DO NOT USE FOR: \"routine single-failure debugging\", \"greenfield planning without failures\"."
|
|
4
|
+
license: Apache-2.0
|
|
5
|
+
metadata:
|
|
6
|
+
author: Miya Daniel
|
|
7
|
+
version: 0.4.0
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Zoom Out (Circuit Breaker)
|
|
11
|
+
|
|
12
|
+
Stop repeated failures, rebuild the facts, and choose a safe next step.
|
|
13
|
+
|
|
14
|
+
## Skill Contract
|
|
15
|
+
|
|
16
|
+
| Component | Specification |
|
|
17
|
+
| :--- | :--- |
|
|
18
|
+
| **Trigger / Input** | Three same-signature failures or an explicit loop/rethink request. |
|
|
19
|
+
| **Expected Output** | Fact-checked report ending in `RESUME` or `ESCALATE`. |
|
|
20
|
+
| **State Mutations** | Writes the session `zoom-out-report.md`; reset may clear breaker state. |
|
|
21
|
+
| **Enforcement Gate** | `<skills-repo-root>/hooks/scripts/rule-of-3.js` plus a valid report; reset only after the second cycle. |
|
|
22
|
+
|
|
23
|
+
## Circuit Breaker Flow
|
|
24
|
+
|
|
25
|
+
1. After three same-signature failures, stop edits and do not ask the user yet.
|
|
26
|
+
2. Use read-only tools to restate the goal and check files, configuration, and logs.
|
|
27
|
+
3. Fill `<this-skill-dir>/templates/zoom-out-report.template.md` and end with `RESUME` or `ESCALATE`.
|
|
28
|
+
4. Resume only on an untried path; escalate genuine user decisions with options.
|
|
29
|
+
5. Clear a repeated breaker cycle with `npm run harness:reset`; record the insight with `self-evolve`.
|
|
30
|
+
|
|
31
|
+
## USE FOR:
|
|
32
|
+
- "you are stuck in a loop"
|
|
33
|
+
- "the same error keeps failing"
|
|
34
|
+
- "rethink your assumptions"
|
|
35
|
+
|
|
36
|
+
## DO NOT USE FOR:
|
|
37
|
+
- Routine single-failure debugging — fix it directly
|
|
38
|
+
- Greenfield planning without failures (`fable-mode`)
|
|
39
|
+
|
|
40
|
+
Never retry the same approach after the third failure, even under pressure.
|
|
41
|
+
|
|
42
|
+
Deep dive: `<this-skill-dir>/references/circuit-breaker.md`
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Zoom Out — Circuit Breaker (Full Detail)
|
|
2
|
+
|
|
3
|
+
## Process & Circuit Breaker Resolution Flow
|
|
4
|
+
|
|
5
|
+
Follow the decision matrix below when hitting a circuit breaker:
|
|
6
|
+
|
|
7
|
+
```mermaid
|
|
8
|
+
flowchart TD
|
|
9
|
+
Start[Trigger: 3 Consecutive Failures / Goal Drift] --> CeaseFire[1. Phase 1: Cease Fire - Stop Code Edits Immediately]
|
|
10
|
+
CeaseFire --> Rebuild[2. Phase 2: Rebuild Full Picture using Read-Only Tools]
|
|
11
|
+
Rebuild --> CheckPath{3. Resolve Reflection Report Path}
|
|
12
|
+
|
|
13
|
+
CheckPath -- Session Path Provided --> WriteSession[Copy template to Session zoom-out-report.md]
|
|
14
|
+
CheckPath -- Template / Path Unavailable --> WritePlatform[Write to .github/harness-everything/zoom-out-report.md or Inline]
|
|
15
|
+
|
|
16
|
+
WriteSession --> DecisionGate{4. Phase 4: Decision Gate}
|
|
17
|
+
WritePlatform --> DecisionGate
|
|
18
|
+
|
|
19
|
+
DecisionGate -- Clear Untried Path Identified --> Resume[RESUME: Execute Fresh Diagnosis in TDD / Fable]
|
|
20
|
+
DecisionGate -- Requirement Conflict / Access Gap --> Escalate[ESCALATE: Present 2-3 Options + Recommendation to Human]
|
|
21
|
+
|
|
22
|
+
Resume --> Resolved{5. Problem Cracking Succeeds?}
|
|
23
|
+
Resolved -- Yes --> SelfEvolve[Call self-evolve to Persist Insight]
|
|
24
|
+
Resolved -- No (3 More Failures) --> Escalate
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## 1. Triggers
|
|
28
|
+
- **Rule of 3 (Repeated Failures)**: Attempting to fix the same error or test failure 3 times without progress.
|
|
29
|
+
- **Divergence**: Fixing one bug repeatedly introduces new secondary errors.
|
|
30
|
+
- **Goal Drift**: Execution strays far from the initial task objective.
|
|
31
|
+
- **User Instruction**: The user requests a step back ("zoom out", "step back", "stop and think").
|
|
32
|
+
|
|
33
|
+
## 2. Phase 1 — Cease Fire
|
|
34
|
+
- Pause code editing attempts immediately.
|
|
35
|
+
- Refrain from guessing quick fixes without checking underlying facts first.
|
|
36
|
+
|
|
37
|
+
## 3. Phase 2 — Rebuild Full Picture (Reflect & Fact-Check)
|
|
38
|
+
Use read-only tools (Read / Grep / Glob) to gather fresh evidence:
|
|
39
|
+
1. **Restate Goal**: Review original objectives from task/todo context.
|
|
40
|
+
2. **Examine Failed Attempts**: Identify the underlying belief behind each failed fix.
|
|
41
|
+
3. **Fact-Check Assumptions**: Verify files, configuration, logs, and docs directly.
|
|
42
|
+
4. **Elevate Perspective**: Check for layer mismatches, API contract misunderstandings, or conflicting requirements.
|
|
43
|
+
5. **Form Fresh Diagnosis**: Synthesize a comprehensive explanation that accounts for all observed evidence.
|
|
44
|
+
|
|
45
|
+
## 4. Phase 3 — Write Reflection Report
|
|
46
|
+
Copy `zoom-out/templates/zoom-out-report.template.md` to the `zoom-out-report.md` path given in the Rule of 3 message and fill it in section by section.
|
|
47
|
+
|
|
48
|
+
A complete report automatically releases the circuit breaker on hook-enabled systems.
|
|
49
|
+
|
|
50
|
+
## 5. Phase 4 — Decision Gate: Resume or Escalate
|
|
51
|
+
|
|
52
|
+
- **RESUME**: Selected when the fresh diagnosis identifies a clear, untried path within existing authority.
|
|
53
|
+
- **ESCALATE**: Reserved for true decision points belonging to the user (conflicting requirements, destructive migration, missing credentials/access, or repeated breaker trips).
|
|
54
|
+
Hand the human a **decision**, not a plea:
|
|
55
|
+
|
|
56
|
+
> "Goal: [...]. I falsified paths X, Y, Z — verified facts: [...].
|
|
57
|
+
> The real blocker is a [requirement conflict / architecture trade-off / destructive step / access gap], which is your call, not mine.
|
|
58
|
+
> Option A: [...] (trade-off: ...). Option B: [...] (trade-off: ...).
|
|
59
|
+
> I recommend A because [...]. Which direction do you choose?"
|
|
60
|
+
|
|
61
|
+
Banned: "I have tried everything and failed, please help." That reports incapability, not a decision.
|
|
62
|
+
|
|
63
|
+
## 7. Recovery
|
|
64
|
+
- **Self-recovery path**: a valid report ending in `RESUME` releases the breaker — reload the appropriate execution mode (`tdd`, `fable-mode`) and execute the new diagnosis. If the SAME failure signature accumulates 3 more failures, the breaker hard-locks and the decision goes to the human.
|
|
65
|
+
- **Human path**: after the human answers an `ESCALATE`, or clears a hard lock (`npm run harness:reset` in their own terminal, or a new session / `/clear`), continue under their direction.
|
|
66
|
+
- Either way, once the problem is ultimately cracked, feed the insight to `self-evolve`.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
## Goal
|
|
2
|
+
<original task goal>
|
|
3
|
+
|
|
4
|
+
## Failed Attempts
|
|
5
|
+
<attempt → underlying assumption → observed outcome>
|
|
6
|
+
**Failure Category:** <syntax|environment|test|timeout|permission|dependency|unknown>
|
|
7
|
+
|
|
8
|
+
## Verified Facts
|
|
9
|
+
<facts re-checked in Phase 2 with file paths>
|
|
10
|
+
**Files Checked:** <list at least 3 related files you actually read>
|
|
11
|
+
**Error Message Verified:** <copy the exact error message from the last failure>
|
|
12
|
+
|
|
13
|
+
## Diagnosis
|
|
14
|
+
<comprehensive explanation of root cause>
|
|
15
|
+
**Root Cause Type:** <Is this a syntax error, logic error, environment issue, or missing dependency?>
|
|
16
|
+
|
|
17
|
+
## Decision
|
|
18
|
+
RESUME: <new approach that addresses the root cause> — or — ESCALATE: <decision needed from user>
|
|
19
|
+
|
|
20
|
+
**Why this approach will work:** <explain how it addresses the specific root cause identified>
|