core/docs/plans
Shay 3c5084ad2d docs(plans): the 2A/2B split is a measured result, not a prediction
Third correction, same session, again from measurement rather than
argument.

I specified the Phase 2A/2B split as "a table is off-serving only when
every caller is proven eval-only," then computed the actual serving import
closure: 227 first-party modules from the six real serving entries, and
ALL 13 table-owning modules are in it — 13 of 13, including
generate/templates.py via pipeline.py -> realizer.py -> templates.py. So
the static test I had just written returns "everything is serving" and
discriminates nothing.

Import-reachable is not call-reachable. Importing a module executes its
table literals (pure data) but not its functions. The chain
realize_target -> render_step -> _inflect_predicate -> base_form is closed
and small enough to verify exhaustively, and realize_target has zero
non-eval non-test callers, so §1.2 and §1.4 stand as written.

But Python call-reachability is not statically decidable in general.
So the arbiter for this arc is EMPIRICAL: make the change, run the 11
pinned lanes, let byte-identity decide. That is stronger than a static
claim because it tests behaviour instead of predicting it, and it is what
the lane pins already encode as doctrine.

Consequence: 2A and 2B are now defined as a RESULT. A change is 2A if the
pins come back byte-identical and 2B if they move. Work the changes in
order, run the pins, let the split fall out — do not argue a change into
2A.
2026-07-26 15:55:03 -07:00
..
adr-0241-0242-mastery-close-status.md docs(adr-0243): commit ADR-0243 + implementation plan, pin sketch defects 2026-07-16 21:53:20 -07:00
adr-0241-0242-session-completion-summary-2026-07-15.md docs(governance): RATIFY — ADR-0241 and ADR-0242 → Accepted (Joshua Shay, 2026-07-15) 2026-07-15 15:25:47 -07:00
adr-0241-cohesion-mastery-plan-p0-p12.md docs(plans): archive Plan A/B + session completion summary (W2) 2026-07-15 12:49:00 -07:00
adr-0242-drive-complete-plan-d0-d10.md docs(plans): archive Plan A/B + session completion summary (W2) 2026-07-15 12:49:00 -07:00
adr-0243-implementation-plan.md docs(adr-0243): Phase 3 lane brief pack (A/B/C) + correct stale readback-rules claim 2026-07-17 06:48:33 -07:00
audio-compiler-eval-plan.md chore: Refactor CLI and Governance Anchors (#926) 2026-07-03 12:34:56 -07:00
audio-compiler-spec.md chore: Refactor CLI and Governance Anchors (#926) 2026-07-03 12:34:56 -07:00
capability_roadmap.md Lane 4: Registry Consolidation (language_packs to packs) 2026-07-04 15:11:28 -07:00
core-general-advancement-plan.md
curriculum-license-loop-2026-07-25.md docs(arc): reconcile the arc's records with what the units measured 2026-07-26 12:33:30 -07:00
DEMO-PACKAGING-CHECKLIST.md docs: reorganize docs landscape 2026-06-30 16:59:36 -07:00
formation_pipeline_plan.md chore: Refactor CLI and Governance Anchors (#926) 2026-07-03 12:34:56 -07:00
generalization-arc-2026-07-24.md docs(arc): reconcile the arc's records with what the units measured 2026-07-26 12:33:30 -07:00
grammar-unification-2026-07-26.md docs(plans): the 2A/2B split is a measured result, not a prediction 2026-07-26 15:55:03 -07:00
PUBLIC-DEMO-ROADMAP.md docs: reorganize docs landscape 2026-06-30 16:59:36 -07:00
vision-compiler-eval-plan.md chore: Refactor CLI and Governance Anchors (#926) 2026-07-03 12:34:56 -07:00
vision-compiler-spec.md chore: Refactor CLI and Governance Anchors (#926) 2026-07-03 12:34:56 -07:00