@@ -78,6 +78,26 @@ byte), not the *shape*. **Reconciliation:** make the family:identity split a
7878ratified, the FMA ` Guid ` is a constrained projection of the canon, not a
7979replacement.
8080
81+ > ** ⊘ REGRADE — MIGRATION MANDATORY (operator, 2026-07-04). F-3 inverts.** The
82+ > framing above — "the u24 tail is the canon; the byte-direct is a constrained
83+ > projection, not a replacement" — is ** superseded** . Per the operator ruling and
84+ > ` E-V3-FACET-4-PLUS-12 ` (operator-locked 2026-07-02), the ** byte-grouped facet IS
85+ > the canon and the flat ` u24 ++ u24 ` tail is V1-LEGACY, forbidden for new units.**
86+ > V3 is content-blind: ` classid(4) + 12-byte payload ` as an axis-grouped register —
87+ > ` 6×(u8:u8) ` / ` 4×(u8:u8:u8) ` / ` 3×(u8:u8:u8:u8) ` , the ClassView holds every
88+ > reading at once (` part_of:is_a ` / ` X:Y ` / ` palette256² ` / ` segment:taxonomy ` /
89+ > typed) and ` u8:u8 ` is ** never widened** . So the "gap is only per-field width
90+ > (u16 vs byte)" reading is wrong twice over: (a) the go-forward width is the
91+ > ** byte** (u8: u8 pair), not u16 (u16 is the deprecated V2 flat read); (b) a flat
92+ > u24 has ** no axis** and cannot carry a rail — it is not a width variant of the
93+ > facet, it is a different (retired) shape. The class-local carve intuition (F-3
94+ > "make the split a per-classid property") survives and is * exactly right* — but it
95+ > is the ** ClassView projecting the content-blind (u8: u8 ) register per classid** ,
96+ > not a u24 width knob. Reconciliation is now MANDATORY, not "until ratified":
97+ > ` ogar-from-ruff ` already mints the V3 facet (` ruff_spo_address::Facet ` );
98+ > ` ogar-fma-skeleton::Guid ` classid 2→4 (F-2) is the remaining code delta. Canon
99+ > pin regraded in ` CLAUDE.md ` P0 (dated 2026-07-04, append-only).
100+
81101### F-4 — ` [G] ` ** endianness: FMA tiers are container-first (big-endian); canon is LE throughout.**
82102
83103` Guid::classid() ` reads ` (bytes[0] << 8) | bytes[1] ` , so ` 0x0A03 ` stores as
0 commit comments