Nishi FamilyCompare › Living Documentation, Wiki and Developer Portal

Nishi Compare · measured, not asserted

Living Documentation, Wiki and Developer Portal

Nishi vs the field — every Nishi cell is measured against real organ source at emit time; each gap names the watch contract that will close it.

The roadmap-binding board behind /compare/livingdocs. Rival codes copied verbatim from livingdocs.sota; Nishi cells are MEASURED -- the ranker requires the implementing symbol as a top-level func in the real organ source on disk.

Layer 1 · Executive

Where we are. Measured 2026-08-21 from livingdocs.sota and the organ sources on disk. STRONG, and on several axes alone in the field: the card IS the callable runnable unit AND its documentation so the two cannot drift (card_emit), lineage is walked all the way to the foundational primitives rather than to direct dependencies, every node carries an evidence-capped maturity grade, the store is content-addressed and ed25519-signed so links cannot rot, pages are about 5 KB of zero-JS bit-reproducible HTML on a stack with zero third-party dependency, and every card is readable and callable by agents over the live MCP plane. WEAK, and the page says so: THE GRAPH REBUILD IS MANUAL, so every number on every card is only as fresh as the last time somebody ran it -- which is the one defect that quietly falsifies all the others, because a substrate whose whole claim is that it cannot drift has no way to prove it has not. Two frontier bets are BUILT AND UNWIRED rather than absent: nx_atlas_recombine walks the 16k-node graph for orthogonal partners and nx_atlas_discover scores opportunities with a trust model and a selftest, and neither one's output reaches a served card or the frontier plane. THE HONEST BOUNDARY, stated here rather than smuggled into a rung: nine of the eleven absences the sota enumerates -- WYSIWYG editing, AI-assisted authoring, a plugin marketplace, a mobile app, rich media embeds, hosted multi-tenant SaaS, migration importers, i18n, and real-time co-editing -- are absent BY POSTURE, not by neglect. This is a generated sovereign substrate, and a rung that made it a hand-edited wiki would be a rung against the domain's own thesis. THE ONE REPOINT: if the Atlas ever does need co-editing it composes office rung R3 cd_presence and projectmgmt rung R10 pco_sync, both already on the RGA CRDT with a convergence gate. A second CRDT in this estate is refused by construction.

Where we need to go. Make the freshness claim MECHANICAL rather than asserted, then turn the two built-and-unwired frontier engines into things that produce work. Concretely: the graph rebuilds on a verified beat and a card whose evidence is older than a declared window renders STALE instead of silently current; naming an outcome returns a composition of real atlas nodes as a served card; and a discovered opportunity is ADMITTED into the frontier plane so it becomes a row somebody can pick up rather than a line in a log. The exceed this domain holds is that the doc cannot drift from the thing; every rung below defends that claim rather than adding a surface.

The unit. 1 u = one measured session-leg (organ plus gate plus the live flip). Local calibration: the citations rung went from 3 to 55 domains in one leg on 2026-08-18 and the compare duplicate-ruler extraction landed in one leg on 2026-08-19, both on this same substrate. A rung that WIRES an existing engine is 1 to 1.5 u; a rung that needs a new organ is 1.5 u.
Where we are: 5 open rungs. Two landed and measured, five open. Counts measured at emit below this line.
Cost to a living graph nothing can outlive: 1 u. LD1 alone. It is the cheapest rung on the board and the one that makes every other number on every card trustworthy, which is why it is version 0.1 by itself.
Cost to the two frontier bets wired: 4 u. Adds LD2 and LD3. Both engines already exist; this is wiring and admission, not invention, and the estimates say so.
Cost to the collaboration surfaces: 6.5 u. Adds LD4 comments and LD5 subscribe -- the only two of the eleven sota absences that are honest gaps rather than posture.

2 of 7 capabilities measured|1 of them measured exceeds|5 open|coverage 285/1000|adoption 0 full / 2 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 2/2|unsupported 0|gates green 0/0|proven able to fail n/a — no gate ran|green at 0/0 0|open gaps 5|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 = 2 vs present 2 · named + unnamed + withheld = 5 vs open 5 · both reconcile

liar-kill conj=GpqN · first failing conjunct: present

