Historical specification. Its Scratch paths describe the v7 campaign. The unchanged released family now lives under
LeanProofs/CustodyIndexed/; seeV13-RELEASE-LEDGER.md.
Status: RATIFIED (operator, 2026-07-02), with the §9 wording amendment (failure-class grounds, not prior-art grounds) from the ChatGPT co-review. Local v7 work authorized; slices admitted per §10 first. Drafted 2026-07-02 (Fable, from the operator’s post-v6 direction; naming correction over the earlier “Constellation Custody Protocol” draft — see §7).
UniversalCrossroads/MasterFree screen family applies
at the profile level.The earlier name “Constellation Custody Protocol” is retired for release purposes: “all projects speak the same custody language” is exactly the sentence the corpus’s antibodies exist to refuse (shared language → shared hub → universal crossroads). It may survive as informal architecture prose; it may not name a release or a Lean campaign.
Artifacts from different projects (NQ probe receipts, Porter courier receipts, Continuity declaration exports, Claimdocs score receipts, AG admission/refusal receipts) can LOOK interoperable — similar envelopes, similar grammar, overlapping metadata. Profile compatibility does not imply authority conversion. The laundering move v7 blocks: an artifact valid in its home project is treated as authority in another project because it parses.
A profile is an artifact kind’s LOCAL declaration of what it can testify to. Candidate fields (design surface, not schema):
artifact_kind, producerwlp_receipt_kind (one field — see §6; the envelope is not the profile)local_payload_schemastage_survived (custody-ladder position)bridge_obligations_required for any later-stage or cross-project claimnon_authorities (what this artifact must never be read as)Profiles are specimens, not instances of a shared type in any semantic sense: two profiles sharing field NAMES do not thereby share meanings.
Cross-profile movement requires a declared bridge obligation. Bridge families may share obligation STRUCTURE (the bridge-obligation lattice: families factor by obligation set, not vocabulary) without creating a shared vocabulary or a master protocol. A bridge is paid, pairwise, and explicit; its existence is a claim someone must custody.
Target refusals, in the series’ house shape (escalating negative results):
profile_does_not_compose_for_free — profiles for A and B yield no
authority profile for A→B without a bridge obligation.no_master_profile — no profile kind mediates every pair (the
MasterFree screen lifted to the profile index).cross_profile_conversion_requires_bridge — every legal conversion cites
a declared bridge obligation (rooted-evidence shape: bridges enter only
by assumption, never synthesized).profile_stage_noncollapse — a stage-n profile does not authorize stage
n+1 (custody-ladder noncollapse at the profile level).Lean does not define the operational constellation; it proves the profile discipline AG may later consume. Lean may establish those laws before AG implements them; runtime correspondence remains AG-owned and separately evidenced.
WLP survives v7 as a receipt envelope / causal-parent wire layer — shared syntax, never shared semantics. The safe slogan:
All projects may carry receipts in WLP envelopes; no project inherits another project’s semantics without a bridge.
WLP may be shared at the envelope layer (receipt kind, schema version, issuer, subject, causal parents, hashes, clock basis, payload digest, custody metadata, seal). WLP must NOT be shared at the semantic authority layer (what a receipt authorizes, admissibility, bridge validity, profile composition, boundary crossing).
Doctrine lines (candidate Lean shapes if a v7 slice touches them):
wlp_valid_does_not_imply_profile_authoritywlp_parentage_does_not_imply_derivabilitywlp_signature_does_not_discharge_bridge_obligationsame_wlp_kind_does_not_imply_same_authority_profilewlp_transport_does_not_imply_reliancewlp_envelope_preserves_declared_payload_and_parent_digestsWLP sits BELOW the profile in the stack (local event → local payload → WLP envelope → local authority profile → explicit bridges). A customs form is not citizenship.
UniversalCrossroads shape, refused.Admissible as a Lean campaign under this framing, on three conditions: (1) the constitution in §0 appears in every slice header; (2) the first slice is the refusal skeleton (§10), not the profile schema — court first, map later; (3) the wire/schema half is explicitly AG’s from day one.
Runtime correspondence target: the first real cross-tool consumption event — e.g. AG wanting to treat an NQ probe receipt as admission evidence, or Claimdocs scores appearing in an AG decision basis. Such an event validates the model but is not permission to formalize it; v7 can open on known failure-class grounds: parse-implies-authority is already named and caged as the minimal forbidden specimen. Wire-schema fields remain runtime-owned; an explicitly abstract formal profile may precede the real artifact.
One Scratch file: profile-indexed system with two artifact kinds + one
declared bridge; prove profile_does_not_compose_for_free and
no_master_profile for it; FORBIDDEN specimen = the parse-implies-authority
rule (artifact of kind A cited as evidence for a kind-B use with no bridge),
caught by the discipline or the closure genus; true minimal pair. Zoo
registry row on landing. Everything ≤ [propext, Quot.sound].