Nishi Family › Compare › The Nishi Family Atlas vs FamilySearch / Ancestry / Gramps / MyHeritage

Nishi Compare · capabilities, evidence and delivery

The Nishi Family Atlas vs FamilySearch / Ancestry / Gramps / MyHeritage

Compare capabilities and delivery evidence. Source discovery, qualification, deployment and accepted outcomes are separate; an open contract names work still to verify.

HONEST INTAKE after the operator's "garbage right now" verdict: the atlas has real bones (16,222 complete person pages, mechanical classification, judged explorer, one-call regen) but misses the VIEWS that make family-history systems great -- multi-generation pedigree, fan chart, descendancy, couples, timelines. This matrix is the judged build order.

Overview

The purpose, declared position and evidence coverage of this domain. Source presence and completed acceptance are different measures.

Where we are. The atlas has real bones: 16,222 complete person pages with machine-verified evidence on every person (exceed -- provenance by construction), mechanical classification, a judged one-hop explorer, on-demand lineage portraits, population tallies, mechanical research hints, instant directory search, API-mintable pages, and one-call regeneration of all 32,472 artifacts from ground truth (exceed). It misses the VIEWS that make family-history systems great: multi-generation pedigree, fan chart, descendancy, couples, timelines, fuzzy search, print and export.

Where we need to go. The views FamilySearch and Ancestry are defined by, emitted zero-JS from the same living graph: a landscape pedigree expandable per line, the iconic fan chart, the descendancy view (what builds on this, transitively), couple units from the partners data every fam JSON already carries, a timeline from the journals, record-linkage-grade name matching, and chart export -- each regenerated in the one-call rebuild so it can never go stale.

The unit. 1 u = one measured session-leg (estate calibration: graphics R21 in one leg 2026-08-15). Local evidence: the judged explorer (841 permil) and the per-seed lineage render each landed in one leg; estimates are relative to those.
Where we are: 7 open rungs. Data complete and machine-verified; the defining views absent. Counts measured at emit below this line.
Cost to the defining view: 1.5 u. FA1 the multi-generation pedigree chart -- THE family-history view, and the one the explorer's one hop is not.
Cost to the rest of the tree UX: 4 u. FA2 fan chart, FA3 descendancy, FA4 couple units -- all emitters over the same graph walk FA1 builds.
Cost to history, search and export: 4 u. FA5 timeline from journals, FA6 fuzzy name match, FA7 chart export.

Research bar. FamilySearch is measured on pedigree, fan chart, descendancy, person timeline, record hints. Theirs: the view bar. Ours: FA1 FA2 FA3 FA5 measured on this page.

Research bar. Gramps is measured on open-source reports and export engine. Theirs: the export bar. Ours: FA7.

Research bar. Fellegi-Sunter 1969 is measured on probabilistic record linkage. Theirs: the name-matching bar. Ours: FA6.

Latest recorded release

2026-09-25 · FA8

PM seat: declared FA8 fac_circle_offer (the atlas immediate family offered as consented invitations to the connect CN14 immediate-family circle, living relatives only, never auto-joined, never read as a Church record) with milestone M4 at ver 3.0 cumulative 10.5 u and an _ABSENT_ watch row in familyatlas.matrix, by nx_fs_write append; routed from operator goal REQ 1790355000 child R3 1790355003 FILED plus2 to connect:CN14 and familyatlas:FA8; OPEN: the matrix rival grades (FamilySearch 1, Ancestry 3, Gramps 0, MyHeritage 1) are this seat reading of shipped vendor features and stay UNVERIFIED until a mirrored and pinned ref lands this month

Release history and work log

Release entries describe recorded changes; they do not establish that every capability passed evaluation.

9 of 18 capability source symbols found|2 of them authored stronger-claims|9 open|coverage 500/1000|adoption 2 full / 7 partial

Evidence profile — what the gaps on this board actually are

Measured by nx_swcompare_evidence, read back by nx_evprofile_lib. Every figure is a count with its denominator — there is deliberately no score, no grade and no percentage anywhere in this band, because a stored scalar is a field a seat can edit and a counted partition is not.

evidence|grounded 9/9|unsupported 0|gates green 1/1|proven able to fail 1/1|never bitten 0|green at 0/0 0|open gaps 9|of them unnamed 0|of them proof withheld 0|flips ready 0

proven able to fail counts the gates that have a RECORDED RED — nx_gate_bite mutated the gate subject, rebuilt it, watched the gate go red, and that record is inside the shared TTL. never bitten is its complement over the same denominator: those gates ran and were green, and nothing has ever shown them able to detect anything, so their green is a statement about this run and not about the gate. green at 0/0 is a separate and much weaker observation — the gate printed GREEN on a zero denominator, so its own tooth counter says it examined nothing. A gate can be green, non-zero, and still never bitten; that is the common case and it is now visible instead of implied.

partition: grounded + unsupported = 9 vs present 9 · named + unnamed + withheld = 9 vs open 9 · both reconcile

liar-kill conj=GPQN · all four conjuncts held

graded document: BUILDROOT tree, 5312 bytes · gates map: PRIMARY · stamped 0d 1h ago · source ../knowledge/status/evstamp_familyatlas.verdict

Gap classWhat it is, and the work it names
NONENo gap class fires on this board: every published claim is grounded, the declared gates ran and were green, no watch contract is unnamed or already landed, and the stamp is inside its TTL. That is a statement about evidence, not about depth, scale or polish.
This band reports the referee counts. The per-axis worklist rows — which axis is unsupported, which watch is ready to flip, which gap is unnamed — are printed by nx_swcompare_evidence familyatlas itself and are not carried on the stamp, so this page names the classes and the producer names the rows. That split is stated rather than hidden: a count without a worklist is not actionable, and this band is honest about which half of that it is.

Production map

Follow the dependencies, declared acceptance criteria and recorded priorities. Inspect source binding before treating a rank as executable work.

Ranking source binding: STALE_INCONSISTENT. Recorded priorities require current acceptance evidence and resource checks before execution.

Recorded ranking withheld

Retained ranking is not bound to the current plan and matrix: STALE_INCONSISTENT. Historical data remains retained. Refresh the ranking after resolving the input differences. Latest execution outcome is unverified.

Declared roadmap — contract, acceptance, executor, effort

RungCloses withDefinition of done (pre-declared)ExecutorEst.
Complete person card (FB0)card_emitEvery person's immediate family, never truncated -- LANDEDOrgan0 u
One-call regeneration (FB1)s_eqAll 32,472 artifacts rebuilt from the living graph -- LANDEDOrgan0 u
Lineage render (FB2)write_pngOn-demand per-seed lineage PNG -- LANDEDOrgan0 u
Multi-generation pedigree chart (FA1)
after FB0,FB1
ap_pedigree_svgA landscape pedigree SVG to N generations from one focus, expandable per line, zero-JS, emitted by the one-call rebuild; gate proves a 4-generation chart of a known person lists exactly the ancestors the graph holds and a person with no parents renders a single node, never an empty fileOrgan1.5 u
Fan chart (FA2)
after FA1
af_fan_svgThe radial ancestor wheel, 4 to 7 generations, color by generation, over the same walk as FA1; gate proves the wedge count per ring equals the ancestor count per generationOrgan1 u
Descendancy view (FA3)
after FA1
ad_descend_viewN-generation descendants of a focus (what builds on this, transitively), emitted from the reverse edges the graph already answers; gate proves the transitive set equals the graph's reverse closureOrgan1 u
Couple and family units (FA4)
after FA1
ac_couple_unitGroup partners as units on every view using the partners data in each fam JSON; gate proves a known couple renders as one unit with shared children and a single parent renders aloneOrgan1 u
Person timeline (FA5)
after FB0
at_timeline_viewLife events from the sovereign git and journal history of an organ rendered as a dated timeline; gate proves a person with three recorded changes shows three dated events in order and a person with no journal shows UNOBSERVED, never an empty timeline presented as a quiet lifeOrgan1.5 u
Fuzzy name search (FA6)az_fuzzy_matchRecord-linkage-grade matching (bounded edit distance plus token overlap, Fellegi-Sunter-style weights from the corpus) over the 16k names; gate proves a known misspelling finds its person at rank 1 and a neg-control nonsense name finds nothingOrgan1.5 u
Print and export charts (FA7)
after FA1,FA2
ax_export_chartExport any emitted chart as standalone SVG and PNG through the existing sovereign raster path; gate proves the exported PNG pixel-matches the rendered SVG at the declared sizeOrgan1 u

