coulomb-social/workplans/CSOC-WP-0001-bubble-io-exit-assessment.md
tegwick a0fd3cb7ea Advance Bubble export: corpus walk and ADR-0004 sample tree
Add corpus exporter (session + ES capture), record 71 spaces / 109 articles
and local reichelag markdown tree with visuals. Redacted progress only in git.
2026-08-13 12:24:13 +02:00

5.5 KiB
Raw Blame History

id type title domain repo status owner topic_slug created updated origin origin_ref state_hub_workstream_id
CSOC-WP-0001 workplan bubble.io exit assessment communication coulomb-social active bernd coulomb-social 2026-08-09 2026-08-13 residual the-custodian/docs/coulomb-social-rebuild-seed.md ecefaeef-908a-4072-ae34-6406862d4cad

bubble.io exit assessment

Assess the live coulomb.social bubble.io product, export its data model, decide the v1 feature cut, and rehearse migration into the code-owned stack.

Operating posture (2026-08-10)

Host Role
https://coulomb.social Bubble.io — full product, production members/content
https://app.coulomb.social Railiance rebuild — identity live; product surfaces under construction

Strategy: perfect the rebuild on app.coulomb.social before migrating all spaces/data from Bubble. Do not repoint apex DNS until product + content persistence + self-registration are ready and a migration rehearsal has passed.

Identity shell is done (CSOC-WP-0002). Product/content foundation is finished (CSOC-WP-0004). This workplan is the home for inventory, mapping, feature cut, and migration rehearsal.

Inventory bubble.io app

id: CSOC-WP-0001-T01
status: done
priority: medium
state_hub_task_id: "240a97c5-1f57-4da6-a75b-d7b3416afdd1"

Inventory the current bubble.io app: pages, workflows, data types, integrations, external services, and content surfaces that must be preserved or deliberately dropped. Record findings under docs/bubble-inventory/ (create as needed). Prefer spaces / pages / markdown-shaped content first so CSOC-WP-0004 Forgejo persistence can map cleanly.

2026-08-12: Surface inventory committed — docs/bubble-inventory/2026-08-12-surface-inventory.md. Public meta, hosts, Research/vw_pages/pg_chunk routes, integrations, content hypothesis, gaps. Data types empty on public API — full type/workflow graph waits on Bubble editor export (T02).

Data export and schema mapping

id: CSOC-WP-0001-T02
status: progress
priority: medium
state_hub_task_id: "0bc6eea3-030d-4987-b203-15ccd4f94fcb"

Produce a full data dump from bubble.io and map it to:

  1. tenant-keyed application tables (members, space metadata, …), and
  2. space content as markdown trees bound to Forgejo repositories
    (see CSOC-WP-0004 content model).

Document mapping and export under docs/migration/. Depends on CSOC-WP-0004 content layout decisions for lossless mapping of pages/artefacts.

2026-08-12: Provisional mapping sketch without dump — docs/migration/schema-mapping-sketch-2026-08-12.md.

2026-08-13: Auth path for automated read access without secrets in chat: docs/migration/bubble-auth-and-export.md + scripts/export-bubble-session.sh. Operator captures Playwright session once (capture-auth-state.sh); agents use storage-state.json under ~/.config/coulomb-social/auth/. Map target is thin dir+git (ADR-0003/0004), not Forgejo-only.

2026-08-13: Session export run (probe vw_pages, 147 network captures). Research content is primarily custom.article (nomer/abstractor/content/ logo + space link), not empty public meta. Field map (redacted): docs/migration/field-map-from-session-2026-08-13.md.

2026-08-13: Corpus + sample tree (local only, not git): ~/.config/coulomb-social/auth/exports/corpus-202608131015057/ — 71 spaces, 109 articles; sample ADR-0004 tree trees/reichelag/ with 30 pages + 29 visuals (~1.6MB). Progress note: docs/migration/export-progress-2026-08-13.md. Script: scripts/export-bubble-corpus.mjs. T02 largely unblocked for mapping; T04 next when PageOps thin-git landing pad exists (CSOC-WP-0006).

Feature cut decision (human gate)

id: CSOC-WP-0001-T03
status: done
priority: high
state_hub_task_id: "35a0af87-2f22-4fae-8c82-e3cc4f77f074"

Decide rebuild-as-is vs reduced v1 scope. Human gate — Bernd. Capture under 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

id: CSOC-WP-0001-T04
status: wait
priority: low
state_hub_task_id: "2e5be321-3d76-4d7a-86b1-cbe4eb554bd7"

Import one or more Bubble spaces into the v1 model on a non-production path (app host or staging). Record lossiness and residuals. Blocked until T02 has a real export (CSOC-WP-0004 persistence is ready). Explicitly not a prerequisite for building product UX on the empty/new content store.

Acceptance

  • Inventory and mapping docs are committed and reviewable.
  • Feature-cut decision is recorded with owner and date.
  • At least one migration rehearsal has been run and residual gaps listed.
  • Apex Bubble retirement is only planned after rehearsal + product parity gate.

Notes

  • Parallel hosts: docs/deploy.md
  • Product foundation: CSOC-WP-0004 finished; spaces runbook docs/deploy.md
  • Inventory: docs/bubble-inventory/
  • Mapping sketch: docs/migration/
  • Service contract: the-custodian/canon/standards/business-app-service-contract_v0.1.md