harness-everything 0.2.1 → 0.3.6
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/.claude-plugin/marketplace.json +27 -0
- package/.claude-plugin/plugin.json +51 -0
- package/.gitattributes +1 -0
- package/.github/workflows/behavioral-evals.yml +36 -0
- package/.github/workflows/ci.yml +117 -0
- package/.github/workflows/release.yml +45 -0
- package/.husky/commit-msg +1 -0
- package/.waza.yaml +22 -0
- package/AGENTS.md +60 -2
- package/BENCHMARK_SOP.md +62 -62
- package/CHANGELOG.md +297 -114
- package/CODE_OF_CONDUCT.md +24 -0
- package/CONTRIBUTING.md +47 -0
- package/Dockerfile +18 -18
- package/LICENSE +201 -201
- package/README.md +279 -197
- package/SECURITY.md +33 -0
- package/VERIFICATION.md +394 -347
- package/ab-test-deep-analysis-2026-08-27.md +383 -0
- package/ab-test-results-2026-08-27.md +152 -0
- package/ab-test-statistical-analysis-31cases.md +193 -0
- package/behavioral-evals/README.md +85 -0
- package/behavioral-evals/analyze-plugin-results.js +110 -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-error-handling.yaml +31 -0
- package/behavioral-evals/cases/baseline-git-commit.yaml +33 -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-security-review.yaml +28 -0
- package/behavioral-evals/cases/baseline-simple-bugfix.yaml +33 -0
- package/behavioral-evals/cases/baseline-tdd-workflow.yaml +28 -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 +28 -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 +47 -0
- package/behavioral-evals/cases/scope-discipline.yaml +32 -0
- package/behavioral-evals/cases/tier1-no-overplan.yaml +26 -0
- package/behavioral-evals/cases/verify-before-done.yaml +31 -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/run-20260827-115509.log +287 -0
- package/behavioral-evals/run-with-plugin.js +316 -0
- package/behavioral-evals/run.js +587 -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 +152 -97
- package/ci/ab-test-cases/grill-me-adversarial.yaml +18 -0
- package/ci/ab-test-cases/tdd-test-first.yaml +23 -0
- package/ci/ab-test-cases/verification-loop-gates.yaml +25 -0
- package/ci/ab-test-cases/verify-before-claim-cites.yaml +18 -0
- package/ci/ab-test-harness.js +410 -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/{eval-framework → ci}/cases/case2.json +5 -5
- 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 +347 -0
- package/ci/description-collision.js +109 -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/mechanism-2a-rule-of-3.test.js +46 -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 +20 -0
- package/ci/mechanism-2k-reference-check.test.js +20 -0
- package/ci/mechanism-2l-multi-agent-workspace.test.js +105 -0
- package/ci/mechanism-test.js +71 -0
- package/ci/negative-controls.js +84 -0
- package/ci/reference-check.js +112 -0
- package/ci/release-consistency-check.js +123 -0
- package/ci/routing-check.js +90 -0
- package/{eval-framework → ci}/runner.js +56 -56
- package/ci/skill-routing-check.js +98 -0
- package/ci/test-helper.js +104 -0
- package/ci/test-negative-controls.js +148 -0
- package/commitlint.config.js +25 -0
- package/docker-verify.sh +266 -266
- package/docs/architecture.md +99 -95
- package/docs/audit.md +53 -0
- package/docs/mechanism-first-skill-mesh.md +163 -0
- package/docs/philosophy.md +47 -45
- package/docs/reflection.md +48 -34
- package/docs/routing.md +58 -45
- package/docs/troubleshooting.md +284 -0
- package/docs/workflows/environment-detection.md +63 -63
- package/docs/workflows/eval-harness.md +64 -57
- package/docs/workflows/fable-discipline.md +59 -59
- package/docs/workflows/fable-mode.md +12 -15
- package/docs/workflows/find-skills.md +36 -0
- package/docs/workflows/git-commit.md +71 -62
- package/docs/workflows/grill-me.md +62 -62
- package/docs/workflows/grill-with-docs.md +69 -62
- package/docs/workflows/harness-everything.md +95 -92
- package/docs/workflows/improve-codebase-architecture.md +68 -60
- package/docs/workflows/install-cognitive-os.md +60 -60
- package/docs/workflows/multi-agent-workspace.md +42 -0
- package/docs/workflows/repo-docs.md +64 -59
- package/docs/workflows/rewrite-commits.md +60 -60
- package/docs/workflows/security-review.md +77 -58
- package/docs/workflows/self-evolve.md +42 -59
- package/docs/workflows/skill-creator.md +80 -75
- package/docs/workflows/skill-style.md +64 -64
- package/docs/workflows/tdd.md +7 -4
- package/docs/workflows/to-spec.md +83 -0
- package/docs/workflows/to-tickets.md +80 -0
- package/docs/workflows/todo-driven-workflow.md +28 -30
- package/docs/workflows/using-git-worktrees.md +67 -63
- package/docs/workflows/verification-loop.md +71 -69
- package/docs/workflows/verify-before-claim.md +64 -60
- package/docs/workflows/zoom-out.md +74 -62
- package/environment-detection/SKILL.md +41 -77
- 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 +42 -59
- package/eval-harness/references/scoring-rubric.md +68 -0
- package/eval-harness/scripts/evaluate.js +77 -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/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 +41 -38
- package/fable-discipline/references/discipline-rules.md +22 -0
- package/fable-mode/CONTRACT-FORMAT.md +51 -51
- package/fable-mode/SKILL.md +39 -51
- package/fable-mode/agents/fable-orchestrator.md +99 -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/model-selector.js +129 -0
- package/find-skills/SKILL.md +48 -0
- package/find-skills/references/discovery-flow.md +102 -0
- package/find-skills/scripts/use-skill.js +106 -0
- package/git-commit/SKILL.md +45 -55
- 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 +43 -36
- 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 +41 -99
- package/grill-with-docs/references/session-playbook.md +97 -0
- package/harness-everything/SKILL.md +42 -141
- package/harness-everything/references/skill-registry.md +39 -0
- package/harness-everything/references/triage-and-tiers.md +116 -0
- package/harness-everything/scripts/bootstrap.js +203 -140
- package/harness-everything/scripts/routing-keywords.json +320 -0
- package/harness-everything/scripts/self-heal.js +241 -189
- package/harness-everything/scripts/tier-router.js +334 -219
- package/harness-everything/scripts/verify-gate.js +87 -18
- package/hooks/hooks.json +155 -155
- package/hooks/scripts/boundary-guard.js +55 -55
- package/hooks/scripts/contract-test.js +79 -79
- package/hooks/scripts/depth-guard.js +65 -65
- package/hooks/scripts/lib/harness-state.js +139 -228
- package/hooks/scripts/lib/platforms/claude.js +185 -42
- package/hooks/scripts/lib/platforms/codex.js +114 -46
- package/hooks/scripts/lib/platforms/continue.js +91 -41
- package/hooks/scripts/lib/platforms/copilot.js +109 -41
- package/hooks/scripts/lib/platforms/cursor.js +89 -41
- package/hooks/scripts/lib/platforms/hermes.js +57 -32
- package/hooks/scripts/lib/platforms/index.js +17 -17
- package/hooks/scripts/lib/platforms/worktrees.js +20 -20
- package/hooks/scripts/reset-circuit-breaker.js +30 -30
- package/hooks/scripts/rule-of-3-tracker.js +124 -91
- package/hooks/scripts/rule-of-3.js +14 -3
- package/hooks/scripts/state-persist.js +99 -99
- package/hooks/scripts/stop-gate.js +80 -80
- package/hooks/scripts/subagent-scope-guard.js +88 -88
- package/improve-codebase-architecture/SKILL.md +40 -44
- 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/install-cognitive-os/SKILL.md +38 -95
- 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 +37 -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 +32 -0
- package/multi-agent-workspace/references/orchestration.md +48 -0
- package/multi-agent-workspace/scripts/agency-catalog.js +190 -0
- package/multi-agent-workspace/scripts/index_memory.js +51 -0
- package/multi-agent-workspace/scripts/scaffold.js +253 -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 +27 -0
- package/multi-agent-workspace/workflows/04-launcher.md +16 -0
- package/opencode-plugin/README.md +94 -0
- package/opencode-plugin/hooks/circuit-breaker.js +121 -0
- package/opencode-plugin/hooks/compliance.js +128 -0
- package/opencode-plugin/hooks/post-edit.js +62 -0
- package/opencode-plugin/hooks/pre-complete.js +65 -0
- package/opencode-plugin/hooks/verify.js +140 -0
- package/opencode-plugin/plugin.json +17 -0
- package/opencode-plugin/test-hook-firing.js +198 -0
- package/package.json +50 -22
- 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 +46 -45
- 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 +37 -32
- package/rewrite-commits/references/workflow.md +18 -0
- package/scripts/installer.js +546 -649
- package/scripts/lib/advisory-text.js +167 -163
- package/scripts/lib/claude-hooks.js +84 -71
- package/scripts/lib/gitignore.js +199 -80
- package/scripts/lib/manifest.js +146 -82
- package/scripts/lib/prompts.js +241 -241
- package/scripts/lib/skills.js +260 -172
- package/scripts/lib/workspace.js +28 -28
- package/scripts/verify-install.js +147 -0
- package/security-review/SKILL.md +50 -511
- 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 +84 -0
- package/self-evolve/SKILL.md +47 -54
- package/self-evolve/references/memory-resolution.md +58 -0
- package/self-evolve/scripts/persist-memory.js +139 -40
- package/self-evolve/scripts/register-dynamic-skill.js +251 -0
- package/self-evolve/scripts/self-regression.js +110 -113
- package/skill-creator/SKILL.md +49 -91
- 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 +15 -0
- package/skill-creator/references/quality-principles.md +81 -81
- package/skill-creator/references/testing-workflow.md +20 -25
- package/skill-style/SKILL.md +42 -48
- package/skill-style/references/style-guide.md +36 -0
- package/tdd/SKILL.md +44 -53
- 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 +49 -0
- package/to-spec/SKILL.md +42 -0
- package/to-spec/references/process.md +77 -0
- package/to-spec/scripts/check-project-docs.js +259 -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 +40 -54
- package/todo-driven-workflow/references/execution-guide.md +27 -0
- package/using-git-worktrees/SKILL.md +49 -161
- package/using-git-worktrees/references/workflow-details.md +108 -0
- package/verification-loop/SKILL.md +46 -138
- 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 +43 -86
- package/verify-before-claim/references/verification-guide.md +73 -0
- package/zoom-out/SKILL.md +42 -90
- 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/mechanism-test.js +0 -251
- package/harness-everything/scripts/todo-cli.js +0 -157
- package/skill-style/STYLE.md +0 -37
|
@@ -1,38 +1,41 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: fable-discipline
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
|
15
|
-
|
|
|
16
|
-
| **
|
|
17
|
-
| **
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
-
|
|
37
|
-
|
|
38
|
-
|
|
1
|
+
---
|
|
2
|
+
name: fable-discipline
|
|
3
|
+
description: Enforce fable-mode's context discipline as a shadow guard. Use when running staged multi-agent loops to prevent context bloat, cap per-stage output size, keep each stage within its physical token boundaries, and stop agents from reading files outside the current stage's scope.
|
|
4
|
+
license: Apache-2.0
|
|
5
|
+
metadata:
|
|
6
|
+
author: Miya Daniel
|
|
7
|
+
version: 0.3.6
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Fable Discipline (Macro Task Discipline & Safety Net)
|
|
11
|
+
|
|
12
|
+
## 📋 Skill Contract
|
|
13
|
+
|
|
14
|
+
| Component | Specification |
|
|
15
|
+
| :--- | :--- |
|
|
16
|
+
| **Trigger / Input** | Background shadow for the whole duration `fable-mode` is active — not a standalone one-shot trigger. |
|
|
17
|
+
| **Expected Output** | State compaction after milestones; one Git commit per independent logic block; a state manifest at every sub-agent handoff. |
|
|
18
|
+
| **State Mutations** | None of its own — constrains how `fable-mode` and `multi-agent-workspace` mutate state. |
|
|
19
|
+
| **Enforcement Gate** | **HALTS execution immediately** if build errors diverge (more fixes → more breakage); forces `zoom-out` instead of continued patching. |
|
|
20
|
+
|
|
21
|
+
Shadow guard for `fable-mode`: MUST run in the background for its whole duration.
|
|
22
|
+
|
|
23
|
+
## USE FOR:
|
|
24
|
+
- Long architectural tasks under `fable-mode`
|
|
25
|
+
- Compacting state after milestones
|
|
26
|
+
- Sub-agent handoffs via `multi-agent-workspace`
|
|
27
|
+
- Halting on diverging build errors
|
|
28
|
+
|
|
29
|
+
## DO NOT USE FOR:
|
|
30
|
+
- Small tasks where `fable-mode` is not active
|
|
31
|
+
- Standalone one-shot invocation (background shadow skill)
|
|
32
|
+
- Routine single-file edits
|
|
33
|
+
|
|
34
|
+
## Core Rules
|
|
35
|
+
|
|
36
|
+
1. **Anti-context bloat**: After each milestone, compact state and decisions; drop unneeded history. No broad regex without precise conditions; no reading irrelevant files over 1000 lines.
|
|
37
|
+
2. **Physical boundaries**: Know your CWD before touching core architecture; one Git commit per independent logic block.
|
|
38
|
+
3. **Agent handoff**: Outgoing agents MUST leave a state manifest (completed APIs, expected inputs/outputs); incoming agents MUST verify it first.
|
|
39
|
+
4. **Circuit breaker**: If build errors diverge, HALT, call `zoom-out`, and map the error dependency graph for the human.
|
|
40
|
+
|
|
41
|
+
Deep dive: references/discipline-rules.md
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Fable Discipline — Full Detail
|
|
2
|
+
|
|
3
|
+
This skill acts as the shadow guard for `fable-mode`. As long as `fable-mode` is active, this skill MUST run in the background to prevent large tasks from spiraling out of control.
|
|
4
|
+
|
|
5
|
+
## 1. Anti-Context Bloat Defense
|
|
6
|
+
When executing large architectural tasks, conversation logs expand rapidly, leading to model attention loss (hallucinations or forgetting the original intent).
|
|
7
|
+
- **Strategic Compact**: After completing each core milestone, forcefully summarize the current state and decisions, discarding unnecessary past conversation details.
|
|
8
|
+
- **Avoid Broad Reads**: Prohibited from using broad Regex searches without precise conditions or reading irrelevant files over 1000 lines.
|
|
9
|
+
|
|
10
|
+
## 2. Strict Physical Boundaries
|
|
11
|
+
- **Environment Isolation**: Before modifying any core architecture, ensure you are clearly aware of the Current Working Directory (CWD).
|
|
12
|
+
- **Atomic Commits**: You are NOT allowed to modify dozens of files at once before testing. For every independently functioning logic block completed, advise the human to create a Git Commit as a safe save point.
|
|
13
|
+
|
|
14
|
+
## 3. Agent Handoff Protocol
|
|
15
|
+
When `fable-mode` spawns and switches between different sub-agents via `multi-agent-workspace`, strict handoff discipline must be observed:
|
|
16
|
+
- **State Manifest**: The previous agent MUST leave a clear state record (e.g., what APIs were completed, expected inputs/outputs).
|
|
17
|
+
- **Contract Testing**: The very first step for the succeeding agent is to verify if the state manifest left by the previous agent is correct.
|
|
18
|
+
|
|
19
|
+
## 4. Ultimate Circuit Breaker: Indefinite Halt
|
|
20
|
+
- Large tasks easily generate the sunk cost fallacy of "I think it's almost fixed, let me try one more time."
|
|
21
|
+
- If the system's Build Errors exhibit a divergent trend (the more you fix, the more it breaks), **HALT EXECUTION IMMEDIATELY**.
|
|
22
|
+
- Call `zoom-out`, organize the error dependency graph for the human, and seek architectural-level refactoring advice.
|
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
# Stage Contract Format
|
|
2
|
-
|
|
3
|
-
Stage contracts live in `.claude/harness-state/contracts/` and make fable-orchestrator's
|
|
4
|
-
"re-run or spot-check every stage's named check" discipline auditable instead
|
|
5
|
-
of a verbal claim. The `contract-test.js` hook (PostToolUse: Bash) watches for
|
|
6
|
-
the exact `checkCommand` running and fills in the result — you write the
|
|
7
|
-
contract, the hook resolves it.
|
|
8
|
-
|
|
9
|
-
## When to write one
|
|
10
|
-
|
|
11
|
-
Right before you (the orchestrator) run the Bash command that re-verifies a
|
|
12
|
-
stage's pass condition — one contract per stage, filed the moment you're about
|
|
13
|
-
to spot-check it. Not for every Bash call, only the ones that *are* the named
|
|
14
|
-
check.
|
|
15
|
-
|
|
16
|
-
## File
|
|
17
|
-
|
|
18
|
-
`.claude/harness-state/contracts/<stageId>.json`, created lazily. `stageId` is whatever you
|
|
19
|
-
numbered the stage in your stage map (`stage-3`, `db-migration`, etc).
|
|
20
|
-
|
|
21
|
-
## Schema
|
|
22
|
-
|
|
23
|
-
```json
|
|
24
|
-
{
|
|
25
|
-
"stageId": "stage-3",
|
|
26
|
-
"agent": "fable-worker-sonnet",
|
|
27
|
-
"task": "one-line description of what the worker was assigned",
|
|
28
|
-
"outputPath": "path to the artifact the worker produced",
|
|
29
|
-
"checkCommand": "the exact shell command you are about to run to verify it",
|
|
30
|
-
"status": "pending"
|
|
31
|
-
}
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
Write it with `status: "pending"` and the *exact* `checkCommand` string you're
|
|
35
|
-
about to run — the hook matches verbatim, not fuzzily. Then run that command.
|
|
36
|
-
The hook fills in `status` (`pass`/`fail`), `evidence` (tail of the command's
|
|
37
|
-
output), and `verifiedAt` for you; you don't write those fields yourself.
|
|
38
|
-
|
|
39
|
-
## Reading contracts back
|
|
40
|
-
|
|
41
|
-
Before delivering, `Read` (or `Grep status` across) `.claude/harness-state/contracts/*.json`.
|
|
42
|
-
Any file still `"status": "pending"` means the named check was declared but
|
|
43
|
-
never actually run — that stage's output hasn't been verified, whatever the
|
|
44
|
-
worker's report claimed. Resolve it before building further on that stage.
|
|
45
|
-
|
|
46
|
-
## Not a blocking gate
|
|
47
|
-
|
|
48
|
-
The hook can only react after a Bash call finishes — it can't stop a bad stage
|
|
49
|
-
from being built on in real time. It surfaces a failed check loudly (fed back
|
|
50
|
-
to you immediately after the command runs), but the actual discipline is still
|
|
51
|
-
yours: don't build on a stage whose contract is `pending` or `fail`.
|
|
1
|
+
# Stage Contract Format
|
|
2
|
+
|
|
3
|
+
Stage contracts live in `.claude/harness-everything/state/contracts/` and make fable-orchestrator's
|
|
4
|
+
"re-run or spot-check every stage's named check" discipline auditable instead
|
|
5
|
+
of a verbal claim. The `contract-test.js` hook (PostToolUse: Bash) watches for
|
|
6
|
+
the exact `checkCommand` running and fills in the result — you write the
|
|
7
|
+
contract, the hook resolves it.
|
|
8
|
+
|
|
9
|
+
## When to write one
|
|
10
|
+
|
|
11
|
+
Right before you (the orchestrator) run the Bash command that re-verifies a
|
|
12
|
+
stage's pass condition — one contract per stage, filed the moment you're about
|
|
13
|
+
to spot-check it. Not for every Bash call, only the ones that *are* the named
|
|
14
|
+
check.
|
|
15
|
+
|
|
16
|
+
## File
|
|
17
|
+
|
|
18
|
+
`.claude/harness-everything/state/contracts/<stageId>.json`, created lazily. `stageId` is whatever you
|
|
19
|
+
numbered the stage in your stage map (`stage-3`, `db-migration`, etc).
|
|
20
|
+
|
|
21
|
+
## Schema
|
|
22
|
+
|
|
23
|
+
```json
|
|
24
|
+
{
|
|
25
|
+
"stageId": "stage-3",
|
|
26
|
+
"agent": "fable-worker-sonnet",
|
|
27
|
+
"task": "one-line description of what the worker was assigned",
|
|
28
|
+
"outputPath": "path to the artifact the worker produced",
|
|
29
|
+
"checkCommand": "the exact shell command you are about to run to verify it",
|
|
30
|
+
"status": "pending"
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Write it with `status: "pending"` and the *exact* `checkCommand` string you're
|
|
35
|
+
about to run — the hook matches verbatim, not fuzzily. Then run that command.
|
|
36
|
+
The hook fills in `status` (`pass`/`fail`), `evidence` (tail of the command's
|
|
37
|
+
output), and `verifiedAt` for you; you don't write those fields yourself.
|
|
38
|
+
|
|
39
|
+
## Reading contracts back
|
|
40
|
+
|
|
41
|
+
Before delivering, `Read` (or `Grep status` across) `.claude/harness-everything/state/contracts/*.json`.
|
|
42
|
+
Any file still `"status": "pending"` means the named check was declared but
|
|
43
|
+
never actually run — that stage's output hasn't been verified, whatever the
|
|
44
|
+
worker's report claimed. Resolve it before building further on that stage.
|
|
45
|
+
|
|
46
|
+
## Not a blocking gate
|
|
47
|
+
|
|
48
|
+
The hook can only react after a Bash call finishes — it can't stop a bad stage
|
|
49
|
+
from being built on in real time. It surfaces a failed check loudly (fed back
|
|
50
|
+
to you immediately after the command runs), but the actual discipline is still
|
|
51
|
+
yours: don't build on a stage whose contract is `pending` or `fail`.
|
package/fable-mode/SKILL.md
CHANGED
|
@@ -1,51 +1,39 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: fable-mode
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
|
15
|
-
|
|
|
16
|
-
| **
|
|
17
|
-
| **
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
- If the task involves different professional domains (e.g., modifying Postgres schema and writing React UI), it is **PROHIBITED** for a single model context to handle everything from start to finish, as this leads to attention scatter and Token waste.
|
|
41
|
-
- **Mandatory Call**: Invoke the `create-agent-launcher` skill.
|
|
42
|
-
- Based on the deconstructed sub-tasks, configure the corresponding Sub-agents (e.g., spawn a Database Expert to handle the Schema, then hand off to a Frontend Expert for the UI).
|
|
43
|
-
|
|
44
|
-
### 3. Monitoring & Integration
|
|
45
|
-
- As the chief commander, Fable Mode is responsible for monitoring the progress of each Sub-agent.
|
|
46
|
-
- Ensure the outputs of various sub-agents can integrate perfectly.
|
|
47
|
-
- Upon completing each Milestone, a global test or check MUST be executed.
|
|
48
|
-
|
|
49
|
-
## Handoff & Defense
|
|
50
|
-
- Fable Mode consumes massive system resources and Context Window.
|
|
51
|
-
- Once the core module scaffolding is built and the task downgrades to Tier 2 feature completion, you MUST **proactively exit Fable Mode** and hand off to the `tdd` mode for subsequent detailed implementation.
|
|
1
|
+
---
|
|
2
|
+
name: fable-mode
|
|
3
|
+
description: "Stage large, multi-source or multi-session tasks through a written plan, named fable agents, failable per-stage checks, and skeptical delivery review; use fable-opus, fable-sonnet, or fable-haiku for explicit model selection."
|
|
4
|
+
license: Apache-2.0
|
|
5
|
+
metadata:
|
|
6
|
+
author: Miya Daniel
|
|
7
|
+
version: 0.3.5
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Fable Mode (v3)
|
|
11
|
+
|
|
12
|
+
## Skill Contract
|
|
13
|
+
|
|
14
|
+
| Component | Specification |
|
|
15
|
+
| :--- | :--- |
|
|
16
|
+
| **Trigger / Input** | Tier 3 work spanning multiple files, sources, or sessions. |
|
|
17
|
+
| **Expected Output** | Stage map, named-agent briefs, failable checks, and skeptical review. |
|
|
18
|
+
| **State Mutations** | Native host TODO tracker or a Markdown checklist; one JSON audit record per stage. |
|
|
19
|
+
| **Enforcement Gate** | `fable-mode/scripts/model-selector.js`, stage contracts, and `harness-everything/scripts/verify-gate.js`. |
|
|
20
|
+
|
|
21
|
+
## USE FOR:
|
|
22
|
+
- Large multi-file, multi-source, or multi-session work
|
|
23
|
+
- Explicit `fable on haiku`, `fable on sonnet`, or `fable on opus` requests
|
|
24
|
+
- Work needing named delegation and cold verification
|
|
25
|
+
|
|
26
|
+
## DO NOT USE FOR:
|
|
27
|
+
- One obvious single-pass edit
|
|
28
|
+
- Ordinary Tier 2 implementation or bugfix work
|
|
29
|
+
|
|
30
|
+
## Workflow
|
|
31
|
+
|
|
32
|
+
1. Discover the runtime and lock the authorized file scope before edits.
|
|
33
|
+
2. Write a numbered stage map with one artifact and pass condition per stage; allow at most two full replans.
|
|
34
|
+
3. Resolve the requested model with `model-selector.js`; never silently downgrade.
|
|
35
|
+
4. Delegate by named agent where available: Opus orchestrates, Sonnet reasons, Haiku handles mechanical work, and workers never spawn workers.
|
|
36
|
+
5. Write a stage contract, run its named check, then cold-review high-stakes artifacts with `fable-verifier`.
|
|
37
|
+
6. Record requested/effective model, fallback reason, stage brief, pass condition, verification command, and verifier result for every stage. Escalate unresolved blockers.
|
|
38
|
+
|
|
39
|
+
Model roles, fallback behavior, and the audit schema live in `references/model-matrix.md`.
|
|
@@ -1,92 +1,99 @@
|
|
|
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 writes the 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 file through Bash redirection,
|
|
12
|
-
heredocs, tee, sed -i, or any other side channel — that defeats the reason Write
|
|
13
|
-
was removed. If you catch yourself about to produce content, stop and delegate.
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
- **
|
|
72
|
-
|
|
73
|
-
- **
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
**
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
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 writes the 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 file through Bash redirection,
|
|
12
|
+
heredocs, tee, sed -i, or any other side channel — that defeats the reason Write
|
|
13
|
+
was removed. If you catch yourself about to produce content, stop and delegate.
|
|
14
|
+
|
|
15
|
+
Before the first stage, resolve the requested model with
|
|
16
|
+
`fable-mode/scripts/model-selector.js`. Carry its JSON record into every stage
|
|
17
|
+
brief. A missing model must produce an explicit `fallback` or `blocked` status;
|
|
18
|
+
never silently substitute a model. Every brief and handoff names the stage
|
|
19
|
+
artifact, pass condition, verification command, verifier result, and requested
|
|
20
|
+
versus effective model.
|
|
21
|
+
|
|
22
|
+
## Core loop
|
|
23
|
+
|
|
24
|
+
**1. Stage map (before touching anything).** Write the full stage plan first.
|
|
25
|
+
Number stages; give each a brief expected output. Each stage produces one
|
|
26
|
+
verifiable artifact; if a stage produces nothing checkable, merge it with the
|
|
27
|
+
next. Update the map when new information invalidates it — living document, not
|
|
28
|
+
contract. Replan budget: at most two full replans per run; a third means the task
|
|
29
|
+
is ambiguous at the requirements level — return the ambiguity to the caller
|
|
30
|
+
instead of burning stages. Scope rule: deliver the task as specified; new scope
|
|
31
|
+
discovered mid-run is surfaced as a recommendation at delivery, not silently
|
|
32
|
+
built.
|
|
33
|
+
|
|
34
|
+
**2. Delegate by name.** Every artifact-producing stage goes to a named agent via
|
|
35
|
+
the Task tool:
|
|
36
|
+
- `fable-worker-sonnet` — stage work needing real reasoning (research synthesis,
|
|
37
|
+
nontrivial code, analysis).
|
|
38
|
+
- `fable-worker-haiku` — bulk mechanical work (file processing, format
|
|
39
|
+
conversion, boilerplate, scraping structured data).
|
|
40
|
+
- `fable-verifier` — cold verification of a finished deliverable; brief it with
|
|
41
|
+
ONLY the spec and the artifact path, never your reasoning.
|
|
42
|
+
|
|
43
|
+
Brief each worker with: its specific task, the exact output path, relevant
|
|
44
|
+
context from prior stages, and the pass condition its artifact must satisfy.
|
|
45
|
+
Spawn independent stages concurrently; cap concurrent workers at four. Workers do
|
|
46
|
+
not spawn workers.
|
|
47
|
+
|
|
48
|
+
**3. Verify with a check that can fail — external artifacts only.** Each stage
|
|
49
|
+
defines a pass condition an external artifact satisfies: a test that runs, a file
|
|
50
|
+
that provably exists in the expected shape, a source actually fetched and read,
|
|
51
|
+
an output diffed against the spec. "I reviewed it and it looks right" is not a
|
|
52
|
+
check. Every check names the exact command, file, or comparison. Re-run or
|
|
53
|
+
spot-check each worker's named check yourself (Bash, read-only) before building
|
|
54
|
+
on its output. If a fix at stage N invalidates a prior stage's output, re-run
|
|
55
|
+
that stage's check before continuing.
|
|
56
|
+
|
|
57
|
+
Before running that spot-check command, write a stage contract per
|
|
58
|
+
`fable-mode/CONTRACT-FORMAT.md` — this turns "I re-ran it" into an artifact
|
|
59
|
+
`contract-test.js` fills in and later stages can audit, instead of a verbal
|
|
60
|
+
claim. Before delivering, confirm no `.claude/harness-everything/state/contracts/*.json` is still
|
|
61
|
+
`"status": "pending"` or `"fail"`.
|
|
62
|
+
|
|
63
|
+
**4. Self-critique before delivery.** Read the final output as a skeptical
|
|
64
|
+
reviewer. For high-stakes deliverables, spawn `fable-verifier` cold. If genuine
|
|
65
|
+
checking turns up nothing, say so plainly — do not manufacture a weakness. If the
|
|
66
|
+
task is beyond capability, name what was attempted and where it failed rather
|
|
67
|
+
than delivering plausible-sounding wrong output.
|
|
68
|
+
|
|
69
|
+
## Domain checks (instances of step 3)
|
|
70
|
+
|
|
71
|
+
- **Software:** every file the diff touches was actually opened; named test
|
|
72
|
+
command runs and passes; at least one error path exercised with output shown.
|
|
73
|
+
- **Research:** every load-bearing claim maps to a source fetched and read this
|
|
74
|
+
run — URL or document named; training-memory claims labeled as such.
|
|
75
|
+
- **Data:** shape printed before analysis (row count, columns, sample); quality
|
|
76
|
+
assertions (nulls, duplicate keys, out-of-range) run with output shown; one
|
|
77
|
+
subtotal recomputed independently.
|
|
78
|
+
- **Documents:** the produced file read back and diffed against the spec line by
|
|
79
|
+
line — on the rendered file, not the generating code.
|
|
80
|
+
- **Long-running:** work log kept; done criteria written and testable; each
|
|
81
|
+
continuation starts by re-reading the log.
|
|
82
|
+
|
|
83
|
+
## Operational rules (mandatory; include verbatim in every worker briefing)
|
|
84
|
+
|
|
85
|
+
**Verify before flag.** Before flagging any problem — verify it actually exists.
|
|
86
|
+
Grep, diff, run it, or check the source directly. Never report a problem that
|
|
87
|
+
hasn't been confirmed present. Absence of evidence is not the finding; web
|
|
88
|
+
silence is never grounds for a warning against the user's firsthand information.
|
|
89
|
+
Confirm, then flag.
|
|
90
|
+
|
|
91
|
+
**Warning threshold.** Keep a running count of minor concerns. At three
|
|
92
|
+
accumulated (unless the briefing sets a different number), stop and surface all
|
|
93
|
+
at once before continuing. An independently material, confirmed concern does not
|
|
94
|
+
wait for the threshold.
|
|
95
|
+
|
|
96
|
+
**Find-and-replace safety.** Anchor substring replaces on word boundaries
|
|
97
|
+
(`\bword\b`, never bare `word` — a bare `edge` replace mangles `Ledger`). Prefer
|
|
98
|
+
targeted string-replace on a unique anchor; never bare unanchored sed. After any
|
|
99
|
+
replace pass, grep for glued or malformed compounds before presenting.
|
|
@@ -1,32 +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.
|
|
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.
|