core/core
Claude 71d6366fa3
feat(ledger,tests,adr): PR-14 — the outcome-mix rule, and the four expected licences dissolve under it (R-8)
Rank 6, the last docket item before the posture statements, and the throughput
frontier N-5 called "one ruling wide". The ruling landed. It closed the frontier
rather than opening it, and that is the correct outcome.

R-8 ruled C: committing to an entailment and correctly declining to commit are
DIFFERENT capabilities, licensed on DIFFERENT evidence, and may not be pooled.

THE FINDING: split, ZERO bands license — not four.

  band                              unknown   floor      entailed  floor
  philosophy_theology_contrast          652   0.989925          8   0.000000
  philosophy_theology_modal             652   0.989925          8   0.000000
  physics_causal                        653   0.989940          7   0.000000
  systems_software_causal               653   0.989940          7   0.000000
  (pooled, the old basis)               660   0.990046  -- clears by 0.000046

N-5 recorded that "four bands would earn SERVE the moment a ledger is sealed."
That is true on the POOLED basis and false on the ruled one. Those four cleared
theta_SERVE=0.99 only because 7-8 entailments were counted alongside 652-653
correct refusals to reach 660. The licence was manufactured by the pooling, not
earned by the evidence. conservative_floor(9,9) is 0.000000 — the Wilson lower
bound at nine trials is not merely below theta, it is zero.

This is exactly why the plan blocked PR-14 on R-8 instead of sealing first and
ruling after. A ledger sealed on the pooled basis would have granted four
licences that the mix rule then had to revoke — and revoking a granted licence
is the expensive direction, as PR-12 had just demonstrated across 21 deduction
bands in this same session.

DELEGATED RULING — R-8 C's entailed floor N: no new constant.
The packet recommended "C, with a floor from A applied to the entailed
capability only," and N was never named. It does not need naming. theta_SERVE
=0.99 through conservative_floor — the bar every other capability already meets,
657 distinct correct decisions — applied to each separated capability on its own
evidence licenses nothing, by a factor of 73. Inventing a second, weaker
constant for the capability that most needs the strong one would institutionalise
two standards, which is precisely the objection that sank option B. Recorded
under the standing delegation with its reasoning, so it can be overturned.

NO LEDGER IS SEALED, AND THAT IS THE DELIVERABLE. Under the rule there is
nothing to license, and the registered missing_ok=True absence already says so
once. An artifact whose only content is its own emptiness would be a second
statement of the same fact — the defect class registered as G-23 this same week.

THE USEFUL RESULT IS THE SHAPE OF THE GAP, WHICH POOLING HAD HIDDEN.
Non-commitment serving is FOUR TO FIVE distinct query atoms short per band.
Entailed serving is ~648 short. Those are content tasks of completely different
size, and a single pooled figure could not distinguish "almost there" from "two
orders of magnitude away". Four cases is a morning's work; 648 is a program.
Nobody could see that before the split.

