Assistant: codex Assistant-Model: gpt-5.6-sol Assistant-Session: 01a05e2e-805b-7042-a750-71f473bceea2
91 lines
2.8 KiB
Markdown
91 lines
2.8 KiB
Markdown
---
|
|
id: APPROVAL-WP-0002
|
|
type: workplan
|
|
title: "Production readiness and consumer adoption"
|
|
domain: infotech
|
|
repo: approval-engine
|
|
status: proposed
|
|
owner: codex
|
|
topic_slug: netkingdom
|
|
created: "2026-09-01"
|
|
updated: "2026-09-01"
|
|
origin: residual
|
|
origin_ref: APPROVAL-WP-0001
|
|
state_hub_workstream_id: "4fa25ad5-f5d0-5592-aa59-085f8ee3edaf"
|
|
---
|
|
|
|
# APPROVAL-WP-0002 — Production readiness and consumer adoption
|
|
|
|
Move the completed first-cut engine spine into an authenticated, durable,
|
|
observable production service and prove one PEP integration end to end. This is
|
|
the residual production scope deliberately excluded from APPROVAL-WP-0001.
|
|
|
|
The workplan is proposed pending review against the deployment estate and the
|
|
current key-cape, access-engine, audit-core, and secrets-engine contracts.
|
|
|
|
## Authenticate lifecycle mutations and approver evidence
|
|
|
|
```task
|
|
id: APPROVAL-WP-0002-T01
|
|
status: todo
|
|
priority: high
|
|
state_hub_task_id: "dc4523f5-e0af-5734-a0ef-07aa7f2b2a27"
|
|
```
|
|
|
|
Bind create, approval-entry, revoke, supersede, and consume callers to
|
|
authenticated identities. An API-supplied `subject_id`, `actor`, or
|
|
`decision_id` is provenance only until independently authenticated. Keep
|
|
authorization decisions in access-engine and approval doctrine in gate-house.
|
|
|
|
## Harden durable storage and migrations
|
|
|
|
```task
|
|
id: APPROVAL-WP-0002-T02
|
|
status: todo
|
|
priority: high
|
|
state_hub_task_id: "2bef94ca-9482-5eff-9bd9-39adef292a78"
|
|
```
|
|
|
|
Define the production persistence, backup/restore, migration, concurrency, and
|
|
recovery posture. Prove schema upgrades preserve existing approvals and that
|
|
crash recovery cannot separate mutations from outbox evidence.
|
|
|
|
## Package and deploy the service
|
|
|
|
```task
|
|
id: APPROVAL-WP-0002-T03
|
|
status: todo
|
|
priority: high
|
|
state_hub_task_id: "f0aa2e6d-19e6-5b43-886c-efa4e3de5f22"
|
|
```
|
|
|
|
Add the governed image/deployment surface, health and readiness behavior,
|
|
resource bounds, and fail-closed caller configuration. A local WSGI development
|
|
server is not production evidence.
|
|
|
|
## Wire outbox delivery and reconciliation
|
|
|
|
```task
|
|
id: APPROVAL-WP-0002-T04
|
|
status: todo
|
|
priority: high
|
|
state_hub_task_id: "777a5cf5-c1db-5e07-8de6-ab109db5ccdc"
|
|
```
|
|
|
|
Deliver the local outbox asynchronously to audit-core, preserve event-id
|
|
deduplication, publish lag/depth signals, emit the declared heartbeat, and prove
|
|
the Gate House reconciliation contract against accepted event counts.
|
|
|
|
## Prove one live PEP consumption path
|
|
|
|
```task
|
|
id: APPROVAL-WP-0002-T05
|
|
status: todo
|
|
priority: high
|
|
state_hub_task_id: "3196fb77-3df0-5358-ae12-2d07bac12041"
|
|
```
|
|
|
|
Integrate one protected-system consumer under `GH-DEC-2026-003`: claim before
|
|
decision, CAS consume after ALLOW and before side effect, same-digest retry,
|
|
different-digest conflict, spent-on-failure behavior, and no protected action
|
|
when approval-engine is unavailable.
|