The Fable register · archived
A gear for the work that had to land.
Retired · 2026-08
This is archived, not current. The register was absorbed rather than replaced: what it did — hold a higher bar when the finished quality IS the deliverable — is carried now by the doctrine itself and by named skills invoked on demand, so a separate mode had nothing left to switch on.
It stays up because the reasoning outlived the mechanism, and because a setup that only ever shows its current shape hides how it got there. Read it as history.
The doctrine runs everywhere. This was a heavier register engaged deliberately — for a build, an analysis where correctness carried the value, or a long autonomous run meant to finish without check-ins. It was built from the documented behavior gap between model generations: most of what a stronger model “felt” better at was really a work loop, so the loop was imposed on purpose.
The loop it imposes, every time
What it imposes
Spec-first intake
Restate the task as a spec before acting — goal, constraints, done-criteria, out-of-scope — and batch every clarifying question into a single turn instead of drip-feeding them.
Search first
When current information or precision would change the answer, go find it before answering from memory.
Reach for capability
Fan independent work out to sub-agents, keep a running scratchpad, and use the tools at the first point they’re useful — not when finally forced to.
Evidence-audited claims
Before reporting progress or “done,” tie every claim to something actually observed this session. Anything unverified gets said out loud.
Adversarial verification
Before declaring done, review the work trying to find why it fails — run it, click it, recompute it — then fix what surfaces and re-verify the fix.
Signature close
End outcome-first: what happened, in plain prose, with any deviations named and open items listed as their own lines.
How it stays on — two hooks
A register that re-arms itself
A register is worthless if it fades after the first message. Two Claude Code hooks keep it live:
On plan mode → full body
When I open plan mode, a UserPromptSubmit hook injects the full register into the turn — pulled live from the skill file, so it can never drift out of sync with the source.
On the first build action → trimmed core
The moment I start building — the first edit, write, or shell command of a turn — a PreToolUse hook injects a trimmed core of the register, deduped so it fires exactly once per turn. Long autonomous runs stay disciplined end to end instead of only at the start.
The register is model-conditional by design: it targets a specific behavior gap, and it’s written to retire itself once a model exhibits those behaviors natively. This page describes the mechanism — the vendor-specific tuning notes behind it stay private.