Delivered:
  - curriculum_serve_entailed registered in CAPABILITY_LEDGERS, missing_ok=True
    (absent = nothing licensed, the honest state), with the rule declared in the
    manifest table rather than at a call site (ADR-0263 rule 5)
  - an audit source for it — demanded immediately by the manifest's own pin
    (test_every_licensed_capability_has_an_audit_source went red the moment the
    capability was declared, which is PR-5's declared-table discipline working)
  - ADR-0264 §5 amendment recording the ruling and correcting §4.1's "four bands
    would earn SERVE" expectation. Changes no decision in that ADR;
    curriculum_serving_enabled stays False
  - tests/test_curriculum_outcome_mix.py on the gate: both capabilities pinned,
    the shortfall pinned exactly, AND the counterfactual pinned — pooling
    licenses 4 — so the argument for the rule cannot drift away from the number
    it rests on

The serving path needs no change, and that is stated rather than left implicit:
under the rule nothing is licensed, so there is no licensed-vs-disclosed branch
to route. Building that machinery now would be building for a case that cannot
occur yet.

Closes G-10.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wcw2pnMBwyvmNyQg4uPEt4
2026-07-28 07:59:01 +00:00
..
abi feat(abi): Implement GeometricDelta ABI, validator, delta store, and documentation 2026-07-11 02:16:57 -07:00
adr feat(third-door): #21 trajectory invariants + ADR-DAG embedding (Python) 2026-07-13 21:51:42 -07:00
capability Lane 4: Registry Consolidation (language_packs to packs) 2026-07-04 15:11:28 -07:00
cognition feat(cognition): count the swallow — three silent backstops made visible (PR-9, H-11) 2026-07-28 03:50:42 +00:00
comprehension_attempt feat(contemplation): wire CMB into multi-organ router and failure registry (CMB-d) 2026-06-08 13:58:48 -07:00
contemplation feat(adr-0244): Phase 5a — §2.7 content-id semantic rigor (4 sites) 2026-07-17 19:48:11 -07:00
demos fix(ci): path-stable env deltas so lane SHA pins stop thrashing 2026-07-14 17:41:04 -07:00
epistemic_disclosure fix(ask): canonicalize question/proposal path collision check 2026-06-10 12:44:46 -07:00
epistemic_questions feat(ask): add default-dark ASK serving gate helper 2026-06-09 09:17:14 -07:00
learning_arena feat: add tier2 reasoning evidence spine 2026-06-04 14:12:18 -07:00
physics fix: skeptic remediations for Stage 3–4 exit gates 2026-07-20 14:08:37 -07:00
ports feat(ring2-ring3): multi-port residual protocol + integrity-coordinated handoff 2026-07-17 23:56:01 -07:00
proposal_review feat(teaching): HITL proposal-queue CLI — list/review contemplation-idle sinks (S4) 2026-07-24 17:05:26 -07:00
protocol feat(protocol): ADR-0140 CORE Trace Protocol v0 (#259) 2026-05-25 06:08:51 -07:00
reasoning feat(reasoning): field-wedge foundation — f64 embedding, lineage firewall, INV-27 2026-06-04 19:22:16 -07:00
reliability_gate test(reliability): volume-honesty invariant + distinct-evidence audit 2026-07-25 16:03:10 -07:00
response_governance feat(frame-verdict): closed-world FrameVerdict substrate — PR-1..4 + hardening (ADR-0222 B4) (#787) 2026-06-16 06:23:03 -07:00
semantic_primitives feat(logos): bulk live morph authority on turn + teaching seams 2026-07-20 16:35:04 -07:00
sync feat(sync): export optional S3 adapter 2026-05-29 19:47:24 -07:00
__init__.py chore: fix package name, add core/__init__.py, ADR-0011, session note 2026-05-13 2026-05-13 10:44:42 -07:00
_safe_display.py feat(adr-0051): trust-boundary hardening pass 2026-05-18 07:09:55 -07:00
array_codec.py feat(edge): edge-deployment budget gate — deterministic per-turn persistence cost 2026-06-06 10:27:10 -07:00
cli.py fix(cli): core rust build was broken; report Rust parity as unfalsifiable 2026-07-26 11:50:32 -07:00
cli_capability.py Lane 4: Registry Consolidation (language_packs to packs) 2026-07-04 15:11:28 -07:00
cli_doctor.py Lane 4: Registry Consolidation (language_packs to packs) 2026-07-04 15:11:28 -07:00
cli_eval.py chore: Refactor CLI and Governance Anchors (#926) 2026-07-03 12:34:56 -07:00
cli_ingest.py chore: Refactor CLI and Governance Anchors (#926) 2026-07-03 12:34:56 -07:00
cli_pack.py Lane 4: Registry Consolidation (language_packs to packs) 2026-07-04 15:11:28 -07:00
cli_proposal_queue.py merge: bring in the polarity unit (#125) — resolve the suite-list conflict 2026-07-26 13:08:32 -07:00
cli_rust.py chore: Refactor CLI and Governance Anchors (#926) 2026-07-03 12:34:56 -07:00
cli_teaching.py feat(telemetry): discovery-yield-per-served-turn baseline (ADR-0255) 2026-07-23 07:27:00 -07:00
cli_test.py feat(ledger,tests,adr): PR-14 — the outcome-mix rule, and the four expected licences dissolve under it (R-8) 2026-07-28 07:59:01 +00:00
config.py chore(config): RATIFY deduction_serving_enabled — default ON (ADR-0256) 2026-07-24 16:05:11 -07:00
engine_identity.py feat(identity): split engine identity from build provenance (ADR-0220 PR C) (#774) 2026-06-15 11:38:04 -07:00
epistemic_state.py feat(provenance,teaching): close the lateral gaps the assessment actually found 2026-07-25 04:51:15 +00:00
ratified_ledger.py feat(ledger,tests,adr): PR-14 — the outcome-mix rule, and the four expected licences dissolve under it (R-8) 2026-07-28 07:59:01 +00:00