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

@ -120,11 +120,15 @@ FLEX_AUTH_PROTECTED_SYSTEM_ID = config(
)
FLEX_AUTH_TIMEOUT_SECONDS = config("FLEX_AUTH_TIMEOUT_SECONDS", default=3.0, cast=float)
# ── Space content (Forgejo / ADR-0002) ──────────────────────────────────────
# ── Content plane (ADR-0003 / ADR-0004) ─────────────────────────────────────
# Thin dir+git SoR: spaces/<slug>/pages/*.md under CONTENT_ROOT
CONTENT_ROOT = config("CONTENT_ROOT", default=str(BASE_DIR / "var" / "content"))
# Optional Forgejo remote/export (ADR-0002 demoted; not required for SoR)
FORGEJO_BASE_URL = config("FORGEJO_BASE_URL", default="https://forgejo.coulomb.social")
FORGEJO_TOKEN = config("FORGEJO_TOKEN", default="") # optional; public raw needs none
FORGEJO_TIMEOUT_SECONDS = config("FORGEJO_TIMEOUT_SECONDS", default=10.0, cast=float)
# Shared secret for POST /app/spaces/hooks/forgejo/ (push → cache invalidate)
FORGEJO_WEBHOOK_SECRET = config("FORGEJO_WEBHOOK_SECRET", default="")
# Optional local root for offline tests: <root>/<space-slug>/<content_root>/index.md
# Optional local fixture root for offline tests: <root>/<space-slug>/<content_root>/index.md
SPACE_CONTENT_FIXTURE_ROOT = config("SPACE_CONTENT_FIXTURE_ROOT", default="")