Resume user-engine integration rollout
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s

This commit is contained in:
tegwick 2026-08-13 14:56:53 +02:00
parent 20d4d8af04
commit 96266b9371
6 changed files with 115 additions and 27 deletions

View file

@ -8,7 +8,7 @@ status: active
owner: codex
topic_slug: netkingdom
created: "2026-07-30"
updated: "2026-08-08"
updated: "2026-08-13"
depends_on:
- NK-WP-0023
- USER-WP-0021
@ -20,6 +20,24 @@ state_hub_workstream_id: "9bd05700-a839-4014-8f88-8a78f2757721"
# NK-WP-0024 - Portal integration expansion
## 2026-08-13 completion review
This workplan was blocked at review time. On 2026-08-13 AUDIT-WP-0005
finished: the PostgreSQL-backed `audit-core` workload is Ready with archive
custody, OpenBao-backed sender/database lanes, restart/rollback evidence, and
a live failure matrix (12 passed, 0 failed, 3 production-disruption skips).
The workplan is active again.
The audit dependency recorded above is stale operationally: AUDIT-WP-0003
finished only after cancelling its deployment tasks. Production custody and
the live matrix moved to the now-finished AUDIT-WP-0005.
A consumer-side credential-isolation defect was found and fixed before
activation. The previous user-engine `HTTPOutboxDeliveryAdapter` accepted one
`USER_ENGINE_DELIVERY_TOKEN` for both receivers. audit-core and email-connect
are separately scoped receivers and must not share a bearer credential; the
adapter now accepts distinct event and mail tokens.
Track deferred integration breadth separately from the completed live MVP.
Activate with the corresponding user-engine product-expansion tasks.
@ -36,7 +54,7 @@ gate; provider implementation status stays authoritative in the owning repos.
```task
id: NK-WP-0024-T01
status: progress
status: wait
priority: high
state_hub_task_id: "7dff0ac6-c5eb-486c-83db-a1400f30f77d"
```
@ -61,7 +79,7 @@ runtime switch remains coupled to the event/mail activation gate below.
```task
id: NK-WP-0024-T02
status: progress
status: wait
priority: medium
state_hub_task_id: "9d5f272b-115c-404d-8387-7f987cee65ea"
```
@ -79,7 +97,7 @@ entry; production is deliberately not pointed at a fabricated endpoint.
```task
id: NK-WP-0024-T03
status: progress
status: wait
priority: high
state_hub_task_id: "17d6390b-05a8-436c-879b-4e0331d85be5"
```
@ -97,7 +115,7 @@ cluster event receiver and scoped delivery credential.
```task
id: NK-WP-0024-T04
status: progress
status: wait
priority: high
state_hub_task_id: "4c54e8e4-19d9-4470-bb43-3d43cf27af71"
```
@ -122,3 +140,19 @@ suppression, evidence ceilings, redaction) are in
`email-connect/docs/EMAIL-WP-0004-T04-failure-evidence.md`. user-engine must
mount only `EMAIL_CONNECT_INGEST_TOKEN` (not SMTP). Provider acceptance and
mailbox challenges are not authorization.
2026-08-13 review: reopening gates are (1) split user-engine's event and mail
bearer configuration, (2) finish and deploy AUDIT-WP-0005 with its OpenBao
dynamic database and sender lanes, (3) mount both independently scoped sender
credentials, roll out the current user-engine image, and (4) run the combined
deployed failure matrix. Until then, marking any of T01-T04 done would claim a
runtime cutover that has not occurred.
2026-08-13 resumed: user-engine now has distinct `USER_ENGINE_EVENT_TOKEN`
and `USER_ENGINE_MAIL_TOKEN` inputs; adapter tests assert that audit-core and
email-connect receive different Authorization headers and that mail delivery
fails closed without its token. The full source suite passes 132 tests with 3
external-provider skips. NetKingdom's runtime manifest now declares both
cluster-local endpoints, separate Secret keys, and audit-core egress. The
remaining gate is custody delivery of those two scoped values, image publish,
rollout, and the combined live matrix.

View file

@ -8,7 +8,7 @@ status: active
owner: codex
topic_slug: netkingdom
created: "2026-08-09"
updated: "2026-08-09"
updated: "2026-08-13"
depends_on:
- NK-WP-0024
- USER-WP-0022
@ -19,6 +19,24 @@ state_hub_workstream_id: "1638183b-e2cb-4da2-92b8-d39592d62e86"
# NK-WP-0025 - public registration and application JIT provisioning
## 2026-08-13 completion review
This workplan was blocked at review time. Source-side registration,
provider recovery, application JIT, registration entry points, and client MFA
selection now exist, but the live user-engine still has
`USER_ENGINE_PUBLIC_REGISTRATION=false` and no verification or delivery
credentials. Case B and the negative matrix have therefore not run through
the deployed path.
The durable audit receiver is now deployed and the user-engine event/mail
credential split is implemented and tested. The remaining upstream gate in
NK-WP-0024 is custody delivery plus activation of the fail-closed runtime.
Then enable registration with the email-connect
verification endpoint, the `coulomb-social` client/tenant allow-lists, and the
identity-provisioner password-setup origin. Final closure requires disposable
live users plus an attended MFA/isolation check; `tegwick` remains reserved
for the attended positive acceptance test.
Provide two safe entry paths for ordinary users of NetKingdom-enabled
applications, beginning with coulomb.social:
@ -59,7 +77,7 @@ attributes and are not account-link keys.
```task
id: NK-WP-0025-T02
status: progress
status: wait
priority: high
state_hub_task_id: "bc220e2b-4cd1-4dcf-b107-12ef3595fe14"
```
@ -88,11 +106,19 @@ client/tenant/username binding checks and deliberately stops before user or
LLDAP creation. The remaining slice is resumable completion, baseline
provisioning, provider-subject linking, and password-setup handoff.
The source happy path now completes those transitions: one user-engine user,
one idempotent provisioning request with only the baseline `user` role, a
KeyCape issuer/subject link, and an allow-listed HTTPS provider password-setup
redirect. The full user-engine suite passes 126 tests with 3
environment-dependent skips. Remaining before T02 completion: implement and
deploy the verification issuer/mail receiver, add automated recovery for a
provider failure after local completion, and run disposable live conformance.
## T03 - Integrate registration entry points and return flow
```task
id: NK-WP-0025-T03
status: progress
status: wait
priority: high
state_hub_task_id: "3ec4a9a0-cbce-4c63-8ed8-db36f4cae0fb"
```
@ -111,7 +137,7 @@ redirects or client confusion.
```task
id: NK-WP-0025-T04
status: progress
status: wait
priority: high
state_hub_task_id: "cf2e4d05-fd07-4bc3-92ff-b2a5ade97846"
```
@ -133,7 +159,7 @@ Other clients retain provider-driven mandatory MFA. Live rollout remains.
```task
id: NK-WP-0025-T05
status: todo
status: wait
priority: high
state_hub_task_id: "5d13f9f6-16b1-44c9-8e1d-4630cfe60a7b"
```