Milestones

MilestoneRungsCumulative
M1 · The defining viewFA11.5 u
M2 · A real tree UXFA2,FA3,FA45.5 u
M3 · History, search, exportFA5,FA6,FA79.5 u
RungCloses withDefinition of done (pre-declared)ExecutorEst.
Immediate-family circle offered to CONNECT by consent (FA8)
after FB0
fac_circle_offerThe innermost CONNECT circle (connect CN14) is seeded from the atlas without ever being read as a Church record: a member's immediate family from the FB0 person card (parents, spouse, children, siblings) is OFFERED as invitations to that member's immediate-family circle and never auto-joined; only living people are offered, an invitation carries the relationship label and nothing else from the tree, a person joins only by accepting, and a declined or unanswered invitation leaves no trace and grants no reach; done-rule: the gate proves a card holding deceased and living relatives offers only the living, an unaccepted invitation grants no reach, an acceptance admits exactly one member to exactly the immediate-family circle, and a withdrawal removes the reach at onceOrgan1 u

Milestones

MilestoneRungsCumulative
M4 · The family as a living circleFA810.5 u
Ladder verdict. NOT DECLARED. This board names no dated best-in-class or frontier target and no rung roles (sotatarget and rungrole rows on its plan); the ranker labels it NO-LADDER until it does, and until then its rungs climb toward a target nobody has written down. Bars read NO-BAR against the current month 2026-10.
Bar freshness, counted
ClassCountNote
bars0sotabar rows on the plan
fresh0the bar month is the current month
attested0an older bar with a this-month barscan reporting no newer entry
stale0a this-month scan saw a newer month the bar ignores
unattested0nobody looked this month
malformed0a sotabar row missing a field
duplicate0bar ids an earlier row already carries
bars, summed0RECONCILED: the parts sum to the total 0
current month2026-10the month every bar is judged against
Treatment verdict. NOT DECLARED. No rung on this board declares its three-step treatment (a treat row naming the MCP row, the API route, the primitive it composes, the workflow that composes it and the agent beat that runs it); the ranker labels every rung TREATMENT-UNDECLARED until it does.

Inspect a rung and its prerequisites

Declared nodes 11. Rank input binding: STALE_INCONSISTENT. Dependency order is authored. Implementation, acceptance evidence, authority and resource readiness are unverified. No action is recommended or dispatched here.

Plan SHA-256 1adffc88e9af9620dfc6c4d946d9fc588d4e56b3882751606d4448511b1962b9. Target rows 0; role rows 0. Existing risks and release worklog retain their own scope; no node completion is inferred.

Runtime observation coverage: 0 of 11 rungs have current, identity-bound execution observations. Observation may report RED. Accepted completion remains unknown; source presence, qualification and deployment do not establish it.

Use Enter or Space on a rung to inspect its contract. Prerequisite links locate another rung in this list; open its summary to inspect it. Estimates are authored effort, not forecasts.

  1. FB0 — Complete person card

    Prerequisites: None declared; this does not establish execution eligibility.

    Contract: card_emit

    Acceptance: Every person's immediate family, never truncated -- LANDED

    Authored effort: 0. Executor kind: Organ. Responsible, accountable and verifier not established. Inspect retained worklog.

    Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt , SHA-256 . Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.

  2. FB1 — One-call regeneration

    Prerequisites: None declared; this does not establish execution eligibility.

    Contract: s_eq

    Acceptance: All 32,472 artifacts rebuilt from the living graph -- LANDED

    Authored effort: 0. Executor kind: Organ. Responsible, accountable and verifier not established. Inspect retained worklog.

    Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt , SHA-256 . Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.

  3. FB2 — Lineage render

    Prerequisites: None declared; this does not establish execution eligibility.

    Contract: write_png

    Acceptance: On-demand per-seed lineage PNG -- LANDED

    Authored effort: 0. Executor kind: Organ. Responsible, accountable and verifier not established. Inspect retained worklog.

    Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt , SHA-256 . Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.

  4. FA1 — Multi-generation pedigree chart

    Prerequisites: FB0 (acceptance unverified), FB1 (acceptance unverified)

    Contract: ap_pedigree_svg

    Acceptance: A landscape pedigree SVG to N generations from one focus, expandable per line, zero-JS, emitted by the one-call rebuild; gate proves a 4-generation chart of a known person lists exactly the ancestors the graph holds and a person with no parents renders a single node, never an empty file

    Authored effort: 1.5. Executor kind: Organ. Responsible, accountable and verifier not established. Inspect retained worklog.

    Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt , SHA-256 . Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.

  5. FA2 — Fan chart

    Prerequisites: FA1 (acceptance unverified)

    Contract: af_fan_svg

    Acceptance: The radial ancestor wheel, 4 to 7 generations, color by generation, over the same walk as FA1; gate proves the wedge count per ring equals the ancestor count per generation

    Authored effort: 1. Executor kind: Organ. Responsible, accountable and verifier not established. Inspect retained worklog.

    Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt , SHA-256 . Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.

  6. FA3 — Descendancy view

    Prerequisites: FA1 (acceptance unverified)

    Contract: ad_descend_view

    Acceptance: N-generation descendants of a focus (what builds on this, transitively), emitted from the reverse edges the graph already answers; gate proves the transitive set equals the graph's reverse closure

    Authored effort: 1. Executor kind: Organ. Responsible, accountable and verifier not established. Inspect retained worklog.

    Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt , SHA-256 . Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.

  7. FA4 — Couple and family units

    Prerequisites: FA1 (acceptance unverified)

    Contract: ac_couple_unit

    Acceptance: Group partners as units on every view using the partners data in each fam JSON; gate proves a known couple renders as one unit with shared children and a single parent renders alone

    Authored effort: 1. Executor kind: Organ. Responsible, accountable and verifier not established. Inspect retained worklog.

    Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt , SHA-256 . Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.

  8. FA5 — Person timeline

    Prerequisites: FB0 (acceptance unverified)

    Contract: at_timeline_view

    Acceptance: Life events from the sovereign git and journal history of an organ rendered as a dated timeline; gate proves a person with three recorded changes shows three dated events in order and a person with no journal shows UNOBSERVED, never an empty timeline presented as a quiet life

    Authored effort: 1.5. Executor kind: Organ. Responsible, accountable and verifier not established. Inspect retained worklog.

    Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt , SHA-256 . Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.

  9. FA6 — Fuzzy name search

    Prerequisites: None declared; this does not establish execution eligibility.

    Contract: az_fuzzy_match

    Acceptance: Record-linkage-grade matching (bounded edit distance plus token overlap, Fellegi-Sunter-style weights from the corpus) over the 16k names; gate proves a known misspelling finds its person at rank 1 and a neg-control nonsense name finds nothing

    Authored effort: 1.5. Executor kind: Organ. Responsible, accountable and verifier not established. Inspect retained worklog.

    Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt , SHA-256 . Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.

  10. FA7 — Print and export charts

    Prerequisites: FA1 (acceptance unverified), FA2 (acceptance unverified)

    Contract: ax_export_chart

    Acceptance: Export any emitted chart as standalone SVG and PNG through the existing sovereign raster path; gate proves the exported PNG pixel-matches the rendered SVG at the declared size

    Authored effort: 1. Executor kind: Organ. Responsible, accountable and verifier not established. Inspect retained worklog.

    Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt , SHA-256 . Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.

  11. FA8 — Immediate-family circle offered to CONNECT by consent

    Prerequisites: FB0 (acceptance unverified)

    Contract: fac_circle_offer

    Acceptance: The innermost CONNECT circle (connect CN14) is seeded from the atlas without ever being read as a Church record: a member's immediate family from the FB0 person card (parents, spouse, children, siblings) is OFFERED as invitations to that member's immediate-family circle and never auto-joined; only living people are offered, an invitation carries the relationship label and nothing else from the tree, a person joins only by accepting, and a declined or unanswered invitation leaves no trace and grants no reach; done-rule: the gate proves a card holding deceased and living relatives offers only the living, an unaccepted invitation grants no reach, an acceptance admits exactly one member to exactly the immediate-family circle, and a withdrawal removes the reach at once

    Authored effort: 1. Executor kind: Organ. Responsible, accountable and verifier not established. Inspect retained worklog.

    Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt , SHA-256 . Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.

