approval-engine/tests
tegwick 5c45d3c157 APPROVAL-WP-0007-T02 done: actor_consumes; T05 principal_approves split out
Founder decision 2026-11-01, relayed by the net-kingdom coordinator: "Agree to
split APPROVAL-WP-0007-T02: build actor_consumes now (opt-in at issue; the
bounded executor will set it); principal_approves keeps waiting for the KeyCape
subject mapping."

- Optional actor_consumes (boolean) at issue, schema v8. Consume refuses with
  403 unless the consuming subject equals binding.actor, also on idempotent
  retries; internal calls without a consumer fail closed. Inherited on
  supersession (existing-successor mismatch 409), in audit details, served in
  GET/claim only when declared so undeclared claims keep exact bytes. Legacy
  rows migrate without the flag.
- GH-DEC-2026-026 Ruling 6: under human_control, add_entry refuses (403) the
  binding actor as approver. human_control already covered a service actor;
  this covers a human actor.
- Workplan: T02 done (actor_consumes); new T05 principal_approves (wait).
- Not released or deployed: needs a v8 image and founder-run rollout.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 5502@bnt-lap001
Assistant-Session: 68b3b02f-5d0f-4e71-8421-796f62e50196
2026-11-01 00:39:34 +01:00
..
conftest.py Set the approval store tenant to exact tenant:platform 2026-09-06 22:33:50 +02:00
test_access_claim_vectors.py Add producer-owned Go approval fact validation and canonical vectors 2026-10-16 16:25:54 +02:00
test_actor_consumes.py APPROVAL-WP-0007-T02 done: actor_consumes; T05 principal_approves split out 2026-11-01 00:39:34 +01:00
test_api.py Let supersede() reissue an expired approval given a fresh window 2026-09-27 20:23:56 +02:00
test_audit.py Heartbeat per event class, not per source 2026-09-10 20:36:21 +02:00
test_auth.py Record the verified principal type on approver entries (schema v4) 2026-09-09 14:09:54 +02:00
test_cadence.py Derive heartbeat cadence from the shared coordination frame 2026-10-15 20:41:49 +02:00
test_cas.py Enforce declared human controls at approval binding 2026-09-10 19:26:12 +02:00
test_claim_contract.py Principal is the requesting party, not the approver 2026-09-10 22:43:33 +02:00
test_cli.py Harden the PEP harness and KeyCape registration request 2026-09-02 15:46:06 +02:00
test_confirmation_transport.py Bound approval transport and refuse redirects and proxies 2026-10-11 16:45:18 +02:00
test_consume_provenance.py fix(audit): retain authenticated consume identity and exact binding 2026-10-16 07:51:39 +02:00
test_deploy_manifest.py Publish and pin the verified schema-v5 approval candidate 2026-09-10 19:35:05 +02:00
test_examples.py Enforce declared human controls at approval binding 2026-09-10 19:26:12 +02:00
test_execution_confirmation.py fix: confirm exact canonical consumed act binding 2026-10-16 09:20:33 +02:00
test_human_control.py APPROVAL-WP-0007-T02 done: actor_consumes; T05 principal_approves split out 2026-11-01 00:39:34 +01:00
test_layer_declaration.py Apply GH-DEC-2026-020: remove companion_version from layer.yaml 2026-09-21 09:37:12 +02:00
test_machine.py Implement the engine spine: claim, outbox, machine, API 2026-08-29 12:52:49 +02:00
test_networkpolicies.py APPROVAL-WP-0007-T01 done: required_assurance floor; executor ingress; alignment answer 2026-10-31 23:07:05 +01:00
test_outbox.py Heartbeat per event class, not per source 2026-09-10 20:36:21 +02:00
test_pep.py Bound approval transport and refuse redirects and proxies 2026-10-11 16:45:18 +02:00
test_reconciliation.py Add bounded source reconciliation counts and clarify receiver dependencies 2026-10-04 11:34:42 +02:00
test_reissue.py Let supersede() reissue an expired approval given a fresh window 2026-09-27 20:23:56 +02:00
test_required_assurance.py APPROVAL-WP-0007-T02 done: actor_consumes; T05 principal_approves split out 2026-11-01 00:39:34 +01:00
test_storage.py Implement approval engine production readiness 2026-09-02 00:52:04 +02:00
test_t06_replay.py Finish approval engine spine 2026-09-01 23:45:48 +02:00
test_tenant_provenance.py APPROVAL-WP-0007-T02 done: actor_consumes; T05 principal_approves split out 2026-11-01 00:39:34 +01:00
test_timestamp_precision.py Preserve fractional approval expiry through atomic consumption 2026-10-16 17:35:53 +02:00