lean

v7 Release Ledger — Artifact Authority Profiles

Historical record. The Scratch paths/labels below describe the v7 tree. v13 rehomes the unchanged released family under LeanProofs/CustodyIndexed/, with finished fixtures in its evidence root. See V13-RELEASE-LEDGER.md.

Release: v7.0.0 — Artifact Authority Profiles (A Lean proof release for custody-aware authority semantics). Umbrella: Custody-Aware Authority Semantics. Prior release: v6.0.0 — Finite Custody Checking. Gap spec: docs/V7-GAP-SPEC.md (ratified 2026-07-02; constitution binding on every slice).

The v7 claim (scoped, exact): profiles are local, crossings are paid, receipts are not fungible across obligations, and coverage cannot be minted. In full:

The v7 non-claims (binding on release notes):

Custody: all v7 modules are Custody-Class: SCRATCH — fenced, not promoted kernel authority — CI-covered (build coverage ≠ promotion). LeanProofs.lean imports none of them.

Verification basis: every module compiles clean (exit-code receipts under .governor/verify_receipts/); zero sorry/admit/native_decide; axiom footprints attested via #print axioms on every theorem (all ≤ [propext, Quot.sound]; slice 1 and the animal-capture and the derivational-coverage kill are zero-axiom; no Classical.choice anywhere). Adversarial audits (codex) per slice: slice 1 YELLOW→addressed in-slice (screen scope-limit demonstrated as a theorem), slice 2 GREEN, slice 3 GREEN (emperor check passed: “screening, not enforcement”), slice 4 GREEN (“materially supports releasing v7 without a portfolio screen as blocker”). Trail: .governor/loop.json + docs/CHANGELOG-scratch-campaign.md.

The modules

Module Load-bearing results Axioms
ArtifactProfiles (slice 1) two-kind specimen (observer/authority profiles, distinct evidence indices) + ONE paid bridge; profile_does_not_compose_for_free; cross_profile_conversion_requires_bridge (the paid two-cut chain); admission_requires_jurisdiction_receipt (general wall); no_master_profile + two_way_profiles_fail_master_screen (the screen’s false positive demonstrated on an honest paid topology); FORBIDDEN parse-implies-authority specimen — satisfies the discipline, caught by local AdmissionJurisdiction entirely zero-axiom
ProfileStages (slice 2) Nat-indexed ladder, ONE rule family; profile_stage_noncollapse; ascent_pays_every_rung (Rooted induction — every rung in [j,k) literally in custody); positive pair (two stages cost two receipts); TWO cages, two mechanisms: stage-self-promotion (discipline unsatisfiability, base-only caveat recorded) and rung-skip (satisfies the discipline, caught by local StageStepDiscipline) ≤ [propext, Quot.sound]
JurisdictionScreen (slices 3+4) JurisdictionFrame/JurisdictionRespecting (per-vocabulary, opt-in scopes, no default fungibility); unmatched_context_cannot_convert (the keeper wall); instance IFFS recovering slices 1–2; relation_promotion_fails_jurisdiction_screen (the C3 escaped animal, caught, zero-axiom); receipt cross-use cages (bridge-as-rung / rung-as-bridge, discipline-satisfying, screen-caught); UniversalReceipt/UniversalReceiptFree (total form); derived_evidence_covers_no_more (coverage inherited, never minted — zero-axiom, via the resident anti-currency law); operational_power_is_declared; coverage_costs_receipts (single-scoped pigeonhole) + exact 3-for-3 price on the combined frame ≤ [propext, Quot.sound]

The slogans (theorem-shaped, carried in the files)

Operator acts (not Claude’s)

Tag v7.0.0 (or authorize the local tag) and author the GitHub release (release creation mints the DOI), using the claim + non-claims above as the release-note boundary. Publish sequencing: v6.0.0 is already public; main may be pushed with v7 at the operator’s timing.