Difusión Reveal Architecture — Route Each Door to a Live Graph, Never Argue the Core
Accepted
Context
The positioning layer (ADR-035) made marketing a queryable protocol surface: audiences, value-props, differentiators, proofs, viability paths, all typed NCL. But the outward-facing SITE (outreach/site) did not consume that graph — it rendered a generic content template (blog/recipes/projects). The originating complaint that opened the 2026-06-10 ontology-completion interview was exactly this: "the site content does not correspond to the project."
The interview established that the gap is not missing ontology (the layer is rich) but a missing PROJECTION discipline, and — more importantly — that the naive fix (a site that explains ontoref's core: the two axes, the witness-seam, the spiral, the wu-wei) is actively wrong. Exposition of the core repels by both ends, the failure mode named in the Spiral tension `reach-vs-qualification`: it bores the visitor who came for a concrete utility, and it reads as esoteric to the visitor who has not yet earned the frame. A site that argues the worldview either converts no one or attracts the wrong adopter who bails at first friction.
The interview also established HOW the worldview is actually transmitted — a three-rung reveal ladder with increasing mediation-dependence: (1) a self-produced flip when a developer runs a live `describe impact` and sees the tool answer intent, not just structure; (2) a seeded flip, landing only in real use, when changing something forces touching the maintained identity (drift-check / ondaod / witness); (3) a worldview flip — "this is for anything, not just projects" — produced ONLY by encounter with a real subject-graph the visitor recognizes as their own, never by argument. The proofs layer already names this: proof-personal-ontoref records that the latent audience "self-discovers when they see a personal graph, not in a pitch", and mech-repo's stance is "show, don't tell". The decision below makes that discipline architectural.
Decision
The site is a vestibule of three concrete doors (developer / infrastructure / personal), each routing to a live, navigable, witnessed graph. It is NOT an exposition of the core. Concretely:
Projection, not authoring — door landings are PROJECTED from the positioning graph through a structured contract (.ontoref/positioning/spine.ncl), not hand-written. The contract carries the chosen spine copy (hero A, sub-hero B, door lines C, prize D, close E) and references real audience/value-prop ids per door; a generator emits the pages. Change a value-prop, regenerate, the door updates. No duplicated copy that can drift.
Hook static, prize live — the HOOK (hero, sub-hero, door landings) is static NCL→build, so the site is usable with no daemon (local-fallback, ADR-029). The REVEAL rungs that need a live graph — rung 1 (live `describe impact` demo) and rung 3 (browsable real graph) — link to the running daemon. The daemon is the prize surface, never a hard dependency of the hook.
Route, do not argue — the site MUST route each door to a live graph or describe surface, and MUST NOT try to produce the worldview flip by prose. rung 1 is produced by a live demo; rung 2 is seeded (shown, lands in use); rung 3 is triggered only by serving a real navigable subject-graph (ontoref's own, the provisioning graph, a published personal graph). Prose alone never produces the flip — this is the declared structural limit.
Mediation by witnessed artifact — the worldview flip historically needed a person to mediate. The decision converts that mediation into a reproducible witnessed artifact: a browsable real graph (the proofs, made navigable). This is what lets ontoref.dev produce reveal 1 and 3 without a human bottleneck. Artifact-mediation serves reach (self-selection at scale); human mediation remains only for the qualified-but-stuck — the reach-vs-qualification split.
Honesty as filter — door copy is second person and names the pain (and the exhaustion of facing it without a substrate); it does not soften the truth that there is no deterministic recipe. The repulsion of the recipe-seeker is the qualifier, not funnel leakage (reach-vs-qualification).
Constraints
- Soft The site MUST route each door to a live graph or describe surface and MUST NOT attempt to produce the worldview flip by prose. The core (two axes, witness-seam, spiral, wu-wei) is the prize revealed after entry, never the landing-page argument.
- Hard Door landing pages MUST be projected from the structured contract (.ontoref/positioning/spine.ncl) referencing real audience/value-prop ids, not hand-authored. A value-prop change MUST be reflected by regeneration, never by editing copy in two places.
- Hard The hook (hero, sub-hero, door landings) MUST be static NCL→build and usable with no daemon (local-fallback). Only the reveal rungs that need a live graph (rung 1 live describe-impact, rung 3 browsable graph) may depend on the running daemon.
- Soft The rung-3 worldview flip MUST be mediated by a reproducible witnessed artifact (a browsable real graph), not by a required human. Publishing a real personal graph as that artifact is a per-artifact privacy decision and MUST be explicitly cleared before exposure.
Alternatives considered
- An exposition site that explains the core (two axes, witness-seam, spiral, wu-wei) on the landing page — rejected: This is the naive fix the interview rejected. Exposition of the core repels by both ends (reach-vs-qualification): it bores the utility-seeker and reads esoteric to the unready, converting no one or attracting the wrong adopter. The worldview is not transmissible by prose — only by encounter with a real graph.
- Hand-authored door landing pages (marketing copy written directly as content) — rejected: Hand-authored copy drifts from the value-props it sells — the exact failure (content maintained by hand) that produced the generic template complaint. Projection from spine.ncl + the value-props keeps the site a derived view that regenerates on change.
- Site consumes the daemon API at runtime for everything, including the hook — rejected: Couples the whole site to a running daemon, contradicting local-fallback (ADR-029): the site goes dark when the daemon is down. The hook must be static so first contact never depends on the daemon; only the live-graph reveal rungs may.
- Rely on a human to mediate the worldview flip (talks, calls, demos by a person) — rejected: Human mediation does not scale and bottlenecks reach. The flip's mediation is convertible into a reproducible witnessed artifact — a browsable real graph (proof-personal-ontoref, mech-repo). Human mediation is kept only for the qualified-but-stuck, per reach-vs-qualification.
Anti-patterns
- Arguing the Core on the Landing Page — A contributor writes a landing page that explains the two axes, the witness-seam, the spiral, or the wu-wei as the first thing a visitor reads. Exposition repels by both ends (reach-vs-qualification) and cannot produce the worldview flip, which only encounter with a real graph produces.
- Hand-Authoring Door Copy That Drifts From the Value-Props — Door landing text is written directly as site content rather than projected from spine.ncl + the value-props. The copy drifts from the claims it sells — the exact failure that produced the generic-template complaint.
- Gating First Contact on a Running Daemon — The hook (hero, sub-hero, door landings) is made to require the daemon (e.g. fetched live at runtime), so the site goes dark when the daemon is down. This breaks local-fallback and gates first contact on the prize surface.