The one exception. Deliberately off, so an upgrading project keeps its old flow until it opts in. Set true and sprint plan refuses a discovery item, a CR demands a T-shirt size, and terminal status derives from children. See the two-backlog model
sprint.breakdown
enforce
enforce: sprint plan refuses a batch holding a unit with no Affects or no Points:, and prints no plan at all. judgement: the lane reports and does not block
review.two_role_after
unset
The unit id past which Done requires both review records - adversarial evidence and an independent sign-off. Forward-only, so existing units keep today’s behaviour
engagement_floor
floor
floor: work becomes a sized unit with acceptance criteria before it becomes a diff. judgement: the model decides when the process applies - which is measurably the same as no process at all
lessons.loop
enforce
enforce: the retro’s content is checked and every finding takes a disposition. judgement: reports, never blocks
tokens: 500000# forecast ceiling for the batch - a warning, never a gate
minutes: 240# wall-clock ceiling for the run
units: 8# unit-count ceiling
appetite:
minutes: 0# 0 = inherit capacity.minutes
units: 0# 0 = inherit capacity.units
The appetite is the circuit breaker. It is resolved once at plan time and stamped on the run, never auto-extended, and zero on an axis means unbounded. See sprint planning.
Opt-in. With routing.enabled, the plan stamps each unit with an advisory tier so cheap units run on your smaller model and hard ones on your bigger one.
Key
Default
Notes
routing.enabled
false
routing.models
{}
Map abstract tiers (tiny/small/medium/large/xlarge) to your own model identifiers. An undeclared tier degrades upward to the nearest declared larger tier, never downward
routing.floor
{bug: small, security: medium}
Minimum tier per unit kind
routing.critic_tier
match
The critic’s tier relative to the author. Never smaller than the author; above puts it one step up
routing.escalation.max_same_tier
2
Failed attempts before escalating a tier, within the unchanged total attempt cap
Path to the sdlc-studio checkout that lessons add --global writes into. Without it, promotion is refused rather than written into a copy the next update deletes
provenance.enforce
off
Gate on artefacts having been created by the tool, rather than reporting it