Learning and practice paths

No structured learning path is declared for this plan. Existing research, roadmap and worklog remain available above.

Rung dossiers — every record that bears on a rung, in one place

Joined by symbol, never typed. Each dossier is assembled on every publish from the rows this board already carries: the plan's rung row, the matrix row that carries its contract symbol (its status re-measured by the one symbol ruler), the gate the organ declares and the verdict the evidence referee recorded on its last run, the reference marks in the rung text, the design rows that name the rung and the work log filed against it. The capability matrix links each cell to its dossier and each dossier links back to its cell and forward to the rungs it stands on; a dependency naming no rung on this plan is written as UNRESOLVED rather than linked. Absences are named: NO-MATRIX-ROW, NO-GATE-DECLARED, UNRECORDED.
Gate verdicts: UNSTAMPED — no per-gate verdict artifact is published for this domain yet (nx_swcompare_evidence familyatlas writes it beside its stamp); every gate below reads UNRECORDED until it runs.
Gate declarations: knowledge/organ_gate.conf read from this working directory (1 rows) and from the estate root (196 rows); rows in both counted once: 0; declarations read: 197. Every declaration in either copy counts, so a stub beside the publisher can never hide the root.
FB0 Complete person card · cell PRESENT · gate NO-GATE-DECLARED
Contractcard_emit · executor Organ · 0 u · stands on nothing
Definition of doneEvery person's immediate family, never truncated -- LANDED
Matrix cellPerson page: complete immediate family · runtime/_hdl_build/nx_eco_graph_card.nx · PRESENT decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_eco_graph_card; declare nx_eco_graph_card TAB <gate> and the ship loop proves it and the verdict lands here.
Work logno log row names this rung yet
FB1 One-call regeneration · cell PRESENT · gate NO-GATE-DECLARED
Contracts_eq · executor Organ · 0 u · stands on nothing
Definition of doneAll 32,472 artifacts rebuilt from the living graph -- LANDED
Matrix cellOne-call regeneration from living data · runtime/_hdl_build/nx_eco_graph_card.nx · PRESENT decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_eco_graph_card; declare nx_eco_graph_card TAB <gate> and the ship loop proves it and the verdict lands here.
Work logno log row names this rung yet
FB2 Lineage render · cell NO-MATRIX-ROW · gate NO-MATRIX-ROW
Contractwrite_png · executor Organ · 0 u · stands on nothing
Definition of doneOn-demand per-seed lineage PNG -- LANDED
Matrix cellNO-MATRIX-ROW — no matrix row carries write_png; the ranker reads this rung as unmapped and no cell can flip for it. Add the row and the join completes on the next publish.
Gatethe gate join needs a matrix row: no organ is named for this rung
Work logno log row names this rung yet
FA1 Multi-generation pedigree chart · cell WATCHING · gate NO-GATE-DECLARED
Contractap_pedigree_svg · executor Organ · 1.5 u · stands on FB0, FB1
Definition of doneA landscape pedigree SVG to N generations from one focus, expandable per line, zero-JS, emitted by the one-call rebuild; gate proves a 4-generation chart of a known person lists exactly the ancestors the graph holds and a person with no parents renders a single node, never an empty file
Matrix cellMulti-generation pedigree chart (4+ gen) · runtime/nx_atlas_pedigree_chart.nx · WATCHING decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_atlas_pedigree_chart; declare nx_atlas_pedigree_chart TAB <gate> and the ship loop proves it and the verdict lands here.
Work logno log row names this rung yet
FA2 Fan chart · cell WATCHING · gate NO-GATE-DECLARED
Contractaf_fan_svg · executor Organ · 1 u · stands on FA1
Definition of doneThe radial ancestor wheel, 4 to 7 generations, color by generation, over the same walk as FA1; gate proves the wedge count per ring equals the ancestor count per generation
Matrix cellFan chart (radial ancestor wheel) · runtime/nx_atlas_fan_chart.nx · WATCHING decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_atlas_fan_chart; declare nx_atlas_fan_chart TAB <gate> and the ship loop proves it and the verdict lands here.
Work logno log row names this rung yet
FA3 Descendancy view · cell WATCHING · gate NO-GATE-DECLARED
Contractad_descend_view · executor Organ · 1 u · stands on FA1
Definition of doneN-generation descendants of a focus (what builds on this, transitively), emitted from the reverse edges the graph already answers; gate proves the transitive set equals the graph's reverse closure
Matrix cellDescendancy view (N-gen descendants) · runtime/nx_atlas_descendancy.nx · WATCHING decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_atlas_descendancy; declare nx_atlas_descendancy TAB <gate> and the ship loop proves it and the verdict lands here.
Work logno log row names this rung yet
FA4 Couple and family units · cell WATCHING · gate NO-GATE-DECLARED
Contractac_couple_unit · executor Organ · 1 u · stands on FA1
Definition of doneGroup partners as units on every view using the partners data in each fam JSON; gate proves a known couple renders as one unit with shared children and a single parent renders alone
Matrix cellCouple/family-unit grouping · runtime/nx_atlas_couples.nx · WATCHING decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_atlas_couples; declare nx_atlas_couples TAB <gate> and the ship loop proves it and the verdict lands here.
Work logno log row names this rung yet
FA5 Person timeline · cell WATCHING · gate NO-GATE-DECLARED
Contractat_timeline_view · executor Organ · 1.5 u · stands on FB0
Definition of doneLife events from the sovereign git and journal history of an organ rendered as a dated timeline; gate proves a person with three recorded changes shows three dated events in order and a person with no journal shows UNOBSERVED, never an empty timeline presented as a quiet life
Matrix cellPerson timeline (journal change history) · runtime/nx_atlas_timeline.nx · WATCHING decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_atlas_timeline; declare nx_atlas_timeline TAB <gate> and the ship loop proves it and the verdict lands here.
Work logno log row names this rung yet
FA6 Fuzzy name search · cell WATCHING · gate NO-GATE-DECLARED
Contractaz_fuzzy_match · executor Organ · 1.5 u · stands on nothing
Definition of doneRecord-linkage-grade matching (bounded edit distance plus token overlap, Fellegi-Sunter-style weights from the corpus) over the 16k names; gate proves a known misspelling finds its person at rank 1 and a neg-control nonsense name finds nothing
Matrix cellFuzzy name search · runtime/nx_atlas_fuzzy.nx · WATCHING decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_atlas_fuzzy; declare nx_atlas_fuzzy TAB <gate> and the ship loop proves it and the verdict lands here.
Work logno log row names this rung yet
FA7 Print and export charts · cell WATCHING · gate NO-GATE-DECLARED
Contractax_export_chart · executor Organ · 1 u · stands on FA1, FA2
Definition of doneExport any emitted chart as standalone SVG and PNG through the existing sovereign raster path; gate proves the exported PNG pixel-matches the rendered SVG at the declared size
Matrix cellPrint/export charts · runtime/nx_atlas_export.nx · WATCHING decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_atlas_export; declare nx_atlas_export TAB <gate> and the ship loop proves it and the verdict lands here.
Work logno log row names this rung yet
FA8 Immediate-family circle offered to CONNECT by consent · cell WATCHING · gate NO-GATE-DECLARED
Contractfac_circle_offer · executor Organ · 1 u · stands on FB0
Definition of doneThe innermost CONNECT circle (connect CN14) is seeded from the atlas without ever being read as a Church record: a member's immediate family from the FB0 person card (parents, spouse, children, siblings) is OFFERED as invitations to that member's immediate-family circle and never auto-joined; only living people are offered, an invitation carries the relationship label and nothing else from the tree, a person joins only by accepting, and a declined or unanswered invitation leaves no trace and grants no reach; done-rule: the gate proves a card holding deceased and living relatives offers only the living, an unaccepted invitation grants no reach, an acceptance admits exactly one member to exactly the immediate-family circle, and a withdrawal removes the reach at once
Matrix cellImmediate-family circle invitations by consent, living relatives only · runtime/nx_familyatlas_circle_lib.nx · WATCHING decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_familyatlas_circle_lib; declare nx_familyatlas_circle_lib TAB <gate> and the ship loop proves it and the verdict lands here.
Work log2026-09-25 queue INTAKE 1790355003 routed by nx_intake_route (operator-seat, epoch 1790356422) from pm-seat: R3 of parent REQ 1790355000: concentric community circles as the structure -- operator words: go from your immediate family to your mission family if you were a missionary to your ward family to your -- sponsor intake-1790355003 plus2
2026-09-25 land PM seat: declared FA8 fac_circle_offer (the atlas immediate family offered as consented invitations to the connect CN14 immediate-family circle, living relatives only, never auto-joined, never read as a Church record) with milestone M4 at ver 3.0 cumulative 10.5 u and an _ABSENT_ watch row in familyatlas.matrix, by nx_fs_write append; routed from operator goal REQ 1790355000 child R3 1790355003 FILED plus2 to connect:CN14 and familyatlas:FA8; OPEN: the matrix rival grades (FamilySearch 1, Ancestry 3, Gramps 0, MyHeritage 1) are this seat reading of shipped vendor features and stay UNVERIFIED until a mirrored and pinned ref lands this month

