Skip to content

R4 LEDGER (prove half): reservation-linkage + partition-ledger claim contract#12

Closed
sftimeless wants to merge 1 commit into
mainfrom
claude/r4-ledger-permit
Closed

R4 LEDGER (prove half): reservation-linkage + partition-ledger claim contract#12
sftimeless wants to merge 1 commit into
mainfrom
claude/r4-ledger-permit

Conversation

@sftimeless

Copy link
Copy Markdown
Member

Part 1/3 of the R4 LEDGER (prove half). The public contract (spec==code) the verifier and producer consume.

What

  • claim_registry/v0.json: adds quota.reservation_linkage.v1 and budget.partition_ledger.v1.
  • semantics/quota/reservation_linkage_v1.json: the pinned recipe — signed/unsigned evidence shapes, reservation-lifecycle reconciliation + conservation (clamped commit.spent_added), the anchor-state dependency keyed off body.anchor, the ordered trust-grade enum signed_identity > keel_attested_unsigned > keel_self_signed_unanchored, and the downgrade/withhold + minimum-grade fail-closed rules.
  • semantics/budget/partition_ledger_v1.json: active-cap sum replayed from cap-lifecycle events (latest-by-seq), never the mutable cap.
  • Normative specs + README index + version bump to 1.7.0; failure codes RESERVATION_LINKAGE_* / PARTITION_LEDGER_*.

Why

The round-5 NO-GO requires the linkage claim be anchor-contingent: keel_attested_unsigned only over an anchored bundle; never over an unanchored one. This PR defines that contract.

Verification

tools/check_repo_integrity.py --require-jsonschema + check_public_hygiene.py pass. v6 frozen; v7 quota_reservation_id stays null. "Keel-attested," never "independent," until the S1 external monotonic witness.

Consumed by keelapi/keel-verifier# and keelapi/keel-api#.

🤖 Generated with Claude Code

…contract

Public contract (spec==code) for the two verifier claims over the append-only
budget_allocation_events ledger, with the anchor-contingent attestation-grade
enum the round-5 NO-GO requires.

- claim_registry/v0.json: add quota.reservation_linkage.v1 and
  budget.partition_ledger.v1.
- semantics/quota/reservation_linkage_v1.json: the pinned recipe — signed/unsigned
  evidence shapes, the reservation-lifecycle reconciliation + conservation
  (clamped commit.spent_added), the anchor-state dependency keyed off body.anchor,
  the ordered trust-grade enum (signed_identity > keel_attested_unsigned >
  keel_self_signed_unanchored), and the downgrade/withhold + minimum-grade
  fail-closed rules.
- semantics/budget/partition_ledger_v1.json: active-cap sum replayed from
  cap-lifecycle events (latest-by-seq wins), never the mutable cap.
- spec/quota-reservation-linkage-v1.md + spec/budget-partition-ledger-v1.md:
  normative specs; README spec index + version bump to 1.7.0.
- spec/failure-codes.md: RESERVATION_LINKAGE_CONFLICT / _INSUFFICIENT,
  PARTITION_LEDGER_OVERCOMMIT / _INSUFFICIENT.

v6 stays frozen; v7 quota_reservation_id stays null. "Keel-attested," never
"independent," until the S1 external monotonic witness. Heavy signed-pack
fixtures live in the verifier negative corpus. repo-integrity + public-hygiene
checks pass.

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Codex <noreply@openai.com>
@sftimeless

Copy link
Copy Markdown
Member Author

Superseded by #11 (Codex's R4 LEDGER permit build, merged) per the dedup decision — keeping one implementation.

@sftimeless sftimeless closed this Jun 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant