KB-6584

07 — Technical Addendum SCAFFOLD: SB-3 Generic IU Axis Substrate (2026-06-01)

4 min read Revision 1
one-roof-governancescaffoldsb-3iu-axis-envelopeopen-axisaxis-registryiu-axis-valuetrack-t5gated-on-op-bdesign-only2026-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_envelope 216 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_value store (one row per IU×axis value) so a 4th axis becomes data, not DDL.
  • Reframe iu_three_axis_envelope as 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.
Back to Knowledge Hub knowledge/dev/reports/architecture/one-roof-governance-technical-addendum-and-implementation-index-2026-06-01/07-technical-addendum-sb3-iu-axis-envelope-scaffold.md