skraft-difficulty-routing

Evaluates three orthogonal axes at the DISCOVER phase exit (entry point, depth tier, difficulty tier) and persists the decision to state.json before transitioning to DISCUSS.

When to use

Entry contract

Exit contract

Invariants

Why this shape

Explicit routing prevents silent quality-level drift between runs. Persisting the decision in state.json makes it auditable and consultable by all pipeline agents.

« Clean code reads like well-written prose. » — Martin, R. C., Clean Code, 2008.

Immutable invariants guarantee that no custom configuration can remove TDD or violate architectural boundaries — the pipeline’s trustworthiness rests on this guarantee.

Allowed customisation

See also