--- id: CSOC-WP-0001 type: workplan title: "bubble.io exit assessment" domain: communication repo: coulomb-social status: active owner: bernd topic_slug: coulomb-social created: "2026-08-09" updated: "2026-08-12" origin: residual origin_ref: the-custodian/docs/coulomb-social-rebuild-seed.md state_hub_workstream_id: "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 ```task 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 ```task 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`. **Blocked on** Bubble editor/export access for actual type fields and content corpus. ## Feature cut decision (human gate) ```task 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 ```task 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`