Enable public registration and prove event delivery
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-14 00:42:14 +02:00
parent 8070dd4b14
commit c56465e32d
3 changed files with 54 additions and 5 deletions

View file

@ -54,7 +54,7 @@ gate; provider implementation status stays authoritative in the owning repos.
```task
id: NK-WP-0024-T01
status: progress
status: done
priority: high
state_hub_task_id: "7dff0ac6-c5eb-486c-83db-a1400f30f77d"
```
@ -75,6 +75,12 @@ validated user-engine policy package currently exists on railiance01.
probe produced self-service allow and cross-tenant deny decisions. The portal
runtime switch remains coupled to the event/mail activation gate below.
Done 2026-08-14: the portal is live on the fail-closed HTTP adapter; its
platform outbox dispatch was authorized by the deployed flex-auth policy and
accepted into audit-core with correlated event IDs. Existing deployed allow,
cross-tenant deny, missing-role deny, and wrong-system deny evidence remains
valid.
## T02 - Add invitation and verification mail delivery
```task
@ -97,7 +103,7 @@ entry; production is deliberately not pointed at a fabricated endpoint.
```task
id: NK-WP-0024-T03
status: progress
status: done
priority: high
state_hub_task_id: "17d6390b-05a8-436c-879b-4e0331d85be5"
```
@ -167,3 +173,24 @@ reach flex-auth, audit-core, and email-connect with HTTP 200 through the
declared NetworkPolicies. Remaining T04 evidence is application-level outbox
delivery and the negative matrix; health reachability alone is not reported
as delivery acceptance.
2026-08-14 live outbox proof: nine existing durable non-mail events were
dispatched through the deployed user-engine adapter. Three were accepted
immediately. Six received HTTP 400 because audit-core's `user-engine` sender
was limited to `tenant:friendly:binky`; the platform service legitimately
emits for multiple tenants. The sender remains write-only and source-bound to
`user-engine`, but its tenant claim scope is now `*`. After audit-core restart,
explicit replay delivered all six with attempt count 2; user-engine reports
zero pending events.
The run also exposed a PostgreSQL retry defect: `pending_outbox()` filtered on
`failed_at IS NULL`, unlike the in-memory contract, so bounded retries stopped
after one failure. user-engine commit `0b6a57d` selects every undelivered,
non-dead-letter event and adds regression coverage; the full suite passes 133
tests with 3 external skips. The corrected immutable image is
`sha256:1402712e8f3ddc1397e83edb9627251b0ea362f1e3308d252d0d688ac589556e`.
T03 is complete: all nine durable source events are delivered, replay is
idempotent at audit-core, user-engine reports zero pending events, and the
corrected bounded-retry query is live and Ready. T04 remains open for the
mail-producing application journey and its attended negative cases.