> ## Documentation Index
> Fetch the complete documentation index at: https://docs.findmydata.io/llms.txt
> Use this file to discover all available pages before exploring further.

# UX redesign — relational views (the plates)

> Round-3 decisions: two relational visualizations ship in the Registry identity — Plate IV 'the Family Plate' (reach of one decision: relation channels, apparatus margin, exposure ticks, propagation-honesty rule) and Plate II 'the Reach Plate' (information types flowing into audience-reach bands, red rule = beyond the organisation), plus a condensed home strip. Includes the 13 standing visualization rules and the 3-endpoint shortlist.

# RELATIONAL-VIEWS — Final Synthesis Spec

*Synthesized from 4 concepts × 3 judge verdicts. Code claims re-verified against the repo: `DecisionResult.propagation {assetId, safeName, relation}[]` exists at `packages/server/src/review/service.ts:312` with `propagateConfirmation` at `:645`; the asset list supports only `q/informationTypeId/labelState/riskSeverity` (`packages/server/src/routes/read-models.ts:196–217`); the clusters payload exposes member COUNT only (`read-models.ts:353–354`), so client-side family assembly is impossible and the preview endpoint below is mandatory, not optional.*

***

## 1. Portfolio verdict

### Aggregate scoring

| Concept                   | J1 | J2 | J3 | Total   | Rank votes |
| ------------------------- | -- | -- | -- | ------- | ---------- |
| **Countersign**           | 44 | 41 | 41 | **126** | 1 · 2 · 1  |
| **Reach Plate**           | 43 | 38 | 39 | **120** | 2 · 3 · 2  |
| Descent (Stemma + Census) | 36 | 38 | 37 | 111     | 3 · 1 · 3  |
| Survey Plat               | 37 | 36 | 38 | 111     | 4 · 4 · 4  |

All three judges ship Countersign and the Reach Plate. All three defer the Survey Plat and the Sprawl Census. The only genuine split is Descent's Stemma: kill-to-grafts (J1) vs merge-into-one-component (J2) vs sequence-third (J3). **Resolution: merge.** J2 and J3 both want stemma DNA on the asset-detail family surface fed by one shared read-model; J1's own graft list concedes the apparatus margin and exposure tick belong in Countersign. So one Family Plate component ships, with Countersign's channel geometry as the skeleton (server-truth relations, no genealogy whisper) and Descent's best organs grafted in (apparatus criticus margin, mono sigla, exposure-worse-than-head red tick). The stemma's elbowed descent-from-exemplar *geometry* does not ship in v1 — see the contested call in §5. A side benefit of Countersign's head-is-the-asset-in-hand framing: Descent's exemplar-election landmine (crowning a stale 2018 legacy file "exemplar") disappears entirely — no election is ever made.

### What ships (2 components + 1 derivative)

| # | View                                                              | Home(s)                                                                                                                                   | Replaces / augments                                                                                                                                                                                                                                                                                                                             |
| - | ----------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| A | **The Family Plate** ("Plate IV — Reach of Decision")             | 1. Review workbench batch drawer (compact decision mode) 2. Asset detail `/d/:domainId/assets/:assetId` "Family" tab (full register mode) | Drawer: replaces the flat "family · 12" member list; the post-decision acknowledgment renders INTO the plate instead of a toast. Asset detail: becomes the primary tab whenever the asset has clusters, replacing the generic bounded-graph panel; the generic connections graph remains as a secondary "Connections" tab for non-family edges. |
| B | **The Reach Plate** ("Plate II — Reach of Sensitive Information") | Hero of `/d/:domainId/landscape`                                                                                                          | Augments — existing cards + table stay one scroll below (plate = gestalt, table = record). Instrument plate-vs-table click-through before enshrining the hero slot.                                                                                                                                                                             |
| C | **Ground-truth strip** (derivative of B, not a third build)       | `/d/:domainId/home` module 4                                                                                                              | Replaces the module's placeholder with a \~72px condensed reach bar + linked mono numerals.                                                                                                                                                                                                                                                     |