graded document: BUILDROOT tree, 5139 bytes · gates map: NONE · stamped 3d 2h ago · source ../knowledge/status/evstamp_livingdocs.verdict

Gap classWhat it is, and the work it names
CLAIM-ONLYNo declared gate ran for this board, so every capability mark here rests on a symbol existing in source and on nothing executing. The remedy is to WRITE a .gates map naming gates that already run — authoring, not research.
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 livingdocs 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.
Layer 2 · Roadmap

Do this next — computed by the ranker, never chosen by a seat

Order from nx_compare_rank (nx_dr_ocm: (deficit + cost-of-delay + option + enables) x sponsor x self-sufficiency x momentum / cost). FINISH rows are rungs whose symbol is present but whose organ is short of full adoption: the cheapest closures on this board, listed before any new work. Stamp: # asof=1788359056 domain=livingdocs target_version=0.1 rungs=7 done=2 open=5 finish=2 ranker=nx_dr_ocm

#StageRungPriorityDerivation
FFINISHThe card IS the unit (LD0A) card_emitREGISTERED-DARKcallable, authorised, no MCP invocation on record (a direct fork logs the runner, so this is not proof it never ran); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked)
FFINISHGenerated from the source of truth (LD0B) card_gensREGISTERED-DARKcallable, authorised, no MCP invocation on record (a direct fork logs the runner, so this is not proof it never ran); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked)
#10.1Graph ingest on a verified beat (LD1) eg_ingest_beat900v=9 m=1 c=10
#2laterSubscribe to a change (LD5) dn_subscribe1000v=10 m=1 c=10
#3laterDiscussion threads on a card (LD4) dc_thread_attach666v=10 m=1 c=15
#4laterRecombination reaches a served card (LD2) rc_emit_card66v=1 m=1 c=15
#5laterDiscovered opportunities admitted as work (LD3) ad_opportunity_admit66v=1 m=1 c=15

Critical path — contract, done-rule, executor, cost

RungCloses withDefinition of done (pre-declared)ExecutorEst.
The card IS the unit (LD0A)card_emitLANDED and the keystone this whole domain rests on. Every organ gets a card carrying identity, parents, children, partners and lineage, and rendering the card RUNS the organ -- so there is no second artifact that could drift from the first. Listed so dependents carry its momentum [@backstage]Organ0 u
Generated from the source of truth (LD0B)card_gensLANDED. Generations and counts are computed from the real organ tree at emit rather than maintained as prose. CORRECTS THE SOTA'S OWN NEXT-RUNG LINE, which still lists the card renderer as owed; it is not, and this row is the measurement that says soOrgan0 u
Graph ingest on a verified beat (LD1)eg_ingest_beatThe rebuild is manual, so the no-drift claim is currently unfalsifiable. ACCEPT RULE PRE-DECLARED: the rebuild runs from a clock row VERIFIED AGAINST THE LIVE clocksched- PLANE and never against the desired clockjobs- plane -- declaring a row is not the same as the job running, and three lanes have already measured beats firing at a different period from the one declared, so the cadence is READ BACK from the live plane and from the artifact's own timestamp rather than quoted. Every card stamps its as-of; a card whose as-of exceeds a declared max-age renders STALE rather than silently current, and the max-age is DERIVED from the observed rebuild interval, never typed. A rebuild that FAILS leaves the previous graph served and ANNOUNCES the failure, because a freshness mechanism whose failure mode is a blank page is worse than no freshness mechanism. ANTI-VACUITY TOOTH: a card fixture backdated past the window must render STALE, or the staleness path has never been shown to fireOrgan1 u
Recombination reaches a served card (LD2)
after LD1
rc_emit_cardnx_atlas_recombine already ranks integrative nodes by fan-out, filters scaffolding and picks each anchor's best orthogonal partner. It is BUILT AND UNWIRED -- its output reaches no card. ACCEPT RULE PRE-DECLARED: naming an outcome returns a ranked composition of REAL atlas nodes rendered as a card on the served surface, every named node resolves in the graph, and a composition naming a node that does not exist is REFUSED rather than rendered with a dead chip. THE DISCRIMINATING TOOTH IS THE SCAFFOLDING CONTROL: a test, gate, probe or bench node must NEVER appear in a product recombination -- proven by planting one and observing it excluded, because rc_is_scaffold already exists and a wiring that bypassed it would produce plausible output and useless recommendationsOrgan1.5 u
Discovered opportunities admitted as work (LD3)
after LD1
ad_opportunity_admitnx_atlas_discover already scores maturity-gap by momentum with a trust model over declared sources and carries its own selftest. What is missing is ADMISSION: a discovery that lands in a log is not work. ACCEPT RULE PRE-DECLARED: emitted opportunities are admitted into the frontier plane as rows a seat can pick up, an opportunity whose maturity evidence is ABSENT reports UNOBSERVABLE and is not scored zero -- zero is a measurement and missing is not -- and only sources ad_trusted already accepts may produce an admitted row, so an untrusted inference cannot become a work item by passing through this rung. The partition prints and sums: nodes scanned equals admitted plus rejected plus unobservableOrgan1.5 u
Discussion threads on a card (LD4)dc_thread_attachThe one collaboration absence that is a real gap rather than a posture: a generated substrate can carry discussion without becoming a hand-edited wiki [@confluence]. NEW ORGAN DECLARED. ACCEPT RULE PRE-DECLARED: threads are stored through the EXISTING comms store and its ordering and offline-delivery guarantees -- a second message store is refused by construction -- a thread survives a card regeneration because it is keyed to the organ and not to the rendered page, and a thread on a card whose organ was retired is PRESERVED and marked orphaned rather than destroyed, since history is additive here as everywhereOrgan1.5 u
Subscribe to a change (LD5)dn_subscribeNo watch or subscribe exists on page changes. NEW ORGAN DECLARED, composing the notice ledger and the reminder engine already proven for deadlines. ACCEPT RULE PRE-DECLARED: a subscriber to a card receives exactly one notification per distinct change and ZERO for a regeneration that produced byte-identical output -- the bit-reproducibility this domain already claims is what makes that testable, and a notifier that fired on every beat would be indistinguishable from one that worked until somebody counted. SCOPE: this is DOC-change notification. Health-alert routing is supervisor rung R3 nl_route_alert and is not restated hereOrgan1 u

Milestones

MilestoneRungsCumulative
L0 · A living graph nothing can outliveLD11 u
L1 · The two frontier bets wiredLD2,LD34 u
L2 · The collaboration surfacesLD4,LD56.5 u
Layer 3 · Engineering
How this is scored. Every Nishi mark is measured: the generator reads the real organ source on disk and requires the implementing symbol to exist (no self-grading). A watching tag names the organ and symbol contracted to close a gap — the mark flips itself on the next compare beat when that workstream ships, and the comparewatch- plane row flips with it. The flip is necessary, not sufficient: it proves the symbol exists, never that the capability is good. The bar is the rung's pre-declared done-rule, proven by its gate — a symbol shipped without the behaviour behind it is a defect, and the flip is exactly what makes that defect visible instead of quiet. Competitor marks record documented capability presence — presence, not depth or scale. Adoption is measured too: every measured row carries where its organ stands on the estate's ladder (source → built → promoted → registered → invoked; libraries by importer reach minus validation importers; gates by the execution surfaces that run them). A row is fully adopted only at the top of its ladder; anything short is tagged partial with the exact remedy, so a build nobody promoted can no longer read as shipped. Census stamps: importers asof 1788457208, gate census asof 1788460389 (unix seconds; -1 = census absent).

Capability matrix — measured against source

leads / measured exceed present partial absent · click any capability for its evidence

CapabilityNishiBackstageConfluenceSourcegraphDataHub
Doc IS the unit - cannot driftMeasured exceed: card_emit in runtime/_hdl_build/nx_eco_graph_card.nx, verified at emit. LANDED and the keystone. The card IS the callable runnable unit AND its documentation so there is no second artifact to drift; rendering the card runs the organ. Every rival is absent because every rival keeps the doc and the thing separate [backstage] Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, no MCP invocation on record (a direct fork logs the runner, so this is not proof it never ran); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).
adoption REGISTERED-DARK
Auto-generated from source of truthMeasured: card_gens exists in runtime/_hdl_build/nx_eco_graph_card.nx, verified at emit. LANDED. Cards and generations are computed from the real organ tree on every emit rather than maintained as prose. Backstage Sourcegraph and DataHub all generate from source too so the rivals are present here [datahub] Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, no MCP invocation on record (a direct fork logs the runner, so this is not proof it never ran); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).
adoption REGISTERED-DARK
Staleness and drift detectionOpen — watching runtime/_hdl_build/nx_eco_graph_build.nx : eg_ingest_beat, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. OPEN -- rung LD1. The graph rebuild is MANUAL today which is why the sota grades this Part, and it is the rung the sota's own verdict names first. Confluence Sourcegraph and DataHub all detect staleness [confluence]
watching eg_ingest_beat
Generative recombination - name outcome to planOpen — watching runtime/_hdl_build/nx_atlas_recombine.nx : rc_emit_card, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. OPEN -- rung LD2. The engine EXISTS (rc_shared and rc_is_scaffold walk the 16k-node graph for orthogonal partners); what is missing is that its output never becomes a card on the served surface. Deficit is zero because no wiki in the field does this at all -- an option on a lead nobody holds, not an absence
watching rc_emit_card
Autonomous discovery of unproven opportunitiesOpen — watching runtime/_hdl_build/nx_atlas_discover.nx : ad_opportunity_admit, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. OPEN -- rung LD3. The scorer EXISTS with a trust model (ad_trusted over AD_SRC_DECLARED) and a selftest; what is missing is ADMISSION of its output into the frontier plane so an opportunity becomes work. Deficit zero for the same reason as LD2
watching ad_opportunity_admit
Comments and discussion threadsOpen — watching runtime/nx_doc_thread.nx : dc_thread_attach, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. OPEN -- rung LD4. An honest gap rather than a posture one: a generated substrate can still carry discussion. NEW ORGAN DECLARED, and it must COMPOSE the comms store rather than build a second one [confluence]
watching dc_thread_attach
Change notifications and subscribeOpen — watching runtime/nx_doc_subscribe.nx : dn_subscribe, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. OPEN -- rung LD5. No watch or subscribe on page changes. NEW ORGAN DECLARED, composing the existing notice ledger and reminder engine; the health-alert routing path is supervisor rung R3 and is NOT restated here
watching dn_subscribe

Risk register

RiskLikelihood x impactMitigation
An auto-ingest beat rebuilds a 16k-node graph on a shared box and becomes the load nobody attributedlikely x mediumLD1's cadence is derived from the observed rebuild cost and the job yields to build admission like every other census; a freshness mechanism that hammers the array is a bug even when it works, and the resource envelope is published with the rung rather than after it.
Wiring recombination produces plausible compositions that are useless and read as capabilitylikely x highLD2's load-bearing tooth is the scaffolding control, not the rendering. A wiring that skipped rc_is_scaffold would emit confident recommendations built out of test harnesses, which is exactly the shape that looks like success in a screenshot.
Admitted opportunities flood the frontier plane and the board stops being readpossible x highLD3 admits only from sources ad_trusted already accepts and prints the full partition, so the admitted count is visible against the scanned count on every run. A queue with an unbounded inflow cannot be drained by a campaign, only by bounding the inflow, and the trust filter is that bound.
The two frontier rungs rank last because no rival attempts them, and never get builtlikely x mediumThat is the ranker working correctly and it is stated in the matrix summary rather than engineered around: a zero rival deficit means no competitive urgency, and inflating a rival code to move a rung up the board would be fabricating an input to the ruler. If these bets are to be prioritised it must be through the sponsorship plane, which exists for exactly that and is arguable from its rows.
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.

SOTA field — 8 peers, 39 axes, measured bindings

The Nishi Atlas (nx_eco_graph cards + auto-regenerating wiki surface) vs the dev-portal / wiki / PKM / catalog field

How the field is scored. A state-of-the-art comparison across the FULL competitor field: quantitative axes carry measured or published numbers (Nishi’s column is measured on this estate, competitor columns are researcher-sourced and cited in the note); grade axes carry Best / Yes / Part / No for every peer. A Nishi grade may be bound to an organ and a symbol and is then re-measured on every publish by the one symbol ruler the capability matrix above uses; an over-claim refuses to publish.
field, strip order:BackstageConfluenceNotionObsidianGitBookDocusaurusSourcegraphDataHub·BestYesPartNo
Measured bindings. 2 of the Nishi grades on this page are bound to an organ and a symbol and re-measured on every publish by the one symbol ruler: consistent 2, stale-under 0 (the grade says No while the organ carries the symbol -- published with the badge, named by the gate until raised), unbacked 0 (a claim over an absent symbol refuses to publish), unresolved 0, unreadable 0.

