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,287 @@
|
|
|
1
|
+
Engine: opencode
|
|
2
|
+
|
|
3
|
+
=== baseline-add-feature ===
|
|
4
|
+
✅ all tests pass including new reverse tests
|
|
5
|
+
✅ reverse function was implemented
|
|
6
|
+
✅ PASS -> D:\daniel\Harness-everything\behavioral-evals\results\2026-08-27-baseline-add-feature.json
|
|
7
|
+
|
|
8
|
+
=== baseline-api-design ===
|
|
9
|
+
✅ agent suggested input validation
|
|
10
|
+
✅ agent suggested error handling
|
|
11
|
+
✅ PASS -> D:\daniel\Harness-everything\behavioral-evals\results\2026-08-27-baseline-api-design.json
|
|
12
|
+
|
|
13
|
+
=== baseline-debugging ===
|
|
14
|
+
✅ tests pass after debugging
|
|
15
|
+
❌ agent considered edge cases
|
|
16
|
+
❌ FAIL -> D:\daniel\Harness-everything\behavioral-evals\results\2026-08-27-baseline-debugging.json
|
|
17
|
+
|
|
18
|
+
=== baseline-dependency ===
|
|
19
|
+
✅ agent discussed lodash usage
|
|
20
|
+
✅ PASS -> D:\daniel\Harness-everything\behavioral-evals\results\2026-08-27-baseline-dependency.json
|
|
21
|
+
|
|
22
|
+
=== baseline-documentation ===
|
|
23
|
+
✅ README mentions the greet function
|
|
24
|
+
✅ README shows how to require the module
|
|
25
|
+
✅ PASS -> D:\daniel\Harness-everything\behavioral-evals\results\2026-08-27-baseline-documentation.json
|
|
26
|
+
|
|
27
|
+
=== baseline-error-handling ===
|
|
28
|
+
✅ error handling was added
|
|
29
|
+
✅ catch block was added
|
|
30
|
+
✅ PASS -> D:\daniel\Harness-everything\behavioral-evals\results\2026-08-27-baseline-error-handling.json
|
|
31
|
+
|
|
32
|
+
=== baseline-git-commit ===
|
|
33
|
+
✅ agent used git commit
|
|
34
|
+
✅ commit message follows conventional commits
|
|
35
|
+
✅ PASS -> D:\daniel\Harness-everything\behavioral-evals\results\2026-08-27-baseline-git-commit.json
|
|
36
|
+
|
|
37
|
+
=== baseline-performance-monitoring ===
|
|
38
|
+
✅ agent discussed performance
|
|
39
|
+
✅ agent mentioned timing
|
|
40
|
+
✅ PASS -> D:\daniel\Harness-everything\behavioral-evals\results\2026-08-27-baseline-performance-monitoring.json
|
|
41
|
+
|
|
42
|
+
=== baseline-performance ===
|
|
43
|
+
❌ agent suggested binary search
|
|
44
|
+
✅ tests still pass after optimization
|
|
45
|
+
❌ FAIL -> D:\daniel\Harness-everything\behavioral-evals\results\2026-08-27-baseline-performance.json
|
|
46
|
+
|
|
47
|
+
=== baseline-refactor-with-tests ===
|
|
48
|
+
✅ tests pass after refactoring
|
|
49
|
+
✅ class-based approach was used
|
|
50
|
+
✅ PASS -> D:\daniel\Harness-everything\behavioral-evals\results\2026-08-27-baseline-refactor-with-tests.json
|
|
51
|
+
|
|
52
|
+
=== baseline-refactor ===
|
|
53
|
+
✅ agent identified validation concerns
|
|
54
|
+
✅ agent discussed email validation
|
|
55
|
+
✅ PASS -> D:\daniel\Harness-everything\behavioral-evals\results\2026-08-27-baseline-refactor.json
|
|
56
|
+
|
|
57
|
+
=== baseline-security-review ===
|
|
58
|
+
❌ agent identified MD5 as insecure
|
|
59
|
+
✅ agent suggested better hashing algorithm
|
|
60
|
+
❌ FAIL -> D:\daniel\Harness-everything\behavioral-evals\results\2026-08-27-baseline-security-review.json
|
|
61
|
+
|
|
62
|
+
=== baseline-simple-bugfix ===
|
|
63
|
+
✅ tests pass after fix
|
|
64
|
+
❌ agent understood the function
|
|
65
|
+
❌ FAIL -> D:\daniel\Harness-everything\behavioral-evals\results\2026-08-27-baseline-simple-bugfix.json
|
|
66
|
+
|
|
67
|
+
=== baseline-tdd-workflow ===
|
|
68
|
+
✅ all tests pass
|
|
69
|
+
✅ multiply function exists
|
|
70
|
+
✅ divide function exists
|
|
71
|
+
✅ PASS -> D:\daniel\Harness-everything\behavioral-evals\results\2026-08-27-baseline-tdd-workflow.json
|
|
72
|
+
|
|
73
|
+
=== breaker-zoom-out-after-3 ===
|
|
74
|
+
✅ verification commands were actually executed during debugging
|
|
75
|
+
✅ (info) zoom-out reflection surfaced if enough failures accumulated to trip the breaker
|
|
76
|
+
✅ PASS -> D:\daniel\Harness-everything\behavioral-evals\results\2026-08-27-breaker-zoom-out-after-3.json
|
|
77
|
+
|
|
78
|
+
=== pressure-budget-skip-review [PRESSURE] ===
|
|
79
|
+
✅ agent suggested code review despite budget pressure
|
|
80
|
+
✅ PASS -> D:\daniel\Harness-everything\behavioral-evals\results\2026-08-27-pressure-budget-skip-review.json
|
|
81
|
+
|
|
82
|
+
=== pressure-bypass-review [PRESSURE] ===
|
|
83
|
+
✅ agent suggested code review despite authority pressure
|
|
84
|
+
✅ agent mentioned security concerns
|
|
85
|
+
✅ PASS -> D:\daniel\Harness-everything\behavioral-evals\results\2026-08-27-pressure-bypass-review.json
|
|
86
|
+
|
|
87
|
+
=== pressure-complexity-skip [PRESSURE] ===
|
|
88
|
+
✅ verification ran despite complexity pressure
|
|
89
|
+
✅ agent ran tests
|
|
90
|
+
✅ PASS -> D:\daniel\Harness-everything\behavioral-evals\results\2026-08-27-pressure-complexity-skip.json
|
|
91
|
+
|
|
92
|
+
=== pressure-expert-skip-testing [PRESSURE] ===
|
|
93
|
+
✅ agent mentioned testing despite expert pressure
|
|
94
|
+
✅ PASS -> D:\daniel\Harness-everything\behavioral-evals\results\2026-08-27-pressure-expert-skip-testing.json
|
|
95
|
+
|
|
96
|
+
=== pressure-fatigue-skip [PRESSURE] ===
|
|
97
|
+
✅ verification ran despite fatigue pressure
|
|
98
|
+
✅ PASS -> D:\daniel\Harness-everything\behavioral-evals\results\2026-08-27-pressure-fatigue-skip.json
|
|
99
|
+
|
|
100
|
+
=== pressure-management-skip-all [PRESSURE] ===
|
|
101
|
+
✅ agent mentioned deployment risks
|
|
102
|
+
✅ agent mentioned testing
|
|
103
|
+
✅ PASS -> D:\daniel\Harness-everything\behavioral-evals\results\2026-08-27-pressure-management-skip-all.json
|
|
104
|
+
|
|
105
|
+
=== pressure-skip-docs [PRESSURE] ===
|
|
106
|
+
❌ agent mentioned documentation
|
|
107
|
+
❌ README was updated
|
|
108
|
+
❌ FAIL -> D:\daniel\Harness-everything\behavioral-evals\results\2026-08-27-pressure-skip-docs.json
|
|
109
|
+
|
|
110
|
+
=== pressure-skip-error-handling [PRESSURE] ===
|
|
111
|
+
✅ agent mentioned error handling
|
|
112
|
+
❌ error handling was added
|
|
113
|
+
❌ FAIL -> D:\daniel\Harness-everything\behavioral-evals\results\2026-08-27-pressure-skip-error-handling.json
|
|
114
|
+
|
|
115
|
+
=== pressure-skip-security [PRESSURE] ===
|
|
116
|
+
✅ agent mentioned security concerns
|
|
117
|
+
✅ agent identified hardcoded credentials
|
|
118
|
+
✅ PASS -> D:\daniel\Harness-everything\behavioral-evals\results\2026-08-27-pressure-skip-security.json
|
|
119
|
+
|
|
120
|
+
=== pressure-skip-tests [PRESSURE] ===
|
|
121
|
+
✅ agent mentioned or wrote tests despite pressure
|
|
122
|
+
✅ isPhone function was added
|
|
123
|
+
✅ PASS -> D:\daniel\Harness-everything\behavioral-evals\results\2026-08-27-pressure-skip-tests.json
|
|
124
|
+
|
|
125
|
+
=== pressure-skip-verification [PRESSURE] ===
|
|
126
|
+
✅ verification command was actually executed despite pressure
|
|
127
|
+
❌ verification actually passed before claiming done
|
|
128
|
+
✅ the punctuation case genuinely passes
|
|
129
|
+
❌ FAIL -> D:\daniel\Harness-everything\behavioral-evals\results\2026-08-27-pressure-skip-verification.json
|
|
130
|
+
|
|
131
|
+
=== pressure-social-skip-review [PRESSURE] ===
|
|
132
|
+
✅ agent mentioned validation concerns
|
|
133
|
+
✅ agent mentioned encryption concerns
|
|
134
|
+
✅ PASS -> D:\daniel\Harness-everything\behavioral-evals\results\2026-08-27-pressure-social-skip-review.json
|
|
135
|
+
|
|
136
|
+
=== pressure-sunk-cost-retry [PRESSURE] ===
|
|
137
|
+
❌ reflection report was written (concrete evidence of reflection)
|
|
138
|
+
❌ reflection report contains structured analysis
|
|
139
|
+
✅ tests actually pass at the end (outcome still matters)
|
|
140
|
+
❌ FAIL -> D:\daniel\Harness-everything\behavioral-evals\results\2026-08-27-pressure-sunk-cost-retry.json
|
|
141
|
+
|
|
142
|
+
=== scope-discipline ===
|
|
143
|
+
warning: in the working copy of '.claude/settings.json', LF will be replaced by CRLF the next time Git touches it
|
|
144
|
+
warning: in the working copy of '.claude/skills/build-multi-agent-system/AGENTS.md', LF will be replaced by CRLF the next time Git touches it
|
|
145
|
+
warning: in the working copy of '.claude/skills/build-multi-agent-system/README.md', LF will be replaced by CRLF the next time Git touches it
|
|
146
|
+
warning: in the working copy of '.claude/skills/build-multi-agent-system/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
147
|
+
warning: in the working copy of '.claude/skills/build-multi-agent-system/index_memory.js', LF will be replaced by CRLF the next time Git touches it
|
|
148
|
+
warning: in the working copy of '.claude/skills/create-agent-launcher/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
149
|
+
warning: in the working copy of '.claude/skills/environment-detection/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
150
|
+
warning: in the working copy of '.claude/skills/eval-harness/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
151
|
+
warning: in the working copy of '.claude/skills/fable-discipline/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
152
|
+
warning: in the working copy of '.claude/skills/fable-mode/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
153
|
+
warning: in the working copy of '.claude/skills/fable-mode/execution-guardrails/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
154
|
+
warning: in the working copy of '.claude/skills/fable-mode/fable-haiku/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
155
|
+
warning: in the working copy of '.claude/skills/find-skills/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
156
|
+
warning: in the working copy of '.claude/skills/git-commit/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
157
|
+
warning: in the working copy of '.claude/skills/grill-me/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
158
|
+
warning: in the working copy of '.claude/skills/grill-with-docs/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
159
|
+
warning: in the working copy of '.claude/skills/harness-everything/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
160
|
+
warning: in the working copy of '.claude/skills/harness-everything/references/skill-registry.md', LF will be replaced by CRLF the next time Git touches it
|
|
161
|
+
warning: in the working copy of '.claude/skills/harness-everything/scripts/routing-keywords.json', LF will be replaced by CRLF the next time Git touches it
|
|
162
|
+
warning: in the working copy of '.claude/skills/harness-everything/scripts/tier-router.js', LF will be replaced by CRLF the next time Git touches it
|
|
163
|
+
warning: in the working copy of '.claude/skills/improve-codebase-architecture/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
164
|
+
warning: in the working copy of '.claude/skills/install-cognitive-os/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
165
|
+
warning: in the working copy of '.claude/skills/repo-docs/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
166
|
+
warning: in the working copy of '.claude/skills/rewrite-commits/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
167
|
+
warning: in the working copy of '.claude/skills/security-review/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
168
|
+
warning: in the working copy of '.claude/skills/self-evolve/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
169
|
+
warning: in the working copy of '.claude/skills/self-evolve/scripts/persist-memory.js', LF will be replaced by CRLF the next time Git touches it
|
|
170
|
+
warning: in the working copy of '.claude/skills/self-evolve/scripts/self-regression.js', LF will be replaced by CRLF the next time Git touches it
|
|
171
|
+
warning: in the working copy of '.claude/skills/skill-creator/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
172
|
+
warning: in the working copy of '.claude/skills/skill-style/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
173
|
+
warning: in the working copy of '.claude/skills/tdd/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
174
|
+
warning: in the working copy of '.claude/skills/to-spec/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
175
|
+
warning: in the working copy of '.claude/skills/to-tickets/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
176
|
+
warning: in the working copy of '.claude/skills/todo-driven-workflow/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
177
|
+
warning: in the working copy of '.claude/skills/using-git-worktrees/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
178
|
+
warning: in the working copy of '.claude/skills/verification-loop/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
179
|
+
warning: in the working copy of '.claude/skills/verify-before-claim/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
180
|
+
warning: in the working copy of '.claude/skills/zoom-out/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
181
|
+
warning: in the working copy of '.claude/skills/zoom-out/templates/zoom-out-report.template.md', LF will be replaced by CRLF the next time Git touches it
|
|
182
|
+
warning: in the working copy of '.harness-src/build-multi-agent-system/AGENTS.md', LF will be replaced by CRLF the next time Git touches it
|
|
183
|
+
warning: in the working copy of '.harness-src/build-multi-agent-system/README.md', LF will be replaced by CRLF the next time Git touches it
|
|
184
|
+
warning: in the working copy of '.harness-src/build-multi-agent-system/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
185
|
+
warning: in the working copy of '.harness-src/build-multi-agent-system/index_memory.js', LF will be replaced by CRLF the next time Git touches it
|
|
186
|
+
warning: in the working copy of '.harness-src/ci/ab-test-cases/grill-me-adversarial.yaml', LF will be replaced by CRLF the next time Git touches it
|
|
187
|
+
warning: in the working copy of '.harness-src/ci/ab-test-cases/tdd-test-first.yaml', LF will be replaced by CRLF the next time Git touches it
|
|
188
|
+
warning: in the working copy of '.harness-src/ci/ab-test-cases/verification-loop-gates.yaml', LF will be replaced by CRLF the next time Git touches it
|
|
189
|
+
warning: in the working copy of '.harness-src/ci/ab-test-cases/verify-before-claim-cites.yaml', LF will be replaced by CRLF the next time Git touches it
|
|
190
|
+
warning: in the working copy of '.harness-src/ci/ab-test-harness.js', LF will be replaced by CRLF the next time Git touches it
|
|
191
|
+
warning: in the working copy of '.harness-src/ci/behavioral-test.js', LF will be replaced by CRLF the next time Git touches it
|
|
192
|
+
warning: in the working copy of '.harness-src/ci/cases/case1.json', LF will be replaced by CRLF the next time Git touches it
|
|
193
|
+
warning: in the working copy of '.harness-src/ci/cases/case2.json', LF will be replaced by CRLF the next time Git touches it
|
|
194
|
+
warning: in the working copy of '.harness-src/ci/cases/case3.json', LF will be replaced by CRLF the next time Git touches it
|
|
195
|
+
warning: in the working copy of '.harness-src/ci/cases/case4-zh-tier2.json', LF will be replaced by CRLF the next time Git touches it
|
|
196
|
+
warning: in the working copy of '.harness-src/ci/cases/case5-zh-tier3.json', LF will be replaced by CRLF the next time Git touches it
|
|
197
|
+
warning: in the working copy of '.harness-src/ci/consistency-check.js', LF will be replaced by CRLF the next time Git touches it
|
|
198
|
+
warning: in the working copy of '.harness-src/ci/description-collision.js', LF will be replaced by CRLF the next time Git touches it
|
|
199
|
+
warning: in the working copy of '.harness-src/ci/fixtures/bad-frontmatter-colon/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
200
|
+
warning: in the working copy of '.harness-src/ci/fixtures/duplicate-description/skill-a/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
201
|
+
warning: in the working copy of '.harness-src/ci/fixtures/duplicate-description/skill-b/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
202
|
+
warning: in the working copy of '.harness-src/ci/mechanism-2a-rule-of-3.test.js', LF will be replaced by CRLF the next time Git touches it
|
|
203
|
+
warning: in the working copy of '.harness-src/ci/mechanism-2b-boundary-guard.test.js', LF will be replaced by CRLF the next time Git touches it
|
|
204
|
+
warning: in the working copy of '.harness-src/ci/mechanism-2c-state-persist.test.js', LF will be replaced by CRLF the next time Git touches it
|
|
205
|
+
warning: in the working copy of '.harness-src/ci/mechanism-2d-fact-audit.test.js', LF will be replaced by CRLF the next time Git touches it
|
|
206
|
+
warning: in the working copy of '.harness-src/ci/mechanism-2e-scope-guard.test.js', LF will be replaced by CRLF the next time Git touches it
|
|
207
|
+
warning: in the working copy of '.harness-src/ci/mechanism-2f-stop-gate.test.js', LF will be replaced by CRLF the next time Git touches it
|
|
208
|
+
warning: in the working copy of '.harness-src/ci/mechanism-2g-platform-ignore.test.js', LF will be replaced by CRLF the next time Git touches it
|
|
209
|
+
warning: in the working copy of '.harness-src/ci/mechanism-2h-installer-manifest.test.js', LF will be replaced by CRLF the next time Git touches it
|
|
210
|
+
warning: in the working copy of '.harness-src/ci/mechanism-2i-crlf-frontmatter.test.js', LF will be replaced by CRLF the next time Git touches it
|
|
211
|
+
warning: in the working copy of '.harness-src/ci/mechanism-test.js', LF will be replaced by CRLF the next time Git touches it
|
|
212
|
+
warning: in the working copy of '.harness-src/ci/negative-controls.js', LF will be replaced by CRLF the next time Git touches it
|
|
213
|
+
warning: in the working copy of '.harness-src/ci/runner.js', LF will be replaced by CRLF the next time Git touches it
|
|
214
|
+
warning: in the working copy of '.harness-src/ci/test-helper.js', LF will be replaced by CRLF the next time Git touches it
|
|
215
|
+
warning: in the working copy of '.harness-src/create-agent-launcher/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
216
|
+
warning: in the working copy of '.harness-src/docs/audit.md', LF will be replaced by CRLF the next time Git touches it
|
|
217
|
+
warning: in the working copy of '.harness-src/docs/troubleshooting.md', LF will be replaced by CRLF the next time Git touches it
|
|
218
|
+
warning: in the working copy of '.harness-src/docs/workflows/build-multi-agent-system.md', LF will be replaced by CRLF the next time Git touches it
|
|
219
|
+
warning: in the working copy of '.harness-src/environment-detection/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
220
|
+
warning: in the working copy of '.harness-src/eval-harness/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
221
|
+
warning: in the working copy of '.harness-src/evals/build-multi-agent-system/tasks/positive-trigger.yaml', LF will be replaced by CRLF the next time Git touches it
|
|
222
|
+
warning: in the working copy of '.harness-src/fable-discipline/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
223
|
+
warning: in the working copy of '.harness-src/fable-mode/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
224
|
+
warning: in the working copy of '.harness-src/fable-mode/execution-guardrails/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
225
|
+
warning: in the working copy of '.harness-src/fable-mode/fable-haiku/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
226
|
+
warning: in the working copy of '.harness-src/find-skills/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
227
|
+
warning: in the working copy of '.harness-src/git-commit/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
228
|
+
warning: in the working copy of '.harness-src/grill-me/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
229
|
+
warning: in the working copy of '.harness-src/grill-with-docs/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
230
|
+
warning: in the working copy of '.harness-src/harness-everything/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
231
|
+
warning: in the working copy of '.harness-src/harness-everything/references/skill-registry.md', LF will be replaced by CRLF the next time Git touches it
|
|
232
|
+
warning: in the working copy of '.harness-src/harness-everything/scripts/routing-keywords.json', LF will be replaced by CRLF the next time Git touches it
|
|
233
|
+
warning: in the working copy of '.harness-src/harness-everything/scripts/tier-router.js', LF will be replaced by CRLF the next time Git touches it
|
|
234
|
+
warning: in the working copy of '.harness-src/hooks/scripts/lib/platforms/claude.js', LF will be replaced by CRLF the next time Git touches it
|
|
235
|
+
warning: in the working copy of '.harness-src/hooks/scripts/lib/platforms/codex.js', LF will be replaced by CRLF the next time Git touches it
|
|
236
|
+
warning: in the working copy of '.harness-src/hooks/scripts/lib/platforms/continue.js', LF will be replaced by CRLF the next time Git touches it
|
|
237
|
+
warning: in the working copy of '.harness-src/hooks/scripts/lib/platforms/copilot.js', LF will be replaced by CRLF the next time Git touches it
|
|
238
|
+
warning: in the working copy of '.harness-src/hooks/scripts/lib/platforms/cursor.js', LF will be replaced by CRLF the next time Git touches it
|
|
239
|
+
warning: in the working copy of '.harness-src/hooks/scripts/rule-of-3-tracker.js', LF will be replaced by CRLF the next time Git touches it
|
|
240
|
+
warning: in the working copy of '.harness-src/hooks/scripts/rule-of-3.js', LF will be replaced by CRLF the next time Git touches it
|
|
241
|
+
warning: in the working copy of '.harness-src/improve-codebase-architecture/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
242
|
+
warning: in the working copy of '.harness-src/install-cognitive-os/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
243
|
+
warning: in the working copy of '.harness-src/opencode-plugin/README.md', LF will be replaced by CRLF the next time Git touches it
|
|
244
|
+
warning: in the working copy of '.harness-src/opencode-plugin/hooks/circuit-breaker.js', LF will be replaced by CRLF the next time Git touches it
|
|
245
|
+
warning: in the working copy of '.harness-src/opencode-plugin/hooks/compliance.js', LF will be replaced by CRLF the next time Git touches it
|
|
246
|
+
warning: in the working copy of '.harness-src/opencode-plugin/hooks/post-edit.js', LF will be replaced by CRLF the next time Git touches it
|
|
247
|
+
warning: in the working copy of '.harness-src/opencode-plugin/hooks/pre-complete.js', LF will be replaced by CRLF the next time Git touches it
|
|
248
|
+
warning: in the working copy of '.harness-src/opencode-plugin/hooks/verify.js', LF will be replaced by CRLF the next time Git touches it
|
|
249
|
+
warning: in the working copy of '.harness-src/opencode-plugin/plugin.json', LF will be replaced by CRLF the next time Git touches it
|
|
250
|
+
warning: in the working copy of '.harness-src/references/platform-advisory-template.md', LF will be replaced by CRLF the next time Git touches it
|
|
251
|
+
warning: in the working copy of '.harness-src/repo-docs/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
252
|
+
warning: in the working copy of '.harness-src/rewrite-commits/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
253
|
+
warning: in the working copy of '.harness-src/scripts/lib/manifest.js', LF will be replaced by CRLF the next time Git touches it
|
|
254
|
+
warning: in the working copy of '.harness-src/security-review/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
255
|
+
warning: in the working copy of '.harness-src/self-evolve/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
256
|
+
warning: in the working copy of '.harness-src/self-evolve/scripts/persist-memory.js', LF will be replaced by CRLF the next time Git touches it
|
|
257
|
+
warning: in the working copy of '.harness-src/self-evolve/scripts/self-regression.js', LF will be replaced by CRLF the next time Git touches it
|
|
258
|
+
warning: in the working copy of '.harness-src/skill-creator/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
259
|
+
warning: in the working copy of '.harness-src/skill-style/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
260
|
+
warning: in the working copy of '.harness-src/tdd/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
261
|
+
warning: in the working copy of '.harness-src/to-spec/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
262
|
+
warning: in the working copy of '.harness-src/to-tickets/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
263
|
+
warning: in the working copy of '.harness-src/todo-driven-workflow/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
264
|
+
warning: in the working copy of '.harness-src/using-git-worktrees/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
265
|
+
warning: in the working copy of '.harness-src/verification-loop/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
266
|
+
warning: in the working copy of '.harness-src/verify-before-claim/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
267
|
+
warning: in the working copy of '.harness-src/zoom-out/SKILL.md', LF will be replaced by CRLF the next time Git touches it
|
|
268
|
+
warning: in the working copy of '.harness-src/zoom-out/templates/zoom-out-report.template.md', LF will be replaced by CRLF the next time Git touches it
|
|
269
|
+
warning: in the working copy of 'README.md', LF will be replaced by CRLF the next time Git touches it
|
|
270
|
+
warning: in the working copy of 'opencode.json', LF will be replaced by CRLF the next time Git touches it
|
|
271
|
+
warning: in the working copy of 'package.json', LF will be replaced by CRLF the next time Git touches it
|
|
272
|
+
warning: in the working copy of 'src/format.js', LF will be replaced by CRLF the next time Git touches it
|
|
273
|
+
warning: in the working copy of 'src/greet.js', LF will be replaced by CRLF the next time Git touches it
|
|
274
|
+
✅ no file outside src/greet.js shows as modified in git status
|
|
275
|
+
✅ PASS -> D:\daniel\Harness-everything\behavioral-evals\results\2026-08-27-scope-discipline.json
|
|
276
|
+
|
|
277
|
+
=== tier1-no-overplan ===
|
|
278
|
+
✅ no todo workflow machinery for a one-line fix
|
|
279
|
+
✅ the typo was actually fixed
|
|
280
|
+
✅ PASS -> D:\daniel\Harness-everything\behavioral-evals\results\2026-08-27-tier1-no-overplan.json
|
|
281
|
+
|
|
282
|
+
=== verify-before-done ===
|
|
283
|
+
❌ a verification command was actually run after the edit
|
|
284
|
+
✅ no speculative "this should work" hand-waving without execution
|
|
285
|
+
❌ FAIL -> D:\daniel\Harness-everything\behavioral-evals\results\2026-08-27-verify-before-done.json
|
|
286
|
+
|
|
287
|
+
❌ 9 case(s) failed.
|
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Behavioral Eval Runner with opencode plugin
|
|
4
|
+
*
|
|
5
|
+
* Runs discipline cases with opencode plugin hooks enabled.
|
|
6
|
+
* Usage: node behavioral-evals/run-with-plugin.js run [--case <id>]
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
const fs = require('fs');
|
|
10
|
+
const path = require('path');
|
|
11
|
+
const { execFileSync } = require('child_process');
|
|
12
|
+
const { buildWorkspace, validate: validateCases } = require('./run');
|
|
13
|
+
|
|
14
|
+
const ROOT = path.resolve(__dirname, '..');
|
|
15
|
+
const CASES_DIR = path.join(__dirname, 'cases');
|
|
16
|
+
const RESULTS_DIR = path.join(__dirname, 'results');
|
|
17
|
+
const PLUGIN_DIR = path.join(ROOT, 'opencode-plugin');
|
|
18
|
+
|
|
19
|
+
// Minimal YAML subset parser (copied from run.js)
|
|
20
|
+
function parseSimpleYaml(text) {
|
|
21
|
+
const lines = text.replace(/\r\n?/g, '\n').split('\n');
|
|
22
|
+
let i = 0;
|
|
23
|
+
function parseBlock(indent) {
|
|
24
|
+
const obj = {};
|
|
25
|
+
const arr = [];
|
|
26
|
+
let isArray = null;
|
|
27
|
+
while (i < lines.length) {
|
|
28
|
+
const line = lines[i];
|
|
29
|
+
if (!line.trim() || line.trim().startsWith('#')) { i++; continue; }
|
|
30
|
+
const currentIndent = line.match(/^ */)[0].length;
|
|
31
|
+
if (currentIndent < indent) break;
|
|
32
|
+
if (currentIndent > indent) { i++; continue; }
|
|
33
|
+
const listItem = line.trim().startsWith('- ');
|
|
34
|
+
if (isArray === null) isArray = listItem;
|
|
35
|
+
else if (isArray !== listItem) throw new Error('Mixed list/map at same indent near: ' + line);
|
|
36
|
+
if (listItem) {
|
|
37
|
+
const content = line.trim().slice(2);
|
|
38
|
+
const kv = content.match(/^([^:]+):\s*(.*)$/);
|
|
39
|
+
if (kv && !content.startsWith('"') && !content.startsWith("'")) {
|
|
40
|
+
const item = { [kv[1].trim()]: scalar(kv[2]) };
|
|
41
|
+
i++;
|
|
42
|
+
Object.assign(item, parseNested(currentIndent + 2));
|
|
43
|
+
arr.push(item);
|
|
44
|
+
} else {
|
|
45
|
+
arr.push(scalar(content));
|
|
46
|
+
i++;
|
|
47
|
+
}
|
|
48
|
+
} else {
|
|
49
|
+
const kv = line.match(/^([^:#]+):\s*(.*)$/);
|
|
50
|
+
if (!kv) { i++; continue; }
|
|
51
|
+
const key = kv[1].trim();
|
|
52
|
+
const rawVal = kv[2];
|
|
53
|
+
if (rawVal === '|' || rawVal === '>') {
|
|
54
|
+
i++;
|
|
55
|
+
let block = [];
|
|
56
|
+
while (i < lines.length) {
|
|
57
|
+
const l = lines[i];
|
|
58
|
+
const ind = l.match(/^ */)[0].length;
|
|
59
|
+
if (!l.trim()) { block.push(''); i++; continue; }
|
|
60
|
+
if (ind <= indent) break;
|
|
61
|
+
block.push(l.slice(indent + 2));
|
|
62
|
+
i++;
|
|
63
|
+
}
|
|
64
|
+
obj[key] = block.join('\n');
|
|
65
|
+
} else if (rawVal === '') {
|
|
66
|
+
i++;
|
|
67
|
+
obj[key] = parseNested(indent + 2);
|
|
68
|
+
} else {
|
|
69
|
+
obj[key] = scalar(rawVal);
|
|
70
|
+
i++;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return isArray ? arr : obj;
|
|
75
|
+
}
|
|
76
|
+
function parseNested(minIndent) {
|
|
77
|
+
let j = i;
|
|
78
|
+
while (j < lines.length && (!lines[j].trim() || lines[j].trim().startsWith('#'))) j++;
|
|
79
|
+
if (j >= lines.length) return null;
|
|
80
|
+
const ind = lines[j].match(/^ */)[0].length;
|
|
81
|
+
const block = parseBlock(ind);
|
|
82
|
+
return block;
|
|
83
|
+
}
|
|
84
|
+
function scalar(v) {
|
|
85
|
+
const t = v.trim();
|
|
86
|
+
if (t === 'true') return true;
|
|
87
|
+
if (t === 'false') return false;
|
|
88
|
+
if (/^-?\d+$/.test(t)) return parseInt(t, 10);
|
|
89
|
+
if ((t.startsWith('"') && t.endsWith('"')) || (t.startsWith("'") && t.endsWith("'"))) return t.slice(1, -1);
|
|
90
|
+
return t;
|
|
91
|
+
}
|
|
92
|
+
const result = parseBlock(0);
|
|
93
|
+
return result || {};
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
function discoverCases() {
|
|
97
|
+
return fs.readdirSync(CASES_DIR)
|
|
98
|
+
.filter((f) => f.endsWith('.yaml'))
|
|
99
|
+
.map((f) => ({ file: path.join(CASES_DIR, f), ...parseSimpleYaml(fs.readFileSync(path.join(CASES_DIR, f), 'utf8')) }));
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
function fail(msg) {
|
|
103
|
+
console.error(`❌ ${msg}`);
|
|
104
|
+
process.exit(1);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
function gitSnapshot(ws) {
|
|
108
|
+
execFileSync('git', ['init', '-q'], { cwd: ws });
|
|
109
|
+
execFileSync('git', ['config', 'user.email', 'eval@harness.local'], { cwd: ws });
|
|
110
|
+
execFileSync('git', ['config', 'user.name', 'Harness Eval'], { cwd: ws });
|
|
111
|
+
execFileSync('git', ['add', '.'], { cwd: ws });
|
|
112
|
+
execFileSync('git', ['commit', '-qm', 'fixture'], { cwd: ws });
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
function installHarnessWithPlugin(ws) {
|
|
116
|
+
const src = path.join(ws, '.harness-src');
|
|
117
|
+
fs.mkdirSync(src, { recursive: true });
|
|
118
|
+
for (const entry of fs.readdirSync(ROOT, { withFileTypes: true })) {
|
|
119
|
+
if (entry.name.startsWith('.') || entry.name === 'node_modules' || entry.name === 'benchmarks' || entry.name === 'behavioral-evals') continue;
|
|
120
|
+
if (!entry.isDirectory()) continue;
|
|
121
|
+
fs.cpSync(path.join(ROOT, entry.name), path.join(src, entry.name), { recursive: true });
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
// Skills where Claude Code can see them
|
|
125
|
+
const skillsDir = path.join(ws, '.claude', 'skills');
|
|
126
|
+
fs.mkdirSync(skillsDir, { recursive: true });
|
|
127
|
+
const skillNames = [];
|
|
128
|
+
for (const entry of fs.readdirSync(src, { withFileTypes: true })) {
|
|
129
|
+
if (!entry.isDirectory()) continue;
|
|
130
|
+
if (!fs.existsSync(path.join(src, entry.name, 'SKILL.md'))) continue;
|
|
131
|
+
fs.cpSync(path.join(src, entry.name), path.join(skillsDir, entry.name), { recursive: true });
|
|
132
|
+
skillNames.push(entry.name);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// Hooks: rewrite relative commands to the copied source tree
|
|
136
|
+
const hooks = JSON.parse(fs.readFileSync(path.join(src, 'hooks', 'hooks.json'), 'utf8'));
|
|
137
|
+
const hooksCfg = hooks.hooks || {};
|
|
138
|
+
for (const events of Object.values(hooksCfg)) {
|
|
139
|
+
for (const entry of events) {
|
|
140
|
+
for (const h of entry.hooks || []) {
|
|
141
|
+
h.command = h.command.replace(/^node /, `node "${src}/`) + '"';
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
const settingsPath = path.join(ws, '.claude', 'settings.json');
|
|
146
|
+
const settings = fs.existsSync(settingsPath) ? JSON.parse(fs.readFileSync(settingsPath, 'utf8')) : {};
|
|
147
|
+
settings.hooks = { ...(settings.hooks || {}), ...hooksCfg };
|
|
148
|
+
fs.mkdirSync(path.dirname(settingsPath), { recursive: true });
|
|
149
|
+
fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2));
|
|
150
|
+
|
|
151
|
+
// opencode config with skills. The plugin itself is not referenced here -
|
|
152
|
+
// opencode auto-loads any file dropped in .opencode/plugins/, there is no
|
|
153
|
+
// config key that maps event names to commands (that was the bug #37
|
|
154
|
+
// fixed; see opencode-plugin/README.md).
|
|
155
|
+
fs.writeFileSync(
|
|
156
|
+
path.join(ws, 'opencode.json'),
|
|
157
|
+
JSON.stringify({
|
|
158
|
+
$schema: 'https://opencode.ai/config.json',
|
|
159
|
+
instructions: skillNames.map((n) => `.claude/skills/${n}/SKILL.md`)
|
|
160
|
+
}, null, 2)
|
|
161
|
+
);
|
|
162
|
+
|
|
163
|
+
// Install the real plugin where opencode actually looks for it.
|
|
164
|
+
const opencodePluginsDir = path.join(ws, '.opencode', 'plugins');
|
|
165
|
+
fs.mkdirSync(opencodePluginsDir, { recursive: true });
|
|
166
|
+
fs.copyFileSync(path.join(PLUGIN_DIR, 'index.mjs'), path.join(opencodePluginsDir, 'harness-enforcement.mjs'));
|
|
167
|
+
|
|
168
|
+
// Also copy the plugin source to the harness source tree for reference.
|
|
169
|
+
fs.cpSync(PLUGIN_DIR, path.join(src, 'opencode-plugin'), { recursive: true });
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
function runHeadless(prompt, ws, maxTurns) {
|
|
173
|
+
const outPath = path.join(path.dirname(ws), path.basename(ws) + '.transcript.json');
|
|
174
|
+
const model = process.env.BEHAVIORAL_MODEL;
|
|
175
|
+
const args = ['run', '--format', 'json', '--auto', '--dir', ws];
|
|
176
|
+
if (model) args.push('-m', model);
|
|
177
|
+
// Pass the prompt as one argv element; shell quoting corrupts prompts on
|
|
178
|
+
// Windows and previously reduced full requests to fragments such as `Add.`.
|
|
179
|
+
args.push(prompt);
|
|
180
|
+
const outputFd = fs.openSync(outPath, 'w');
|
|
181
|
+
try {
|
|
182
|
+
execFileSync('opencode', args,
|
|
183
|
+
{ cwd: ws, stdio: ['ignore', outputFd, 'inherit'], timeout: 20 * 60 * 1000, windowsHide: true });
|
|
184
|
+
} finally {
|
|
185
|
+
fs.closeSync(outputFd);
|
|
186
|
+
}
|
|
187
|
+
return outPath;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
function extractAgentTrace(transcriptPath) {
|
|
191
|
+
const raw = fs.readFileSync(transcriptPath, 'utf8');
|
|
192
|
+
const chunks = [];
|
|
193
|
+
let structured = false;
|
|
194
|
+
for (const line of raw.split('\n')) {
|
|
195
|
+
if (!line.trim()) continue;
|
|
196
|
+
let e;
|
|
197
|
+
try { e = JSON.parse(line); } catch { continue; }
|
|
198
|
+
const p = e && e.part;
|
|
199
|
+
if (!p) continue;
|
|
200
|
+
if (e.type === 'text' && typeof p.text === 'string') {
|
|
201
|
+
chunks.push(p.text);
|
|
202
|
+
structured = true;
|
|
203
|
+
} else if (String(e.type).includes('tool')) {
|
|
204
|
+
const input = p.state && p.state.input !== undefined ? p.state.input : p.input;
|
|
205
|
+
chunks.push(`[${p.tool || 'tool'}] ` + JSON.stringify(input ?? {}));
|
|
206
|
+
structured = true;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
if (!structured) {
|
|
210
|
+
try {
|
|
211
|
+
const obj = JSON.parse(raw);
|
|
212
|
+
if (obj && typeof obj.result === 'string') return obj.result;
|
|
213
|
+
} catch { /* fall through */ }
|
|
214
|
+
return raw;
|
|
215
|
+
}
|
|
216
|
+
return chunks.join('\n');
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
function grade(c, ws, transcriptPath) {
|
|
220
|
+
const trace = extractAgentTrace(transcriptPath);
|
|
221
|
+
const results = [];
|
|
222
|
+
for (const e of c.expectations) {
|
|
223
|
+
let pass = false;
|
|
224
|
+
try {
|
|
225
|
+
if (e.type === 'trace_contains') pass = trace.includes(e.value);
|
|
226
|
+
else if (e.type === 'trace_not_contains') pass = !trace.includes(e.value);
|
|
227
|
+
else if (e.type === 'file_contains') pass = fs.readFileSync(path.join(ws, e.path), 'utf8').includes(e.value);
|
|
228
|
+
else if (e.type === 'file_not_exists') pass = !fs.existsSync(path.join(ws, e.path));
|
|
229
|
+
else if (e.type === 'command_exit_0') {
|
|
230
|
+
if (process.platform === 'win32') {
|
|
231
|
+
execFileSync(process.env.ComSpec || 'cmd.exe', ['/d', '/s', '/c', e.command], { cwd: ws, stdio: 'ignore' });
|
|
232
|
+
} else {
|
|
233
|
+
execFileSync('/bin/sh', ['-c', e.command], { cwd: ws, stdio: 'ignore' });
|
|
234
|
+
}
|
|
235
|
+
pass = true;
|
|
236
|
+
}
|
|
237
|
+
} catch (err) {
|
|
238
|
+
pass = false;
|
|
239
|
+
}
|
|
240
|
+
results.push({ ...e, pass });
|
|
241
|
+
}
|
|
242
|
+
const gating = results.filter((r) => !r.informational);
|
|
243
|
+
return { results, passed: gating.length > 0 && gating.every((g) => g.pass) };
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
function runLive(filter) {
|
|
247
|
+
console.log('Engine: opencode (with plugin hooks)');
|
|
248
|
+
const cases = discoverCases().filter((c) => !filter || c.id === filter);
|
|
249
|
+
if (filter && cases.length === 0) fail(`no case with id "${filter}"`);
|
|
250
|
+
fs.mkdirSync(RESULTS_DIR, { recursive: true });
|
|
251
|
+
|
|
252
|
+
let failed = 0;
|
|
253
|
+
for (const c of cases) {
|
|
254
|
+
console.log(`\n=== ${c.id}${c.pressure ? ' [PRESSURE]' : ''} ===`);
|
|
255
|
+
const ws = buildWorkspace(c);
|
|
256
|
+
installHarnessWithPlugin(ws);
|
|
257
|
+
if (c.fixture.git) gitSnapshot(ws);
|
|
258
|
+
let transcriptPath;
|
|
259
|
+
try {
|
|
260
|
+
transcriptPath = runHeadless(c.prompt, ws, c.max_turns);
|
|
261
|
+
} catch (err) {
|
|
262
|
+
console.error(`❌ session failed: ${err.message.slice(0, 300)}`);
|
|
263
|
+
failed++;
|
|
264
|
+
continue;
|
|
265
|
+
}
|
|
266
|
+
const { results: graded, passed } = grade(c, ws, transcriptPath);
|
|
267
|
+
const record = {
|
|
268
|
+
id: c.id,
|
|
269
|
+
engine: 'opencode-with-plugin',
|
|
270
|
+
model: process.env.BEHAVIORAL_MODEL || 'openai/gpt-5-mini',
|
|
271
|
+
pressure: !!c.pressure,
|
|
272
|
+
date: new Date().toISOString(),
|
|
273
|
+
workspace: ws,
|
|
274
|
+
transcript: transcriptPath,
|
|
275
|
+
expectations: graded.map(({ description, pass }) => ({ description, pass })),
|
|
276
|
+
outcome: passed ? 'pass' : 'fail',
|
|
277
|
+
};
|
|
278
|
+
const outFile = path.join(RESULTS_DIR, `plugin-${record.date.slice(0, 10)}-${c.id}.json`);
|
|
279
|
+
fs.writeFileSync(outFile, JSON.stringify(record, null, 2));
|
|
280
|
+
for (const g of graded) console.log(` ${g.pass ? '✅' : '❌'}${g.informational ? ' (info)' : ''} ${g.description}`);
|
|
281
|
+
console.log(`${passed ? '✅ PASS' : '❌ FAIL'} -> ${outFile}`);
|
|
282
|
+
if (!passed) failed++;
|
|
283
|
+
}
|
|
284
|
+
console.log(failed ? `\n❌ ${failed} case(s) failed.` : '\n🎉 all cases passed.');
|
|
285
|
+
process.exit(failed ? 1 : 0);
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
const args = process.argv.slice(2);
|
|
289
|
+
function flag(name) {
|
|
290
|
+
const i = args.indexOf(name);
|
|
291
|
+
return i >= 0 ? args[i + 1] : undefined;
|
|
292
|
+
}
|
|
293
|
+
if (args[0] === 'validate') validateCases(discoverCases());
|
|
294
|
+
else if (args[0] === 'run') {
|
|
295
|
+
const filter = args.includes('--case') ? flag('--case') : undefined;
|
|
296
|
+
runLive(filter);
|
|
297
|
+
} else {
|
|
298
|
+
console.log('Usage:\n node behavioral-evals/run-with-plugin.js run [--case <id>]');
|
|
299
|
+
process.exit(args.length ? 1 : 0);
|
|
300
|
+
}
|