Finish CSOC-WP-0003 and CSOC-WP-0004; residual intakes for Case B

Close self-registration workplan with Case A proven and Create account
entry implemented; park public registration enablement and identity
negatives as CSOC-IN-0001/0002. Complete app-shell workplan with T06
operator runbook (seed, bind, webhook, smoke) and smoke doc updates.
This commit is contained in:
tegwick 2026-08-12 10:59:25 +02:00
parent 61de4a8165
commit edfdd79208
13 changed files with 440 additions and 105 deletions

View file

@ -4,11 +4,11 @@ type: workplan
title: "Add NetKingdom self-registration and profile-aware assurance"
domain: communication
repo: coulomb-social
status: active
status: finished
owner: bernd
topic_slug: coulomb-social
created: "2026-08-09"
updated: "2026-08-10"
updated: "2026-08-12"
depends_on:
- CSOC-WP-0002
- NK-WP-0025
@ -22,10 +22,10 @@ state_hub_workstream_id: "7cd7d6b8-e01d-4b34-8680-3c0cac68d80e"
Extend the working CSOC-WP-0002 OIDC/JIT shell with a NetKingdom account
creation entry point and optional profile/action step-up.
**2026-08-10 posture:** existing-user login on **`app.coulomb.social`** is proven
(tegwick, AAL1, no MFA). Public **Create account** remains blocked on NetKingdom
mailbox verification (NK-WP-0025 / USER-WP-0022). Product work proceeds via
`CSOC-WP-0004` without waiting on public registration.
**Finished 2026-08-12:** app-side work complete. Existing-user login on
**`app.coulomb.social`** is proven (tegwick, AAL1). Landing **Create account**
is implemented and gated on `NETKINGDOM_REGISTRATION_URL`. Public Case B waits
on NetKingdom mailbox verification (`NK-WP-0025`) — residuals below.
## T01 - Preserve and prove first-login JIT profile creation
@ -46,14 +46,15 @@ user-engine id; image `:f5537d8` uses id_token when `/userinfo` 401s.
```task
id: CSOC-WP-0003-T02
status: progress
status: done
priority: medium
state_hub_task_id: "aaf2d2cb-6ba9-42cb-9271-aacc414e947a"
```
Landing-page **Create account** using configured `NETKINGDOM_REGISTRATION_URL`.
App entry is implemented; remains disabled until NetKingdom public registration
URL + verified-mail flow ship.
App entry implemented (`/auth/register/`, context processor, tests). Button
hidden until env URL is set. **Enablement residual:** `CSOC-IN-0001` after
NK-WP-0025 publishes registration + verified-mail flow.
## T03 - Support profile/action step-up
@ -71,7 +72,7 @@ client uses `mfaRequired: false`.
```task
id: CSOC-WP-0003-T04
status: progress
status: done
priority: medium
state_hub_task_id: "57bac5f4-fd5d-46ba-92a3-a7bbeb15aa08"
```
@ -79,7 +80,16 @@ state_hub_task_id: "57bac5f4-fd5d-46ba-92a3-a7bbeb15aa08"
| Case | Status |
|------|--------|
| A — known LLDAP user, first/repeat login on app.* | **done** (tegwick) |
| B — brand-new public registration → OIDC → Member | **blocked** on NK mailbox verification |
| B — brand-new public registration → OIDC → Member | residual **CSOC-IN-0001** (NK mailbox) |
Record remaining negatives (state replay, collision, step-up) when Case B unblocks
or in a short follow-up smoke note under `docs/identity/smoke.md`.
Negatives checklist parked in `docs/identity/smoke.md`; execution residual
**CSOC-IN-0002**.
## Residuals (live records)
| Id | Role |
|----|------|
| `CSOC-IN-0001` | Enable Create account + Case B smoke when NK registration URL ships |
| `CSOC-IN-0002` | Record identity negatives (replay, collision, step-up) |
Source: `docs/intakes/csoc-residuals.md`.