Authoring and editing

WYSIWYG rich-text editor

Nishi docs are generated organs plus markdown, no visual editor (honest gap); Confluence/Notion editors are the bar [confluence]

NO
Markdown docs-as-code

Nishi pages generated from typed source; Docusaurus/MkDocs own docs-as-code [docusaurus]

YES
Real-time collaborative editing

OT/CRDT co-editing [shapiro2011-crdt]; Notion/Confluence lead; Nishi has none (honest gap)

NO
AI-assisted authoring

Nishi has a sovereign LLM lane but it is not wired to doc authoring (honest gap); Notion AI [notion] and Cody are the bar

NO
Templates and scaffolding

Nishi card scaffolds plus nx_store_seed; Backstage software templates are the dev-portal bar

YES

Structure and linking

Backlinks bidirectional

memory wikilinks plus graph edges; Obsidian is the backlink bar [obsidian]

YES
Knowledge dependency graph

nx_eco_graph 16222 organs and 42088 edges; deeper than a catalog of direct deps

YES
Transitive lineage to primitives

nx_eco_graph_pedigree walks roots-to-god to nx_tier and nx_syscalls; catalogs show direct edges only [datahub]. EVIDENCE (MEASURED 2026-08-14, this cell carried none before): nx_eco_graph_pedigree is a real shipped organ -- 17,418 B of source compiled to a 139,894 B promoted binary, registered on the MCP surface with a cap minted -- not a design note

BEST
Software service catalog

Atlas cards are an organ catalog; Backstage catalog is the portal bar [backstage]

YES
Auto-generated diagrams

nx_eco_graph_atlas family-tree SVG plus nx_eco_graph_mermaid, zero-JS, computed from the graph

YES

Living contract - freshness and drift

Auto-generated from source of truth

cards and graph scan the real organ tree; not hand-maintained prose

bound to runtime/_hdl_build/nx_eco_graph_card.nx:card_gens · measured PRESENT (decl) · CONSISTENT

YES
Doc IS the unit - cannot drift

the Atlas keystone: the card IS the callable runnable unit AND its documentation; no separate artifact to drift. EVIDENCE (MEASURED 2026-08-14): nx_atlas_frontdoor grades LIVE on the full chain -- source, binary, promoted at 128,303 B, registered, authorised AND invoked, the last of which is the one most organs in this estate cannot claim. A card cannot drift from its organ because rendering the card runs the organ

bound to runtime/_hdl_build/nx_eco_graph_card.nx:card_emit · measured PRESENT (decl) · CONSISTENT

BEST
Staleness and drift detection

F224 auto-ingest cadence in flight; today the graph rebuild is manual (honest partial)

PART
Freshness and last-touched provenance

sovereign WMS commit and reflog plus additive-store history, not a git diff

YES
No-link-rot content-addressed

CID-addressed store (vizsla_doc); links resolve to immutable content. EVIDENCE (MEASURED 2026-08-14): vizsla_doc is promoted at 145,774 B and registered on the MCP surface. Content addressing is what makes the no-link-rot claim structural rather than aspirational -- a CID cannot come to mean different bytes later, so a link either resolves to exactly what it named or does not resolve at all

BEST

Honest maturity and trust

Evidence-capped maturity grading

every card shows an L0-L5 liar-killed grade (nx_maturity_board); no wiki grades its own honesty. EVIDENCE (MEASURED 2026-08-14, observed running): nx_maturity_board is promoted at 31,832 B and it EXECUTED on today's compare beat -- the regen log line reads `published /compare/maturity (evidence-capped census over every matrix domain)`. This is a beat-run census over all 50 matrix domains, not a badge someone typed

BEST
Never-lose tamper-evident versioning

additive CID plane, old bytes never destroyed, ed25519 sealed; beats soft-delete history

YES
Cryptographic provenance signed

