core/generate/determine
Shay 0a17c49693 refactor(learning): extract the ratified-ledger bridge from its three instances (ADR-0263)
Phase 3.3 of the generalization arc. Estimation (ADR-0175), deduction
serving (ADR-0256) and curriculum serving (ADR-0262) had each written the
same seal -> ratify -> SHA-verify -> serve-gate machinery. core/ratified_ledger.py
now owns it and states the four rules once: only sealed practice writes;
tamper-evidence is structural (a load that cannot reproduce content_sha256
REFUSES); ceilings are not negotiable at the call site; absent evidence is
never a license.

Each capability keeps a thin adapter that names its artifact and preserves
its public API. One real difference is now declared rather than implied:
missing_ok distinguishes a ledger a capability SHIPS with (absence = broken
deployment, refuse) from one whose practice volume is still being built
(absence = nothing earned yet, serve disclosed) — curriculum serving is the
second kind today.

Safety property is byte-identity, asserted not assumed: re-sealing the
committed 25-band deduction ledger through the bridge reproduces it
byte-for-byte, so no artifact and no lane pin moves.

Effect: a new subject arena now needs a gold corpus and a band key, not a
re-implementation of ratification — which is what §3 meant by sequencing
the bridge ahead of the second subject.

[Verification]: tests/test_ratified_ledger_bridge.py 8 passed; core test
--suite deductive 252 passed; estimation/license test set 355 passed;
committed deduction ledger byte-identical after reseal.
2026-07-24 14:45:16 -07:00
..
data feat(determine): calibrated disclosed estimation — the engine earns the right to guess (Step E) 2026-06-06 13:49:07 -07:00
__init__.py feat(determine): calibrated disclosed estimation — the engine earns the right to guess (Step E) 2026-06-06 13:49:07 -07:00
consolidate.py feat(determine): consolidate declared relational transitive CLOSE facts (#788) 2026-06-16 15:15:59 -07:00
derived_close_proposals.py feat(proposals): bridge derived CLOSE facts into review proposals (#789) 2026-06-16 15:39:46 -07:00
determine.py feat: integrate 3-core-language depth into PropositionGraph spine for bidirectional unification 2026-07-06 09:01:43 -07:00
estimate.py feat(determine): calibrated disclosed estimation — the engine earns the right to guess (Step E) 2026-06-06 13:49:07 -07:00
estimation_license.py refactor(learning): extract the ratified-ledger bridge from its three instances (ADR-0263) 2026-07-24 14:45:16 -07:00
render.py feat(determine): calibrated disclosed estimation — the engine earns the right to guess (Step E) 2026-06-06 13:49:07 -07:00