Enforce declared human controls at approval binding

Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a07ff8-19d0-7820-b4d0-1353833cb7fc
This commit is contained in:
tegwick 2026-09-10 19:26:12 +02:00
parent a3c94fb241
commit be1a388a84
17 changed files with 441 additions and 40 deletions

View file

@ -246,6 +246,35 @@ return changes neither existing rows nor production admission. The new rule is
not satisfied merely by the already-recorded principal_type field. The separate
R3 digest-exclusion condition is completed in T06 below.
### Declared human-control implementation — 2026-09-10
GH-DEC-2026-016 source implementation now records strict `human_control` intent
at request creation and refuses non-human binding at `add_entry` / `/entries`.
The creator may still be a service drafting a request; approval judgment comes
from the verified entry identity. This maps the ruling's bind/issue boundary to
this engine's two-step API and does not confer approval on an unapproved draft.
Schema v5 defaults legacy rows to undeclared, preserves act digests and recorded
entries, and inherits the declaration on supersession. An existing successor
with a mismatched declaration conflicts atomically. Spoofed request-body identity
cannot change the verified JWT type; invalid persisted human evidence also fails
claim/consume. The outbox retains the declaration with its existing atomic write.
All 22 new cases fail on the previous implementation and pass after correction;
the full suite passes 152 tests. Persistent v4 migration, RS256/JWKS HTTP calls,
ordinary service compatibility, human quorum, rollback and successor cases are
included. Actual Secrets Engine claim parsing accepts both new flag values;
this is wire compatibility, not adoption of the new requirement. KeyCape's
current source fixes human type on its PKCE/user path and service type on its
client-credentials path; native issuer/human proof is still outstanding.
T01 remains progress for exact requester/human registration and native proof.
T03 owns the matching schema-v5 image and admitted deployment. T05 with
SECRETS-WP-0009-T03 and INFD-WP-0001-T08 must explicitly declare and require
human_control for the factory human-approval workflow; old generic approvals
must not be treated as satisfying it. Evidence:
`docs/evidence/2026-09-10-human-control.json`. No production approval or database
migration occurred during these tests.
## Harden durable storage and migrations
```task