ed25519 C2PA-class signing on the store [c2pa-spec]. EVIDENCE (this cell carried none until 2026-08-14): the librarian domain's C2PA signing gate runs 9/9 GREEN, which is a gate result and not a description of one -- the 9/9 was already written here, it simply never said what produced it

BEST
Full-text and semantic search

nishi_search corpus plus SGNS embeddings; competitors have more polished UIs (depth gap)

YES

Live activity and generativity

Live runtime activity on the page

nx_swarm_beat/place/job light a card when its organ is running; the doc shows what executes now. EVIDENCE (MEASURED 2026-08-14): nx_swarm_beat grades LIVE on the whole chain -- promoted at 36,087 B, registered, authorised and INVOKED, with the invocation on record rather than assumed. A liveness indicator driven by an organ that has itself never run would be the exact defect this axis claims to beat

BEST
RACI ownership on every node

crew_capabilities plus nx_rebac; Backstage owner field is the portal bar

YES
Generative recombination - name outcome to plan

F225/F310 atlas_recombine walks the graph for unproven-opportunity compositions; no wiki does this

PART
Autonomous discovery of unproven opportunities

maturity-gap x momentum feeder emits research-opportunity cards (F208/F225); unique direction

PART
MCP agent-native surface

every card is readable and callable over the live MCP plane by agents today. EVIDENCE (PROVEN by use, 2026-08-14): the entire edit-build-gate-promote-run loop that produced today's changes to this very surface was driven by an AI seat over MCP -- source edits under compare-and-swap, /api/build, nx_contentdiff, /api/promote with expect_sha256 pinning, and /api/gate_run returning per-tooth output. No shell, no ssh. The strongest evidence an agent-native surface can offer is an agent having just used it end to end

BEST

Sovereignty and delivery

Zero third-party dependency

own language, compiler, TLS, store and renderer; zero React/Node/JVM/Elastic. EVIDENCE (MEASURED 2026-08-13): a return-42 static ELF out of this toolchain is 188 bytes with --no-crash-guard and 5,105 bytes with the default crash guard. A binary that size cannot contain a libc, let alone a JS runtime -- which states the claim as a number a reader can re-measure instead of as a list of things we do not use

BEST
Zero-JS deterministic pages

about 5 KB static HTML, bit-reproducible; competitors are JS single-page apps. EVIDENCE (MEASURED 2026-08-14): bit-reproducibility is demonstrated rather than claimed -- renaming two constants in nx_eqsat.nx today changed the source text and the emitted binary came back BYTE-IDENTICAL at sha 49a74350 and 153,520 B. The same integer-deterministic property is what makes an emitted page reproducible; a JS single-page app cannot make that assertion about what a browser renders

BEST
Self-hostable local-first

runs on your own hardware, no cloud dependency; Obsidian is the local-first bar

YES
Plugin extension marketplace

honest gap: no third-party plugin ecosystem

NO
Mobile app

honest gap: no mobile client

NO
Comments and discussion threads

honest gap: no inline comment or discussion

NO
WYSIWYG media embeds and widgets

honest gap: no rich media embed authoring

NO
Hosted SaaS multi-tenant

honest gap: self-host only, no hosted offering [gitbook]

NO
Change notifications and subscribe

honest gap: no watch or subscribe on page changes

NO
Migration importers

honest gap: no Confluence or Notion importer

NO
i18n multi-language docs

honest gap: no multi-language doc variants

NO

Scale and delivery - quantitative

Knowledge-graph nodes

nx_eco_graph whole-tree walk (measured); catalog scale varies by org

Backstage 100s-1000s entitiesConfluence page-treeNotion db-pagesObsidian 1000s notesGitBook doc-pagesDocusaurus doc-pagesSourcegraph 10k-100k reposDataHub 100k+ datasets

16222 organs
Nishi, measured
Graph edges

dependency edges, measured whole-tree

Backstage catalog-scaleConfluence n/aNotion relationsObsidian link-scaleGitBook n/aDocusaurus n/aSourcegraph call-graphDataHub lineage-scale

42088
Nishi, measured
Page weight rendered

static HTML, no JS bundle

Backstage MB-scale SPAConfluence MB SPANotion MB SPAObsidian local appGitBook 100s KBDocusaurus 100s KBSourcegraph MB SPADataHub MB SPA

