USER-WP-0026-T03: access-engine application access readback client

Read FLEX-DEC-2026-019 readback answers for workloads bound in all three
records (user-engine application, protected system, key-cape client) and
show them on the account page. No row is inferred as allow; failures,
missing rows and expired allows render 'could not be checked'. Off unless
USER_ENGINE_READBACK_URL and its own token file are set.

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

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 629164@bnt-lap001
Assistant-Session: 22dee475-6a23-47f3-8588-00a7f62d8720
This commit is contained in:
tegwick 2026-10-10 00:45:03 +02:00
parent 119910640f
commit 869de4080b
11 changed files with 780 additions and 2 deletions

View file

@ -101,6 +101,18 @@ deny, not_applicable, failure and expired as not available, never as allow.
Use a separate `USER_ENGINE_READBACK_TOKEN_FILE`. Wait stays on access-engine
T02/T03 code and its T04 founder go.
2026-10-10: access-engine folded amendments (a)-(c) into the contract,
accepted FLEX-DEC-2026-019 and shipped T02/T03 (8f2ba75). T05 (b5da745) gives
informed-decision a separate `application.access` rule. user-engine's client is
now in the repo, off by default: `application_access.py`,
`adapters/application_access.py`, the account-page section, and
`USER_ENGINE_READBACK_URL` / `USER_ENGINE_READBACK_TOKEN_FILE` (see
docs/configuration.md). A workload is listed only when all three records are
bound. Rows follow the agreed rendering table, and none is inferred as allow.
Remaining before this task is done: access-engine T04 (readback pin values,
digest-equality test, founder go), operator-installed readback URL and token
file, and a live check against the pin.
### Live recovery rollout — 2026-09-12
Recovery is deployed in KeyCape 4d8b8fe, User Engine e54b6ee and Vergabe c067993