Land CSOC-WP-0006 PageOps: member space/page CRUD, copy, transfer

Thin CONTENT_ROOT content plane (ADR-0003/0004) with space visual field,
product UI for Title/Abstract/Visual, page list sidebar, and tests. Update
capability model and smoke checklist; mark WP-0006 finished.
This commit is contained in:
tegwick 2026-08-13 12:46:39 +02:00
parent 00dbb86c93
commit affed64839
24 changed files with 1812 additions and 151 deletions

View file

@ -4,7 +4,7 @@
schema_version: "0.1"
product: coulomb-social
resource_id: "resource:tenant:coulomb:coulomb-social"
updated: "2026-08-12"
updated: "2026-08-13"
stance: |
Partial rebuild is intentional. Stage 1 enables user transfer and retires
Bubble as productive system; Bubble may remain reference-only. Later stages
@ -74,36 +74,38 @@ capabilities:
status: shipped
- id: feat.space-crud
title: Space create / read / update / delete-or-archive (member UI)
status: partial
notes: "Model + admin/seed; member-facing CRUD todo"
status: shipped
notes: "Member UI create/edit/archive; DB index + CONTENT_ROOT tree"
- id: feat.space-title
title: Space Title field
status: partial
notes: "DB title exists; member edit UI todo"
status: shipped
- id: feat.space-abstract
title: Space Abstract field
status: partial
notes: "Maps to Space.description until product rename"
status: shipped
notes: "Maps to Space.description (product label Abstract / Abstractor)"
- id: feat.space-visual
title: Space Visual (cover/image)
status: todo
status: shipped
notes: "Path relative to space tree (e.g. assets/cover.jpg); not app media yet"
- id: feat.page-list
title: List pages in a space
status: partial
status: shipped
notes: "Sidebar from CONTENT_ROOT pages/*.md"
- id: feat.page-crud
title: Page create / update / delete (product path)
status: partial
notes: "Git/Forgejo only today; product path todo"
status: shipped
notes: "PageOps on CONTENT_ROOT; Forgejo optional fallback"
- id: feat.page-title
title: Page Title (structured)
status: partial
notes: "Inferred from H1/filename; frontmatter/UI todo"
status: shipped
notes: "Frontmatter title + form; H1 fallback on render"
- id: feat.page-abstract
title: Page Abstractor
status: todo
status: shipped
- id: feat.page-visual
title: Page Visual
status: todo
status: shipped
notes: "Frontmatter path; relative assets copied on page copy"
- id: feat.authoring-top-down
title: Top-down authoring (title → abstractor → outline → body)
status: todo
@ -133,8 +135,8 @@ capabilities:
notes: "markitect explode/implode; ArchitectureBlueprint D4"
- id: feat.content-plane-thin-git
title: Content SoR as directory + markdown files in git
status: todo
notes: "Upgrades to shard-wiki then kontextual supported later"
status: partial
notes: "CONTENT_ROOT PageOps landed (CSOC-WP-0006); git commit/push operator path next"
- id: feat.content-fail-closed
title: Fail closed on missing binding/fetch
status: shipped
@ -148,10 +150,12 @@ capabilities:
features:
- id: feat.page-move
title: Move page between spaces
status: todo
status: shipped
notes: "PageOps transfer; index page cannot move"
- id: feat.page-move-authz
title: Authz for source and destination spaces
status: todo
status: shipped
notes: "spaces_for_member on both ends"
- id: cap.page-copy
title: Generate copy of page
@ -162,10 +166,11 @@ capabilities:
features:
- id: feat.page-duplicate
title: Duplicate page (new slug/title)
status: todo
status: shipped
- id: feat.page-duplicate-assets
title: Copy or re-link page assets
status: todo
status: partial
notes: "Relative visual files under assets/ copied; full asset scan deferred"
# --- later stage (not transfer blockers) ---