~5 KB zero-JS
Nishi, measured
Doc surfaces unified per object

card equals doc plus API plus help plus history plus runnable unit (the keystone)

Backstage 2Confluence 1Notion 1Obsidian 1GitBook 1Docusaurus 1Sourcegraph 2DataHub 2

5
Nishi, measured
8 competitors39 axes4 quantitativeNishi best 9 · absent 11bound 2 · stale-under 0 · unbacked 0
Honest verdict. On the STRUCTURE of living documentation the Nishi Atlas leads the field, and on several axes it is alone: the card is documentation AND the runnable unit as one object, so the two can never drift; lineage is walked all the way to the foundational primitives (roots-to-god), not just direct dependencies; every node carries a liar-killed, evidence-capped maturity grade; the store is content-addressed, tamper-evident and cryptographically signed (no link-rot); pages are ~5 KB zero-JS and bit-reproducible on an own-stack with zero third-party dependency; and every card is readable and callable by agents over the live MCP plane, lighting up with real swarm activity. It trails, by design, on authoring UX and collaboration -- no WYSIWYG editor, no real-time co-editing, no comments, no plugin marketplace, no mobile app, no hosted multi-tenant SaaS, no migration importers (11 honest absents): this is a generated sovereign knowledge substrate, not a hand-edited wiki. The two frontier bets no competitor makes -- generative recombination (name an outcome, get a plan by shuffling cards) and autonomous discovery of unproven opportunities from maturity-gap x momentum -- are in flight (F225 / F310 / F208). Next rungs: F224 auto-ingest cadence to kill staleness, the R6 card renderer, then wire recombination + discovery.
Honest verdict. The coverage above is capability presence measured against source — not depth, scale, or polish, where mature rivals may lead. Exceeds are claimed only where a mechanism backs them. Every open gap is a watch contract: it names the organ and symbol that closes it, and this page flips the cell itself when that workstream ships.

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

