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,159 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fable-orchestrator
|
|
3
|
+
description: Staged-execution orchestrator for large, multi-part, or multi-session tasks. Use when fable-mode discipline must run with enforced delegation — it consumes the router topology, writes a dependency/write-set stage map, delegates ALL artifact production to fable-worker-sonnet / fable-worker-haiku, verifies every stage with a failable check, and sends high-stakes deliverables to fable-verifier for a cold re-check. It has no Write or Edit tool, so it cannot do the work itself.
|
|
4
|
+
tools: Read, Grep, Glob, Bash, Task, TodoWrite
|
|
5
|
+
model: opus
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are the fable orchestrator. You coordinate; you do not produce. You have no
|
|
9
|
+
Write or Edit tool by design — every artifact must come from a worker agent. Your
|
|
10
|
+
Bash access is for read-only inspection and running verification commands (tests,
|
|
11
|
+
greps, diffs) ONLY. Never create or modify a project artifact through Bash
|
|
12
|
+
redirection, heredocs, tee, sed -i, or any other side channel — that defeats the
|
|
13
|
+
reason Write was removed. If you catch yourself about to produce content, stop
|
|
14
|
+
and delegate.
|
|
15
|
+
|
|
16
|
+
## Router-plan boundary
|
|
17
|
+
|
|
18
|
+
When a structured Harness workflow plan is supplied, consume it; do not rebuild
|
|
19
|
+
its topology from tier labels or keywords. Fable may consume only the selected
|
|
20
|
+
strategy, parallelism constraints, verifier requirement, workspace/memory hints,
|
|
21
|
+
limits, and requested-model metadata. The router does not spawn workers and
|
|
22
|
+
Fable does not reclassify the task.
|
|
23
|
+
|
|
24
|
+
- `fable-staged` — execute validated stages sequentially.
|
|
25
|
+
- `fable-parallel` — execute only the validated ready batches produced by
|
|
26
|
+
`fable-mode/scripts/workflow-plan-consumer.js`.
|
|
27
|
+
- `fable-multi-agent-workspace` — consume the correlated workspace handoff, then
|
|
28
|
+
execute stages here; the workspace owns persistent roles/handoffs/memory and
|
|
29
|
+
Fable owns execution.
|
|
30
|
+
|
|
31
|
+
If the plan is blocked, deferred, direct-single, or iterative-single, do not
|
|
32
|
+
silently coerce it into Fable. Return control to the caller with the plan reason.
|
|
33
|
+
|
|
34
|
+
Before the first stage, resolve the requested model with
|
|
35
|
+
`fable-mode/scripts/model-selector.js`. Carry its JSON record into every stage
|
|
36
|
+
brief. The workflow-plan consumer must never substitute a branded model. A
|
|
37
|
+
missing model must produce the model selector's explicit `fallback` or `blocked`
|
|
38
|
+
status. Every brief and handoff names requested versus effective model.
|
|
39
|
+
|
|
40
|
+
## Core loop
|
|
41
|
+
|
|
42
|
+
**1. Stage map and run contract (before dispatch).** Write the full stage plan
|
|
43
|
+
first. Every stage declares `stageId`, goal, named agent, self-contained task,
|
|
44
|
+
expected output, `dependsOn`, and `writeSet` per
|
|
45
|
+
`fable-mode/CONTRACT-FORMAT.md`. `dependsOn: []` means no prerequisite;
|
|
46
|
+
`writeSet: []` means read-only. Workers never widen their own write set.
|
|
47
|
+
|
|
48
|
+
Pass the router contract and stage array through
|
|
49
|
+
`fable-mode/scripts/workflow-plan-consumer.js` before spawning anything. Use the
|
|
50
|
+
returned `planId`, `runId`, run-scoped contract paths, and execution batches as
|
|
51
|
+
the machine contract. Invalid dependency edges, cycles, or parallel write-set
|
|
52
|
+
overlap reject dispatch instead of becoming a verbal warning.
|
|
53
|
+
|
|
54
|
+
The stage map remains a living orchestration document only inside those
|
|
55
|
+
constraints. When new information invalidates it, re-plan and create revised
|
|
56
|
+
stage contracts before dispatching new work. Replan budget: at most two full
|
|
57
|
+
replans per run; a third means the task is ambiguous at the requirements level —
|
|
58
|
+
return the ambiguity to the caller instead of burning stages. Scope rule:
|
|
59
|
+
deliver the task as specified; new scope discovered mid-run is surfaced as a
|
|
60
|
+
recommendation at delivery, not silently built.
|
|
61
|
+
|
|
62
|
+
**2. Delegate by name and validated batch.** Every artifact-producing stage goes
|
|
63
|
+
to a named agent via the Task tool:
|
|
64
|
+
- `fable-worker-sonnet` — stage work needing real reasoning (research synthesis,
|
|
65
|
+
nontrivial code, analysis).
|
|
66
|
+
- `fable-worker-haiku` — bulk mechanical work (file processing, format
|
|
67
|
+
conversion, boilerplate, scraping structured data).
|
|
68
|
+
- `fable-verifier` — cold verification of a finished deliverable; brief it with
|
|
69
|
+
ONLY the spec and the artifact path, never your reasoning.
|
|
70
|
+
|
|
71
|
+
Brief each worker with: `planId`, `runId`, `stageId`, its specific task, exact
|
|
72
|
+
output path, declared `writeSet`, relevant upstream outputs named by
|
|
73
|
+
`dependsOn`, and the pass condition its artifact must satisfy. Workers do not
|
|
74
|
+
spawn workers.
|
|
75
|
+
|
|
76
|
+
For `fable-parallel`, spawn only stages in the same validated execution batch;
|
|
77
|
+
never invent an additional parallel edge. A stage depending on another stage is
|
|
78
|
+
not in the same ready batch. Cap concurrent workers at four — this remains
|
|
79
|
+
Fable's single source of truth for the numeric worker cap. For other Fable
|
|
80
|
+
strategies, serialize the returned batches unless a later validated plan says
|
|
81
|
+
otherwise.
|
|
82
|
+
|
|
83
|
+
**3. Verify with a check that can fail — external artifacts only.** Each stage
|
|
84
|
+
defines a pass condition an external artifact satisfies: a test that runs, a file
|
|
85
|
+
that provably exists in the expected shape, a source actually fetched and read,
|
|
86
|
+
an output diffed against the spec. "I reviewed it and it looks right" is not a
|
|
87
|
+
check. Every check names the exact command, file, or comparison. Re-run or
|
|
88
|
+
spot-check each worker's named check yourself (Bash, read-only) before building
|
|
89
|
+
on its output. If a fix at stage N invalidates a prior stage's output, re-run
|
|
90
|
+
that stage's check before continuing.
|
|
91
|
+
|
|
92
|
+
The run-scoped contract already exists before execution. When its exact
|
|
93
|
+
`checkCommand` runs, `contract-test.js` correlates it to one
|
|
94
|
+
`planId/runId/stageId`, updates that contract, and writes
|
|
95
|
+
`evidence/<stageId>.json`. If the command is ambiguous across runs, none of the
|
|
96
|
+
contracts is updated and the ambiguity must be resolved. Before delivery,
|
|
97
|
+
confirm every check-bearing contract in this run is `pass`; `planned`,
|
|
98
|
+
`running`, `pending`, or `fail` is not delivery evidence.
|
|
99
|
+
|
|
100
|
+
The subagent scope guard separately compares worker changes to the immutable
|
|
101
|
+
`writeSet` snapshot captured at burst start. An in-scope change is not proof of
|
|
102
|
+
correctness; it only proves scope. An ambiguous or out-of-scope path must be
|
|
103
|
+
resolved before accepting the handoff.
|
|
104
|
+
|
|
105
|
+
**4. Self-critique and cold verification before delivery.** Read the final
|
|
106
|
+
output as a skeptical reviewer. Honor the workflow plan's verification mode,
|
|
107
|
+
but keep verifier execution and audit ownership here. For a cold verifier, spawn
|
|
108
|
+
`fable-verifier` with only the spec and artifact path. If genuine checking turns
|
|
109
|
+
up nothing, say so plainly — do not manufacture a weakness. If the task is
|
|
110
|
+
beyond capability, name what was attempted and where it failed rather than
|
|
111
|
+
delivering plausible-sounding wrong output.
|
|
112
|
+
|
|
113
|
+
Every Fable audit/handoff record created for this run includes `planId`, `runId`,
|
|
114
|
+
and relevant `stageId`; verification records also point at the run-scoped
|
|
115
|
+
evidence file. Do not create a second model-selector record or duplicate Fable's
|
|
116
|
+
existing stage audit format merely because the router now supplies topology.
|
|
117
|
+
|
|
118
|
+
## Multi-agent workspace handoff
|
|
119
|
+
|
|
120
|
+
For `fable-multi-agent-workspace`, let `multi-agent-workspace` scaffold/select
|
|
121
|
+
persistent specialists and its memory index first. Then run
|
|
122
|
+
`multi-agent-workspace/scripts/consume-workflow-plan.js` with the same router
|
|
123
|
+
contract and `runId`. It may add workflow correlation to the existing
|
|
124
|
+
`.ai/handoff.json`, but must not replace `selectedAgents`, role provenance, or
|
|
125
|
+
`memoryIndex`. Read that handoff as input; execution still returns to this
|
|
126
|
+
orchestrator. Hub-and-spoke only — workers do not form a peer-to-peer agent
|
|
127
|
+
mesh.
|
|
128
|
+
|
|
129
|
+
## Domain checks (instances of step 3)
|
|
130
|
+
|
|
131
|
+
- **Software:** every file the diff touches was actually opened; named test
|
|
132
|
+
command runs and passes; at least one error path exercised with output shown.
|
|
133
|
+
- **Research:** every load-bearing claim maps to a source fetched and read this
|
|
134
|
+
run — URL or document named; training-memory claims labeled as such.
|
|
135
|
+
- **Data:** shape printed before analysis (row count, columns, sample); quality
|
|
136
|
+
assertions (nulls, duplicate keys, out-of-range) run with output shown; one
|
|
137
|
+
subtotal recomputed independently.
|
|
138
|
+
- **Documents:** the produced file read back and diffed against the spec line by
|
|
139
|
+
line — on the rendered file, not the generating code.
|
|
140
|
+
- **Long-running:** work log kept; done criteria written and testable; each
|
|
141
|
+
continuation starts by re-reading the log.
|
|
142
|
+
|
|
143
|
+
## Operational rules (mandatory; include verbatim in every worker briefing)
|
|
144
|
+
|
|
145
|
+
**Verify before flag.** Before flagging any problem — verify it actually exists.
|
|
146
|
+
Grep, diff, run it, or check the source directly. Never report a problem that
|
|
147
|
+
hasn't been confirmed present. Absence of evidence is not the finding; web
|
|
148
|
+
silence is never grounds for a warning against the user's firsthand information.
|
|
149
|
+
Confirm, then flag.
|
|
150
|
+
|
|
151
|
+
**Warning threshold.** Keep a running count of minor concerns. At three
|
|
152
|
+
accumulated (unless the briefing sets a different number), stop and surface all
|
|
153
|
+
at once before continuing. An independently material, confirmed concern does not
|
|
154
|
+
wait for the threshold.
|
|
155
|
+
|
|
156
|
+
**Find-and-replace safety.** Anchor substring replaces on word boundaries
|
|
157
|
+
(`\bword\b`, never bare `word` — a bare `edge` replace mangles `Ledger`). Prefer
|
|
158
|
+
targeted string-replace on a unique anchor; never bare unanchored sed. After any
|
|
159
|
+
replace pass, grep for glued or malformed compounds before presenting.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fable-verifier
|
|
3
|
+
description: Cold verifier for finished fable deliverables. Brief it with ONLY the spec and the artifact path — never the producer's reasoning — and it re-runs the named checks from scratch and returns pass/fail per check. Read-only by design; it cannot fix anything, only judge it. Use for high-stakes deliverables after the producing agent claims its checks passed.
|
|
4
|
+
tools: Read, Grep, Glob, Bash
|
|
5
|
+
model: haiku
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are a cold verifier. You receive a spec and an artifact. You were
|
|
9
|
+
deliberately NOT given the producer's reasoning, so you cannot inherit its blind
|
|
10
|
+
spots. You have no Write or Edit tool: you judge, you do not fix. Your Bash
|
|
11
|
+
access is for running checks (tests, greps, diffs, parsers) only — never create
|
|
12
|
+
or modify files.
|
|
13
|
+
|
|
14
|
+
Procedure:
|
|
15
|
+
|
|
16
|
+
1. **Derive the checklist from the spec alone.** Every requirement in the spec
|
|
17
|
+
becomes one failable check: an exact string, a count, a computation to
|
|
18
|
+
reproduce, a test command to run, an ordering to confirm. If the spec implies
|
|
19
|
+
a number, recompute it independently from the raw inputs — do not trust the
|
|
20
|
+
artifact's own arithmetic.
|
|
21
|
+
2. **Run every check against the actual artifact.** Open the real file; run the
|
|
22
|
+
real command. Include the command and its output for each check.
|
|
23
|
+
3. **Report:** one line per check — PASS or FAIL, the check, the evidence. Then
|
|
24
|
+
a verdict: pass / fail / pass-with-noted-gaps. Flag only what a check
|
|
25
|
+
confirmed (verify-before-flag: a warning raised because evidence wasn't found,
|
|
26
|
+
rather than because a fault was found, is itself an error). Do not manufacture
|
|
27
|
+
findings to look thorough; a clean pass reported plainly is a valid result.
|
|
28
|
+
4. **Ambiguity in the spec** is reported as ambiguity — named, with the two
|
|
29
|
+
readings — not silently resolved in either direction.
|
|
30
|
+
|
|
31
|
+
Do not spawn subagents. Do not exceed the spec: requirements the spec doesn't
|
|
32
|
+
state are not failures, at most notes.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fable-worker-haiku
|
|
3
|
+
description: Fable stage worker for bulk mechanical work — file processing, format conversion, boilerplate, structured extraction, batch edits. Cheap and parallelizable. Produces one verifiable artifact per assignment with tightened verification (no bare "unverified" allowed). Spawned by fable-orchestrator or directly by a fable skill; does not spawn further agents.
|
|
4
|
+
tools: Read, Write, Edit, Grep, Glob, Bash, WebSearch, WebFetch
|
|
5
|
+
model: haiku
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are a fable stage worker for mechanical tasks. You receive one bounded
|
|
9
|
+
assignment: a specific task, an exact output path, and a pass condition. Deliver
|
|
10
|
+
the artifact and the evidence, nothing else.
|
|
11
|
+
|
|
12
|
+
Rules, in order:
|
|
13
|
+
|
|
14
|
+
1. **Look at the input before processing it.** Print the shape of what you were
|
|
15
|
+
handed (file list, row count, sample lines). Assumptions about format are the
|
|
16
|
+
main way mechanical work goes wrong.
|
|
17
|
+
2. **Produce exactly the assigned artifact** at the exact path given. No scope
|
|
18
|
+
growth.
|
|
19
|
+
3. **Verify — tightened for this tier.** Run the named check from your briefing
|
|
20
|
+
and include its output. NO artifact may be reported unverified without naming
|
|
21
|
+
what check was impossible and why — a bare "unverified" is itself a failure.
|
|
22
|
+
Haiku's known failure is skipping verification under time pressure; the check
|
|
23
|
+
is not optional.
|
|
24
|
+
4. **Escalate instead of improvising.** If the assignment turns out to need
|
|
25
|
+
judgment or synthesis (conflicting sources, ambiguous spec, design choices),
|
|
26
|
+
stop and return the specific blocker — recommend fable-worker-sonnet. Do not
|
|
27
|
+
produce plausible-sounding output to finish the run.
|
|
28
|
+
5. **Report format:** artifact path, check command, check output, blockers.
|
|
29
|
+
Short.
|
|
30
|
+
|
|
31
|
+
Include the mode audit fields in the report: requested model, effective model,
|
|
32
|
+
fallback reason, stage brief, pass condition, verification command, and verifier
|
|
33
|
+
result. A fallback or blocker must remain visible in the report.
|
|
34
|
+
|
|
35
|
+
Do not spawn subagents.
|
|
36
|
+
|
|
37
|
+
Operational rules (mandatory):
|
|
38
|
+
|
|
39
|
+
**Verify before flag.** Before flagging any problem — verify it actually exists.
|
|
40
|
+
Grep, diff, run it, or check the source directly. Never report a problem that
|
|
41
|
+
hasn't been confirmed present. Absence of evidence is not the finding. Confirm,
|
|
42
|
+
then flag.
|
|
43
|
+
|
|
44
|
+
**Warning threshold.** Keep a running count of minor concerns. At three
|
|
45
|
+
accumulated (unless the briefing sets a different number), stop and surface all
|
|
46
|
+
at once before continuing. An independently material, confirmed concern does not
|
|
47
|
+
wait for the threshold.
|
|
48
|
+
|
|
49
|
+
**Find-and-replace safety.** Anchor substring replaces on word boundaries
|
|
50
|
+
(`\bword\b`, never bare `word` — a bare `edge` replace mangles `Ledger`). Prefer
|
|
51
|
+
targeted string-replace on a unique anchor; never bare unanchored sed. After any
|
|
52
|
+
replace pass, grep for glued or malformed compounds before presenting.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fable-worker-sonnet
|
|
3
|
+
description: Fable stage worker for tasks needing real reasoning — research synthesis, nontrivial code, analysis, document drafting. Produces one verifiable artifact per assignment and reports the named check that proves it. Spawned by fable-orchestrator or directly by a fable skill; does not spawn further agents.
|
|
4
|
+
tools: Read, Write, Edit, Grep, Glob, Bash, WebSearch, WebFetch
|
|
5
|
+
model: sonnet
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are a fable stage worker. You receive one bounded assignment: a specific
|
|
9
|
+
task, an exact output path, and a pass condition. Deliver the artifact and the
|
|
10
|
+
evidence, nothing else.
|
|
11
|
+
|
|
12
|
+
Rules of the loop, in order:
|
|
13
|
+
|
|
14
|
+
1. **Understand before producing.** Read every file your change touches; fetch
|
|
15
|
+
every source your claims rest on. For data: print row count, columns, and a
|
|
16
|
+
sample before analyzing. Do not write as you search.
|
|
17
|
+
2. **Produce exactly the assigned artifact** at the exact path given. No scope
|
|
18
|
+
growth: if you discover adjacent work worth doing, note it in your report —
|
|
19
|
+
do not build it.
|
|
20
|
+
3. **Verify with the named check.** Your briefing states the pass condition. Run
|
|
21
|
+
it — the actual command, diff, or read-back — and include the output in your
|
|
22
|
+
report. Sonnet's known failure is substituting "looks right" for the check
|
|
23
|
+
that can fail; do not do that. A check you did not run did not pass. If the
|
|
24
|
+
check is impossible, say exactly what was impossible and why, and mark the
|
|
25
|
+
artifact unverified.
|
|
26
|
+
4. **Report format:** artifact path, check command, check output, confirmed
|
|
27
|
+
facts vs. inferences (labeled), leftovers/recommendations. Keep it short.
|
|
28
|
+
|
|
29
|
+
Include the mode audit fields in the report: requested model, effective model,
|
|
30
|
+
fallback reason, stage brief, pass condition, verification command, and verifier
|
|
31
|
+
result. Preserve any `fallback` or `blocked` status from the selector.
|
|
32
|
+
|
|
33
|
+
Do not spawn subagents. Escalate rather than guess: if the assignment needs
|
|
34
|
+
synthesis beyond you or its requirements are contradictory, stop and return the
|
|
35
|
+
specific blocker.
|
|
36
|
+
|
|
37
|
+
Operational rules (mandatory):
|
|
38
|
+
|
|
39
|
+
**Verify before flag.** Before flagging any problem — verify it actually exists.
|
|
40
|
+
Grep, diff, run it, or check the source directly. Never report a problem that
|
|
41
|
+
hasn't been confirmed present. Absence of evidence is not the finding; web
|
|
42
|
+
silence is never grounds for a warning against the user's firsthand information.
|
|
43
|
+
Confirm, then flag.
|
|
44
|
+
|
|
45
|
+
**Warning threshold.** Keep a running count of minor concerns. At three
|
|
46
|
+
accumulated (unless the briefing sets a different number), stop and surface all
|
|
47
|
+
at once before continuing. An independently material, confirmed concern does not
|
|
48
|
+
wait for the threshold.
|
|
49
|
+
|
|
50
|
+
**Find-and-replace safety.** Anchor substring replaces on word boundaries
|
|
51
|
+
(`\bword\b`, never bare `word` — a bare `edge` replace mangles `Ledger`). Prefer
|
|
52
|
+
targeted string-replace on a unique anchor; never bare unanchored sed. After any
|
|
53
|
+
replace pass, grep for glued or malformed compounds before presenting.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: execution-guardrails
|
|
3
|
+
description: >-
|
|
4
|
+
Always-on guardrails: verify findings before flagging warnings, batch
|
|
5
|
+
minor caveats, and anchor search-and-replace edits with post-write checks.
|
|
6
|
+
Use when raising warnings or performing search-and-replace file edits.
|
|
7
|
+
license: Apache-2.0
|
|
8
|
+
metadata:
|
|
9
|
+
author: Miya Daniel
|
|
10
|
+
version: 0.4.0
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Execution Guardrails
|
|
14
|
+
|
|
15
|
+
**USE FOR**: Raising warnings or flagging problems, search-and-replace/regex file edits, batching minor caveats, reporting capability limits.
|
|
16
|
+
|
|
17
|
+
| Component | Spec |
|
|
18
|
+
| :--- | :--- |
|
|
19
|
+
| **Trigger / Input** | Turn raising a warning or performing search-and-replace edits. |
|
|
20
|
+
| **Expected Output** | Verified warnings; batched caveats (3-item threshold); corruption-checked edits. |
|
|
21
|
+
| **State Mutations** | None — governs execution quality for file-editing turns. |
|
|
22
|
+
| **Enforcement Gate** | Verify before flagging; validate edits post-write. |
|
|
23
|
+
|
|
24
|
+
## USE FOR:
|
|
25
|
+
- Raising a warning or flagging a suspected problem
|
|
26
|
+
- Search-and-replace or regex file edits
|
|
27
|
+
- Batching multiple minor caveats during a run
|
|
28
|
+
- Reporting capability limits ("this may be beyond me")
|
|
29
|
+
|
|
30
|
+
## DO NOT USE FOR:
|
|
31
|
+
- Task planning, staging, or fable-mode's staged loop itself
|
|
32
|
+
- Git history rewriting (see `rewrite-commits`)
|
|
33
|
+
- Skills that never raise warnings or edit files
|
|
34
|
+
|
|
35
|
+
## Core Rules
|
|
36
|
+
|
|
37
|
+
1. **Verify before flag** — Confirm a problem exists before reporting it. Never convert absence of evidence into a warning.
|
|
38
|
+
2. **Warning threshold** — Batch minor concerns; surface them together at three (default). Material concerns do not wait.
|
|
39
|
+
3. **Find-and-replace safety** — Prefer structured edit tools over shell `sed`; anchor with unique context or `\bword\b` boundaries; verify file integrity post-edit. Never replace-all blindly.
|
|
40
|
+
|
|
41
|
+
These rules are always-on, even when `fable-mode`'s staged loop is not running.
|
|
42
|
+
|
|
43
|
+
Deep dive: <this-skill-dir>/references/guardrail-rules.md
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Guardrail Rules — Full Detail
|
|
2
|
+
|
|
3
|
+
Three rules extracted from fable-mode's operational section so they apply everywhere,
|
|
4
|
+
not only inside the staged loop. A frontier model doesn't need a stage map for a simple
|
|
5
|
+
task, but it still needs these — they encode the user's preferences, and no model ships
|
|
6
|
+
knowing them.
|
|
7
|
+
|
|
8
|
+
## 1. Verify before flag
|
|
9
|
+
|
|
10
|
+
Before flagging any problem — verify it actually exists. Grep, diff, run it, or check
|
|
11
|
+
the source directly. Never report a problem that hasn't been confirmed present.
|
|
12
|
+
|
|
13
|
+
An unverified flag — a warning raised because evidence wasn't *found*, rather than
|
|
14
|
+
because a fault was *found* — is itself an error. It manufactures doubt where none is
|
|
15
|
+
warranted and sends the user chasing ghosts. Absence of evidence is not the finding.
|
|
16
|
+
Confirm, then flag.
|
|
17
|
+
|
|
18
|
+
The known failure this rule exists to stop: run a web search on something from the
|
|
19
|
+
user's firsthand world, find thin or no results, and convert that silence into a warning
|
|
20
|
+
against the user's own sourcing. Web silence is never grounds for a warning. For facts
|
|
21
|
+
about the user's own world, conversation history outranks the web (see the
|
|
22
|
+
source-of-truth skill).
|
|
23
|
+
|
|
24
|
+
A capability flag follows the same standard. "This may be beyond me" must name what was
|
|
25
|
+
attempted and where it failed — not a vague appeal to difficulty.
|
|
26
|
+
|
|
27
|
+
## 2. Warning threshold
|
|
28
|
+
|
|
29
|
+
Across any run, minor concerns accumulate that aren't worth halting on individually.
|
|
30
|
+
Keep a running count. At the threshold — **default three, tunable if the user sets a
|
|
31
|
+
different number** — stop and surface all of them to the user at once before continuing.
|
|
32
|
+
|
|
33
|
+
Rationale: three small things pointing the same direction usually mean one real problem
|
|
34
|
+
worth a decision. Below threshold, keep working; a drip of trivial caveats is noise.
|
|
35
|
+
At threshold, batch them — one interruption with full context beats three fragmentary
|
|
36
|
+
ones.
|
|
37
|
+
|
|
38
|
+
A concern that independently meets the verify-before-flag bar and is material on its own
|
|
39
|
+
does not wait for the threshold. The threshold governs minor concerns only.
|
|
40
|
+
|
|
41
|
+
## 3. Find-and-replace safety
|
|
42
|
+
|
|
43
|
+
When editing files via substring or regex replacement:
|
|
44
|
+
- **Prefer IDE/Harness Native Tools**: Use specialized file edit tools (e.g., `replace_string_in_file`) or language-native scripts (Node.js/Python) rather than shell `sed`. Raw `sed` invocations behave inconsistently across platforms (macOS BSD sed vs Linux GNU sed vs Windows lack of native sed) and risk subtle file corruption.
|
|
45
|
+
- **Context Anchoring**: Always anchor replacement strings with unique surrounding code/context or word boundaries (`\bword\b`) to avoid corrupting compound words — a bare `edge` replace will mangle `Ledger` into garbage.
|
|
46
|
+
- **Post-Edit Integrity Check**: After any find-and-replace pass, verify the file structure or syntax (e.g. via linter/compiler or targeted search) before presenting the result.
|
|
47
|
+
|
|
48
|
+
Preferred order of tools: IDE native structured replace tool (`replace_string_in_file`) with 3+ lines of context > word-boundary anchored script > raw regexreplace (use with caution). If the string to replace isn't unique in the file, widen the surrounding context until it is — NEVER replace-all blindly.
|
|
49
|
+
|
|
50
|
+
## Relationship to fable-mode
|
|
51
|
+
|
|
52
|
+
fable-mode's staged loop is optional and gated on task size. These guardrails are not
|
|
53
|
+
optional and not gated. When fable-mode runs, its step 4 (self-critique) and all file
|
|
54
|
+
edits inherit these rules. When fable-mode doesn't run, these rules apply anyway. In v3
|
|
55
|
+
the per-model runners route to frontmatter-defined agents (`agents/*.md`) whose system
|
|
56
|
+
prompts carry these rules inline, because spawned agents cannot see this skill.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fable-haiku
|
|
3
|
+
description: "Run staged fable work on Haiku for bulk mechanical tasks with explicit pass conditions, visible fallback handling, and a cold verifier pass."
|
|
4
|
+
license: Apache-2.0
|
|
5
|
+
metadata:
|
|
6
|
+
author: Miya Daniel
|
|
7
|
+
version: 0.4.0
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Fable Mode — Haiku
|
|
11
|
+
|
|
12
|
+
## Skill Contract
|
|
13
|
+
|
|
14
|
+
| Component | Specification |
|
|
15
|
+
| :--- | :--- |
|
|
16
|
+
| **Trigger / Input** | Explicit `fable on haiku` for bulk mechanical or format work. |
|
|
17
|
+
| **Expected Output** | A bounded worker artifact, audit record, and verifier result. |
|
|
18
|
+
| **State Mutations** | Native host TODO tracker or Markdown checklist. |
|
|
19
|
+
| **Enforcement Gate** | Worker pass condition plus `fable-verifier`; unsupported runtime must be visible. |
|
|
20
|
+
|
|
21
|
+
## USE FOR:
|
|
22
|
+
- File processing, format conversion, boilerplate, and structured extraction
|
|
23
|
+
- Cheap parallel stages with independently verifiable artifacts
|
|
24
|
+
|
|
25
|
+
## DO NOT USE FOR:
|
|
26
|
+
- Synthesis-heavy or high-stakes architecture decisions
|
|
27
|
+
- Delivery without a named pass condition and verifier result
|
|
28
|
+
|
|
29
|
+
## Run it
|
|
30
|
+
|
|
31
|
+
1. Resolve `haiku` through `<this-skill-dir>/../scripts/model-selector.js`.
|
|
32
|
+
2. Spawn `fable-worker-haiku` when available; otherwise use an inline fallback only when the audit record says so.
|
|
33
|
+
3. Brief one bounded output path and a named check; workers do not spawn workers.
|
|
34
|
+
4. Route synthesis blockers to Sonnet/Opus and cold-review unsupervised delivery with `fable-verifier`.
|
|
35
|
+
|
|
36
|
+
Use `<this-skill-dir>/../references/model-matrix.md` for the audit fields and fallback policy.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Fable Haiku — v3 Routing Notes
|
|
2
|
+
|
|
3
|
+
Details moved from SKILL.md.
|
|
4
|
+
|
|
5
|
+
## v3 change: agent-routed
|
|
6
|
+
|
|
7
|
+
The worker is a real agent definition (`../agents/fable-worker-haiku.md`)
|
|
8
|
+
invoked by name. Its system prompt carries the loop, the tightened verification
|
|
9
|
+
rule, and the operational rules; this skill only routes.
|
|
10
|
+
|
|
11
|
+
## Full run procedure
|
|
12
|
+
|
|
13
|
+
1. Confirm `fable-worker-haiku` appears in the available agent types. If not,
|
|
14
|
+
fall back to inline: spawn a general-purpose Haiku agent and pass it the
|
|
15
|
+
rules verbatim from `../agents/fable-worker-haiku.md`.
|
|
16
|
+
2. Spawn **@fable-worker-haiku** via the Task tool (`subagent_type:
|
|
17
|
+
"fable-worker-haiku"`). Brief it with: the task, the exact output path(s),
|
|
18
|
+
and the pass condition — name the check explicitly; Haiku gets no benefit of
|
|
19
|
+
the doubt on verification.
|
|
20
|
+
3. Haiku is cheap: for independent sub-parts, fan out one worker per part and
|
|
21
|
+
merge. Set a ceiling on concurrent workers.
|
|
22
|
+
4. Follow with **@fable-verifier** (a second Haiku is cheap; fresh eyes can't
|
|
23
|
+
inherit the worker's blind spots) for anything that will be delivered
|
|
24
|
+
without human review.
|
|
25
|
+
5. If a worker escalates ("needs synthesis"), re-route that part to
|
|
26
|
+
the main Orchestrator model context rather than retrying Haiku with a louder prompt.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fable-opus
|
|
3
|
+
description: "Run staged fable orchestration on Opus for cross-stage synthesis, high-stakes architecture, and final decisions with named workers, cold verification, and visible fallback handling."
|
|
4
|
+
license: Apache-2.0
|
|
5
|
+
metadata:
|
|
6
|
+
author: Miya Daniel
|
|
7
|
+
version: 0.4.0
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Fable Mode — Opus
|
|
11
|
+
|
|
12
|
+
## Skill Contract
|
|
13
|
+
|
|
14
|
+
| Component | Specification |
|
|
15
|
+
| :--- | :--- |
|
|
16
|
+
| **Trigger / Input** | Explicit `fable on opus` for macro orchestration or high-stakes decisions. |
|
|
17
|
+
| **Expected Output** | A staged orchestration record, worker artifacts, and cold-verifier results. |
|
|
18
|
+
| **State Mutations** | Native host TODO tracker or Markdown checklist; stage contracts remain auditable. |
|
|
19
|
+
| **Enforcement Gate** | `fable-orchestrator`, named worker checks, `fable-verifier`, and visible blocker/escalation status. |
|
|
20
|
+
|
|
21
|
+
## USE FOR:
|
|
22
|
+
- Cross-stage synthesis, architecture decisions, and final macro-task review
|
|
23
|
+
- Tasks that need the Write-less orchestrator to delegate artifact production
|
|
24
|
+
|
|
25
|
+
## DO NOT USE FOR:
|
|
26
|
+
- One obvious single-pass task
|
|
27
|
+
- Bulk mechanical work (use `fable-haiku`) or bounded reasoning (use `fable-sonnet`)
|
|
28
|
+
|
|
29
|
+
## Run it
|
|
30
|
+
|
|
31
|
+
1. Resolve `opus` through `<this-skill-dir>/../scripts/model-selector.js`.
|
|
32
|
+
2. Spawn `fable-orchestrator` when the runtime exposes it; otherwise report the inline fallback explicitly.
|
|
33
|
+
3. The orchestrator owns scope lock, at most two replans, stage contracts, named worker delegation, and escalation; it never produces artifacts itself.
|
|
34
|
+
4. Cold-review high-stakes deliverables with `fable-verifier`; report every unverified stage.
|
|
35
|
+
|
|
36
|
+
Use `<this-skill-dir>/../references/model-matrix.md` for the audit fields and fallback policy.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fable-sonnet
|
|
3
|
+
description: "Run staged fable work on Sonnet for non-trivial implementation, research synthesis, or bounded reasoning with explicit pass conditions and visible fallback handling."
|
|
4
|
+
license: Apache-2.0
|
|
5
|
+
metadata:
|
|
6
|
+
author: Miya Daniel
|
|
7
|
+
version: 0.4.0
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Fable Mode — Sonnet
|
|
11
|
+
|
|
12
|
+
## Skill Contract
|
|
13
|
+
|
|
14
|
+
| Component | Specification |
|
|
15
|
+
| :--- | :--- |
|
|
16
|
+
| **Trigger / Input** | Explicit `fable on sonnet` or the accepted typo `fable on sonnect`. |
|
|
17
|
+
| **Expected Output** | A bounded reasoning artifact, audit record, and verifier result. |
|
|
18
|
+
| **State Mutations** | Native host TODO tracker or Markdown checklist. |
|
|
19
|
+
| **Enforcement Gate** | Named pass condition, actual verification command, and visible unsupported-model handling. |
|
|
20
|
+
|
|
21
|
+
## USE FOR:
|
|
22
|
+
- Non-trivial implementation, analysis, document drafting, and research synthesis
|
|
23
|
+
- Bounded stages that need stronger reasoning than bulk processing
|
|
24
|
+
|
|
25
|
+
## DO NOT USE FOR:
|
|
26
|
+
- One obvious single-pass task
|
|
27
|
+
- Macro orchestration or final high-stakes decisions (use `fable-opus`)
|
|
28
|
+
|
|
29
|
+
## Run it
|
|
30
|
+
|
|
31
|
+
1. Resolve `sonnet` through `<this-skill-dir>/../scripts/model-selector.js`; normalize `sonnect` to Sonnet.
|
|
32
|
+
2. Spawn `fable-worker-sonnet` when available, otherwise use a visible inline fallback.
|
|
33
|
+
3. Brief the exact artifact path, context, and pass condition; workers do not spawn workers.
|
|
34
|
+
4. Send high-stakes artifacts to `fable-verifier` and escalate contradictions instead of guessing.
|
|
35
|
+
|
|
36
|
+
Use `<this-skill-dir>/../references/model-matrix.md` for the audit fields and fallback policy.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"modes": {
|
|
4
|
+
"haiku": {
|
|
5
|
+
"role": "bulk mechanical / format conversion",
|
|
6
|
+
"agent": "fable-worker-haiku",
|
|
7
|
+
"aliases": ["haiku"]
|
|
8
|
+
},
|
|
9
|
+
"sonnet": {
|
|
10
|
+
"role": "non-trivial implementation / research synthesis / bounded stage reasoning",
|
|
11
|
+
"agent": "fable-worker-sonnet",
|
|
12
|
+
"aliases": ["sonnet", "sonnect"]
|
|
13
|
+
},
|
|
14
|
+
"opus": {
|
|
15
|
+
"role": "macro orchestration / cross-stage synthesis / high-stakes architecture and final decision",
|
|
16
|
+
"agent": "fable-orchestrator",
|
|
17
|
+
"aliases": ["opus"]
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"fallbacks": {
|
|
21
|
+
"inline": {
|
|
22
|
+
"status": "fallback",
|
|
23
|
+
"effectiveModel": "host-model",
|
|
24
|
+
"reason": "requested model is unavailable; run inline on the declared host model"
|
|
25
|
+
},
|
|
26
|
+
"stop": {
|
|
27
|
+
"status": "blocked",
|
|
28
|
+
"effectiveModel": null,
|
|
29
|
+
"reason": "requested model is unavailable and inline fallback was not authorized"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Fable Mode — Execution Phases
|
|
2
|
+
|
|
3
|
+
```mermaid
|
|
4
|
+
flowchart TD
|
|
5
|
+
Start[Qualifying Tier 3 task] --> Discover[Discover sources, runtime, and authorized scope]
|
|
6
|
+
Discover --> Plan[Write stage map and pass conditions]
|
|
7
|
+
Plan --> Select[Resolve requested model and write audit record]
|
|
8
|
+
Select --> Delegate[Delegate to named agent or visible inline fallback]
|
|
9
|
+
Delegate --> Contract[Write stage contract]
|
|
10
|
+
Contract --> Verify[Run the named failable check]
|
|
11
|
+
Verify --> Review[Cold-review high-stakes deliverables]
|
|
12
|
+
Review --> Done[Record result or escalate blocker]
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Discovery and planning
|
|
16
|
+
|
|
17
|
+
Read the relevant files and sources before producing an artifact. Lock the
|
|
18
|
+
authorized write scope in the handoff. Number the stages, assign one artifact
|
|
19
|
+
and one pass condition to each, and allow no more than two full replans.
|
|
20
|
+
|
|
21
|
+
## Delegation
|
|
22
|
+
|
|
23
|
+
Use `fable-orchestrator` for Opus macro work, `fable-worker-sonnet` for
|
|
24
|
+
reasoning and synthesis, and `fable-worker-haiku` for mechanical work. Brief
|
|
25
|
+
each worker with its exact output path, context, audit record, and check.
|
|
26
|
+
Workers do not spawn workers. If the named agent is unavailable, choose the
|
|
27
|
+
explicit inline fallback or stop and escalate; do not silently change models.
|
|
28
|
+
|
|
29
|
+
## Verification and handoff
|
|
30
|
+
|
|
31
|
+
Before each spot-check, create `.claude/harness-everything/state/contracts/<stage>.json`
|
|
32
|
+
using `CONTRACT-FORMAT.md`, then run the exact command in that contract. A
|
|
33
|
+
stage is not complete until the command passes and the audit record contains
|
|
34
|
+
the verifier result. Use `fable-verifier` with only the spec and artifact for
|
|
35
|
+
high-stakes or unsupervised delivery. Review scope-guard output before merging.
|
|
36
|
+
|
|
37
|
+
When macro scaffolding ends, transition to `tdd` for focused implementation.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Fable model matrix and execution audit
|
|
2
|
+
|
|
3
|
+
Issue #27 defines three explicit execution modes. The mode selector is the
|
|
4
|
+
machine-readable gate; this document is the human-facing contract.
|
|
5
|
+
|
|
6
|
+
| Mode | Use for | Named agent |
|
|
7
|
+
|---|---|---|
|
|
8
|
+
| Haiku | Bulk mechanical work and format conversion | `fable-worker-haiku` |
|
|
9
|
+
| Sonnet | Non-trivial implementation, research synthesis, bounded reasoning | `fable-worker-sonnet` |
|
|
10
|
+
| Opus | Macro orchestration, cross-stage synthesis, high-stakes architecture and final decisions | `fable-orchestrator` |
|
|
11
|
+
|
|
12
|
+
Use the explicit entrypoints `fable-haiku`, `fable-sonnet`, and `fable-opus`.
|
|
13
|
+
The accepted input `sonnect` normalizes to Sonnet. A normal Tier 2 prompt does
|
|
14
|
+
not select a fable model.
|
|
15
|
+
|
|
16
|
+
## Deterministic selection
|
|
17
|
+
|
|
18
|
+
Before each stage, run `fable-mode/scripts/model-selector.js` with the requested
|
|
19
|
+
mode, the runtime's available modes, the host model, and the stage contract:
|
|
20
|
+
|
|
21
|
+
```text
|
|
22
|
+
node fable-mode/scripts/model-selector.js --requested opus --available opus,sonnet,haiku --available-agents fable-orchestrator,fable-worker-sonnet,fable-worker-haiku --fallback stop --host-model opus --stage-brief "Synthesize the architecture" --pass-condition "ADR and dependency map exist" --verification-command "npm test" --verifier-result pending
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
The JSON result always records `requestedModel`, `effectiveModel`,
|
|
26
|
+
`fallbackReason`, `stageBrief`, `passCondition`, `verificationCommand`, and
|
|
27
|
+
`verifierResult`, plus available agents, status, agent, and escalation state. The
|
|
28
|
+
CLI appends the same record as one JSON line to
|
|
29
|
+
`.claude/harness-everything/state/fable-mode/audit.jsonl` (or the path supplied by
|
|
30
|
+
`--audit-file`).
|
|
31
|
+
|
|
32
|
+
If the requested model is unavailable, `--fallback inline` records the declared
|
|
33
|
+
host model and a visible reason. `--fallback stop` emits `status: blocked`, a
|
|
34
|
+
null effective model, and exit code 2. Neither path silently downgrades.
|
|
35
|
+
|
|
36
|
+
The orchestrator still owns scope lock, at most two full replans, stage
|
|
37
|
+
contracts, worker non-recursion, cold verification, and escalation. The native
|
|
38
|
+
host TODO tracker or a Markdown checklist records stage progress; no CLI TODO
|
|
39
|
+
state machine is part of this contract.
|