harness-everything 0.3.6 → 0.4.1
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 +1 -1
- package/.claude-plugin/plugin.json +8 -7
- package/.github/workflows/behavioral-evals.yml +3 -3
- package/.github/workflows/ci.yml +49 -28
- package/.github/workflows/release.yml +52 -27
- package/.nvmrc +1 -0
- package/.releaserc.json +113 -0
- package/AGENTS.md +44 -24
- package/BENCHMARK_SOP.md +38 -18
- package/CHANGELOG.md +196 -3
- package/CONTRIBUTING.md +37 -9
- package/Dockerfile +1 -1
- package/PRIVACY.md +25 -0
- package/README.md +126 -91
- package/RELEASING.md +93 -0
- package/SUPPORT.md +27 -0
- package/TERMS.md +21 -0
- package/VERIFICATION.md +192 -284
- package/behavioral-evals/README.md +21 -0
- package/behavioral-evals/case-validator.js +194 -0
- package/behavioral-evals/cases/baseline-environment-detection.yaml +21 -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 +2 -2
- 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-rewrite-commits.yaml +34 -0
- package/behavioral-evals/cases/baseline-self-evolve.yaml +31 -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-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 +2 -2
- package/behavioral-evals/cases/pressure-complexity-skip.yaml +2 -2
- package/behavioral-evals/cases/pressure-scope-bypass.yaml +7 -2
- package/behavioral-evals/cases/pressure-sunk-cost-retry.yaml +7 -4
- package/behavioral-evals/cases/scope-discipline.yaml +2 -1
- package/behavioral-evals/cases/verify-before-done.yaml +7 -5
- 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/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/run-with-plugin.js +15 -31
- package/behavioral-evals/run.js +446 -105
- package/behavioral-evals/transcript-parser.js +591 -0
- package/bin/cli.js +24 -12
- package/ci/ab-test-cases/grill-me-adversarial.yaml +14 -4
- package/ci/ab-test-cases/tdd-test-first.yaml +13 -6
- package/ci/ab-test-cases/verification-loop-gates.yaml +20 -7
- package/ci/ab-test-cases/verify-before-claim-cites.yaml +7 -6
- package/ci/ab-test-harness.js +113 -38
- package/ci/action-gate-platform-doc.test.js +31 -0
- package/ci/action-gate.test.js +260 -0
- package/ci/cases/case2.json +2 -2
- package/ci/consistency-check.js +51 -5
- package/ci/description-collision.js +15 -6
- package/ci/disclosure-check.js +225 -0
- package/ci/doc-capability-consistency.test.js +180 -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-2aa-codex-action-gate-policy.test.js +117 -0
- package/ci/mechanism-2ab-openai-plugin-sync-integrity.test.js +80 -0
- package/ci/mechanism-2j-behavioral-runner.test.js +43 -1
- package/ci/mechanism-2k-reference-check.test.js +57 -2
- package/ci/mechanism-2l-multi-agent-workspace.test.js +202 -6
- 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/mutation-check.js +53 -0
- package/ci/mutation-loader.js +57 -0
- package/ci/negative-controls.js +76 -46
- 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 +73 -25
- package/ci/release-consistency-check.js +24 -1
- package/ci/repository-contract.test.js +17 -0
- package/ci/router-phase2-safety.test.js +81 -0
- package/ci/router-workflow-plan.test.js +264 -0
- package/ci/routing-check.js +6 -5
- package/ci/runner.js +6 -5
- package/ci/skill-routing-check.js +48 -11
- package/ci/test-behavioral-case-validation.js +62 -0
- package/ci/test-helper.js +10 -0
- package/ci/workflow-plan-consumers-edge.test.js +72 -0
- package/ci/workflow-plan-consumers.test.js +276 -0
- package/docs/architecture.md +137 -57
- package/docs/audit.md +22 -20
- package/docs/codex-action-gate.md +90 -0
- package/docs/issue-20-rollup.md +47 -0
- package/docs/mechanism-first-skill-mesh.md +22 -20
- package/docs/openai-plugin.md +118 -0
- package/docs/philosophy.md +28 -17
- package/docs/platform-capabilities.md +73 -0
- package/docs/platform-compatibility.json +270 -0
- package/docs/reflection.md +37 -22
- package/docs/release-evidence.md +27 -0
- package/docs/repository-contract.md +27 -0
- package/docs/routing.md +157 -44
- package/docs/security-audit.md +38 -0
- package/docs/troubleshooting.md +94 -51
- package/docs/verifier-boundaries.md +45 -0
- package/docs/workflows/fable-mode.md +77 -21
- package/docs/workflows/find-skills.md +40 -0
- package/docs/workflows/grill-with-docs.md +2 -2
- package/docs/workflows/multi-agent-workspace.md +22 -10
- package/docs/workflows/self-evolve.md +33 -0
- package/docs/workflows/tdd.md +36 -0
- package/docs/workflows/todo-driven-workflow.md +33 -0
- package/environment-detection/SKILL.md +3 -3
- package/eval-harness/SKILL.md +7 -7
- package/eval-harness/scripts/evaluate.js +12 -10
- package/evals/evaluation-reports.md +14 -0
- package/evals/harness-everything/tasks/positive-tier1.yaml +1 -1
- package/evals/harness-everything/tasks/positive-tier2.yaml +1 -1
- package/evals/harness-everything/tasks/positive-tier3.yaml +1 -1
- package/evals/install-cognitive-os/tasks/positive-trigger.yaml +1 -1
- package/fable-discipline/SKILL.md +2 -2
- package/fable-mode/CONTRACT-FORMAT.md +147 -33
- package/fable-mode/SKILL.md +3 -3
- package/fable-mode/agents/fable-orchestrator.md +95 -35
- package/fable-mode/execution-guardrails/SKILL.md +2 -2
- package/fable-mode/fable-haiku/SKILL.md +3 -3
- package/fable-mode/fable-opus/SKILL.md +3 -3
- package/fable-mode/fable-sonnet/SKILL.md +3 -3
- package/fable-mode/scripts/ensemble-review.js +371 -0
- package/fable-mode/scripts/model-selector.js +134 -3
- package/fable-mode/scripts/workflow-plan-consumer.js +337 -0
- package/find-skills/SKILL.md +5 -5
- package/find-skills/references/discovery-flow.md +1 -1
- package/find-skills/scripts/use-skill.js +7 -1
- package/git-commit/SKILL.md +4 -11
- package/grill-me/SKILL.md +5 -5
- package/grill-with-docs/SKILL.md +7 -7
- package/grill-with-docs/references/session-playbook.md +6 -4
- package/harness-everything/SKILL.md +23 -22
- package/harness-everything/references/router-workflow-plan.md +128 -0
- package/harness-everything/references/triage-and-tiers.md +173 -96
- 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 +13 -4
- 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/self-heal.js +29 -20
- package/harness-everything/scripts/tier-router.js +346 -221
- package/hooks/hooks.json +60 -15
- package/hooks/scripts/action-gate-rules.json +77 -0
- package/hooks/scripts/action-gate.js +528 -0
- package/hooks/scripts/atomic-commit-check.js +5 -5
- 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 +4 -3
- package/hooks/scripts/contract-test.js +118 -51
- package/hooks/scripts/lib/fable-contracts.js +121 -0
- package/hooks/scripts/lib/harness-state.js +164 -28
- package/hooks/scripts/lib/platforms/claude.js +45 -62
- package/hooks/scripts/lib/platforms/codex.js +35 -61
- package/hooks/scripts/lib/platforms/continue.js +7 -7
- package/hooks/scripts/lib/platforms/copilot.js +29 -53
- package/hooks/scripts/lib/platforms/hermes.js +71 -20
- package/hooks/scripts/openai-session-start.js +81 -0
- package/hooks/scripts/rule-of-3-tracker.js +9 -8
- package/hooks/scripts/rule-of-3.js +29 -21
- package/hooks/scripts/state-persist.js +5 -4
- package/hooks/scripts/stop-gate.js +2 -2
- package/hooks/scripts/subagent-scope-guard.js +144 -38
- package/hooks/scripts/subagent-start.js +19 -0
- package/hooks/scripts/subagent-stop.js +6 -0
- package/improve-codebase-architecture/SKILL.md +2 -4
- package/improve-codebase-architecture/references/README.md +16 -0
- package/install-cognitive-os/SKILL.md +28 -22
- package/multi-agent-workspace/SKILL.md +16 -15
- package/multi-agent-workspace/references/architecture-guide.md +13 -9
- package/multi-agent-workspace/references/orchestration.md +39 -22
- package/multi-agent-workspace/scripts/consume-workflow-plan.js +129 -0
- package/multi-agent-workspace/scripts/index_memory.js +79 -26
- 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 +258 -103
- package/multi-agent-workspace/templates/AGENTS.md +20 -0
- package/multi-agent-workspace/workflows/03-generation.md +8 -10
- package/multi-agent-workspace/workflows/04-launcher.md +5 -5
- package/opencode-plugin/README.md +114 -71
- package/opencode-plugin/hooks/verify.js +62 -12
- package/opencode-plugin/index.mjs +547 -0
- package/opencode-plugin/plugin.json +4 -12
- package/package.json +20 -4
- 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/repo-docs/SKILL.md +3 -7
- package/rewrite-commits/SKILL.md +2 -2
- package/scripts/build-openai-submission.js +158 -0
- package/scripts/installer.js +86 -11
- package/scripts/lib/advisory-text.js +25 -18
- package/scripts/lib/execution-contract.js +70 -0
- package/scripts/lib/manifest.js +34 -38
- package/scripts/lib/path-boundary.js +90 -0
- package/scripts/lib/skills.js +124 -70
- package/scripts/lib/workspace.js +269 -7
- package/scripts/repository-contract.js +213 -0
- package/scripts/sync-current-docs.js +12 -0
- package/scripts/sync-openai-plugin.js +91 -0
- package/scripts/sync-release-version.js +212 -0
- package/security-review/SKILL.md +4 -7
- package/security-review/scripts/audit-secrets.js +9 -8
- package/self-evolve/SKILL.md +9 -11
- package/self-evolve/references/memory-resolution.md +4 -1
- package/self-evolve/scripts/persist-memory.js +221 -88
- package/self-evolve/scripts/register-dynamic-skill.js +12 -10
- package/self-evolve/scripts/self-regression.js +23 -8
- package/skill-creator/SKILL.md +12 -14
- package/skill-creator/references/quality-checklist.md +1 -0
- package/skill-style/SKILL.md +4 -4
- package/skill-style/references/style-guide.md +29 -3
- 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 +20 -26
- package/tdd/fixtures/pass-evidence.json +100 -0
- package/tdd/fixtures/quality-scenarios.json +20 -0
- package/tdd/references/core-discipline.md +2 -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 +3 -5
- package/to-spec/scripts/check-project-docs.js +42 -62
- package/to-spec/scripts/project-docs-resolver.js +111 -0
- package/to-tickets/SKILL.md +4 -4
- package/todo-driven-workflow/SKILL.md +6 -4
- package/using-git-worktrees/SKILL.md +3 -3
- package/verification-loop/SKILL.md +4 -4
- package/verify-before-claim/SKILL.md +2 -2
- package/zoom-out/SKILL.md +4 -4
- package/ab-test-deep-analysis-2026-08-27.md +0 -383
- package/ab-test-results-2026-08-27.md +0 -152
- package/ab-test-statistical-analysis-31cases.md +0 -193
- package/opencode-plugin/hooks/circuit-breaker.js +0 -121
- package/opencode-plugin/hooks/compliance.js +0 -128
- package/opencode-plugin/hooks/post-edit.js +0 -62
- package/opencode-plugin/hooks/pre-complete.js +0 -65
- package/opencode-plugin/test-hook-firing.js +0 -198
|
@@ -1,51 +1,165 @@
|
|
|
1
|
-
# Stage Contract Format
|
|
1
|
+
# Fable Stage Contract Format
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
Issue #85 Phase 3 makes the stage map a machine-readable execution contract.
|
|
4
|
+
The router still chooses only the execution topology. Fable owns the stage map,
|
|
5
|
+
model selector, worker briefs, stage audit, replan budget, and cold verifier.
|
|
6
|
+
Phase 4 adds an optional bounded ensemble modifier without creating a new base
|
|
7
|
+
topology.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Run state is stored under the existing workspace-keyed global Harness state
|
|
10
|
+
root, never inside the repository:
|
|
10
11
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
```text
|
|
13
|
+
<workspace-state>/state/fable-runs/<runId>/
|
|
14
|
+
run.json
|
|
15
|
+
contracts/<stageId>.json
|
|
16
|
+
evidence/<stageId>.json
|
|
17
|
+
ensemble.json # only when ensemble review executes
|
|
18
|
+
```
|
|
15
19
|
|
|
16
|
-
|
|
20
|
+
`planId` is a deterministic content hash of the router contract. `runId` is
|
|
21
|
+
unique per orchestration. Two runs of the same plan therefore share a `planId`
|
|
22
|
+
but never share mutable stage-contract files.
|
|
17
23
|
|
|
18
|
-
|
|
19
|
-
numbered the stage in your stage map (`stage-3`, `db-migration`, etc).
|
|
24
|
+
## Stage schema v2
|
|
20
25
|
|
|
21
|
-
|
|
26
|
+
Every planned stage declares dependency and write scope before dispatch:
|
|
22
27
|
|
|
23
28
|
```json
|
|
24
29
|
{
|
|
25
30
|
"stageId": "stage-3",
|
|
31
|
+
"goal": "implement one bounded objective",
|
|
26
32
|
"agent": "fable-worker-sonnet",
|
|
27
|
-
"task": "
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
33
|
+
"task": "self-contained task statement",
|
|
34
|
+
"inputs": ["relevant files", "upstream outputs"],
|
|
35
|
+
"expectedOutputs": ["artifact or evidence"],
|
|
36
|
+
"outputPath": "path/to/artifact-or-null",
|
|
37
|
+
"dependsOn": ["stage-1"],
|
|
38
|
+
"writeSet": ["src/auth", "tests/auth.test.js"],
|
|
39
|
+
"checkCommand": "node --test tests/auth.test.js",
|
|
40
|
+
"passCondition": "exit 0",
|
|
41
|
+
"failureReturn": "failure summary + evidence + missing prerequisite"
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Rules:
|
|
46
|
+
|
|
47
|
+
- `stageId`, `goal`, `agent`, and `task` are required.
|
|
48
|
+
- `dependsOn` is always explicit. Use `[]` for a root stage.
|
|
49
|
+
- `writeSet` is always explicit. Use `[]` for a read-only stage.
|
|
50
|
+
- `writeSet` contains concrete repository-relative path scopes, not globs,
|
|
51
|
+
absolute paths, or `..` traversal.
|
|
52
|
+
- a directory scope covers descendants; overlapping scopes cannot run in the
|
|
53
|
+
same parallel batch.
|
|
54
|
+
- every `dependsOn` target must exist; self edges and cycles are invalid.
|
|
55
|
+
- `checkCommand` is exact-match evidence when present. `passCondition` explains
|
|
56
|
+
what that command proves; it does not replace the command result.
|
|
57
|
+
- workers do not widen their own `writeSet`. If scope must grow, return to the
|
|
58
|
+
orchestrator and produce a revised plan before dispatch.
|
|
59
|
+
|
|
60
|
+
## Workflow-plan consumer
|
|
61
|
+
|
|
62
|
+
Before dispatch, write the router contract and stage array to files and run:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
node fable-mode/scripts/workflow-plan-consumer.js \
|
|
66
|
+
--plan-file <router-contract.json> \
|
|
67
|
+
--stages-file <stages.json> \
|
|
68
|
+
--root <workspace> \
|
|
69
|
+
--run-id <optional-stable-run-label> \
|
|
70
|
+
--session-id <optional-host-session-id>
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
The consumer validates the graph, derives `planId`, creates the isolated run
|
|
74
|
+
root, and emits execution batches. It consumes only router-owned decisions:
|
|
75
|
+
strategy, parallelism, verifier requirement, workspace/memory hints, limits,
|
|
76
|
+
and requested-model metadata. It does **not** choose a model or execute a
|
|
77
|
+
stage.
|
|
78
|
+
|
|
79
|
+
For `fable-parallel`, every ready batch must have resolved dependencies and
|
|
80
|
+
pairwise non-overlapping write sets. An invalid graph or overlap rejects the
|
|
81
|
+
plan before workers are spawned. For `fable-staged` and
|
|
82
|
+
`fable-multi-agent-workspace`, the same dependency graph is serialized unless
|
|
83
|
+
a later validated plan explicitly allows parallelism.
|
|
84
|
+
|
|
85
|
+
## Bounded ensemble evidence
|
|
86
|
+
|
|
87
|
+
`workflowPlan.ensemble` is a modifier on a selected Fable topology, not a sixth
|
|
88
|
+
execution strategy. The kernel may add it only for high-uncertainty/high-stakes
|
|
89
|
+
work with comparable outputs (choice/ranking/verdict/recommendation) or when
|
|
90
|
+
preserving disagreement is itself the deliverable. Creative generation,
|
|
91
|
+
mechanical bulk work, explicit `no ensemble`, unavailable subagents, and blocked
|
|
92
|
+
base plans do not receive the modifier.
|
|
93
|
+
|
|
94
|
+
Current contract:
|
|
95
|
+
|
|
96
|
+
```json
|
|
97
|
+
{
|
|
98
|
+
"maxCandidates": 3,
|
|
99
|
+
"diversity": ["model", "prompt", "evidence"],
|
|
100
|
+
"synthesis": "preserve-disagreement",
|
|
101
|
+
"verifier": "independent",
|
|
102
|
+
"reasonCodes": ["ensemble-high-uncertainty-comparable-output"]
|
|
31
103
|
}
|
|
32
104
|
```
|
|
33
105
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
106
|
+
Each candidate passed to `fable-mode/scripts/ensemble-review.js` records a
|
|
107
|
+
bounded position, a model/prompt/evidence diversity fingerprint, objective
|
|
108
|
+
verification status/evidence, and optional correctness/cost observations.
|
|
109
|
+
Candidates with the same model+prompt+evidence fingerprint are not independent
|
|
110
|
+
and are rejected. The verifier uses a distinct identity, declares
|
|
111
|
+
`independent=true`, and supplies its own evidence.
|
|
112
|
+
|
|
113
|
+
The synthesizer keeps every position and its evidence. A strict majority is
|
|
114
|
+
only a proposal: any objective verification failure on the proposed position
|
|
115
|
+
blocks selection, and verifier rejection/inconclusive/mismatch also blocks it.
|
|
116
|
+
An accepted position therefore never deletes minority positions or evidence
|
|
117
|
+
gaps.
|
|
118
|
+
|
|
119
|
+
Run it after the candidate artifacts/checks exist:
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
node fable-mode/scripts/ensemble-review.js \
|
|
123
|
+
--plan-file <router-contract.json> \
|
|
124
|
+
--candidates-file <candidates.json> \
|
|
125
|
+
--verifier-file <verifier.json> \
|
|
126
|
+
--root <workspace> \
|
|
127
|
+
--run-id <runId> \
|
|
128
|
+
[--paired-evidence-file <paired-benchmark.json>]
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
The correlated result is written to `ensemble.json` under the same run root.
|
|
132
|
+
Correctness is recorded separately from tool calls, tokens, elapsed time,
|
|
133
|
+
retries, and failure mode so #71/#83 can consume the evidence without
|
|
134
|
+
conflating quality with cost. Missing telemetry is allowed and never changes
|
|
135
|
+
the strategy/result. No ensemble or multi-agent improvement claim is permitted
|
|
136
|
+
unless paired evidence establishes the same engine/model/fixture/rubric/config,
|
|
137
|
+
a sample count, effect estimate, and uncertainty.
|
|
138
|
+
|
|
139
|
+
## Verification evidence
|
|
140
|
+
|
|
141
|
+
`contract-test.js` watches Bash/PowerShell calls and resolves an exact
|
|
142
|
+
`checkCommand` only when it can correlate the command to one run/stage. The
|
|
143
|
+
result updates the stage contract and writes:
|
|
144
|
+
|
|
145
|
+
```text
|
|
146
|
+
evidence/<stageId>.json
|
|
147
|
+
```
|
|
38
148
|
|
|
39
|
-
|
|
149
|
+
with `planId`, `runId`, `stageId`, command, exit code, status, and captured
|
|
150
|
+
evidence. If the same command is pending in multiple uncorrelated runs, the
|
|
151
|
+
hook updates none of them and reports the ambiguity.
|
|
40
152
|
|
|
41
|
-
Before
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
worker's report claimed. Resolve it before building further on that stage.
|
|
153
|
+
Before delivery, every check-bearing contract in the run must be `pass` (not
|
|
154
|
+
`pending`, `planned`, `running`, or `fail`). A failed check returns to the
|
|
155
|
+
orchestrator for bounded re-planning.
|
|
45
156
|
|
|
46
|
-
##
|
|
157
|
+
## Scope audit
|
|
47
158
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
159
|
+
`subagent-scope-guard.js` snapshots active stage write sets at the beginning of
|
|
160
|
+
a worker burst and compares the post-burst Git diff paths with that immutable
|
|
161
|
+
snapshot. Expected paths are attributed to the matching stage; worker-level
|
|
162
|
+
attribution is added when the host exposes a worker/subagent id and the stage
|
|
163
|
+
contract records it. Ambiguous or out-of-scope changes exit 2. With no declared
|
|
164
|
+
stage contracts, the older conservative behavior remains: every newly changed
|
|
165
|
+
path requires review.
|
package/fable-mode/SKILL.md
CHANGED
|
@@ -4,7 +4,7 @@ description: "Stage large, multi-source or multi-session tasks through a written
|
|
|
4
4
|
license: Apache-2.0
|
|
5
5
|
metadata:
|
|
6
6
|
author: Miya Daniel
|
|
7
|
-
version: 0.
|
|
7
|
+
version: 0.4.0
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Fable Mode (v3)
|
|
@@ -16,7 +16,7 @@ metadata:
|
|
|
16
16
|
| **Trigger / Input** | Tier 3 work spanning multiple files, sources, or sessions. |
|
|
17
17
|
| **Expected Output** | Stage map, named-agent briefs, failable checks, and skeptical review. |
|
|
18
18
|
| **State Mutations** | Native host TODO tracker or a Markdown checklist; one JSON audit record per stage. |
|
|
19
|
-
| **Enforcement Gate** |
|
|
19
|
+
| **Enforcement Gate** | `<this-skill-dir>/scripts/model-selector.js`, stage contracts, and `<skills-repo-root>/harness-everything/scripts/verify-gate.js`. |
|
|
20
20
|
|
|
21
21
|
## USE FOR:
|
|
22
22
|
- Large multi-file, multi-source, or multi-session work
|
|
@@ -36,4 +36,4 @@ metadata:
|
|
|
36
36
|
5. Write a stage contract, run its named check, then cold-review high-stakes artifacts with `fable-verifier`.
|
|
37
37
|
6. Record requested/effective model, fallback reason, stage brief, pass condition, verification command, and verifier result for every stage. Escalate unresolved blockers.
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
Deep dive: <this-skill-dir>/references/model-matrix.md
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
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
|
|
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
4
|
tools: Read, Grep, Glob, Bash, Task, TodoWrite
|
|
5
5
|
model: opus
|
|
6
6
|
---
|
|
@@ -8,31 +8,59 @@ model: opus
|
|
|
8
8
|
You are the fable orchestrator. You coordinate; you do not produce. You have no
|
|
9
9
|
Write or Edit tool by design — every artifact must come from a worker agent. Your
|
|
10
10
|
Bash access is for read-only inspection and running verification commands (tests,
|
|
11
|
-
greps, diffs) ONLY. Never create or modify a
|
|
12
|
-
heredocs, tee, sed -i, or any other side channel — that defeats the
|
|
13
|
-
was removed. If you catch yourself about to produce content, stop
|
|
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.
|
|
14
33
|
|
|
15
34
|
Before the first stage, resolve the requested model with
|
|
16
35
|
`fable-mode/scripts/model-selector.js`. Carry its JSON record into every stage
|
|
17
|
-
brief.
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
versus effective model.
|
|
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.
|
|
21
39
|
|
|
22
40
|
## Core loop
|
|
23
41
|
|
|
24
|
-
**1. Stage map (before
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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:
|
|
36
64
|
- `fable-worker-sonnet` — stage work needing real reasoning (research synthesis,
|
|
37
65
|
nontrivial code, analysis).
|
|
38
66
|
- `fable-worker-haiku` — bulk mechanical work (file processing, format
|
|
@@ -40,10 +68,17 @@ the Task tool:
|
|
|
40
68
|
- `fable-verifier` — cold verification of a finished deliverable; brief it with
|
|
41
69
|
ONLY the spec and the artifact path, never your reasoning.
|
|
42
70
|
|
|
43
|
-
Brief each worker with: its specific task,
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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.
|
|
47
82
|
|
|
48
83
|
**3. Verify with a check that can fail — external artifacts only.** Each stage
|
|
49
84
|
defines a pass condition an external artifact satisfies: a test that runs, a file
|
|
@@ -54,17 +89,42 @@ spot-check each worker's named check yourself (Bash, read-only) before building
|
|
|
54
89
|
on its output. If a fix at stage N invalidates a prior stage's output, re-run
|
|
55
90
|
that stage's check before continuing.
|
|
56
91
|
|
|
57
|
-
|
|
58
|
-
`
|
|
59
|
-
`
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
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.
|
|
68
128
|
|
|
69
129
|
## Domain checks (instances of step 3)
|
|
70
130
|
|
|
@@ -7,7 +7,7 @@ description: >-
|
|
|
7
7
|
license: Apache-2.0
|
|
8
8
|
metadata:
|
|
9
9
|
author: Miya Daniel
|
|
10
|
-
version: 0.
|
|
10
|
+
version: 0.4.0
|
|
11
11
|
---
|
|
12
12
|
|
|
13
13
|
# Execution Guardrails
|
|
@@ -40,4 +40,4 @@ metadata:
|
|
|
40
40
|
|
|
41
41
|
These rules are always-on, even when `fable-mode`'s staged loop is not running.
|
|
42
42
|
|
|
43
|
-
Deep dive: references/guardrail-rules.md
|
|
43
|
+
Deep dive: <this-skill-dir>/references/guardrail-rules.md
|
|
@@ -4,7 +4,7 @@ description: "Run staged fable work on Haiku for bulk mechanical tasks with expl
|
|
|
4
4
|
license: Apache-2.0
|
|
5
5
|
metadata:
|
|
6
6
|
author: Miya Daniel
|
|
7
|
-
version: 0.
|
|
7
|
+
version: 0.4.0
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Fable Mode — Haiku
|
|
@@ -28,9 +28,9 @@ metadata:
|
|
|
28
28
|
|
|
29
29
|
## Run it
|
|
30
30
|
|
|
31
|
-
1. Resolve `haiku` through
|
|
31
|
+
1. Resolve `haiku` through `<this-skill-dir>/../scripts/model-selector.js`.
|
|
32
32
|
2. Spawn `fable-worker-haiku` when available; otherwise use an inline fallback only when the audit record says so.
|
|
33
33
|
3. Brief one bounded output path and a named check; workers do not spawn workers.
|
|
34
34
|
4. Route synthesis blockers to Sonnet/Opus and cold-review unsupervised delivery with `fable-verifier`.
|
|
35
35
|
|
|
36
|
-
Use
|
|
36
|
+
Use `<this-skill-dir>/../references/model-matrix.md` for the audit fields and fallback policy.
|
|
@@ -4,7 +4,7 @@ description: "Run staged fable orchestration on Opus for cross-stage synthesis,
|
|
|
4
4
|
license: Apache-2.0
|
|
5
5
|
metadata:
|
|
6
6
|
author: Miya Daniel
|
|
7
|
-
version: 0.
|
|
7
|
+
version: 0.4.0
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Fable Mode — Opus
|
|
@@ -28,9 +28,9 @@ metadata:
|
|
|
28
28
|
|
|
29
29
|
## Run it
|
|
30
30
|
|
|
31
|
-
1. Resolve `opus` through
|
|
31
|
+
1. Resolve `opus` through `<this-skill-dir>/../scripts/model-selector.js`.
|
|
32
32
|
2. Spawn `fable-orchestrator` when the runtime exposes it; otherwise report the inline fallback explicitly.
|
|
33
33
|
3. The orchestrator owns scope lock, at most two replans, stage contracts, named worker delegation, and escalation; it never produces artifacts itself.
|
|
34
34
|
4. Cold-review high-stakes deliverables with `fable-verifier`; report every unverified stage.
|
|
35
35
|
|
|
36
|
-
Use
|
|
36
|
+
Use `<this-skill-dir>/../references/model-matrix.md` for the audit fields and fallback policy.
|
|
@@ -4,7 +4,7 @@ description: "Run staged fable work on Sonnet for non-trivial implementation, re
|
|
|
4
4
|
license: Apache-2.0
|
|
5
5
|
metadata:
|
|
6
6
|
author: Miya Daniel
|
|
7
|
-
version: 0.
|
|
7
|
+
version: 0.4.0
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Fable Mode — Sonnet
|
|
@@ -28,9 +28,9 @@ metadata:
|
|
|
28
28
|
|
|
29
29
|
## Run it
|
|
30
30
|
|
|
31
|
-
1. Resolve `sonnet` through
|
|
31
|
+
1. Resolve `sonnet` through `<this-skill-dir>/../scripts/model-selector.js`; normalize `sonnect` to Sonnet.
|
|
32
32
|
2. Spawn `fable-worker-sonnet` when available, otherwise use a visible inline fallback.
|
|
33
33
|
3. Brief the exact artifact path, context, and pass condition; workers do not spawn workers.
|
|
34
34
|
4. Send high-stakes artifacts to `fable-verifier` and escalate contradictions instead of guessing.
|
|
35
35
|
|
|
36
|
-
Use
|
|
36
|
+
Use `<this-skill-dir>/../references/model-matrix.md` for the audit fields and fallback policy.
|