ruling-2026-08-30-unit11-scopeThis ruling records the Principal’s decision on the six open questions a read-only
Unit 11 scope descent surfaced but explicitly did not resolve. The descent itself
(.unit11/SCOPE-DESCENT.md at the time of this ruling, untracked investigation
evidence, corrected additively after Sparring’s independent review found a false
namespace-mention claim, not a durable record) is superseded as the citable scope
authority by this file. No code, curriculum content, or SOW exists for Unit 11 yet;
this ruling authorizes scope only, not implementation, and not the SOW’s own
authoring — see “Next authorized action” below.
docs/sows/sovereign-agent-v1-educational-control-plane.md:62-68) splits one
30-day pilot across two units — Unit 11 “starts” it, Unit 12 “finishes” it — with
no operational definition anywhere in the ratified record of what “starting”
concretely produces.docs/v0.6-soak.md naming collision with the unrelated Unit-12-owned
“Andrea-profile soak” concept.docs/units-0-6-contract.md’s “expands, reorganises and polishes” language for
Chapters 0-7.Adopt a bounded form of option (d) named in the descent: an operational marker plus a governance receipt, not a hollow prose claim and not a mechanism that reaches into Unit 12’s own finish/verify/soak/release territory.
Unit 11 must implement an explicit, durable pilot-start act producing:
docs/rulings/2026-08-29-unit9-pulse-is-separate-from-supervisor.md).pilot.started event or equivalently explicit event kind.docs/sows/sovereign-agent-v1-educational-control-plane.md:21’s
own done_when phrase — “30-day Sovereign Store pilot -> redacted proof pack
accepted” — the sole ratified source naming what completion produces).Unit 11 must NOT implement pilot completion, elapsed-time acceptance, soak scoring, credentialed verification, proof-pack acceptance, or release — those remain entirely Unit 12’s.
The operational marker starts the clock. A short append-only governance receipt must cite the real marker without pretending the pilot has finished.
The pilot does not start merely because Unit 11 code merges. After implementation acceptance and clean-main verification, the Principal must separately authorize Master to execute the pilot-start act against the named pilot organization. Unit 11 closes only after that act and its governance receipt are durably verified — a fourth authorization gate beyond the SOW-review, implementation-review, and acceptance gates every prior unit has already used.
Unit 12 may later consume this marker, but it cannot claim the 30-day pilot complete before 30 actual days have elapsed from the recorded timestamp.
Adopt a strengthened form of option (a) named in the descent: expand the walking
skeleton from one hardcoded product (Product(sku="SKU-TEA", ...),
src/reference_organizations/store/__init__.py:60) into a small multi-product
catalog.
Minimum accepted behavior:
inventory.changed -> wake gate -> Pulse -> replenishment
vocabulary remains intact.Unit 11 must NOT add new signal kinds, effect kinds, governance concepts, or core organizational primitives merely to make the expansion appear larger. The point is proving the accepted pipeline generalizes beyond its single-SKU teaching fixture, not inventing new production surfaces.
If implementation genuinely requires more than the remaining source-budget
headroom (27/40 modules, 6139/6250 nonblank lines, 7/30 root exports at this
ruling’s base commit — 111 lines of headroom, confirmed by
scripts/verify_source_budget.py), the SOW must request a precise budget
amendment before code is written, matching F-U9-1’s own precedent. Correctness
must not be compressed to fit 111 lines, and a larger ceiling must not become a
target.
| Chapter | Directory | Teaching responsibility |
|---|---|---|
| 8 | ch08_the_store_becomes_a_catalog |
Replace the single-product fixture with a genuine multi-product catalog. |
| 9 | ch09_each_product_has_its_own_threshold |
Independent stock state and reorder decisions per SKU. |
| 10 | ch10_one_signal_wakes_one_need |
Signal-to-SKU binding; no cross-product wake or replenishment. |
| 11 | ch11_replenishment_scales_without_losing_governance |
Multiple governed replenishment chains while preserving idempotency, evidence, and fencing. |
| 12 | ch12_the_pilot_begins_with_a_receipt |
Execute and inspect the pilot-start mechanism while distinguishing “started” from “finished.” |
Each chapter must:
book/CONTENT-SOURCE.md:48-58, seven required sections per INSTRUCTOR.md).scripts/verify_curriculum.py, extended by Unit 10).Chapter 12 teaches the pilot-start mechanism in an isolated exercise. It must not accidentally start the real 30-day pilot during the curriculum gate — the chapter’s own exercise must run against an exercise-scoped, disposable pilot identity, never the real named pilot organization the separately-authorized pilot-start act (Holding 1) targets.
No Unit 11 decision is made about duration, sampling, participant count, repeated sessions, aggregation, or pass/fail criteria for the Andrea live evaluation.
Unit 11 must only preserve future evaluability:
Unit 12’s own descent and SOW must define the human evaluation and soak protocol.
Historical v0.6 documents (docs/v0.6-soak.md, site/v0.6-soak/) remain
unchanged.
Correction, additive, matching the descent’s own already-corrected citation:
docs/v0.6-soak.md itself references scripts/soak_single_node.py at its own
lines 7 and 10 — that script does not exist in the current tree; this is
pre-existing v0.6-era documentation rot, not something this ruling or the
descent that preceded it introduced or is required to fix. The naming-collision
concern this holding addresses stands entirely on docs/v0.6-soak.md’s real
“72-hour infrastructure soak” content, independent of that stale script
reference.
Future documents must avoid the unqualified word “soak” when ambiguity is possible:
This is a terminology rule for future work, not a Unit 11 implementation feature.
Amendment 6 governs Unit 11. docs/units-0-6-contract.md contains zero mentions of
Unit 11; the four Unit 12 mentions it does contain
(docs/units-0-6-contract.md:92,119,135,201) all defer credentialed provider
smokes and do not describe Unit 11’s mission. No corrective ruling or historical
annotation is required for that document.
Correction, additive: an earlier draft of the descent this ruling supersedes
claimed docs/units-0-6-contract.md “contains zero mentions of Unit 11 or Unit
12” — false on the Unit 12 half, caught by Sparring’s independent re-verification
before this ruling was drafted. The document’s silence specifically on Unit 11’s
mission — the fact this holding actually depends on — was accurate throughout and
is unaffected; only the overbroad “zero Unit 11/12” phrasing was wrong, corrected
here rather than silently carried forward.
Master may file this decision as this append-only Unit 11 scope ruling and update the rulings index. This filing must:
After the ruling is merged and verified on clean main, Master may prepare — but
not implement — the Unit 11 SOW. The SOW must encode the pilot-marker transaction
and idempotency proofs, the multi-SKU isolation matrix, the five-chapter mapping,
the real-pilot authorization boundary (Holding 1’s separate Principal
authorization gate), and any necessary source-budget request.
No Unit 11 implementation, real pilot start, credentialed provider smoke, Unit 12 evaluation, proof-pack acceptance, or release work is authorized by this ruling.
# Confirms the current budget headroom this ruling's Holding 2 cites
python scripts/verify_source_budget.py
# Confirms the exact Unit 12 mentions in units-0-6-contract.md and their content
# (deferring credentialed smokes, never describing Unit 11's mission) --
# Holding 6's own corrected claim
grep -n "Unit 11\|Unit 12" docs/units-0-6-contract.md
# Confirms the single-SKU starting point Holding 2 requires expanding
grep -n 'Product(sku="SKU-TEA"' src/reference_organizations/store/__init__.py
# Confirms no pilot mechanism exists yet -- Holding 1 requires Unit 11 to build it
grep -rni "pilot" src/ scripts/ || true # must be empty until Unit 11 lands
# Confirms the v0.6 naming-collision content Holding 5 addresses, and its own
# pre-existing stale script reference (not introduced by this ruling)
grep -n "soak_single_node" docs/v0.6-soak.md
# The rulings index and directory agree
python scripts/verify_curriculum.py