This is the dream: the full CANAVA architecture as it's meant to run — content shape, verticals, cross-cutting layers, the revenue that flows from the content, and the status spine every item travels. Its sister, Pipeline Health, is this same machine as it actually runs today, checked against reality. Read them as a pair — this one is the target, that one is the ground truth, and the gap between them is the build.
Pipeline Health — the reality mapContent architecture drives revenue architecture — never the reverse. CANAVA is the referee and the educator making capitalism honest: teach consumers to tell actually-better from fake-better, so honest players win — and extractive, linear capitalism evolves toward circular and fair.
Story lives at the source. Money flows from the story, downstream, and never gets to reach back up and pick what we cover. Every layer below is arranged so the content decides — and the business is the container, never the selection criterion.
Every vertical runs the same ladder, from the deepest editorial work down to the lightest surface. It is a functional database, not a big kept catalog — criteria, outside credibility, and education, updatable in place. The rungs are how depth of investment steps down while everything stays connected to the same source record.
Four standing verticals each run the full content ladder against their own real data. Art, Architecture, and Wellness / Movement are woven through Journey and life rather than standing alone — they surface where the story puts them.
Apparel and objects held to the same actually-better test — materiality, makers, the honest version of "good taste."
Stays library + city guides + edits, with Architecture and Art woven in. Residency-as-product; the model is buy one guide per trip, not a subscription to everywhere.
Regenerative & nourishment — brands, recipes, and restaurants tied to community and philanthropy. Recipe input needs a rebuild.
Decorate & materiality — the honest version of how a space is made and furnished; the same database logic applied to the home.
Not a standalone vertical — surfaces inside Journey and everyday life where the story leads. Galleries, shows, makers as part of a place, not a separate index.
The built environment as part of Journey — the buildings you go to see, the stays worth the trip. A thread, not a column.
Movement, rest, and the body woven through Journey and life — residencies, retreats, the rhythm of a place — rather than a wellness silo.
These run horizontally across all verticals — they don't belong to one column, they connect them. Access is self-sortable: readers, members, private clients, and corporate clients place themselves at the tier that fits. Everything here is bound by The Filter.
places is the one table the guides, the maps, the boards and the curators all read. It carries four nested units, and they are not interchangeable: region and area are the tourism region (slug and label — midcoast-islands / “Midcoast & Islands”), city is the town, and county is the administrative unit the outside world publishes against. Farmers markets, extension services and fair schedules are all listed by county, so a guide that cannot group by county cannot be checked against its own sources. Added 30 Aug 2026, derived from coordinates — never typed by hand. Two doors write into it, and they are not the same door: the Guide Curator, where a place arrives already meant for a guide, and — from 30 Aug 2026 — the Residency Board’s Add a place, which lands it at the research stage instead. Both write places + library_items as a pair; only the second leaves type and decision unset, so nothing reaches a guide without passing the type gate. And from 1 Sep 2026 there is a way OUT of places and into a guide that is not a door at all — a place already in the estate reaches the Guide Curator through promote_place_to_guide(place_id, slug), surfaced as the curator's Waiting to come in queue. Which guide a place belongs to was never a guess: places.region has carried the guide slug since the importers were written. Nothing walked it until now, which is why 457 places sat in the estate — 351 of them already tagged to a guide and visible on the map — with no entry the curator could show. The function is idempotent, lands every entry at draft · unconfirmed · needs-research, and refuses any place at status='merged' or 'closed': a retired record is an answer already given.everything.html, added 2 Sep 2026. One query over 19 tables in a single pass: type, tags, name and the prose in bios, notes and descriptions, ungated by guide or vertical. It exists because the estate could be written to from a dozen doors and read back from none: places.tags carried ~1,100 distinct values on 1,308 places and nothing anywhere could type a tag and get places back — both map searches matched name, neighbourhood and city and deliberately skipped tags, the curator showed tags as inert chips, and Trawl wrote them and never read them. Every result says why it matched, because a tag is a different fact from a passing mention in prose, and they never sit in the same pile. It also reaches records that can never be places — the board-only makers with no coordinates — so retrieval is not gated on being mappable. Backed by estate_search(q) in Supabase; no limit anywhere on the path.Every line here is shown as driven by content. The money is real, visible, and aligned — but it sits downstream of the story and never reaches back up to decide what gets covered. Read the green "driven by" note on each: it names the content that has to exist first.
Reviewed by hand on 10 October against the live tools. The morning refresh adds anything new below.