Apply GH-DEC-2026-013 and GH-DEC-2026-014; close INFD-IN-0002

Two rulings landed and both corrected something.

GH-DEC-2026-013 accepted our binding-versus-awareness argument, wrote it into
the record as its §6, and did not change the outcome — it sharpened the defect.
Two different facts share one field named tenant: the act-scope, a property of
the act that our binding slice commits, and the principal's membership, a
property of the person that approval-engine exact-matches. Gate House's
correction stands: a binding slice that must commit the scope being entered
should commit that scope, not borrow a membership claim to stand in for it. Our
schema already does — binding.target IS the act-scope and is inside view_hash —
so no field was added, only a statement (PR-08) and a provenance record (PR-09),
since key-cape emits tenant as a bare string.

key-cape had already implemented registration-bound tenancy on 2026-09-09,
correct under both candidate rulings, so the fail-closed-at-first-use risk that
made us withhold the client strings was already retired. IN-0002 closed. The one
remaining input to T07 is the deployed origin.

GH-DEC-2026-014 granted commitment-only evidence and bounded it. It satisfies
non-alteration and NOT reconstructability, and must not be described otherwise
anywhere. It also corrected our wording of the gap: we wrote that it leaves us
able to erase the content, which understates it. Commitment-only moves integrity
out of our control and leaves availability entirely inside it — the party that
can withhold the content is the party the evidence is about. Limit 3's condition
reduced, not removed.

The grant carries a condition we did not propose and would not have thought of:
the path must assert that committed content exists and where custody sits, so
non-production is a finding attributable to the custodian rather than an
unremarkable blank. A commitment with no assertion that something is being
committed to is indistinguishable from a commitment to nothing. Booked as PR-53,
and marked not-a-reversal-candidate.

Recorded the meta-rule Gate House named, now in its third setting here: unknown
versus absent in the stance map, directory-asserted versus registration-supplied
in the tenant claim, erased versus never held in the evidence path. Wherever a
system reaches one appearance by two routes, the record must say which route.

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

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 1565372@bnt-lap001
Assistant-Session: 16bb2f25-b34c-49ef-8e94-5fec3567a568
This commit is contained in:
tegwick 2026-09-10 07:57:57 +02:00
parent 8b8a5cd6ef
commit 5c33d17330
7 changed files with 320 additions and 29 deletions

View file

@ -62,7 +62,7 @@ state_hub_intake_id: "01a08610-f458-7fd5-b284-26a65d1d73c2"
id: INFD-IN-0002
kind: intake
title: Human access tokens cannot carry tenant:platform
status: open
status: closed
origin: coordination
origin_ref: INFD-WP-0001-T07
priority: high
@ -74,7 +74,32 @@ tags:
- cross-repo
- blocker
created: '2026-09-09'
updated: '2026-09-09'
updated: '2026-09-10'
resolution: >-
Resolved 2026-09-10. key-cape had already implemented registration-bound
tenancy on 2026-09-09 (329e48f), deliberately correct under both candidate
rulings: a declared zone applies where the directory places the user nowhere,
agreement passes, and a declared zone conflicting with a directory assignment
refuses issuance with 403 tenant_binding rather than relabelling. So the risk
that a client registered now fails closed at first use was already retired.
GH-DEC-2026-013 then ruled directory-sourced the terminal state and granted
the registration-bound shape as a declared bounded gap — admissible precisely
because its distinguishing case fails closed. This repository's
binding-versus-awareness argument was accepted and written into the ruling as
its §6; it did not change the outcome but sharpened the defect, which is that
two different facts share one field named tenant: the act-scope (a property of
the act, which our binding slice commits) and the principal's membership (a
property of the person, which approval-engine exact-matches). Gate House's
correction of our position is adopted: a binding slice that must commit the
scope being entered should commit that scope, not borrow a membership claim to
stand in for it — and binding.target already does, so no field was added, only
a statement and a provenance record. The condition we asked for is in
key-cape's docs/tenant-claim-contract.md, strengthened from "must be revisited"
to void if the dynamic-registration exclusion is lifted, and enforced by a test
asserting the capability and the exclusion together. Two obligations land here
and are booked as PR-08 and PR-09: do not use the tenant claim as the
act-scope, and record the claim's provenance since key-cape emits it as a bare
string. T07 unblocked.
description: >-
Raised by key-cape (KEY-WP-0013-T05) while reviewing the approver client
shape, and it blocks INFD-WP-0001-T07. The tenant claim on a human token
@ -122,7 +147,32 @@ tags:
- decision-request
- cross-repo
created: '2026-09-09'
updated: '2026-09-09'
updated: '2026-09-10'
resolution_partial: >-
Doctrine half ruled 2026-09-10 as GH-DEC-2026-014; the payload remains
audit-core's custody question and the intake stays open for it. Commitment-only
is GRANTED for Stage 1, on the GH-DEC-2026-013 test that its distinguishing
case fails closed — a reviewer who cannot obtain the content gets no
reconstruction rather than a wrong one — and the data-protection reason was
accepted as a reason of the right kind, since doctrine forcing L4 contract text
into an audit fabric trades one control for a breach of another. Two limits:
it satisfies non-alteration and NOT reconstructability, and must not be
described otherwise in any document or conformance claim on either side; and
our wording of the gap was corrected — commitment-only moves integrity out of
our control and leaves availability entirely inside it, so the party that can
withhold the content is the party the evidence is about, which is limit 3's
condition reduced rather than removed. The grant carries a condition we did not
propose (§4): the path must carry an assertion that committed content exists
and where custody sits, so that non-production is a finding attributable to the
custodian rather than an unremarkable blank — a commitment with no assertion
that something is being committed to is indistinguishable from a commitment to
nothing. Not a reversal candidate. Our refusal of a separate evidence store was
endorsed, with the addition that an evidence store owned by the party whose
conduct it evidences is not an evidence store whatever its integrity
properties, the ownership objection being prior to the custody one. Booked as
PR-53 and PR-54 and EvidenceModel §8d. Still open for audit-core: sender
registration, and whether reconciliation plus heartbeat suits a mixed-volume
source.
description: >-
GH-DEC-2026-012 limit L3 requires the evidence copy to reach audit-core
independently of informed-decision, because here the actor being audited and