994 B
R122 — Tier-2 struct twins are folded on evidence or listed with a cause
id: R122 · group: - · status: active · tags: structs,census,twins · origin: PhaseEnd_Phase3.38 binding (T5.1) · added: 2026-09-30
A duplicate struct layout whose names are all placeholders (census tier 2) is never left apart silently: it is
either folded onto one canonical type on SHARED use-site evidence (tools/struct_twins.py), or listed in
docs/struct-twins.md with its per-class cause (SEPARATE, UNBOUND). The list is generated: rerun
tools/struct_twins.py --write as its own call after every fold, so type_census --check-structs never reads a
stale twin (twins_stale gates).
Why: G62/S106 keep layout twins without evidence apart ("per type, not per layout"), but an unlisted twin is indistinguishable from forgotten work; P38 T5 stopped at 198 classes because the gate had no list to read. Evidence: phase-ends/phase-3.38 tasks/T5.md, T5.1.md; docs/struct-twins.md (53 classes at P38 close).