07 — Technical Addendum SCAFFOLD: SB-3 Generic IU Axis Substrate (2026-06-01)
07 — Technical Addendum SCAFFOLD: SB-3 Generic IU Axis Substrate
SCAFFOLD only. No DDL, no SQL. Frames future T5. GATED on OP-B (T2).
Purpose
Frame the future design that makes the open-axis principle true at the IU substrate — today iu_three_axis_envelope hardcodes exactly 3 axes (axis_a/b/c), so a 4th axis would require ALTER TABLE. This is the keystone honesty caveat: M-DEF-8/9 ("no fixed axis array") is concept-true but substrate-false at IU today.
Controlling inputs
- Concept canon doc 02 (open-axis model, Axis Registry, M-DEF-8/9, IU-first-class) and doc 03 (SB-3 keystone caveat).
- Round-4 doc 05 (IU & open-axis final hardening;
iu_three_axis_envelope216 rows; reconstruction/vector invariants non-exemptable) + doc 08. - IU foundation doc — IU-first-class concept (CURRENT_CONCEPT_CANON); its axis-envelope sections are DO_NOT_USE_FOR_IMPLEMENTATION.
- This package doc 03 §3.1 (SB-3); doc 04 (T5).
Current blocker status
OPEN. Substrate hardcodes 3 axes. Precondition: OP-B (IU owner) must be decided (T2) before this design is committed, because the IU owner governs the axis store.
Exact scope of the future design (T5)
- Specify the Axis Registry as the ground truth for which axes exist (axes are data, governed objects per M-DEF-8/9).
- Specify a generic
iu_axis_valuestore (one row per IU×axis value) so a 4th axis becomes data, not DDL. - Reframe
iu_three_axis_envelopeas a hot-cache projection of the generic store (not the source of truth) — demote, do not delete; design the rebuild/refresh path. - Preserve the non-exemptable reconstruction & vector-consistency invariants through the change.
- Prove, in read-only rehearsal, that adding a 4th axis touches no DDL.
Dependencies
- Gated on OP-B (T2). Feeds T10 (IU integration).
- Interacts with Axis Registry concept (M-DEF-8/9) and the count>1 candidacy rule (an axis becomes a candidate when count>1).
Known constraints
- Open-axis must be real at substrate: no fixed axis array anywhere after this design.
- Reconstruction + vector invariants are non-exemptable.
- Envelope becomes a projection, not truth — no logic may read the 3-column shape as authoritative.
Forbidden implementation shortcuts
- ❌
ALTERing the live envelope or committing the generic store. - ❌ Designing before OP-B is decided.
- ❌ Leaving any code path that assumes exactly 3 axes (residual hidden hardcode — the critique prompt specifically hunts this).
Acceptance criteria for the future detailed design
Axis Registry + generic iu_axis_value specified; envelope reframed as hot-cache projection with a rebuild path; 4th-axis-as-data proven in rehearsal; invariants preserved; OP-B precondition honored; rollback; no committed mutation.
Where future detailed docs must be added
This package (e.g. 07a-sb3-iu-axis-substrate-design.md), after OP-B. Pointer added here.
What old docs must NOT be used as controlling input
- The IU foundation doc's 3-axis envelope sections (DO_NOT_USE_FOR_IMPLEMENTATION).
- Any pre-patch design that treats 3 axes as fixed.