Gap
conventions/engineering/enforceability-tiers.md classifies conventions
by which tier can decide them (deterministic / detect-then-judge /
reasoning-only) and routes a recurring review finding to the mechanism
its tier permits (linter/hook → deterministic; advisory flag → detect-then-judge;
prose criteria → reasoning-only).
It does not speak to the adjacent in-task execution move: when an agent
is doing deterministic sub-work during a task (counting, diffing, sorting,
transforming, matching, sweeping across files, arithmetic), it should offload
that to a script that runs and returns real output, then reason only afterward
over that output — rather than performing the computation in its head. There is
no convention for this discipline today.
Proposed convention
An execution-discipline convention (sibling to enforceability-tiers.md,
reusing its tier vocabulary):
- Deterministic sub-work in flight gets a script/tool that runs and
returns real output; the model reasons after, over that output. The model
is a poor calculator and line-counter; a hand-tallied count carries a silent
error a script would not.
- The tier vocabulary sets the boundary in both directions: script the
deterministic; script only the detect half of detect-then-judge (the
verdict stays judgement — a flag is a candidate, never the ruling); never
script reasoning-only work (a script there manufactures false confidence).
- One-off / session-time scope. A recurring deterministic check is a
separate concern already covered by the "Routing a recurring finding"
section (→ a standing hook); this convention governs the throwaway,
in-the-moment script, not standing automation.
- Reasoning-only judgement, same enforceability tier as any execution
discipline.
Why now
The re-anchor plugin's script-the-deterministic-work skill
(melodic-software/claude-code-plugins#293) re-anchors this discipline. It
cites enforceability-tiers.md for the tier vocabulary but has no standards
source for the in-task "script it now" application, so it currently flags this
exact gap rather than inventing a rubric in the skill — the same pattern as
tighten-your-output's markdown-terseness gap (#164). Criteria belong here,
adjacent to the tier convention, not in a consuming skill.
🤖 Generated with Claude Code
Gap
conventions/engineering/enforceability-tiers.mdclassifies conventionsby which tier can decide them (deterministic / detect-then-judge /
reasoning-only) and routes a recurring review finding to the mechanism
its tier permits (linter/hook → deterministic; advisory flag → detect-then-judge;
prose criteria → reasoning-only).
It does not speak to the adjacent in-task execution move: when an agent
is doing deterministic sub-work during a task (counting, diffing, sorting,
transforming, matching, sweeping across files, arithmetic), it should offload
that to a script that runs and returns real output, then reason only afterward
over that output — rather than performing the computation in its head. There is
no convention for this discipline today.
Proposed convention
An execution-discipline convention (sibling to
enforceability-tiers.md,reusing its tier vocabulary):
returns real output; the model reasons after, over that output. The model
is a poor calculator and line-counter; a hand-tallied count carries a silent
error a script would not.
deterministic; script only the detect half of detect-then-judge (the
verdict stays judgement — a flag is a candidate, never the ruling); never
script reasoning-only work (a script there manufactures false confidence).
separate concern already covered by the "Routing a recurring finding"
section (→ a standing hook); this convention governs the throwaway,
in-the-moment script, not standing automation.
discipline.
Why now
The
re-anchorplugin'sscript-the-deterministic-workskill(melodic-software/claude-code-plugins#293) re-anchors this discipline. It
cites
enforceability-tiers.mdfor the tier vocabulary but has no standardssource for the in-task "script it now" application, so it currently flags this
exact gap rather than inventing a rubric in the skill — the same pattern as
tighten-your-output's markdown-terseness gap (#164). Criteria belong here,adjacent to the tier convention, not in a consuming skill.
🤖 Generated with Claude Code