dossiers=11 cells_joined=10 no_matrix_row=1 (sum 11) gates_recorded=0 gates_unrecorded=0 no_gate_declared=10 (sum 10 of cells_joined) evgates=UNSTAMPED

Capability comparisons

Compare the field, search individual capabilities and open their source and adoption evidence. Documented presence does not establish comparative quality.

Position map — centrality and distinctiveness

The four-quadrant map the field uses for brand strategy (Dawar and Bagga, HBR June 2015), re-derived from this matrix on every publish. Centrality is the share of the category's feature mass a player covers, each feature weighted by how many hold it; distinctiveness is the average lead over each rival on the rows the player holds; breadth is the depth-weighted share of the whole matrix (the bubble); depth is how deeply the rows held are held; momentum is the day-over-day move off the spine (green rising, red falling, grey until day two); the dashed path runs first day → previous day → today. Dividers are the category means. Axes are fitted to the field of play, so read the tick numerals, not the frame. Rival marks are documented presence, so a rival's position reads the record, never its quality. The picture grades its own readability below; the table beside it is the same data for a screen reader or a second method.

Rows. 18 feature rows mapped of 18 matrix rows; 0 substrate rows (kernels, bounds and instruments the plan's rungrole marks substrate) are the estate's scaffolding, not category features, and stay off the map
Views. 2D cut: centrality, distinctiveness · 3D cube: centrality, distinctiveness, breadth · axes registered: centrality, distinctiveness, breadth, depth, momentum · a board picks its own in knowledge/compare/familyatlas.cdmap (cut|x|y, cube|x|y|z); absent = the HBR defaults
Position map, two-dimensional cutOne bubble per player. Bubble area is breadth, the ring colour is momentum, the dashed lines are the category means, and both axes are fitted to the field of play with their tick numerals shown. Every value is repeated in the table that follows. 400 500 600 700 800 900 1000 100 125 150 175 200 225 250 275 centrality (permil, fitted 400–1000) distinctiveness (permil, fitted 100–275) mean 869 mean 203 Unconventional Aspirational Peripheral Mainstream Nishi, centrality 540, distinctiveness 203, breadth 370, depth 740, momentum -23 FamilySearch, centrality 986, distinctiveness 250, breadth 814, depth 862, momentum 12 Ancestry, centrality 986, distinctiveness 220, breadth 777, depth 823, momentum -2 Gramps, centrality 851, distinctiveness 125, breadth 518, depth 666, momentum -36 MyHeritage, centrality 986, distinctiveness 220, breadth 777, depth 823, momentum 13 Nishi FamilySearch Ancestry Gramps MyHeritage

bubble area = breadth · ring = momentum (green rising, red falling, grey until day two) · dashed = category means · axes fitted to the field of play: centrality 400–1000, distinctiveness 100–275 of 0–1000 permil (the full range put every player in one corner)
readability of the 2D cut, self-graded by the layout ruler: label overlaps 0 · labels over marks 0 · off-canvas 0 · unresolved labels 0 · mark overlaps 1 (a fact of the data: two players that close are that close) · data spread 727 permil of the plot · quadrant words unseated 0
text contrast, measured with wcag2-ratio (floors from contrast.conf), light theme: labels 16.24 (floor 4.50) · notes 16.24 (floor 4.50) · quadrant words 5.89 (floor 4.50) · tick numerals 5.89 (floor 4.50) · axis titles 5.59 (floor 4.50) · dark theme: labels 13.78 (floor 4.50) · quadrant words 5.55 (floor 4.50) · axis titles 5.97 (floor 4.50) · dark classes under their floor 0 (one figure serves both themes: a dark shortfall is a token to fix, never a class to hide) · classes refused under their floor 0 (a refused class is not drawn; the scale classes are measured, never hidden) · export: SVG PNG (receipt, rendered by the estate's own rasteriser from this page)
Position map, three-dimensional cubeThe same players in an isometric cube. Each axis is fitted to its own field of play and carries numerals on the floor grid and the vertical axis; each bubble drops a dotted line to its floor shadow so height reads as height. Values are in the table that follows. 400 500 600 700 800 900 1000 100 125 150 175 200 225 250 275 300 400 500 600 700 800 900 centrality distinctiveness breadth Nishi: centrality 540, distinctiveness 203, breadth 370 Gramps: centrality 851, distinctiveness 125, breadth 518 Ancestry: centrality 986, distinctiveness 220, breadth 777 MyHeritage: centrality 986, distinctiveness 220, breadth 777 FamilySearch: centrality 986, distinctiveness 250, breadth 814 Nishi FamilySearch Ancestry Gramps MyHeritage
axes fitted: centrality 400–1000 · distinctiveness 100–275 · breadth 300–900 permil · farther bubbles are painted first, nearer ones over them · the floor shadow is each bubble's (x, y) at height 0
readability of the 3D cube, self-graded by the layout ruler: label overlaps 0 · labels over marks 0 · off-canvas 0 · unresolved labels 0 · mark overlaps 1 (a fact of the data: two players that close are that close) · data spread 303 permil of the plot
Position map, small multiplesEvery pair of registered axes as one small cut. Each panel fits both axes to the field of play, the dashed lines are the category means, bubble area is breadth and the ring colour is momentum; the legend below names the colours. 400 1000 100 275 distinctiveness vs centrality Nishi: centrality 540, distinctiveness 203 FamilySearch: centrality 986, distinctiveness 250 Ancestry: centrality 986, distinctiveness 220 Gramps: centrality 851, distinctiveness 125 MyHeritage: centrality 986, distinctiveness 220 400 1000 300 900 breadth vs centrality Nishi: centrality 540, breadth 370 FamilySearch: centrality 986, breadth 814 Ancestry: centrality 986, breadth 777 Gramps: centrality 851, breadth 518 MyHeritage: centrality 986, breadth 777 400 1000 600 900 depth vs centrality Nishi: centrality 540, depth 740 FamilySearch: centrality 986, depth 862 Ancestry: centrality 986, depth 823 Gramps: centrality 851, depth 666 MyHeritage: centrality 986, depth 823 400 1000 460 530 momentum vs centrality Nishi: centrality 540, momentum 488 FamilySearch: centrality 986, momentum 506 Ancestry: centrality 986, momentum 499 Gramps: centrality 851, momentum 482 MyHeritage: centrality 986, momentum 506 100 275 300 900 breadth vs distinctiveness Nishi: distinctiveness 203, breadth 370 FamilySearch: distinctiveness 250, breadth 814 Ancestry: distinctiveness 220, breadth 777 Gramps: distinctiveness 125, breadth 518 MyHeritage: distinctiveness 220, breadth 777 100 275 600 900 depth vs distinctiveness Nishi: distinctiveness 203, depth 740 FamilySearch: distinctiveness 250, depth 862 Ancestry: distinctiveness 220, depth 823 Gramps: distinctiveness 125, depth 666 MyHeritage: distinctiveness 220, depth 823 100 275 460 530 momentum vs distinctiveness Nishi: distinctiveness 203, momentum 488 FamilySearch: distinctiveness 250, momentum 506 Ancestry: distinctiveness 220, momentum 499 Gramps: distinctiveness 125, momentum 482 MyHeritage: distinctiveness 220, momentum 506 300 900 600 900 depth vs breadth Nishi: breadth 370, depth 740 FamilySearch: breadth 814, depth 862 Ancestry: breadth 777, depth 823 Gramps: breadth 518, depth 666 MyHeritage: breadth 777, depth 823 300 900 460 530 momentum vs breadth Nishi: breadth 370, momentum 488 FamilySearch: breadth 814, momentum 506 Ancestry: breadth 777, momentum 499 Gramps: breadth 518, momentum 482 MyHeritage: breadth 777, momentum 506 600 900 460 530 momentum vs depth Nishi: depth 740, momentum 488 FamilySearch: depth 862, momentum 506 Ancestry: depth 823, momentum 499 Gramps: depth 666, momentum 482 MyHeritage: depth 823, momentum 506
Nishi FamilySearch Ancestry Gramps MyHeritage
10 panels over 5 registered axes, every pair once (the lower axis on x, the higher on y) · each panel fitted to its own field of play, first and last tick numerals shown · no labels in a small cut, the legend names the colours; the grade below reports the mark terms only (MM summed over the panels, spread averaged)
readability of the small multiples, self-graded by the layout ruler: label overlaps 0 · labels over marks 0 · off-canvas 0 · unresolved labels 0 · mark overlaps 9 (a fact of the data: two players that close are that close) · data spread 639 permil of the plot
PlayerQuadrantcentralitydistinctivenessbreadthdepthmomentumRows heldDays on spineFirst seen
NishiPeripheral540203370740-23 since 2026-09-239102026-09-15
FamilySearchAspirational986250814862+12 since 2026-09-2317102026-09-15
AncestryAspirational986220777823-2 since 2026-09-2317102026-09-15
GrampsPeripheral851125518666-36 since 2026-09-2314102026-09-15
MyHeritageAspirational986220777823+13 since 2026-09-2317102026-09-15
DayMatrix rows reviewedPlayers recorded
2026-09-15175
2026-09-16175
2026-09-17175
2026-09-18175
2026-09-19175
2026-09-20175
2026-09-21175
2026-09-22175
2026-09-23175
2026-10-08185

players 5|matrix rows 18|feature mass 74|centrality mean 869|distinctiveness mean 203|axes 5|spine days 10 (shown 10)|rows written today 0|readability defects 2D 0 cube 0|spine knowledge/status/cdmap/familyatlas.spine

How to read this evidence. A Nishi source mark records whether the named symbol is declared in the selected source file. It does not establish working behavior or accepted delivery. A watching tag names an expected source entry; discovering it updates source coverage only. A dark tag means the file exists but the named symbol was not found: inspect the source and contract before assuming the capability is missing or renaming code. Peer codes are authored assessments; unassessed means no comparison is established, not absence. Qualification, deployment identity, runtime observations and acceptance must carry their own evidence. Adoption records the catalog's observed path through source, build, promotion, registration and invocation; libraries use importer evidence and gates use declared execution surfaces. A full catalog path does not establish quality, freshness or a successful user outcome. Partial and unknown states retain their stated next action. Census stamps: importers asof 1790637268, gate census asof 1790104131 (unix seconds; -1 = census absent).

Capability matrix — measured against source

◉ authored stronger claim; source present● present◐ partial○ absent? unassessed; excluded from relative comparison · click any capability for its evidence

Peer cell coverage: authored assessed 72, unassessed 0. Authored assessments are not verified outcomes.

CapabilityNishiFamilySearchAncestryGrampsMyHeritage
Interactive family explorer (1-hop, judged 841permil)Measured: nx-grad exists in ../sites/nishifamily/compare/atlas/atlas_explore.html, verified at emit. FamilySearch/Ancestry/MyHeritage ship multi-view interactive trees as Best [myheritage]; ours is ONE hop (focus+parents+children) -- real but a fraction of their tree UX Adoption: ABSENT — PARTIAL: no source and no binary: this is a build contract, not a partial deploy.
not adopted: no source and no binary: this is a build contract, not a partial deploy
Pros Implementing source symbol found; runtime acceptance separateCons behind FamilySearch (leads), Ancestry (leads), MyHeritage (leads); not adopted yet: no source and no binary: this is a build contract, not a partial deploy
●◉◉●◉
Person page
complete immediate familyMeasured: card_emit exists in runtime/_hdl_build/nx_eco_graph_card.nx, verified at emit. FamilySearch person page (vitals/sources/memories/family panel) is the reference [familysearch]; our cards are COMPLETE (never truncated) but flat chip-lists, not a designed person view Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).
dossiernot adopted: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked)
Pros Implementing source symbol found; runtime acceptance separateCons behind FamilySearch (leads), Ancestry (leads); not adopted yet: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked)
●◉◉●●
Mechanical sources per person (gates=citations)Source present; authored stronger claim: is_test in runtime/_hdl_build/nx_eco_graph_card.nx, verified at emit. THE exceed candidate: their citations are human-attached documents; every Nishi person carries MACHINE-VERIFIED evidence (6,604 gates/tests classified + linked) -- provenance by construction rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).
not adopted: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked)
Pros Source symbol found; stronger capability claim is authored; ahead of FamilySearch, Ancestry, Gramps, MyHeritageCons not adopted yet: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked)
◉●●●●
Portrait per person (lineage render)Measured: main exists in runtime/_hdl_build/nx_eco_graph_png.nx, verified at emit. Their portraits are photos; our on-demand lineage render is the analog -- present, only 80 pre-rendered of 16k (on-demand via MCP) rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).
not adopted: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked)
Pros Implementing source symbol found; runtime acceptance separate; ahead of GrampsCons not adopted yet: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked)
●●●○●
Population statistics dashboardMeasured: gs_run exists in runtime/nx_gensota.nx, verified at emit. Gramps has real stats reports; the big services show hints-counts not population dashboards; our class tallies are honest but shallow rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: RUN-BY:cron — fully adopted (top of its ladder).
Pros Implementing source symbol found; runtime acceptance separate; ahead of FamilySearch, Ancestry, MyHeritage; fully adopted on the estate ladderCons none on the measured axes (rival marks are documented presence, not depth)
●◐◐●◐
Research hints (mechanical gap suggestions)Open — watching runtime/nx_atlas_hints.nx : ah_gap_hints, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. Their hint engines (record matches) are Best-in-class ML pipelines [ancestry]; our orphan/untested quarantine is a real mechanical analog, far shallower
watching ah_gap_hints
Pros none measured yetCons behind FamilySearch (leads), Ancestry (leads), MyHeritage (leads); open contract; expected source declaration not established
○◉◉○◉
Directory + instant searchMeasured: nstatus exists in runtime/_hdl_build/nx_eco_graph_card.nx, verified at emit. Theirs: fuzzy, filtered, indexed search over billions; ours: instant substring over 16k with status colors -- works, basic rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).
not adopted: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked)
Pros Implementing source symbol found; runtime acceptance separateCons behind FamilySearch (leads), Ancestry (leads), MyHeritage (leads); not adopted yet: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked)
●◉◉●◉
One-call regeneration from living dataSource present; authored stronger claim: s_eq in runtime/_hdl_build/nx_eco_graph_card.nx, verified at emit. NO genealogy system regenerates its whole tree from ground truth in one API call (their data is manual entry); --all-live rebuilds all 32,472 artifacts from the real dependency graph in seconds Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).
dossiernot adopted: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked)
Pros Source symbol found; stronger capability claim is authored; ahead of FamilySearch, Ancestry, Gramps, MyHeritageCons not adopted yet: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked)
◉○○○○
API-mintable person pages (MCP)Measured: main exists in runtime/_hdl_build/nx_eco_graph_card.nx, verified at emit. FamilySearch/Ancestry have partner APIs [familysearch-api]; ours mints cards/renders via tools/call -- parity in kind, tiny in scope Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).
not adopted: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked)
Pros Implementing source symbol found; runtime acceptance separate; ahead of GrampsCons not adopted yet: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked)
●●●◐●
Multi-generation pedigree chart (4+ gen)Open — watching runtime/nx_atlas_pedigree_chart.nx : ap_pedigree_svg, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. THE defining family-history view (landscape pedigree, expandable per line) -- we do not have it; the explorer shows one hop rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them
dossierwatching ap_pedigree_svg
Pros none measured yetCons behind FamilySearch (leads), Ancestry (leads), Gramps, MyHeritage (leads); open contract; expected source declaration not established
○◉◉●◉
Fan chart (radial ancestor wheel)Open — watching runtime/nx_atlas_fan_chart.nx : af_fan_svg, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. FamilySearch's fan chart (color-coded, 4-7 gen) is iconic; absent rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them
dossierwatching af_fan_svg
Pros none measured yetCons behind FamilySearch (leads), Ancestry, Gramps, MyHeritage (leads); open contract; expected source declaration not established
○◉●●◉
Descendancy view (N-gen descendants)Open — watching runtime/nx_atlas_descendancy.nx : ad_descend_view, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. The inverted question ("what builds on this, transitively?") -- absent as a VIEW though the graph answers it rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them
dossierwatching ad_descend_view
Pros none measured yetCons behind FamilySearch (leads), Ancestry (leads), Gramps, MyHeritage; open contract; expected source declaration not established
○◉◉●●
Couple/family-unit groupingOpen — watching runtime/nx_atlas_couples.nx : ac_couple_unit, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. Family-history trees group couples as units; our partners data exists in every fam JSON but no view uses it [gedcom7]
dossierwatching ac_couple_unit
Pros none measured yetCons behind FamilySearch (leads), Ancestry (leads), Gramps, MyHeritage (leads); open contract; expected source declaration not established
○◉◉●◉
Person timeline (journal change history)Open — watching runtime/nx_atlas_timeline.nx : at_timeline_view, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. Their life-event timelines are core; our organs HAVE history (sovereign git/journals) with no timeline view rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them
dossierwatching at_timeline_view
Pros none measured yetCons behind FamilySearch (leads), Ancestry (leads), Gramps, MyHeritage (leads); open contract; expected source declaration not established
○◉◉●◉
Fuzzy name searchOpen — watching runtime/nx_atlas_fuzzy.nx : az_fuzzy_match, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. Record-linkage-grade name matching is their bread and butter [fellegi-sunter1969]; ours is exact substring
dossierwatching az_fuzzy_match
Pros none measured yetCons behind FamilySearch (leads), Ancestry (leads), Gramps, MyHeritage (leads); open contract; expected source declaration not established
○◉◉●◉
Print/export chartsOpen — watching runtime/nx_atlas_export.nx : ax_export_chart, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. Gramps' report/export engine is Best (open-source strength) [gramps]; absent here
dossierwatching ax_export_chart
Pros none measured yetCons behind FamilySearch, Ancestry, Gramps (leads), MyHeritage; open contract; expected source declaration not established
○●●◉●
Ancestor line query, transitive and cycle-safeMeasured: eg_ancestors exists in runtime/nx_eco_graph.nx, verified at emit. The big services walk ancestor lines interactively as Best and Gramps computes them locally; ours answers the same question mechanically over the whole 16,222-person graph, cycle-safe by construction, returning the full transitive line rather than a fixed generation count -- this is the engine under the pedigree, fan-chart and descendancy views this board still reports as absent rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: LIB-WIRED importers=40 nonval=33 — fully adopted (top of its ladder).
Pros Implementing source symbol found; runtime acceptance separate; fully adopted on the estate ladderCons behind FamilySearch (leads), Ancestry (leads), MyHeritage (leads)
●◉◉●◉
Immediate-family circle invitations by consent, living relatives onlyOpen — watching runtime/nx_familyatlas_circle_lib.nx : fac_circle_offer, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. WATCH for rung FA8, seeding the connect CN14 immediate-family circle; rival grades are this seat's reading of shipped vendor features (FamilySearch Family Groups, Ancestry tree-share invitations as Part, Gramps desktop none, MyHeritage family-site invitations) and are UNVERIFIED this month until a mirrored and pinned ref lands; routed from operator goal REQ 1790355000 child 1790355003 rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them
dossierwatching fac_circle_offer
Pros none measured yetCons behind FamilySearch, Ancestry, MyHeritage; open contract; expected source declaration not established
○●◐○●
Rival-claim provenance. Every Yes, Best or Part mark in a rival column is a claim about someone else's product. A cited row carries a reference mark that resolves to a pinned mirror (the refs gate measures that); an uncited row is an observation read and is badged in its evidence until a reference lands. The badge is the receipt, never the proof: a mark proves a mirror exists, not that the mirror supports the code. The rows are counted below.
Rival claims, counted
ClassCountNote
rows with rival marks17rows carrying a Yes, Best or Part in a rival column
cited7a reference mark resolves to a pinned mirror
uncited10an observation read, badged until a reference lands
rows, summed17RECONCILED: the parts sum to the total 17