Every compare carries this layer. Declare knowledge/compare/livingdocs.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 livingdocs, 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).

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. [backstage] Spotify / CNCF. Backstage documentation -- What is Backstage: software catalog, software templates, TechDocs and the plugin ecosystem for developer portals. Accessed August 2026. publisher · read in our library knowledge/fetched/cmp_livingdocs_backstage.html · pin hed28284e1e88c4be01082922dec5b8891093c92ea8f3c95ab96e1c2a6ade50a0 · accessed 2026-08-18 · vendor-docGrounds: The Backstage column: Software service catalog (Backstage catalog is the portal bar), Templates and scaffolding (software templates coded Best), RACI ownership on every node (the owner field) and Plugin extension marketplace coded Best -- the dev-portal reference the Atlas organ catalog is graded against.
  2. [confluence] Atlassian. Confluence -- team workspace: rich-text pages, real-time co-editing, comments, page history, marketplace apps. Accessed August 2026. publisher · read in our library knowledge/fetched/cmp_livingdocs_confluence.html · pin hedb1a26c58f02a8a380b2f0ee580833fef76f10a6dfff938e4019f6854b214c8 · accessed 2026-08-18 · vendor-docGrounds: The Confluence column: WYSIWYG rich-text editor and Comments and discussion threads coded Best, Real-time collaborative editing coded Yes, plus Full-text and semantic search Best -- the enterprise-wiki authoring bar the Atlas honestly does not have.
  3. [notion] Notion Labs. Notion -- block-based wiki and docs with real-time collaboration, databases, Notion AI. Accessed August 2026. publisher · read in our library knowledge/fetched/cmp_livingdocs_notion.html · pin h17f7ba991d336dd50b11cb49de751cfa766beacd763c3910b42fe94bb41f3fc1 · accessed 2026-08-18 · vendor-docGrounds: The Notion column: Real-time collaborative editing (Best), AI-assisted authoring (Notion AI is the bar), WYSIWYG media embeds and widgets and Mobile app coded Best -- the block-wiki authoring surface the Atlas trails by design.
  4. [obsidian] Obsidian (Dynalist Inc.). Obsidian -- local-first Markdown knowledge base with bidirectional links, graph view and community plugins. Accessed August 2026. publisher · read in our library knowledge/fetched/cmp_livingdocs_obsidian.html · pin h7bb39d7cd775190c12efacf28baa2d85c06e8ecac7bd01b070cc53649d15b7a1 · accessed 2026-08-18 · vendor-docGrounds: The Obsidian column: Backlinks bidirectional (Obsidian is the backlink bar) and Self-hostable local-first (Obsidian is the local-first bar) coded Best; Knowledge dependency graph coded Yes -- the PKM/graph reference for the Atlas wikilinks plus graph edges.
  5. [gitbook] GitBook. GitBook -- hosted documentation platform with Git sync, editor, AI and publishing. Accessed August 2026. publisher · read in our library knowledge/fetched/cmp_livingdocs_gitbook.html · pin h037313ecea5168e3140011e696bf378decf47a9142081c6f9388b33009c96ffc · accessed 2026-08-18 · vendor-docGrounds: The GitBook column: Hosted SaaS multi-tenant coded Best, Markdown docs-as-code and Change notifications and subscribe coded Yes -- the hosted-docs surface behind the honest-gap rows.
  6. [docusaurus] Meta Open Source. Docusaurus documentation -- static-site docs-as-code generator: Markdown/MDX, versioning, i18n, search. Accessed August 2026. publisher · read in our library knowledge/fetched/cmp_livingdocs_docusaurus.html · pin hd8515140903523d8c8db721689d022888f2ee4069152c13e4c1f419497c5e777 · accessed 2026-08-18 · vendor-docGrounds: The Docusaurus column: Markdown docs-as-code is coded Best (Docusaurus/MkDocs own docs-as-code) and i18n multi-language docs Best; Page weight rendered reads 100s KB for it against the Atlas about 5 KB zero-JS pages.
  7. [datahub] DataHub project (Acryl Data / LinkedIn). DataHub documentation -- Features: metadata catalog, lineage, search, governance across data and technical assets. Accessed August 2026. publisher · read in our library knowledge/fetched/cmp_livingdocs_datahub.html · pin hdf15e411ba0725cde70edc93a5a908d594ff21c16d95a6f86a3e9265236e764e · accessed 2026-08-18 · vendor-docGrounds: The DataHub column: Transitive lineage to primitives (DataHub coded Yes, catalogs show direct edges; the Atlas roots-to-god walk is Best), Knowledge dependency graph and Staleness and drift detection coded Yes, Knowledge-graph nodes reads 100k+ datasets -- the catalog-and-lineage reference for the graph rows.
  8. [c2pa-spec] Coalition for Content Provenance and Authenticity (C2PA). Content Credentials: C2PA Technical Specification, version 2.2 (May 2025) -- manifests, assertions, claims and claim signatures. publisher · read in our library knowledge/fetched/cmp_livingdocs_c2pa-spec.html · pin ha1f401d240c28cae005e228ae80825b357856ea7d20c7e1118673bfdfc603e3e · accessed 2026-08-18 · published-standardGrounds: Cryptographic provenance signed -- the row says ed25519 C2PA-class signing on the store, evidenced by the librarian domain's C2PA signing gate 9/9 GREEN; this is the specification that defines the manifest and claim-signature model the class name refers to.
  9. [shapiro2011-crdt] Shapiro, M., Preguica, N., Baquero, C., Zawirski, M. Conflict-free Replicated Data Types. 13th International Symposium on Stabilization, Safety, and Security of Distributed Systems (SSS 2011), LNCS 6976, pp. 386-400; INRIA Research Report RR-7687 (inria-00609399). Author-hosted PDF mirrored. publisher · read in our library knowledge/fetched/cmp_livingdocs_shapiro2011-crdt.pdf · pin h8bff8d9185bb1d3bb200b1c752e32ad58f3e91c8b16851d896d90c63ffb7b980 · accessed 2026-08-18 · published-paperGrounds: Real-time collaborative editing -- the note names OT/CRDT co-editing as the mechanism Notion and Confluence lead on and the Atlas has none of; this is the paper that defines CRDTs and Strong Eventual Consistency, the theory a sovereign co-editing rung would rest on.

generated by nx_swcompare_matrix (sovereign NishiLang organ) from knowledge/compare/livingdocs.matrix · every Nishi cell verified against organ source at emit time · watch cells re-measured on every compare beat · zero JS, zero trackers