Home / Projects / Orchestrata Ultimate / Decisions / ADR index / ADR-0012

ADR-0012: Semantic anchors are requirement-derived, not code-derived

field value
Status Accepted
Date 2026-07-23
Register factory (docs/adr, 4-digit ids)
Source docs/adr/0012-semantic-anchors-are-requirement-derived.md — permalink at bdafa201a (unchanged on master since that commit)
Wiki register entry ADR-0012 (wiki status: Accepted)

← ADR-0011 · ADR-0013 →

The record

Context

Every automated correctness check in the original design derived from the code: structural conformance, coverage, and — at the top of the anti-gaming stack — mutation testing.

Mutation testing generates mutants from the implementation and measures whether tests detect deviations from what the code currently does. It therefore certifies test sensitivity, never behavioural correctness. A self-consistent wrong-implementation + wrong-test pair, both produced from one misreading of a requirement, achieves a 100% mutation score while pinning the wrong behaviour. This is a structural ceiling, not a tooling gap: no amount of building raises it.

Decision

The ratified artefact carries requirement-derived semantic anchors — constraints on behaviour that do not derive from the implementation, and so cannot be co-authored by the code:

Anchors are checked deterministically, and anchor satisfaction is a gate.

Alternatives rejected

Consequences

Provenance

Round-2 Opus established the mutation ceiling; the anchor response was introduced in v0.3.0. Round-3 Opus credited it as "the substantive advance in v0.3.0 — a different kind of check", while insisting the dial's price and the misinterpretation limit be stated (ADR-0016).

Rulings cited

None.

Specs cited