Delivery and evidence

Inspect risks, technical debt, rendered observations, experiments and references. Read scope and limitations alongside every result.

Risk register

RiskLikelihood x impactMitigation
Views emitted outside the one-call rebuild go stale the way the 80 pre-rendered portraits didlikely x highEvery FA rung's done-rule includes emission inside the rebuild; an out-of-band emitter is refused by design.
A fuzzy matcher tuned on the one misspelling that motivated it fires on everythingpossible x mediumFA6 reports precision on a held-out labelled set before it may return ranks (the uncalibrated-classifier law).

Release history and work log

The worked plan, on the board. Every leg appends what it measured, landed, retracted, learned and left queued, per rung, so a crash leaves the next seat a ledger here rather than a transcript to mine. Kinds: measure, land, retract, lesson, queue. Newest last.
WhenRungKindEntry
2026-09-25FA8queueINTAKE 1790355003 routed by nx_intake_route (operator-seat, epoch 1790356422) from pm-seat: R3 of parent REQ 1790355000: concentric community circles as the structure -- operator words: go from your immediate family to your mission family if you were a missionary to your ward family to your -- sponsor intake-1790355003 plus2
2026-09-25FA8landPM seat: declared FA8 fac_circle_offer (the atlas immediate family offered as consented invitations to the connect CN14 immediate-family circle, living relatives only, never auto-joined, never read as a Church record) with milestone M4 at ver 3.0 cumulative 10.5 u and an _ABSENT_ watch row in familyatlas.matrix, by nx_fs_write append; routed from operator goal REQ 1790355000 child R3 1790355003 FILED plus2 to connect:CN14 and familyatlas:FA8; OPEN: the matrix rival grades (FamilySearch 1, Ancestry 3, Gramps 0, MyHeritage 1) are this seat reading of shipped vendor features and stay UNVERIFIED until a mirrored and pinned ref lands this month
On these two registers. Rows are declared in the domain's plan file and carry the debt id, which is the join key back to the sovereign debt plane — that plane, not this page, is the authority on state. Reconciling them automatically (the regen reading the plane and refreshing these rows) is a named, owed rung; until it lands, treat an id here as a pointer to look up, not a status to trust.
Honest verdict. The coverage above records source-symbol presence. Stronger comparisons are authored claims, not measured runtime superiority or accepted outcomes. A watch contract names an expected source symbol; finding it changes source discovery only. Qualification, deployment and runtime acceptance require their own evidence.

