Document markitect include/selector/region/explode primitives and map Bubble chunks to addressable extractions rather than a priori chunk storage.
389 lines
16 KiB
Markdown
389 lines
16 KiB
Markdown
# Existing coulomb.social — hierarchical capability / feature map
|
||
|
||
| Field | Value |
|
||
|-------|--------|
|
||
| System | **Live Bubble app** at `https://coulomb.social` (not the Railiance rebuild) |
|
||
| Date | 2026-08-12 |
|
||
| Confidence | **Medium–high** for types/views from client packages; **low** for backend workflows without editor export |
|
||
| Machine index | [`existing-bubble-capability-map.yaml`](./existing-bubble-capability-map.yaml) |
|
||
|
||
## Evidence base
|
||
|
||
| Source | What it gave |
|
||
|--------|----------------|
|
||
| Bubble client packages (`static.js` / `dynamic.js` for `index` + `vw_pages`) | `custom.*` data types, display field names, view tokens (`vw_*`, `x_pg_*`, `pg_*`), UI strings |
|
||
| Design extract (auth crawl, 7 routes, 2026-08-09) | Research surface, CTA icons (copy/favorite/filter/add/note), card-like groups |
|
||
| Public HTTP | `/`, `/vw_pages`, `/reset_pw`, empty public Data API types |
|
||
| Marketing SEO | Product pillars (ideas, social, marketplace, monetize curiosity) |
|
||
|
||
**Method note:** Bubble ships type and UI labels in browser packages even when `/api/1.1/meta` exposes no types. Field lists below are **inferred from package symbols and `display` labels**, not from a formal schema export. Names marked `?` need editor confirmation.
|
||
|
||
---
|
||
|
||
## Top-level product pillars (marketing → capability domains)
|
||
|
||
From SEO / Open Graph:
|
||
|
||
1. Brainstorm, discuss, refine, implement, promote **ideas**
|
||
2. **Social network** for building and influencing what is built
|
||
3. **Marketplace** for challenges, methods, solutions
|
||
4. **Monetize curiosity**
|
||
|
||
These pillars map to the capability tree below (not 1:1 with Bubble page names).
|
||
|
||
---
|
||
|
||
## Hierarchy legend
|
||
|
||
```text
|
||
Capability domain
|
||
└── Capability (utility)
|
||
└── Feature (observable product behavior / UI affordance)
|
||
· Bubble type / view (implementation evidence)
|
||
```
|
||
|
||
**Stage-1 rebuild tags** (from cut decision):
|
||
`S1` = must for productive transfer · `later` · `out` · `platform` · `unknown`
|
||
|
||
---
|
||
|
||
## 1. Identity & access
|
||
|
||
### 1.1 Member account lifecycle — `cap.bubble.member-account`
|
||
|
||
| Feature | Evidence | Stage-1 |
|
||
|---------|----------|---------|
|
||
| Sign up | UI string “Sign up”, `do_signup` | S1 → NetKingdom |
|
||
| Login with existing account | “Login with existing account” | S1 → NetKingdom |
|
||
| Email confirmation | “Click here to confirm your email address” | S1 → NK mail |
|
||
| Password reset | `/reset_pw` page | platform (NK) |
|
||
| Current user / principal | displays: Current user, Principal, User | S1 |
|
||
| Profile names | NameFirst, NameLast, NameNick, Avatar | later / partial S1 |
|
||
| Preferences | Preferences | later |
|
||
| Roles / admin flags | Role, Admin, SuperAdmin, SuperAdminAdmin, UserRoles (deleted labels) | later |
|
||
|
||
**Bubble types:** `_User` / User (built-in + custom fields).
|
||
|
||
### 1.2 Space membership & roles — `cap.bubble.space-membership`
|
||
|
||
| Feature | Evidence | Stage-1 |
|
||
|---------|----------|---------|
|
||
| Members list on space | Members, `members_list_user`, Members display | S1 |
|
||
| Guests vs members | Guests, AddNewUsersAsGuest, AddNewUsersAsMember | S1 partial |
|
||
| Admins / associates | Admins, Associates | later |
|
||
| Invites | Invites, `vw_invites`, “Invite a friend to join” | later / S1 optional |
|
||
| Access / privacy | Access, IsPrivate, Is Active | S1 partial |
|
||
| Seats (capacity) | SeatsMax, SeatsTaken (deleted) | later / out |
|
||
|
||
**Bubble types:** `custom.space` + user lists; invite objects inferred.
|
||
|
||
---
|
||
|
||
## 2. Spaces (containers)
|
||
|
||
### 2.1 Space as co-creation context — `cap.bubble.space`
|
||
|
||
| Feature | Evidence | Stage-1 |
|
||
|---------|----------|---------|
|
||
| Create new space | “Create new space” | S1 |
|
||
| Select / switch space | SelectedSpace, `spaceselected_custom_space` | S1 |
|
||
| Space list / browse | `vw_spaces`, Featured Spaces | S1 |
|
||
| Space detail fields | Space, Title?, Description, Mission, Vision, Goal, Strategy, Tactic, Objective | S1 core: Title + Abstractor + Visual; rest later |
|
||
| **Abstractor** | display Abstractor, `abstractor_text` | **S1** (you named this) |
|
||
| **Visual** | display Visual, `visual_image` | **S1** |
|
||
| Header / logo imagery | Header Image, Logo, logo_image | S1 / Visual family |
|
||
| Archive space | Archived | S1 (delete/archive) |
|
||
| Space-linked code repo | `custom.relspacerepo`, `custom.coderepository`, Repo, Repobase | later |
|
||
| SpaceLet (space projection?) | SpaceLet | unknown |
|
||
|
||
**Bubble type:** `custom.space`
|
||
**Views:** `vw_spaces`, `pg_space`
|
||
|
||
### 2.2 Space discovery — `cap.bubble.space-discovery`
|
||
|
||
| Feature | Evidence | Stage-1 |
|
||
|---------|----------|---------|
|
||
| Search spaces/content | `vw_search`, Search, Fuzzy search & Autocomplete | later |
|
||
| Featured spaces | “Featured Spaces” | later |
|
||
| Feed of activity | `vw_feed` | later |
|
||
|
||
---
|
||
|
||
## 3. Pages & chunks (content atom family)
|
||
|
||
This is the **core information architecture** of live coulomb: hierarchical content under spaces.
|
||
|
||
### 3.1 Page — `cap.bubble.page`
|
||
|
||
Utility: a navigable content unit belonging to a space (and/or article stack).
|
||
|
||
| Feature | Evidence | Stage-1 |
|
||
|---------|----------|---------|
|
||
| Open / change page | Page, PageData, ChangePage, PageByName, Current Page Width | S1 |
|
||
| Page list / research surface | **`vw_pages`** (primary Research UI), title “Research \| Coulomb” | S1 |
|
||
| Page fields: Title | Title, title_text / title_attribute | **S1** |
|
||
| Page fields: Abstractor | Abstractor | **S1** |
|
||
| Page fields: Visual | Visual | **S1** |
|
||
| Page fields: Description / Content | Description, Content (some “- deleted”) | S1 body |
|
||
| Markdown-oriented display | MarkdownCodeDisplay, client `marked` + highlight.js | S1 |
|
||
| PageLet | PageLet / pagelet | unknown (projection widget?) |
|
||
| Create page | inferred (Create / Click to create!) | S1 |
|
||
| Edit details | “Edit details”, Edit A | S1 |
|
||
| Copy page content | content_copy icon (×25 in extract), Copy HTML / copy with links plugins | **S1** (product copy) |
|
||
| Parent / hierarchy | Parent, Extends | later / S1 if tree required |
|
||
| Publication | PublicationDate, publish counts in package | later |
|
||
| Type system for pages | Type, xTypeSchema, xTypeTemplate, xTypeVersion* | later (powerful; not S1) |
|
||
|
||
**Bubble type:** `custom.page`
|
||
**Views:** `vw_pages`, possibly `pg_*` variants
|
||
|
||
### 3.2 Chunk — `cap.bubble.chunk`
|
||
|
||
Utility: **composable content block** inside pages/articles (finer than page).
|
||
|
||
| Feature | Evidence | Stage-1 |
|
||
|---------|----------|---------|
|
||
| Chunk list / selection | `_Chunk`, `_Chunks`, SelectedChunk, chunks_list, `vw_chunks` | S1? or collapse into page body |
|
||
| Create subchunk | new_chunk, new_subchunk, Subchunks | later |
|
||
| Chunk types / menu | ChunkType, MenuChunk, InfoChunk | later |
|
||
| Temp chunk staging | TempChunks, tempchunks_list | later |
|
||
| Stage workflow on chunks | Stage1Prepare … Stage5Done, StageGoal, StageState, StageSpecification | later (work planning) |
|
||
| Sprint / backlog logs | BackLog, SprintLog, HistLog, Progress | later |
|
||
| Attachments on chunk | hasAttachments, `_Attachment`, `custom.relattachment` | later / S1 for visual only |
|
||
|
||
**Bubble type:** `custom.chunk`
|
||
**Views:** `vw_chunks`, `pg_chunk`
|
||
|
||
**Rebuild note:** Prefer **page-first + transclusion** (markitect include/selector/region)
|
||
over recreating `custom.chunk` as storage atoms. See
|
||
`docs/architecture/transclusion-and-chunks.md`. Confirm with product use whether
|
||
users need chunk lists as primary UX or only as derived views.
|
||
|
||
### 3.3 Article / scrap / content variants — `cap.bubble.article-family`
|
||
|
||
| Feature | Evidence | Stage-1 |
|
||
|---------|----------|---------|
|
||
| Article with chunk lists | `custom.article`, many `*_list_custom_article` | later |
|
||
| Scrap | `custom.scrap` | later |
|
||
| Clipper | `custom.clipper_` | later |
|
||
| Content stages s1–s5 on article | s1…s5 fields | later |
|
||
| Followers on article | followers_list, follows | later (social) |
|
||
| Feed list | feed_list | later |
|
||
| History / histlog | history, histlog_list | later |
|
||
|
||
**Bubble types:** `custom.article`, `custom.scrap`, `custom.clipper_`
|
||
|
||
### 3.4 Card presentation — `cap.bubble.card-ui`
|
||
|
||
Utility: **playing-card-like** interaction with content entities.
|
||
|
||
| Feature | Evidence | Stage-1 |
|
||
|---------|----------|---------|
|
||
| Card medium / large groups | `Group_card_medium_`, `Group_card_large_` | S1 UI pattern |
|
||
| Deck layouts | `pg_deck_s`, `pg_deck_m`, `pg_deck_l`, `pg_deck_game` | later / S1 inspiration |
|
||
| Repeating groups (lists of cards) | RepeatingGroup* | S1 lists |
|
||
| Visual + title + abstractor on card face | Visual, Title, Abstractor co-occur on content types | **S1** |
|
||
|
||
This is a **presentation capability** over page/chunk/space entities—not a separate data type.
|
||
|
||
---
|
||
|
||
## 4. Social graph & engagement
|
||
|
||
### 4.1 Social mixin — `cap.bubble.social`
|
||
|
||
| Feature | Evidence | Stage-1 |
|
||
|---------|----------|---------|
|
||
| Social mixin attachment | `custom.socialmixin`, MixinSocial | later |
|
||
| Likes | `custom.rellike`, `vw_likes`, favorite_border icons, Likes (deleted) | later |
|
||
| Followers / following | Followers, Following (deleted labels), follows_list | later |
|
||
| Flocks (groups of people?) | Flock, FlockName, MeFlock, MyFlocks, cacheFlock | later |
|
||
| Nects (connections?) | Nects, nects_list | later |
|
||
| Knockers | Knockers | unknown |
|
||
| Chatter (prompt/content) | ChatterContent, ChatterPrompt | later (AI/chat?) |
|
||
| Share | share strings in packages | later |
|
||
| Messaging | Message display (very frequent in dynamic UI — may be framework noise + product) | later |
|
||
|
||
**Bubble types:** `custom.socialmixin`, `custom.rellike`, related lists on article/space.
|
||
|
||
---
|
||
|
||
## 5. Collaboration, tasks & work planning
|
||
|
||
### 5.1 Tasklets & progress — `cap.bubble.work-tracking`
|
||
|
||
| Feature | Evidence | Stage-1 |
|
||
|---------|----------|---------|
|
||
| Tasklets | `custom.tasklet`, TaskLets, TaskState | later |
|
||
| Loglets / progress | `custom.loglet`, Progress, progress_list | later |
|
||
| Effort / estimate | Effort, Efforts, Estimate, Nestimate, Restimate | later |
|
||
| Due dates | Duedate | later |
|
||
| Attention / claim | Attention, Claim, Claimed | later |
|
||
| Resolved / done | Resolved, Done (deleted) | later |
|
||
| Create workplan stages | “Create workplan stages here…” | later |
|
||
| Task page | `x_pg_task` | later |
|
||
|
||
### 5.2 Ventures & investment framing — `cap.bubble.venture`
|
||
|
||
| Feature | Evidence | Stage-1 |
|
||
|---------|----------|---------|
|
||
| Venture entity | `custom.venture`, MyVentures, Create new venture | later |
|
||
| Investlets | `custom.investlet`, InvestLets | later |
|
||
| Rel invest | `custom.relinvest` | later |
|
||
| Auction / marklet | `custom.auction`, MarkLet | later / out |
|
||
| Funds / amount / bounty | Funds, Amount, Bounty, Jackpot (deleted) | later / out |
|
||
|
||
Looks like an **investment / venture marketplace** overlay on spaces—not stage-1 transfer.
|
||
|
||
---
|
||
|
||
## 6. Marketplace: challenges, methods, solutions
|
||
|
||
### 6.1 Challenges — `cap.bubble.challenge`
|
||
|
||
| Feature | Evidence | Stage-1 |
|
||
|---------|----------|---------|
|
||
| Challenge entity / page | Challenge, ChallengeTitle, `x_pg_challenge` | later |
|
||
| Explore challenges | “Explore challenges” | later |
|
||
| Job / company / organization | `custom.job`, `custom.company`, `custom.organization` | later |
|
||
| CV / calling | CV, Calling | later |
|
||
|
||
Marketing “methods and solutions” lack clear type names in packages—may be modeled as page **Type** / templates (`xTypeTemplate`) rather than separate types.
|
||
|
||
---
|
||
|
||
## 7. Monetization & billing
|
||
|
||
### 7.1 Payments — `cap.bubble.monetization`
|
||
|
||
| Feature | Evidence | Stage-1 |
|
||
|---------|----------|---------|
|
||
| Stripe checkout | Create Checkout Session Direct Charge, Stripe Session ID | out / later |
|
||
| Subscriptions | Subscription, Bubble Billing Variant | out / later |
|
||
| Store products | Store, Store Product Identifier, Google Base Plan ID, purchase identifiers | out / later |
|
||
| Seats / billing capacity | SeatsMax | later |
|
||
|
||
**Stage-1:** out of productive-transfer set.
|
||
|
||
---
|
||
|
||
## 8. Integrations & platform glue
|
||
|
||
### 8.1 External systems — `cap.bubble.integrations`
|
||
|
||
| Feature | Evidence | Stage-1 |
|
||
|---------|----------|---------|
|
||
| Code repository link | `custom.coderepository`, Repo, repository_url (deleted), Gitea (deleted) | later |
|
||
| Social URLs | Twitter URL, Instagram URL, Youtube URL | later |
|
||
| Domain / environment | Domain (deleted), Environment | platform |
|
||
| Proxy | ProxyType, ProxyOrigin (deleted) | unknown |
|
||
| Widgets | `custom.widgets_` | later |
|
||
| Broadcast channels | BroadcastChannel_get/send | later |
|
||
| Push tokens | Push notification token | later |
|
||
|
||
### 8.2 Quality / schema metadata — `cap.bubble.type-quality`
|
||
|
||
| Feature | Evidence | Stage-1 |
|
||
|---------|----------|---------|
|
||
| Type schema / template / version | xTypeSchema, xTypeTemplate, xTypeVersionMajor/Minor | later |
|
||
| Quality flags | xQualityPrivacy, xQualityResponsible, xQualityApproved (deleted) | later |
|
||
| Canonical | Canonical | later |
|
||
|
||
Suggests an advanced **typed content** system beyond free markdown—valuable long-term, not S1.
|
||
|
||
---
|
||
|
||
## 9. Navigation surfaces (Bubble views)
|
||
|
||
| View / page token | Inferred utility | Stage-1 |
|
||
|-------------------|------------------|---------|
|
||
| `vw_pages` | Primary Research / page workspace | S1 |
|
||
| `vw_spaces` | Space browser | S1 |
|
||
| `vw_chunks` | Chunk browser | S1? / later |
|
||
| `vw_search` | Global search | later |
|
||
| `vw_feed` | Activity feed | later |
|
||
| `vw_invites` | Invitations | later |
|
||
| `vw_likes` | Likes | later |
|
||
| `vw_new` | Create-new entry | S1 |
|
||
| `pg_space` | Space page shell | S1 |
|
||
| `pg_chunk` | Chunk page shell | later |
|
||
| `pg_memo` | Memo | later |
|
||
| `pg_player` | Player (game/venture?) | later |
|
||
| `pg_deck_*` | Deck / card layouts | UI pattern |
|
||
| `x_pg_admin` | Admin | later |
|
||
| `x_pg_challenge` | Challenge | later |
|
||
| `x_pg_task` | Task | later |
|
||
| `x_pg_legal` | Legal | later |
|
||
| index / Login / Sign up | Entry + auth | S1 |
|
||
| reset_pw | Recovery | platform |
|
||
|
||
---
|
||
|
||
## 10. Tree summary (compact)
|
||
|
||
```text
|
||
coulomb.social (Bubble)
|
||
├── 1 Identity & access
|
||
│ ├── Member account (signup, login, profile, preferences)
|
||
│ └── Space membership (members, guests, admins, invites, privacy)
|
||
├── 2 Spaces
|
||
│ ├── Space CRUD + Title / Abstractor / Visual / mission-family fields
|
||
│ ├── Space discovery (search, featured, feed)
|
||
│ └── Space↔repo linking
|
||
├── 3 Content atoms
|
||
│ ├── Page (Research vw_pages) ← primary S1
|
||
│ ├── Chunk (sub-page blocks, stages) ← confirm necessity for S1
|
||
│ ├── Article / scrap / clipper families
|
||
│ └── Card UI (deck/card presentation)
|
||
├── 4 Social
|
||
│ ├── MixinSocial, likes, follow, flocks, nects
|
||
│ ├── Chatter prompts
|
||
│ └── Messaging / share
|
||
├── 5 Work tracking
|
||
│ ├── Tasklets, loglets, estimates, stages
|
||
│ └── Ventures / investlets / auctions
|
||
├── 6 Marketplace
|
||
│ ├── Challenges
|
||
│ └── Jobs / companies / orgs (methods/solutions less explicit)
|
||
├── 7 Monetization
|
||
│ └── Stripe / subscriptions / store / seats
|
||
└── 8 Platform glue
|
||
├── Integrations (repo, social URLs, widgets)
|
||
└── Type schema / quality metadata
|
||
```
|
||
|
||
---
|
||
|
||
## 11. Mapping to stage-1 rebuild cut
|
||
|
||
| Existing capability | Stage-1 rebuild target |
|
||
|---------------------|------------------------|
|
||
| Member account | `cap.member-onboarding` (NetKingdom) |
|
||
| Space + Title/Abstractor/Visual + members | `cap.space-content` + membership |
|
||
| Page + Title/Abstractor/Visual + body | `cap.space-content` pages |
|
||
| Copy (content_copy / page copy) | `cap.page-copy` |
|
||
| Move/transfer (package “transfer”; ChangePage / space re-home) | `cap.page-transfer` (confirm Bubble UX name) |
|
||
| Card UI | Presentation requirement on rebuild |
|
||
| Chunk graph, social, ventures, challenges, payments | **later / out** |
|
||
|
||
**Strong confirmation from live app:** your stage-1 language (**Visual, Title, Abstractor**, page-centric content, spaces, card-like UI, copy) is **native Bubble vocabulary**, not an invention of the rebuild.
|
||
|
||
---
|
||
|
||
## 12. Gaps (need Bubble editor or dump)
|
||
|
||
1. Exact field schemas per `custom.*` type (types exist; fields incomplete).
|
||
2. Whether **transfer page between spaces** is a first-class action or operator workflow.
|
||
3. Chunk vs page: which is the unit users think of as “a page.”
|
||
4. Full workflow list (backend workflows not in packages).
|
||
5. Which marketplace “methods/solutions” types are pages-with-Type vs separate data types.
|
||
6. Production usage (what is live vs abandoned—“- deleted” labels are common).
|
||
|
||
---
|
||
|
||
## Related
|
||
|
||
- Inventory: `docs/bubble-inventory/2026-08-12-surface-inventory.md`
|
||
- Stage-1 cut: `docs/capability/stage-1-cutover.md`
|
||
- Rebuild model (target): `docs/capability/model-v0.yaml`
|
||
- Architecture: `docs/architecture/ArchitectureBlueprint.md`
|