2026-08-12 10:59:25 +02:00
|
|
|
|
# coulomb-social residual intakes
|
|
|
|
|
|
|
|
|
|
|
|
File-backed intakes for leftovers from finished workplans. Canon: work-record
|
|
|
|
|
|
types § Residuals (`origin: residual`, `origin_ref: <WP-id>`).
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## CSOC-IN-0001 — Enable public Create account + Case B smoke
|
|
|
|
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
|
|
id: CSOC-IN-0001
|
|
|
|
|
|
kind: intake
|
|
|
|
|
|
title: "Enable Create account and Case B registration smoke on app.coulomb.social"
|
|
|
|
|
|
lane: blue
|
2026-08-14 19:35:46 +02:00
|
|
|
|
status: closed
|
2026-08-12 10:59:25 +02:00
|
|
|
|
priority: medium
|
|
|
|
|
|
owner: coulomb-social
|
|
|
|
|
|
repo: coulomb-social
|
|
|
|
|
|
origin: residual
|
|
|
|
|
|
origin_ref: CSOC-WP-0003
|
|
|
|
|
|
description: |
|
|
|
|
|
|
App entry for Create account is implemented (NETKINGDOM_REGISTRATION_URL,
|
|
|
|
|
|
/auth/register/, landing button). Public enablement waits on NetKingdom
|
|
|
|
|
|
mailbox verification and published registration URL (NK-WP-0025 / USER-WP-0022).
|
|
|
|
|
|
|
|
|
|
|
|
When the platform registration URL is live:
|
|
|
|
|
|
|
|
|
|
|
|
1. Set NETKINGDOM_REGISTRATION_URL on coulomb-social-env (names only in git;
|
|
|
|
|
|
example shape in .env.example).
|
|
|
|
|
|
2. Confirm landing shows Create account and /auth/register/ redirects only to
|
|
|
|
|
|
that URL (no open redirect via ?next=).
|
|
|
|
|
|
3. Run Case B: brand-new public registration → verified mail → OIDC → first
|
|
|
|
|
|
Member JIT on app.coulomb.social.
|
|
|
|
|
|
4. Record evidence under docs/identity/smoke.md.
|
|
|
|
|
|
|
|
|
|
|
|
DoC-Ok: residual of finished CSOC-WP-0003; platform dependency explicit.
|
|
|
|
|
|
notes: |
|
2026-08-14 19:35:46 +02:00
|
|
|
|
Closed 2026-08-14. NK-WP-0025 published the registration URL and completed
|
|
|
|
|
|
disposable mailbox verification, KeyCape PKCE, Member JIT, and repeat-login
|
|
|
|
|
|
evidence. The live app redirect uses the configured URL only.
|
|
|
|
|
|
Related: narrowed CSOC-IN-0002 for two focused regression checks.
|
2026-08-12 10:59:25 +02:00
|
|
|
|
state_hub_intake_id: "019ff532-3694-7868-a3a7-f4b4f28a647a"
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## CSOC-IN-0002 — Identity negative matrix after Case B
|
|
|
|
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
|
|
id: CSOC-IN-0002
|
|
|
|
|
|
kind: intake
|
2026-08-14 19:35:46 +02:00
|
|
|
|
title: "Add callback replay and email-only takeover regressions"
|
2026-08-12 10:59:25 +02:00
|
|
|
|
lane: green
|
|
|
|
|
|
status: open
|
|
|
|
|
|
priority: low
|
|
|
|
|
|
owner: coulomb-social
|
|
|
|
|
|
repo: coulomb-social
|
|
|
|
|
|
origin: residual
|
|
|
|
|
|
origin_ref: CSOC-WP-0003
|
|
|
|
|
|
description: |
|
2026-08-14 19:35:46 +02:00
|
|
|
|
Case B, repeat-login issuer+subject idempotency, registration redirect
|
|
|
|
|
|
confinement, and AAL1/AAL2 isolation are now proven. Add direct application
|
|
|
|
|
|
regressions for the two checks not yet independently covered:
|
2026-08-12 10:59:25 +02:00
|
|
|
|
|
2026-08-14 19:35:46 +02:00
|
|
|
|
- a consumed/replayed OIDC callback state fails closed; and
|
|
|
|
|
|
- the same email with a different issuer+subject cannot take over a Member.
|
2026-08-12 10:59:25 +02:00
|
|
|
|
|
2026-08-14 19:35:46 +02:00
|
|
|
|
Capture the results in docs/identity/smoke.md and close this intake.
|
2026-08-12 10:59:25 +02:00
|
|
|
|
notes: |
|
2026-08-14 19:35:46 +02:00
|
|
|
|
Narrowed 2026-08-14 after NK-WP-0025 completed live Case B. No longer blocked
|
|
|
|
|
|
on the registration or mailbox path.
|
2026-08-12 10:59:25 +02:00
|
|
|
|
state_hub_intake_id: "019ff532-3ade-7d75-acb7-2bbfa264fcb8"
|
|
|
|
|
|
```
|
2026-08-13 12:55:59 +02:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## CSOC-IN-0003 — Multi-space Bubble corpus import + membership map
|
|
|
|
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
|
|
id: CSOC-IN-0003
|
|
|
|
|
|
kind: intake
|
|
|
|
|
|
title: "Bulk-import Bubble corpus trees; map members to NetKingdom"
|
|
|
|
|
|
lane: blue
|
|
|
|
|
|
status: open
|
|
|
|
|
|
priority: medium
|
|
|
|
|
|
owner: coulomb-social
|
|
|
|
|
|
repo: coulomb-social
|
|
|
|
|
|
origin: residual
|
|
|
|
|
|
origin_ref: CSOC-WP-0001
|
|
|
|
|
|
description: |
|
|
|
|
|
|
Single-space rehearsal (reichelag) is done via import_content_tree.
|
|
|
|
|
|
Residuals from finished CSOC-WP-0001:
|
|
|
|
|
|
|
|
|
|
|
|
1. Generate ADR-0004 trees for more of the 71-space corpus (optional deeper
|
|
|
|
|
|
crawl for thin spaces — export-progress-2026-08-13).
|
|
|
|
|
|
2. Bulk import into CONTENT_ROOT with tenant + replace policy.
|
|
|
|
|
|
3. Map Bubble members_list_user → NetKingdom/Member + SpaceMembership
|
|
|
|
|
|
(no password import; assisted transfer only).
|
|
|
|
|
|
4. Keep private trees out of git; document additional lossiness.
|
|
|
|
|
|
|
|
|
|
|
|
Prefer a dedicated workplan if bulk import + identity map spans multiple
|
|
|
|
|
|
sessions; otherwise close this intake when (1)–(3) are evidenced.
|
|
|
|
|
|
notes: |
|
|
|
|
|
|
Pickup: docs/session-pickup.md · rehearsal: docs/migration/rehearsal-reichelag-2026-08-13.md
|
|
|
|
|
|
Code: coulomb_social/apps/spaces/import_tree.py
|
2026-08-13 12:56:26 +02:00
|
|
|
|
state_hub_intake_id: "019ffac3-f894-707a-9fdb-75c8ea14497d"
|
2026-08-13 12:55:59 +02:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## CSOC-IN-0004 — Deploy stage-1 PageOps to app.coulomb.social
|
|
|
|
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
|
|
id: CSOC-IN-0004
|
|
|
|
|
|
kind: intake
|
|
|
|
|
|
title: "Deploy PageOps CONTENT_ROOT + space visual migration to app host"
|
|
|
|
|
|
lane: green
|
|
|
|
|
|
status: open
|
|
|
|
|
|
priority: high
|
|
|
|
|
|
owner: coulomb-social
|
|
|
|
|
|
repo: coulomb-social
|
|
|
|
|
|
origin: residual
|
|
|
|
|
|
origin_ref: CSOC-WP-0006
|
|
|
|
|
|
description: |
|
|
|
|
|
|
Member UI and content plane land on main; production host still needs:
|
|
|
|
|
|
|
|
|
|
|
|
1. Image/release with spaces.0002_space_visual + PageOps views.
|
|
|
|
|
|
2. CONTENT_ROOT persistent volume (or agreed path) on the workload.
|
|
|
|
|
|
3. migrate + smoke: New space, page CRUD, copy/transfer on app.coulomb.social.
|
|
|
|
|
|
4. Extend docs/identity/smoke.md live results.
|
|
|
|
|
|
|
|
|
|
|
|
Local default CONTENT_ROOT is var/content (gitignored). Cluster must not
|
|
|
|
|
|
rely on empty ephemeral disk without a volume decision.
|
|
|
|
|
|
notes: |
|
|
|
|
|
|
Runbook docs/deploy.md · capability model docs/capability/model-v0.yaml
|
|
|
|
|
|
Pickup: docs/session-pickup.md
|
2026-08-13 12:56:26 +02:00
|
|
|
|
state_hub_intake_id: "019ffac3-fc7d-7850-93b6-b0d289881ec7"
|
2026-08-13 12:55:59 +02:00
|
|
|
|
```
|