Adopt stage-1 capability cut and product capability model

Persist capability/feature vocabulary, v0 model, and founder stage-1 must set
(onboarding, spaces/pages with Title/Abstract/Visual, page copy and transfer).
Mark CSOC-WP-0001-T03 done; add CSOC-WP-0006 for implementation.
This commit is contained in:
tegwick 2026-08-12 13:09:09 +02:00
parent 2dfb5a0bf2
commit bc78cd27fc
13 changed files with 622 additions and 11 deletions

View file

@ -81,7 +81,7 @@ editor/export access for actual type fields and content corpus.
```task
id: CSOC-WP-0001-T03
status: wait
status: done
priority: high
state_hub_task_id: "35a0af87-2f22-4fae-8c82-e3cc4f77f074"
```
@ -90,6 +90,14 @@ Decide rebuild-as-is vs reduced v1 scope. **Human gate — Bernd.** Capture unde
`docs/decisions/`. Gate **apex cutover / bulk migration**, not day-to-day
rebuild work on `app.coulomb.social`.
2026-08-12: **Stage-1 cut accepted** — partial rebuild for productive transfer.
Must: onboarding; spaces/pages markdown CRUD with Visual, Title, Abstract;
page transfer; page copy. Later capabilities after Bubble is reference-only.
Record: `docs/decisions/2026-08-12-feature-cut-stage-1.md`
Model: `docs/capability/` (vocabulary + `model-v0.yaml` + stage-1 narrative).
Open product details (visual storage, editor UX, …) refine without reopening
the must-set unless founder revises the decision.
## Migration rehearsal
```task

View file

@ -0,0 +1,112 @@
---
id: CSOC-WP-0006
type: workplan
title: "Stage-1 space and page capabilities (CRUD, copy, transfer)"
domain: communication
repo: coulomb-social
status: ready
owner: bernd
topic_slug: coulomb-social
created: "2026-08-12"
updated: "2026-08-12"
depends_on:
- CSOC-WP-0004
related:
- CSOC-WP-0001
- CSOC-WP-0003
origin: residual
origin_ref: docs/decisions/2026-08-12-feature-cut-stage-1.md
state_hub_workstream_id: "e92fe627-7ff4-42f6-a294-23b5a723edab"
---
# CSOC-WP-0006 — Stage-1 space and page capabilities
Implement product features required by the **stage-1 productive transfer** cut
(`docs/capability/stage-1-cutover.md`, `docs/capability/model-v0.yaml`).
**Out of scope here:** marketplace, social graph, monetization; Bubble export
(CSOC-WP-0001-T02); public registration platform path (CSOC-IN-0001 / NK).
## T01 — Space member CRUD + Title / Abstract
```task
id: CSOC-WP-0006-T01
status: todo
priority: high
state_hub_task_id: "337baa68-0459-4985-9981-30a6d37f5bf5"
```
Member-facing create / update / archive (or delete) for `Space`. Expose
**Title** and **Abstract** (current `description` field or rename). List and
detail stay tenant-scoped. Tests for authz and isolation.
## T02 — Space and page Visual
```task
id: CSOC-WP-0006-T02
status: todo
priority: high
state_hub_task_id: "1ee74b60-a87d-4aff-91f1-3f97026774a5"
```
Add **Visual** (cover/image) for space and page. Decide storage (Forgejo
`assets/` vs app media) in implementation notes; no secrets in git. Show
visual on list/detail.
## T03 — Page metadata + product CRUD path
```task
id: CSOC-WP-0006-T03
status: todo
priority: high
state_hub_task_id: "fe95438c-2ed1-4efd-b6ea-84966636dbc3"
```
Structured **Title**, **Abstract**, **Visual** for pages; create/update/delete
product path (app UI and/or API) while keeping markdown body SoR per ADR-0002
(Forgejo commit or equivalent). Page list in space.
## T04 — Generate copy of page
```task
id: CSOC-WP-0006-T04
status: todo
priority: high
state_hub_task_id: "98d7428c-1b2f-45f1-b080-a833a4790b69"
```
`feat.page-duplicate`: independent copy with new slug/title; optional target
space; asset handling per stage-1 acceptance.
## T05 — Transfer page to another space
```task
id: CSOC-WP-0006-T05
status: todo
priority: high
state_hub_task_id: "5ec81ff4-1d6f-4c86-8c93-b68b1570cc32"
```
`feat.page-move`: move page (+ agreed assets) with source and destination
authz; no Bubble dependency.
## T06 — Stage-1 smoke and capability model update
```task
id: CSOC-WP-0006-T06
status: todo
priority: medium
state_hub_task_id: "752f52a8-8c18-402c-8f00-bce6c76a1db7"
```
Update `docs/capability/model-v0.yaml` feature statuses as work lands; extend
`docs/identity/smoke.md` / deploy runbook with space CRUD, copy, transfer
checks on app.coulomb.social.
## Acceptance
- [ ] Members can CRUD spaces with Title, Abstract, Visual without Django admin
- [ ] Members can CRUD pages with Title, Abstract, Visual + markdown body path
- [ ] Page copy and page transfer work with membership checks
- [ ] Capability model statuses match reality
- [ ] Stage-1 cut doc open questions resolved or explicitly deferred with owner