Intake → Spine → Lenses / Search → Workflow / Libraries-out, with the triage valve. Grounded in tool source + the live schema (miokgyffvhhylsfmsmmb). 2026-05-24.
works today broken / not built partial / drifting normal flow
Inter-tool data-flow web — what each tool reads from the others
The orthogonal view: not the lifecycle, but how data flows between the tools — what each can pull from the others (the thing that informs the front end). Grounded in the Reads column of the tool inventory.
reads it today (exists) partial (proof / private array / name-match) aspirational — unlocks when the spine generalizes
Per-vertical view — each editorial domain as a lens over the spine
Each vertical draws on the same shared entities, faceted differently and with its own "place in one's life." Each has its own collection AND distribution model — they differ per vertical (Geren to define; not invented here). Depth grounded in row counts where available.
Output types & omni-channel distribution — produce once, surface everywhere
Output is more than content: Editorial, Events, Digital Products, Physical Products — all fed from the spine. Distribution is omni-channel: every touchpoint a person meets CANAVA is a surface. Dashed = should exist but isn't modeled yet.
P1 — Spine built for one dimension (Places) + 8-row people proof; ~600 person rows scattered across 5 tables, no shared id. Generalize Orbit's entity_links.
P1 — Three person tables (research_hub / research_lab / CIS) + people in resources/community; Search indexes the wrong one. Consolidate to one person home.
P1 — Categorical vocab hardcoded in JS, not read from master taxonomy tables; "+add" doesn't write back. Read the masters; write-back +add.
P1 — Capture fields destination-aware, not vertical-aware: Food brands still asked for materials/fabrication/certifications. Add the cascade; scope per vertical.
P1 — Triage valve clogged/split three ways (trawl_log / review_queue 759 / capture_inbox); "Waiting on You" unbuilt. One staging surface + checkpoint.
P1 — Research re-queue missing: answered questions never clear the parent's research_completed_at → answers dead-end. Re-queue on answer.
P2 — Geography under-threaded: only Places uses geo_place_ids; media_diet.geography free-text & empty in all 41 rows. Thread geo_place_ids at capture.
P2 — Private lists instead of shared entities (media_diet.linked_*, brands.founded_by). Replace with entity_links.
P3 — we-make (Recipes) vs we-cover (Style/Home/Travel/Beauty) shapes differ — correct by design; the cascade must respect it.
Complete tool census — every tool, considered
Per Geren's directive: consider all tools, the Lab, and every web app ever built — nothing silently missing. The lane diagram above stays clean; this register shows the full inventory so it's clear each was reviewed and either carries a flow or was deliberately parked. Reconciled against tool-source/*.html, the hub tiles (incl. the Lab section), and the spine-doc census.
70live tool files~23in-spine (carry the flows)~47considered & parked48+1.bak / .sepbak / .RETIRED shadows4shared .js includes
★ Currently-parked tools that SHOULD plug into the flows — the signal
Image Process (+ the nano-banana twin) produces assets — brand logos, resource portfolio shots, ghost-mannequin product images, recipe shots — that should attach to spine entities (brands/resources/recipe_items/library_items image fields), not dead-end. The one exception both prior docs already named.
Figma Triage triages Figma designs/tiles — it's a capture source for design assets; it should feed the intake/capture pipeline, a Trawl-adjacent door for design work.
Event Prep is the working surface for Events — the first-class output type §8 just added — and the home of the Direct-to-Claude "event cohort → research_hub" intake. Wire intake (cohort) ↔ Events output ↔ research_hub/community.
Channels (the "Channel Map") should be the registry behind the omni-channel band (§8) — the home of the placements vocab — not a standalone diagram.
Strategic + Outreach are the investor / strategic-partner people layer the spine doc keeps flagging as the missing entity. Spine-adjacent but on private lists with no shared person_id; they should thread the same person spine as Research/CIS/Community.