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:
parent
61de4a8165
commit
edfdd79208
13 changed files with 440 additions and 105 deletions
|
|
@ -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`.
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@ type: workplan
|
|||
title: "App shell entry and Forgejo-backed space content"
|
||||
domain: communication
|
||||
repo: coulomb-social
|
||||
status: active
|
||||
status: finished
|
||||
owner: bernd
|
||||
topic_slug: coulomb-social
|
||||
created: "2026-08-10"
|
||||
updated: "2026-08-10"
|
||||
updated: "2026-08-12"
|
||||
# note: T07 added same day — principal diagnostics via profile menu
|
||||
depends_on:
|
||||
- CSOC-WP-0002
|
||||
|
|
@ -38,11 +38,14 @@ cutover.
|
|||
|
||||
Migration of all Bubble spaces is **explicitly later** (`CSOC-WP-0001`).
|
||||
|
||||
**Finished 2026-08-12:** T01–T07 complete. Operator runbook and smoke pointers
|
||||
in `docs/deploy.md` and `docs/identity/smoke.md`.
|
||||
|
||||
## Out of scope (this plan)
|
||||
|
||||
- Apex DNS cutover / Bubble retirement
|
||||
- Full Bubble inventory or bulk import
|
||||
- Public self-registration (CSOC-WP-0003 / NetKingdom)
|
||||
- Public self-registration (CSOC-WP-0003 residuals / NetKingdom)
|
||||
- Full UI parity (Research, marketplace matching, …) beyond space content MVP
|
||||
|
||||
---
|
||||
|
|
@ -168,7 +171,7 @@ detail; repo-scoped cache invalidate; optional push webhook
|
|||
|
||||
```task
|
||||
id: CSOC-WP-0004-T06
|
||||
status: todo
|
||||
status: done
|
||||
priority: medium
|
||||
state_hub_task_id: "40a880d0-62b9-4ae4-ab3e-074e8901462a"
|
||||
```
|
||||
|
|
@ -177,6 +180,11 @@ Document operator steps: create Forgejo org/repo, bind space, credentials env
|
|||
names, smoke checklist on app.coulomb.social. Update `docs/deploy.md` and
|
||||
`docs/identity/smoke.md` pointers as needed.
|
||||
|
||||
2026-08-12: Full operator runbook in `docs/deploy.md` (demo seed, dedicated
|
||||
repo, webhook, env table, smoke table). Product smoke section in
|
||||
`docs/identity/smoke.md`. FORGEJO_* names in `.env.example` and `docs/dev.md`.
|
||||
Content detail remains `docs/spaces-content.md`.
|
||||
|
||||
## T07 — Principal diagnostics via user profile menu
|
||||
|
||||
```task
|
||||
|
|
@ -232,11 +240,6 @@ T01 app home entry ──┬─► T07 profile menu principal diagnostics
|
|||
└─► T06 runbook
|
||||
```
|
||||
|
||||
T01 (+ T07) can ship alone to fix the “stuck on login confirmation” UX while
|
||||
keeping identity diagnostics one click away. T03 should land before large T04
|
||||
investment if write-model choices are unclear; a **provisional** ADR is enough
|
||||
to start T04 against a single seed repo.
|
||||
|
||||
## Acceptance (workplan)
|
||||
|
||||
1. Post-login journey is product-shaped (app home + spaces), not identity-debug-only.
|
||||
|
|
@ -245,10 +248,11 @@ to start T04 against a single seed repo.
|
|||
4. Space page content is markdown backed by Forgejo with a working read path.
|
||||
5. Bubble migration is still not required for demos on app.coulomb.social.
|
||||
6. CSOC-WP-0001 can map Bubble pages onto the ADR layout when migration starts.
|
||||
7. Operator runbook documents seed, bind, secrets (names), and smoke (T06).
|
||||
|
||||
## Related
|
||||
|
||||
- Live host: `docs/deploy.md` (app.coulomb.social parallel to Bubble)
|
||||
- Identity: CSOC-WP-0002 (done), CSOC-WP-0003 (registration later)
|
||||
- Identity: CSOC-WP-0002 (done), CSOC-WP-0003 residuals for public registration
|
||||
- Migration later: CSOC-WP-0001
|
||||
- Design tokens: `docs/design-extract/`
|
||||
|
|
|
|||
80
workplans/CSOC-WP-0005-resource-demand-and-cost-evidence.md
Normal file
80
workplans/CSOC-WP-0005-resource-demand-and-cost-evidence.md
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
---
|
||||
id: CSOC-WP-0005
|
||||
type: workplan
|
||||
title: "Publish Coulomb Social resource demand and cost evidence"
|
||||
domain: communication
|
||||
repo: coulomb-social
|
||||
status: ready
|
||||
owner: codex
|
||||
topic_slug: coulomb-social
|
||||
created: "2026-08-11"
|
||||
updated: "2026-08-11"
|
||||
related:
|
||||
- CSOC-WP-0004
|
||||
- RESOURCE-WP-0003
|
||||
state_hub_workstream_id: "00de1578-6150-40d3-b193-e852666ed945"
|
||||
---
|
||||
|
||||
# CSOC-WP-0005 — resource demand and cost evidence
|
||||
|
||||
## Goal
|
||||
|
||||
Publish workload-owned requirements and observations for
|
||||
`resource:tenant:coulomb:coulomb-social` without moving deployment, platform,
|
||||
or financial authority into this repository. Origin: `RESOURCE-WP-0003-T04`
|
||||
delegated evidence gap.
|
||||
|
||||
## T01 — Declare low, base, and high workload demand
|
||||
|
||||
```task
|
||||
id: CSOC-WP-0005-T01
|
||||
status: todo
|
||||
priority: high
|
||||
state_hub_task_id: "d22e42e7-186e-4206-9cf4-c533d6388b13"
|
||||
```
|
||||
|
||||
Define forecast proxies for active tenants/users, requests, background work,
|
||||
database size/growth, stored media, ingress/egress, and required CPU/memory.
|
||||
Preserve assumptions and distinguish current Coulomb use from future external
|
||||
multi-tenant scenarios.
|
||||
|
||||
Done when resource-control can produce falsifiable monthly demand forecasts.
|
||||
|
||||
## T02 — Publish service objectives and usage observations
|
||||
|
||||
```task
|
||||
id: CSOC-WP-0005-T02
|
||||
status: todo
|
||||
priority: high
|
||||
state_hub_task_id: "ac078211-3cd9-49d8-baac-c0a1b60278fb"
|
||||
```
|
||||
|
||||
Declare availability, latency, recovery, retention, and tenant-isolation
|
||||
requirements. Publish timestamped non-secret observations for the demand
|
||||
proxies available to the application while leaving cluster telemetry to its
|
||||
owners.
|
||||
|
||||
Done when infrastructure options can be evaluated against application-owned
|
||||
requirements and forecast error can be measured.
|
||||
|
||||
## T03 — Record workload operations labor
|
||||
|
||||
```task
|
||||
id: CSOC-WP-0005-T03
|
||||
status: todo
|
||||
priority: medium
|
||||
state_hub_task_id: "a15e630c-6bec-4c50-9622-bce16e1ce418"
|
||||
```
|
||||
|
||||
Identify setup and recurring application labor for releases, migrations,
|
||||
tenant operations, incident response, and recovery exercises. Separate it from
|
||||
cluster, database, identity, and provider labor.
|
||||
|
||||
Done when resource-control can include workload labor without double counting
|
||||
platform operations.
|
||||
|
||||
## Acceptance
|
||||
|
||||
- [ ] Demand forecasts distinguish current, growth, and external-tenant cases.
|
||||
- [ ] Service objectives and observations have stable units and provenance.
|
||||
- [ ] Workload labor is separated from delegated infrastructure labor.
|
||||
Loading…
Add table
Add a link
Reference in a new issue