coulomb-social/docs/intakes/csoc-residuals.md

139 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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
status: open
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: |
Depends on NK-WP-0025 (registration orchestration + mail path).
Related: CSOC-IN-0002 (identity negatives after Case B).
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
title: "Record identity negatives: state replay, collision, step-up"
lane: green
status: open
priority: low
owner: coulomb-social
repo: coulomb-social
origin: residual
origin_ref: CSOC-WP-0003
description: |
CSOC-WP-0003 Case A (known LLDAP login) is proven. Remaining negatives listed
in docs/identity/smoke.md should be executed when Case B unblocks (or sooner
offline/dev if useful):
- OIDC state/nonce replay
- issuer+subject collision (single Member)
- email-only must not take over another subject
- step-up ACR rejection when assurance insufficient
- registration redirect allow-list only
Capture pass/fail in docs/identity/smoke.md; close this intake when recorded.
notes: |
Pulls from CSOC-IN-0001 for live registration path; some checks can run offline.
state_hub_intake_id: "019ff532-3ade-7d75-acb7-2bbfa264fcb8"
```
---
## 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
state_hub_intake_id: "019ffac3-f894-707a-9fdb-75c8ea14497d"
```
---
## 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
state_hub_intake_id: "019ffac3-fc7d-7850-93b6-b0d289881ec7"
```