approval-engine/docs
tegwick 5c87ba8610 Name the execute-time digest target; record the tenant collision
flex-auth published binding.approval_binding_digest (FLEX-DEC-2026-007) after
secrets-engine found that a claim-bearing request's request_digest covers the
carried claim, so it can never equal a pdp_digest recorded before that claim
existed. A consumer obeying GH-DEC-2026-008 against request_digest would have
failed closed permanently on every claim rather than on a bad one.

The value recorded at issue was already correct, so no code changes. What was
wrong was this repo's description of the comparison target: a reader would
reach for request_digest and fail closed forever. The schema and
docs/approval-claim.md now name approval_binding_digest as the execute-time
target and state that request_digest is never it, while leaving the issue-time
description as it stood.

Separately, docs/keycape-service-registrations.md now records a live collision
in the deployment inputs: the manifest serves --tenant platform while the
requested registrations issue tenant:coulomb, and ApiApplication.identity
compares them with exact string equality before any object lookup, so those
tokens would be denied 403 on every non-health route. flex-auth's
tenant:platform is a PDP subject this engine never reads and cannot bridge the
two. The values are left as-is on purpose — resolving it needs an owner
statement on whether the two name the same layer, and guessing grants
cross-tenant access to the approval store. The doc's stale issuer is corrected
to the live https://kc.coulomb.social from 06544b0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PM5HnEAhokxdfcPqBNpT7D

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 715850@bnt-lap001
Assistant-Session: eb557e93-7cb1-45d0-9e57-7d15b3edc60e
2026-09-06 20:35:59 +02:00
..
approval-claim.md Name the execute-time digest target; record the tenant collision 2026-09-06 20:35:59 +02:00
approval-consumption.md Record GH-DEC-2026-005; strike the spent G3 revisit trigger 2026-09-06 01:36:03 +02:00
caller-authentication.md Harden the PEP harness and KeyCape registration request 2026-09-02 15:46:06 +02:00
emission-cadence.md Implement approval engine production readiness 2026-09-02 00:52:04 +02:00
flex-auth-handoff.md Finish approval engine spine 2026-09-01 23:45:48 +02:00
gate-house-decision-request-claim-envelope.md chore(consistency): record decision id for GH-DEC-2026-005 2026-09-06 08:05:00 +02:00
keycape-service-registrations.md Name the execute-time digest target; record the tenant collision 2026-09-06 20:35:59 +02:00
outbox-contract.md Carry threshold evidence on issuance and use events 2026-09-06 08:10:21 +02:00
pep-integration.md Harden the PEP harness and KeyCape registration request 2026-09-02 15:46:06 +02:00
storage-operations.md Implement GH-DEC-2026-008: declared PDP-path intent, enforced at issue 2026-09-06 14:51:23 +02:00