Sequencing: **A first** (cheapest verified backend, lands the identity's signature pencil-becomes-ink moment where decisions happen), **B second** (one small aggregate + list filters), **C free** with B.

### Standing rules adopted system-wide (grafts promoted to invariants)

1. **Encoding = epistemology.** Ink/solid = cryptographic/observed/owner fact; graphite + dash/hatch + pencil glyph + literal word "AI" = model-derived. Never applied as decoration — the mark itself carries the certainty.
2. **Every mark is a link** (IA rule), and **every plate ships with a "View as ledger" table twin** — same data, same links; the plate is never the only access path. The table twin is also the screen-reader and no-JS rendering.
3. **Relation-line vocabulary, one legend everywhere:** double parallel hairline ‖ = byte-identical; 4-2 dash = template family (near-dup); dotted = same folder; fine 1-3 dot = semantic (never decision-affected). Always paired with roman numeral + small-caps text label.
4. **Generated conventions box:** legends list only marks present on this sheet.
5. **Title-block discipline** on any exportable plate: Besley title, mono totals, "Survey of {date}", registrar; pressed seal vs 8% unpressed outline.
6. **Seal gating:** ATTESTED only when observation is complete AND findings owner-resolved; absence of evidence is never sealed — otherwise a graphite "not yet verified".
7. **Rollup-exposure invariant:** any aggregate mark containing a finding carries the rolled-up red rule + count. Exposure never hides in a composite.
8. **Red margin rule = "beyond the organisation" / "attend here"** — portable construction (2px+1px, 3px gap, `#a8342a`), always paired with text.
9. **"Pencil only" filter affordance** on every aggregate surface.
10. **Completeness is a first-class mark:** daggers †, "?" suffixes, terra-incognita language; caveat text verbatim from server, clickable to the coverage fix.
11. **Deterministic citable identifiers** in Plex Mono (sigla α, A–K) so a plate is quotable in an audit email ("witness E").
12. **Channel-scoped Ask-Then-Refine:** batch extension offered only for channel I, phrased in the plate's vocabulary.
13. **Propagation ≠ classification (honesty rule):** reached members stay graphite after ink travels; only explicit owner extension inks them.

***

## 2. Build-ready specs

### View A — The Family Plate (Countersign geometry + Descent organs)

**Answers:** motivations 2 ("what's waiting on me" — leverage) and 4 ("fix it" — consequence at the moment of decision); post-decision it is the motivation-3 receipt.

#### Composition (shared grammar, two modes)

Vellum `#fdfbf4` plate inset on paper ground, 1.25px iron-gall hairline border, caption bottom-left small-caps "PLATE IV — REACH OF DECISION". Zero shadows; structure is hairlines only.

* **THE HEAD** (top, full width): the asset in hand as a ledger entry — Besley name; beneath it the provisional assertion as a graphite-hatched chip in Plex Mono ("Employee Screening Records · model-inferred · 0.91"); container path in mono 12px. Head siglum **α** at left. No "exemplar/original" language anywhere; relation wording is symmetric ("same bytes as", never "copied from"); no arrowheads.
* **THE RELATION RULE:** horizontal hairline under the head; three channels depart downward, ordered by strength: **I BYTE-IDENTICAL** double parallel hairlines ‖ · **II TEMPLATE FAMILY** 4-2 dash · **III SAME FOLDER** dotted. Channel heads: roman numeral + small-caps label + mono count ("I · BYTE-IDENTICAL · 7").
* **THE FIELD:** vertical source columns (cadastral township lines), small-caps heads, faint hairline separators; authoritative source first with a 2px top rule. Members are \~34px ledger rows placed in their source column: siglum (Plex Mono 13px, A–K in deterministic order: channel → source → path) in a state box at left, Franklin 13px name, mono 11px path, superscript mono footnote numeral. Descent lines elbow orthogonally — no curves, no force layout.
* **APPARATUS CRITICUS** (Descent graft): full mode = fixed 216px right-margin column behind a hairline, one 12px mono entry per footnote — "1 same bytes · sha256 ✓" in ink; "8 identical text 0.94 ⟨pencil⟩ AI" in graphite; "11 same folder" in ink. Compact (drawer) mode = apparatus collapses to inline footnotes below the plate. Bidirectional hover pairing: entry ↔ line emphasize at 2px.
* **EXPOSURE TICKS** (Descent's sharpest graft): any member whose exposure band exceeds the head's gets the double red margin rule (2px+1px, `#a8342a`) at its left edge + "EXT"/"ORG" microlabel + apparatus note "exposure exceeds this record (guest link)". Partial-coverage members suffix "?" + caveat sentence in tooltip and apparatus.
* **THE FOOT** (mono, every figure a link): "1 confirmation → 11 reprioritized · 7 byte-identical · 3 template family · 1 same folder · server cap 25".
* **Family-tab-only optional band** (v1-optional): collapsed fine-dotted graphite band "RELATED DRAFTS — not affected by rulings" from `/api/assets/:id/semantic-neighbors` (existing endpoint, per-asset only — never aggregated).

#### Ink-travel moment + honesty rule

Pre-decision, everything downstream of the head is graphite (hatched state boxes, graphite lines/labels) — a pencilled survey awaiting signature. The plate carries the Ask-Then-Refine controls; extension offer scoped to channel I only: "Also extend to 7 byte-identical copies." At signature (sanctioned motion, ≤300ms, staggered by channel, **animated only when reach ≥ 4** — static receipt otherwise, per the ceremony-fatigue rule): head chip resolves to solid ink + Ledger Green seal glyph; descent lines re-stroke in ink; each member gains an ink 11px-italic marginal annotation with the **server's literal `reprioritized_reason` string** — while its own assertion box **stays graphite-hatched** (reprioritized ≠ classified). Only members covered by an accepted channel-I extension turn solid with a green check + "Extended by you". Reduced motion: instant two-state toggle "as surveyed / as signed" + polite live-region announcement ("Confirmed. 11 related items reprioritized: 7 byte-identical, 3 template family, 1 folder-mate.").

#### HR-fixture content for the mockup (family of 12, plate \~560px tall)

Head **α**: `Background Investigation - SCR-2026-04471.md` — `/Screening/Reports 2026` — FMD-CDX HR AUTHORITATIVE — SCREENING; chip "Employee Screening Records · model-inferred · 0.91".

| Siglum | Document                                              | Container / Source                                                      | Channel · apparatus entry                                                                                           |
| ------ | ----------------------------------------------------- | ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| A      | `Background Investigation - SCR-2026-04471 (copy).md` | /Screening/Reports 2026 · Authoritative                                 | I · "1 same bytes · sha256 ✓"                                                                                       |
| B      | `SCR-2026-04471 final.md`                             | /Screening/Reports 2026 · Authoritative                                 | I · "2 same bytes · sha256 ✓"                                                                                       |
| C      | `Legacy Screening - LEG-2018-00219.md`                | /Screening/Legacy · Authoritative                                       | I · "3 same bytes · sha256 ✓"                                                                                       |
| D      | `Scanned screening file 2019.pdf`                     | /Screening/Legacy · Authoritative                                       | I · "4 same bytes · sha256 ✓"                                                                                       |
| E      | `Walsh screening copy.md`                             | /Project Phoenix/Vendor Diligence · FMD-CDX PROJECT PHOENIX — DOCUMENTS | I · "5 same bytes · sha256 ✓ · outside authoritative source"                                                        |
| F      | `BACKGROUND-INV-04471.MD`                             | /Screening/Reports 2026 · Authoritative                                 | I · "6 same bytes · sha256 ✓"                                                                                       |
| G      | `screening-04471 (1).md`                              | /Project Phoenix/Vendor Diligence · Phoenix                             | I · "7 same bytes · sha256 ✓"                                                                                       |
| H      | `Screening Report - SCR-2026-03310.md`                | /Screening/Reports 2026 · Authoritative                                 | II · "8 identical text 0.96 ⟨pencil⟩ AI"                                                                            |
| I      | `Ops lead screening - T Lindqvist.md`                 | /Project Phoenix/Vendor Diligence · Phoenix                             | II · "9 identical text 0.94 ⟨pencil⟩ AI · legacy header variant"                                                    |
| J      | `screening intake notes.md`                           | /Screening Notes · ONEDRIVE — P. RAMAN                                  | II · "10 identical text 0.90 ⟨pencil⟩ AI"                                                                           |
| K      | `Merit Letter 2026 - P Raman.md`                      | /Screening/Reports 2026 · Authoritative                                 | III · "11 same folder · **exposure exceeds this record — external guest link**" — double red rule + EXT at row edge |

Foot: "1 confirmation → 11 reprioritized · 7 byte-identical · 3 template family · 1 same folder · server cap 25". Post-signature receipt adds: head chip "Employee Screening Records · confirmed by you · 18 Jul 2026" + seal; K keeps its red rule — the picture of what the signature did NOT fix.

#### Interactions & drill-throughs

Head → asset detail (drawer) / self (tab). Member row → `/d/hr/assets/:assetId`. Channel-head count → asset list `?familyId=…` (needs filter PR, §4.3). Source column head → landscape filtered to that source. Foot "11 reprioritized" → review queue filtered to reprioritized-by-this-decision (degrades to unfiltered queue + toast until queue filter exists). Red tick → that asset's exposure panel. Apparatus entry → evidence panel for that relation (matched-span excerpt). Hover: row ↔ line ↔ apparatus paired emphasis; vellum tooltip with full path, exposure sentence, first\_seen mono. Keyboard: plate = one tab stop; arrows traverse head → channel heads → members in sigla order; Enter drills; Escape exits; double focus ring. Touch targets = full rows.

#### Data mapping

* **Post-decision (receipt): zero new backend.** `DecisionResult.propagation [{assetId, safeName, relation}]` from the decision POST (`review/service.ts:312`, `propagateConfirmation` `:645` — exact-beats-near dedup, same-container LIMIT 15, cap 25). Relation strings map 1:1 to channels.
* **Pre-decision + Family tab: new `GET /api/assets/:id/propagation-preview`** (§4.1). Client assembly from clusters is **impossible** (member count only, verified `read-models.ts:353`), so this endpoint is the only path.
* Client-side (deterministic → snapshot-testable): sigla assignment, channel grouping, column layout, elbow routing, foot arithmetic.

#### Empty / edge / scale

Zero-family: no plate chrome; one graphite-italic ledger sentence "This decision stands alone — no copies or folder-mates on record." Family of 2–3: degrade to inline single-row-per-member strip under the head, same grammar, no columns. Single-source: columns collapse to one unruled band; channels carry the structure. Family of 30 / cap: max 25 rows grouped by channel, then mono overflow per channel "…and 5 more in this family →" linking to the filtered list; height caps \~640px, field scrolls, head + foot pinned. Redacted foreign-domain members: solid redaction bar boxes, crosshatched, "another domain — redacted", counted in the foot ("2 outside your domain"); click → SoD explanation popover with access-request affordance. Preview endpoint absent: see degraded mode §4.1.

#### Dark & accessibility

Dark pairs throughout; graphite → `#8b938c`; hatch density unchanged; redaction bars `#060806` + 1px rule outline. Meaning never by color/motion alone: channels = pattern + numeral + text; certainty = hatch + chip text; exposure = rule construction + microlabel + sentence. DOM = semantic nested list (channel groups with aria-labels); graphite on vellum passes AA at the sizes used; mono 11px annotations use full ink.

***

### View B — The Reach Plate (landscape hero)

**Answers:** motivation 1 ("Am I exposed?") at domain altitude + motivation 3 (the attestable artifact); hands off to the queue via strand clicks (motivation 2).

#### Composition

Full-width vellum plate \~1120×520 desktop, 1.25px hairline frame. **Cartouche** top-left (Besley): "PLATE II — REACH OF SENSITIVE INFORMATION · HUMAN RESOURCES DOMAIN"; mono beneath: "Survey of 18 July 2026 · 812 assets · 3 sources"; server-derived caption: "62 of 812 assets reach beyond the organisation; 21 of those are provisional and awaiting your confirmation."

* **Left stubs** (info types, descending risk contribution, barycenter-sorted to minimize crossings, max 8 then "Other records (n)" + footnote): Social Security numbers 203 · Dates of birth 166 · Background checks 147 · Other HR records 134 · Salary & compensation 118 · Medical accommodations 44. Besley small-caps names, mono totals, hairline end-caps with survey ticks — no colored node blocks.
* **Right bands** (5, fixed order by widening audience): Team 416 · Department 247 · Org-wide link 87 ("\~4,100 people" mono) — **then the horizontal red margin rule** (1.25px `#a8342a`) crossing the column and running into the right margin, labeled "beyond the organisation" in red Besley italic — External guest 41 † · Anonymous link 21. Dagger † on any band with partial permission observation.
* **Ribbons:** cubic bands, width ∝ asset count, each asset counted once at its widest observed reach — **footnote (1) stating this rule renders welded to the band totals, not orphaned in the margin (acceptance criterion)**. Each ribbon splits lengthwise: owner-confirmed strand = translucent wash + solid 0.75px hairline edges; AI-inferred strand = graphite 45° hatch + dashed edges. Tints: 8% ink (Team/Dept), 12% ochre (Org-wide), 12% red (below the rule). Mono numeral at every ribbon waist ≥6px; **\<6px = single hairline + numeral, never silently dropped**; engraved line-screen texture only ≥14px width at ≤4% opacity (drop entirely at small sizes).
* **Fixture ribbons to draw:** SSN→Team 168 solid · SSN→Org-wide 24 (17 hatched) · Background checks→Team 96 · **Background checks→External guest 12 (9 hatched)** — the plate's single leader-line callout: "One duplicate family of 12, byte-identical across PurviewPlus Documents and the HR-Legacy share — one decision resolves all twelve" (this is Descent's exposure-worse-than-exemplar read surfaced at domain altitude) · Salary→External guest 9 ("via 1 guest link, Box /HR-Compensation") · **Salary→Anonymous link 3, all hatched** — pure pencil, the quietest horror on the plate · Medical→Team 44 solid.
* **Footnotes** (bottom margin, Franklin): (1) counting rule; (2) "Permissions on HR-Legacy share observed partially; external counts are minimums." — the terra-incognita graft: clicking it goes to the source's coverage fix in Operations; (3) foreign-domain byte-copies note when applicable.
* **Conventions box** (generated, lists only marks present): hatch = "AI-provisional (pencil)" · wash below red rule = "beyond the organisation" · † = "partially observed" · hairline+numeral = "fewer than 6 assets".
* **Seal corner:** when zero below-rule assets remain unconfirmed AND observation complete AND findings resolved → pressed Ledger Green "ATTESTED · 18 JULY 2026"; otherwise graphite "provisional — 21 holdings awaiting review". **Acceptance criterion: this must occupy one of the four sanctioned seal sites (reuse the domain-attestation site), not add a fifth — reconcile with the design language before build.**
* **"Pencil only"** engraved checkbox in the plate margin: filters to hatched strands only.

#### Interactions & drill-throughs

Strand → `/d/hr/assets?informationTypeId=…&reach=…&provenance=…` · stub → info-type list · band → reach list · callout → review workbench with the family-of-12 loaded as batch · caption "21 provisional" → queue filtered to below-rule inferences · footnote (2) → source coverage in Operations. Hover: strand rises one opacity step, others fade to 40%, ledger tooltip ("SSN → Org-wide link · 24 assets (17 provisional) · click to open the list"). Keyboard: roving-tabindex grid (stubs → ribbons by destination → bands → callout), Enter drills, 2px ink focus rectangle; each ribbon's accessible name is its full sentence. Fully static without JS/hover; print-complete.

#### Data mapping

New `GET /api/landscape/exposure-flow` (§4.2). Server computes max-reach per asset from existing per-asset permission sets (broad categories → bands), splits confirmed vs inferred on assertion provenance. **Hard requirement: the confirmed/inferred split is one shared server module with the review workbench** (OwnerConfirmed/RemediationVerified = confirmed; ModelInferred/RuleDerived = inferred) or the two surfaces will contradict each other. Drill-throughs need the `reach=`/`provenance=` list filters (§4.3 — verified missing at `read-models.ts:196–217`). No trend axis is drawn — no time-series exists; the dated "Survey of…" cartouche turns that limitation into Registry honesty.

#### Empty / edge / scale

Zero-beyond-the-org: region below the red rule stays as empty ruled vellum, "No holdings recorded beyond the organisation as of 18 July 2026"; seal only if gating passes, else graphite "not yet verified". Fresh scan: entire plate in graphite hatch, "entirely provisional — awaiting your review" (the onboarding image). Single source: unchanged; cartouche reads "1 source". >8 info types: merge into "Other records". **Minimum-content rule (new, fixes the near-empty-Sankey edge): the hero renders only when ≥2 bands are populated or any below-rule mass exists; otherwise the landscape shows the condensed strip + cards instead.** Partial coverage: † + minimums footnote, always. Mobile/tablet: ribbons do not squish — reflow to small-multiple horizontal reach bars per info type, each crossed by the same **vertical** red rule (this is a real second layout; budget it).

#### Dark & reduced motion

Dark pairs; hatch → `#8b938c`; wash opacity steps re-validated on the dark surface; text always full-contrast ink-pair, washes never behind body text. Reduced motion: hover fades and the confirmation hatch→solid cross-fade become instant state changes. Offscreen table equivalent + "View as ledger" swap per standing rule 2.

***

### View C — Ground-truth strip (home module 4; derivative of B)

\~72px single stacked horizontal reach bar, five segments in band order with the same fills/hatch split, crossed by the red rule as a **vertical divider**; above it one mono linked-numerals line (Descent's census-totals graft): "812 assets · **62 beyond the organisation** · **21 provisional**" — each numeral drills (landscape hero / queue filtered). Static; no hover required; whole strip links to the landscape hero. Data: the `bands` array of the same exposure-flow endpoint. Degraded (endpoint absent): module 4 keeps its current numeric ledger. Home stays a ledger of numbers — no plate here.

***

## 3. Rejected, one line each

* **Survey Plat** — unanimous last: most beautiful, least decision-changing; area∝count buries the dangerous small parcel; heaviest backend (territory rollup + family edges + containerPath filter); one cut garnish from collapsing into the beige treemap the identity forbids. Grafts banked: terra incognita, title block + conventions box, rollup-exposure invariant, citable lot numbers.
* **Sprawl Census** — by its own admission degenerates into a decorated table when families don't cross sources; largest new aggregate; semantic tier cannot roll up (per-asset LSH only); 8px hatched ticks violate the hatch minimum-size rule. Revisit as a landscape *panel* only if telemetry shows cross-source families are common.
* **Standalone Stemma Plate** — competes for the identical drawer/detail slots as Countersign, which wins on server truth, tiny-scale degrade, and avoidance of the genealogy misread; its organs (apparatus margin, sigla, exposure-worse-than-head tick, symmetric-relation honesty) ship inside the Family Plate instead.

***

## 4. New-endpoint shortlist (only what ships needs)

1. **`GET /api/assets/:id/propagation-preview`** — side-effect-free run of `propagateConfirmation`'s SELECTs (`review/service.ts:645`; same LIMIT 15 / cap 25 / exact-beats-near dedup), **enriched** with per-member location + exposure joins (propagation rows carry neither): `{ head: {assetId, title, containerPath, sourceScope, assertion{infoTypeId, provenance, score}}, members: [{assetId, title, containerPath, sourceScope{id,name}, channel, reason, score?, exposure{category, complete}, labelState, redacted}], counts{byteIdentical, templateFamily, sameFolder, total, capped}, serverLimits{perContainer:15, cap:25} }`. ≤25 rows; cacheable per scan generation. **Degraded mode:** pre-decision plate not rendered — drawer shows graphite "Family · 12 — exact reach is computed when you sign."; the post-decision receipt still renders fully from the existing POST response.
2. **`GET /api/landscape/exposure-flow`** — `{ cells: [{infoTypeId, reachBand, provenance, n, drillUrl}], bands: [{band, totalAssets, approxPrincipals, completeness}], callout{infoTypeId, band, n, reason, familyOrAssetId}, caption, surveyedAt, sourceCount }`; ≤200 cells; max-reach classifier server-side; provenance split from the shared module (hard requirement above). **Degraded mode:** hero and home strip simply don't render — landscape cards/table and the current module 4 remain; the plate is strictly additive.
3. **Asset-list filter batch PR on `/api/assets`** — add `reach=`, `provenance=`, `familyId=` (cluster) to the existing `q/informationTypeId/labelState/riskSeverity` set; columns/joins exist. Needed by every-mark-is-a-link on both plates. **Degraded mode:** drills fall back to the nearest existing filter (info type / label state) with the missing chip absent and the "pencil only" checkbox hidden — never a dead link.

**Explicitly not built:** territory read-model, domain-families aggregate, `containerPath` filter (Plat-only), any semantic rollup, any trend/time-series (doesn't exist; plates are dated surveys instead).

***

## 5. The one contested call for the founder

**Does the asset-detail Family tab ever get the stemma's tiered descent geometry?** The judges split three ways (kill it / lead with its form / sequence it third). This spec ships the channel-ledger geometry everywhere in v1 — server-truth channels, no genealogy whisper, cheapest custom draw — with the stemma's organs grafted in. The open decision is v2: **(a)** fund the full stemma presentation for the Family tab (fidelity-tier bands + elbowed descent + synchronized apparatus; a review-card-scale build; the concept a design conference photographs) gated on a persona test proving owners do NOT misread it as "copied-from" provenance they could repeat to an auditor; or **(b)** lock the channel form permanently and spend the budget elsewhere. **Recommendation: (b) by default; reopen (a) only if Family-tab engagement telemetry is strong AND the direction-misread test passes** — the failure mode (a compliance owner asserting false provenance to an auditor) is the single worst outcome any of these plates could produce, and the channel form already carries every insight the data can honestly support.