Person · product · place — not yet measured for this domain

Every compare carries this layer. Declare knowledge/compare/familyatlas.ppp (rows surface|nishi or c1..c4|label|url|connect naming OUR live surface and each rival's front door), run nx_ppp_probe domain familyatlas, and this section fills itself on the next beat: the same ruler on both sides — privacy and CX (third-party hosts, tracker classes, cookies, security headers), design and longevity (design hygiene, computed WCAG contrast, render-blocking resources, unsized media, script weight, theme and motion queries), findability (landmarks, skip link, on-site search, breadcrumb, headings, internal links).

The field — discovered, not chosen

Rows written by nx_field_discover from familyatlas.seeds: the industry's own lists (Wikipedia wikitext, GitHub topics, awesome lists) read mechanically, every candidate counted across seeds. The matrix columns above are a SEAT'S pick; this band is the population they were picked from, and the stats line measures one against the other. A rival here is a lead, never a verdict — it earns a column when its capabilities are read and pinned.

Discovery receipt. One row per counter the run wrote, in the receipt's own order; the rival rows follow in their own table.
Field discovery, counted
ClassCountNote
seeds4
scanned4
fetched4
reused0
failed0
named4
candidates4
mentions4
capped0
RankRivalSeedsMentionsFirst seedKindLink
1FamilySearch11col0-familysearchnamedhttps://gedcom.io/specifications/FamilySearchGEDCOMv7.html
2Ancestry11col1-ancestrynamedhttps://www.ancestry.com/
3Gramps11col2-grampsnamedhttps://github.com/gramps-project/gramps
4MyHeritage11col3-myheritagenamedhttps://www.myheritage.com/

field candidates 4|shown 4 of 4|matrix columns in the field 4 of 4|discovered rivals with no column 0|malformed rows 0 (counted, never rendered)|read-capped 0

Exclusive and shared capabilities

One capability is graded on one board; every other board references it. The fleet duplicate census (nx_rivalcensus dupes, on the fleetdupes clock row) reads every board's matrix and names each capability graded as a row on two or more boards, with a home derived from evidence: rung when exactly one board's plan contracts the symbol (that board is starred), gates when no plan contracts it and exactly one board's executed gate map runs the organ's gate (that board is plussed), ambiguous when several boards carry the deciding evidence (a decision for their seats), and none when no evidence decides it, with the reason beside it: unmapped (no board of the duplicate declares a gates map; declare the maps) or unproven (a map exists and runs none of the organ's gates; gate the organ on its proving board, or declare it a shared library by policy). A home elsewhere means this board should carry an @xrow reference to the home board's row rather than a graded row of its own; a home here means the other boards should. The table is this board's slice of one estate-wide census: the shape is shared, the rows are the board's.

This board grades 18 capabilities: 14 exclusive to it and 4 shared with other boards. Shared rows on this page: 4 = home here 0 + home elsewhere 1 + ambiguous 1 + undecided 2 + refused 0 (partition 4); undecided = unmapped 0 + unproven 2 + unevidenced 0; homonyms 1; since the previous census: new 0, resolved 0. Census FRESH age_s=6474.

CapabilityOrganBoards grading itHomeRuleEvidenceStanding on this board
card_emitnx_eco_graph_card.nxlivingdocs*, familyatlas*—ambiguousplanambiguous
mainnx_eco_graph_png.nxgraphviz+, familyatlasgraphvizgatesgateshome elsewhere
adopt: @xrow graphviz|main|home by gates (fleet duplicate census)
main-browser:runtime/_hdl_build/nx_uiq_perf.nx, graphviz:runtime/_hdl_build/nx_eco_graph_forest.nx, graphviz:runtime/_hdl_build/nx_eco_graph_png.nx, graphviz:runtime/_hdl_build/nx_eco_graph_forest.nx, graphviz:runtime/_hdl_build/nx_eco_graph_wiki.nx, familyatlas:runtime/_hdl_build/nx_eco_graph_png.nx, familyatlas:runtime/_hdl_build/nx_eco_graph_card.nx, ecosysdesign:runtime/_hdl_build/nx_eco_graph_arch.nx, typography:runtime/nx_font_ttf_emit.nx, koikatsu:runtime/_hdl_build/nx_retarget_emit.nx, pmdash:runtime/nx_dr_ocm_cli.nx, failmodes:runtime/nx_compare_refs_gate.nx, ecosystem:runtime/nx_compare_rank_fleet.nx, gen:runtime/_hdl_build/nx_gen_orchestrator_daemon.nx, capregistry:runtime/nx_catalog.nx, capregistry:runtime/_hdl_build/nx_coe_intoto.nx, capregistry:runtime/nx_toolreg_reconcile.nx, capregistry:runtime/nx_capsweep.nx, datavis:runtime/_hdl_build/nx_chartlay_gate.nx, speech:runtime/nx_voice_eval.nx—homonym-homonym
is_testnx_eco_graph_card.nxfamilyatlas, ecosysdesign—noneunprovenundecided
nstatusnx_eco_graph_card.nxfamilyatlas, ecosysdesign—noneunprovenundecided

Gaps from the record — what the estate does that no board carries

The record census (nx_goalmap record) reads the invoked-tool population and every plan queue row and files each organ or directive that NO matrix, plan or gates row names. A row here is a callout the boards missed: adjudicate it onto a board or declare it infrastructure. Census state STALE (age 1395579 s), sources read 4 of 7 declared — a BLIND census is a FLOOR: unread sources can only add rows.

kindnameboardsourceevidence

rows shown 0|this board's directives 0|estate-wide un-boarded organs 452 (listed in full on /compare/ecosystem)|census rows 639|malformed 0 (counted, never rendered)

References

Beyond a link list. Every reference below resolves twice — the publisher's copy and, where banked, the estate's own non-rottable library mirror with a content pin — and carries its evidence class plus the exact claim on this page it grounds. Keyed marks like [key] in the matrix notes jump here. A dash means honestly absent, never assumed.
  1. [gedcom7] FamilySearch International. The FamilySearch GEDCOM Specification, version 7 (FamilySearch GEDCOM 7.0.x, gedcom.io; document dated 2026-02-17). The interchange standard for individuals, families, events, sources and multimedia. publisher · read in our library knowledge/fetched/cmp_familyatlas_gedcom7.html · pin h35742e0479726fc79952250791140ffbc0f53f36bd3d0ea4b041a3c8a0c1e426 · accessed 2026-08-18 · published-standardGrounds: Print/export charts and Couple/family-unit grouping -- the family-history field's exchange format: GEDCOM 7 defines the INDI and FAM records (couples as family units, pedigree links, source citations) that every column can import and export, so it is the contract an nx_atlas_export or nx_atlas_couples view would have to speak to be interoperable rather than a one-off render.
  2. [familysearch] FamilySearch International. FamilySearch.org -- the free collaborative Family Tree, person pages (vitals, sources, memories, family panel), pedigree, fan-chart and descendancy views, record hints. Accessed August 2026. publisher · read in our library knowledge/fetched/cmp_familyatlas_familysearch.html · pin h68854fb2856ba28ab4e2055b79e190941463113f4aedf1819636c68d29c6b25a · accessed 2026-08-18 · vendor-docGrounds: The FamilySearch column: Interactive family explorer, Person page: complete immediate family (the FamilySearch person page is the named reference), Multi-generation pedigree chart (4+ gen), Fan chart (radial ancestor wheel) (FamilySearch's fan chart is iconic) and Descendancy view are all coded Best -- the views the matrix names as the build order.
  3. [ancestry] Ancestry.com. Ancestry -- family trees, record collections and the hints engine (record matches). Accessed August 2026. publisher · read in our library knowledge/fetched/cmp_familyatlas_ancestry.html · pin ha528272daa140ea7aba1a17a4335c256be2fa4b6d1f9b51d072fd5662c3e9296 · accessed 2026-08-18 · vendor-docGrounds: The Ancestry column: Research hints (mechanical gap suggestions) (their record-match hint engines are the Best-in-class ML pipelines the note names), Directory + instant search (fuzzy indexed search over billions of records) and Multi-generation pedigree chart coded Best.
  4. [gramps] Gramps project. Gramps -- free open-source genealogy program (repository README, GPL); reports, charts and export engine, statistics reports. Accessed August 2026 via GitHub because gramps-project.org served a Cloudflare challenge to the sovereign fetcher. publisher · read in our library knowledge/fetched/cmp_familyatlas_gramps.html · pin h5635ea759a551ecfb4dcab4aba9dbd4d667dc5b8bbe95071240ccc99c86e6d3b · accessed 2026-08-18 · vendor-docGrounds: The Gramps column: Print/export charts is coded Best for Gramps (the note calls its report and export engine the open-source strength) and Population statistics dashboard coded Yes (Gramps has real stats reports); the open-source rival our nx_atlas_export gap is measured against.
  5. [myheritage] MyHeritage Ltd. MyHeritage -- family trees, Smart Matches and Record Matches, historical records, DNA. Accessed August 2026. publisher · read in our library knowledge/fetched/cmp_familyatlas_myheritage.html · pin h1c17c6253e81e09db538eecf93f70769e4baf80bdde49f0579b156a63eb80ad6 · accessed 2026-08-18 · vendor-docGrounds: The MyHeritage column: Interactive family explorer, Research hints (mechanical gap suggestions), Directory + instant search and Fan chart coded Best -- the fourth multi-view interactive tree the one-hop explorer is a fraction of.
  6. [familysearch-api] FamilySearch International. FamilySearch API developer portal (developers.familysearch.org) -- partner APIs over the Family Tree, persons, relationships, sources and memories. Accessed August 2026 (www.familysearch.org/developers/ redirects there). publisher · read in our library knowledge/fetched/cmp_familyatlas_familysearch-api.html · pin h22b82b5d9def3d53f907476d5d35a84e8653d37989a6950b36c6993f49d06458 · accessed 2026-08-18 · vendor-docGrounds: API-mintable person pages (MCP) -- the note says FamilySearch and Ancestry have partner APIs and ours mints cards and renders via tools/call, parity in kind and tiny in scope; this portal is the partner API the parity is measured against.
  7. [fellegi-sunter1969] Fellegi, I.P., Sunter, A.B. A Theory for Record Linkage. Journal of the American Statistical Association 64(328):1183-1210, 1969. doi 10.1080/01621459.1969.10501049. publisher · read in our library knowledge/fetched/cmp_familyatlas_fellegi-sunter1969.html · pin hc0e3dcdef4e29b2b237c97d92a35bdd0f9e1d0e1004dc9013fce8a95cff69b40 · accessed 2026-08-18 · published-paperGrounds: Fuzzy name search -- the note says record-linkage-grade name matching is the incumbents' bread and butter and ours is exact substring; this is the founding probabilistic record-linkage model (match and non-match weights over comparison vectors at stipulated error levels) that the field's matching descends from and that an nx_atlas_fuzzy would implement.

generated by nx_swcompare_matrix (sovereign NishiLang organ) from knowledge/compare/familyatlas.matrix · source checks show implementation presence; runtime and user-outcome evidence are reported separately · JavaScript supports page controls