Nishi Family › Compare › Sovereign Office Suite

Nishi Compare · capabilities, evidence and delivery

Sovereign Office Suite

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

Nishi vs Microsoft 365 Copilot and Google Workspace Gemini and LibreOffice and OnlyOffice

Overview

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

Where we are. Measured 2026-08-19. Every format organ is present and gate-proven (docx, odt, xlsx with formulas, charts, pivots, CF and DV, macros, pptx, coedit CRDT, sharing, proofing, spell) and the one measured exceed is tamper-evident additive version history. Presence is not parity: the matrix itself says the incumbents lead on formula breadth and on AI quality, the charts and pivots are HTML renders rather than in-file parts, and cloud sync stays OPEN BY DECISION (operator call, deliberately not built).

Where we need to go. Close the in-file parity gaps the incumbents are judged on (function breadth, chart and pivot parts, presence), then raise AI quality by routing to the strongest local seat under the referee -- and keep the local, no-telemetry moat where the open-source leaders win.

The unit. 1 u = one measured session-leg. Calibration from landed rungs: the mangagen panel compositor went from existing substrate to shipped and live-verified in ONE leg (2026-08-13); the citations rung went from 3 to 55 domains in one leg across seven seats (2026-08-18); a greenfield engine with a bite-proven gate has measured 2 to 4 legs. Estimates recalibrate as rungs land and PR7 actuals write back.
Cost to sheet parity in the file: 4 u. Through M0: the registry first (it is the foundation the other two compose), then chart and pivot parts.
Cost to collaboration polish: 5 u. Through M1.
Cost to AI quality: 7.5 u. Everything below. Routing is cheap; the layout generator is the creative rung.

Latest recorded release

2026-09-03 · R0

nx_xlsx SHIPPED through the fixed gate: nx_xlsx_gate 8/8 GREEN (XLSX GREEN, exit 0) against the fresh NAS build, promoted f542ca90 (a strict superset of the previous writer by the content ruler), _offc twin refreshed, REGISTERED; gate source fix on both trees (resolves buildroot/_build then _build then /tmp, abstains exit 3 with no artifact). The office referee is re-run against the new writer next

Release history and work log

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

26 of 33 capability source symbols found|1 of them authored stronger-claims|7 open|coverage 787/1000|adoption 15 full / 11 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 26/26|unsupported 0|gates green 2/2|proven able to fail 0/2|never bitten 2|green at 0/0 0|open gaps 7|of them unnamed 1|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 = 26 vs present 26 · named + unnamed + withheld = 7 vs open 7 · both reconcile

liar-kill conj=GPQN · all four conjuncts held

graded document: BUILDROOT tree, 9302 bytes · gates map: PRIMARY · stamped 35d 13h ago · STALE against the shared TTL of 604800s — this is evidence about a build nobody can vouch for now · source ../knowledge/status/evstamp_office.verdict

Gap classWhat it is, and the work it names
UNNAMED-GAPA gap row carries a bare _ABSENT_ with no symbol after it, so it names no build contract and no seat can pick it up. Give it an _ABSENT_:<symbol> and it becomes work somebody can do.
STALEThis profile is older than the shared TTL, or its clock ran backwards. It is reported as unusable rather than as fresh, because being wrong in the direction of refusing is the safe direction.
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 office 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: PLAN_MATRIX_BOUND_ONLY. Recorded priorities require current acceptance evidence and resource checks before execution.

Ranking matches the captured plan and matrix only. Latest execution outcome, research freshness, accepted delivery and investment return are unverified.

Recorded priority estimates

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: listed before new work by this heuristic. Priority is not measured delivery cost or execution readiness. Stamp: # asof=1790081779 domain=office target_version=0.1 rungs=6 done=0 open=6 finish=0 ranker=nx_dr_ocm

#StageRungPriorityDerivation
#10.1Function registry as data (R0) xl_fn_registry dossier1000v=15 m=1 c=15
#20.1Pivot parts in the file (R2) xl_pivot_part dossier400v=4 m=1 c=10
#30.1Chart parts in the file (R1) xl_chart_part dossier266v=4 m=1 c=15
#4laterRoute AI work to the strongest local seat (R4) of_llm_route dossier1000v=10 m=1 c=10
#5laterCo-editing presence and cursors (R3) cd_presence dossier500v=5 m=1 c=10
#6laterDeck theming and layout generation (R5) of_ai_deck_layout dossier400v=6 m=1 c=15

Declared roadmap — contract, acceptance, executor, effort

RungCloses withDefinition of done (pre-declared)ExecutorEst.
Function registry as data (R0)xl_fn_registryEvery spreadsheet function is a registry row with name, arity and a KAT; the evaluator dispatches from the registry; adding a function adds a row and a KAT, never a branch; breadth published as a count against the incumbents' 400 plusOrgan1.5 u
Chart parts in the file (R1)
after R0
xl_chart_partDrawingML chart parts emitted into the xlsx so Excel and Calc render the chart natively; the existing HTML render stays as the sovereign preview; a third-party reader opens the partOrgan1.5 u
Pivot parts in the file (R2)
after R0
xl_pivot_partpivotCacheDefinition and pivotTable parts emitted so the incumbents can refresh the pivot; values equal the resolved-grid pivot already shippedOrgan1 u
Co-editing presence and cursors (R3)cd_presencePer-user presence and cursor positions rendered on the RGA-synced document with two concurrent client processes; the convergence gate stays GREENOrgan1 u
Route AI work to the strongest local seat (R4)of_llm_routeDrafting, sheet insight and deck steps route by task to the strongest local model the cascade offers; the referee grades output quality against the 0.5B baseline with a PRE-DECLARED rule before the route is wiredLocal model1 u
Deck theming and layout generation (R5)
after R4
of_ai_deck_layoutSlide layouts and a theme generated for a whole deck from its outline; rendered to pptx through the existing emitter; a layout judge scores the result, not the eyeballLocal model1.5 u

Milestones

MilestoneRungsCumulative
M0 · Sheet parity in the fileR0,R1,R24 u
M1 · Live collaboration polishR35 u
M2 · AI qualityR4,R57.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 6. Rank input binding: PLAN_MATRIX_BOUND_ONLY. Dependency order is authored. Implementation, acceptance evidence, authority and resource readiness are unverified. No action is recommended or dispatched here.

Plan SHA-256 2fc56411f717269271f28613a92a37f9942054df88b328347d27e51ebd1d897c. 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 6 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. R0 — Function registry as data

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

    Contract: xl_fn_registry

    Acceptance: Every spreadsheet function is a registry row with name, arity and a KAT; the evaluator dispatches from the registry; adding a function adds a row and a KAT, never a branch; breadth published as a count against the incumbents' 400 plus

    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.

  2. R1 — Chart parts in the file

    Prerequisites: R0 (acceptance unverified)

    Contract: xl_chart_part

    Acceptance: DrawingML chart parts emitted into the xlsx so Excel and Calc render the chart natively; the existing HTML render stays as the sovereign preview; a third-party reader opens the part

    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.

  3. R2 — Pivot parts in the file

    Prerequisites: R0 (acceptance unverified)

    Contract: xl_pivot_part

    Acceptance: pivotCacheDefinition and pivotTable parts emitted so the incumbents can refresh the pivot; values equal the resolved-grid pivot already shipped

    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.

  4. R3 — Co-editing presence and cursors

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

    Contract: cd_presence

    Acceptance: Per-user presence and cursor positions rendered on the RGA-synced document with two concurrent client processes; the convergence gate stays GREEN

    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.

  5. R4 — Route AI work to the strongest local seat

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

    Contract: of_llm_route

    Acceptance: Drafting, sheet insight and deck steps route by task to the strongest local model the cascade offers; the referee grades output quality against the 0.5B baseline with a PRE-DECLARED rule before the route is wired

    Authored effort: 1. Executor kind: Local model. 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. R5 — Deck theming and layout generation

    Prerequisites: R4 (acceptance unverified)

    Contract: of_ai_deck_layout

    Acceptance: Slide layouts and a theme generated for a whole deck from its outline; rendered to pptx through the existing emitter; a layout judge scores the result, not the eyeball

    Authored effort: 1.5. Executor kind: Local model. 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 office 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.
R0 Function registry as data · cell WATCHING · gate NO-GATE-DECLARED
Contractxl_fn_registry · executor Organ · 1.5 u · stands on nothing
Definition of doneEvery spreadsheet function is a registry row with name, arity and a KAT; the evaluator dispatches from the registry; adding a function adds a row and a KAT, never a branch; breadth published as a count against the incumbents' 400 plus
Matrix cellFormula breadth as a data-driven function registry · runtime/_hdl_build/nx_xlsx.nx · WATCHING decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_xlsx; declare nx_xlsx TAB <gate> and the ship loop proves it and the verdict lands here.
Work log2026-09-03 measure nx_organ_ship nx_xlsx was refused at PROVE by nx_xlsx_gate exit 21 with every tooth NO -- the gate hardcoded /tmp/nx_xlsx.sov.elf, a volatile artifact nothing had built at ship time: a missing fixture wearing a RED verdict. The fresh NAS build of the writer (125,640 B) is a strict superset of the promoted _offc/nx_xlsx.elf (contentdiff lost 0 of 107 runs); the gate now resolves buildroot/_build then _build then /tmp, prints which, and abstains (exit 3) when none exists; 8/8 GREEN on the laptop against a fresh build of the NAS source. Also: the laptop copy of nx_xlsx.nx was a 42-hunk two-way fork of the NAS copy and has been converged to the NAS bytes
2026-09-03 land nx_xlsx SHIPPED through the fixed gate: nx_xlsx_gate 8/8 GREEN (XLSX GREEN, exit 0) against the fresh NAS build, promoted f542ca90 (a strict superset of the previous writer by the content ruler), _offc twin refreshed, REGISTERED; gate source fix on both trees (resolves buildroot/_build then _build then /tmp, abstains exit 3 with no artifact). The office referee is re-run against the new writer next
R1 Chart parts in the file · cell WATCHING · gate NO-GATE-DECLARED
Contractxl_chart_part · executor Organ · 1.5 u · stands on R0
Definition of doneDrawingML chart parts emitted into the xlsx so Excel and Calc render the chart natively; the existing HTML render stays as the sovereign preview; a third-party reader opens the part
Matrix cellCharts as in-file DrawingML parts · runtime/_hdl_build/nx_xlsx.nx · WATCHING decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_xlsx; declare nx_xlsx TAB <gate> and the ship loop proves it and the verdict lands here.
Work logno log row names this rung yet
R2 Pivot parts in the file · cell WATCHING · gate NO-GATE-DECLARED
Contractxl_pivot_part · executor Organ · 1 u · stands on R0
Definition of donepivotCacheDefinition and pivotTable parts emitted so the incumbents can refresh the pivot; values equal the resolved-grid pivot already shipped
Matrix cellPivot tables as in-file pivotTable parts · runtime/_hdl_build/nx_xlsx.nx · WATCHING decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_xlsx; declare nx_xlsx TAB <gate> and the ship loop proves it and the verdict lands here.
Work logno log row names this rung yet
R3 Co-editing presence and cursors · cell WATCHING · gate NO-GATE-DECLARED
Contractcd_presence · executor Organ · 1 u · stands on nothing
Definition of donePer-user presence and cursor positions rendered on the RGA-synced document with two concurrent client processes; the convergence gate stays GREEN
Matrix cellCo-editing presence and cursors · runtime/_hdl_build/nx_coedit.nx · WATCHING decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_coedit; declare nx_coedit TAB <gate> and the ship loop proves it and the verdict lands here.
Work logno log row names this rung yet
R4 Route AI work to the strongest local seat · cell WATCHING · gate NO-GATE-DECLARED
Contractof_llm_route · executor Local model · 1 u · stands on nothing
Definition of doneDrafting, sheet insight and deck steps route by task to the strongest local model the cascade offers; the referee grades output quality against the 0.5B baseline with a PRE-DECLARED rule before the route is wired
Matrix cellAI quality above the 0.5B seat · runtime/nx_office_serve.nx · WATCHING decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_office_serve; declare nx_office_serve TAB <gate> and the ship loop proves it and the verdict lands here.
Work log2026-09-03 measure office read RED on the referee (nx_swcompare_evidence: nx_office_gate exit=1, 93 PASS 1 FAIL) while every capability worked: tooth T-AI-b ASSUMED the LLM seat at 127.0.0.1:11434 was DOWN and asserted a 503 + no version; the seat is UP on the NAS now, POST /ai completed and created a version, and the fixture read the working feature as a failure. A fixture that assumes an environmental state it never probes cannot fail for the right reason
2026-09-03 land T-AI-b now PROBES the seat (connect to 127.0.0.1:11434) and asserts the contract that matches its state -- DOWN: 503 + no version; UP: no 503 + EXACTLY ONE new version -- each tooth named with the probed state. The gate was then migrated onto nx_gate_verdict (the promote guard refused a hand-rolled verdict): of_ck is the ONE ruler, so gv_check is armed there by of_selftest_gv and the gate main returns gv_verdict LAST. Core nx_office_serve.nx fdf98230 on both trees; nx_office_gate SHIPPED 00d0d7a6, proven 94/94 GREEN on the NAS, _offc twin refreshed, REGISTERED (callable). The one content loss was the renamed tooth (allow_loss=1, named)
2026-09-03 lesson A fixture that assumes an environmental state it never probes convicts the feature the day the environment improves -- probe, then assert the matching contract, and name the probed state in the tooth
2026-09-03 measure referee re-run after the re-ship (three-outcome AI tooth, gate 971eaa48): nx_office_gate [GREEN] exit=0 pass=94/94 and nx_crc32_gate [GREEN] exit=0 pass=9/9 -- office evidence GREEN 2/2, up from RED with 93/94 on a working feature. Still ONE method class (mechanical gates); the CRC-32 KAT row is the third-party oracle waiting on the operator signing key for PROVEN
R5 Deck theming and layout generation · cell WATCHING · gate NO-GATE-DECLARED
Contractof_ai_deck_layout · executor Local model · 1.5 u · stands on R4
Definition of doneSlide layouts and a theme generated for a whole deck from its outline; rendered to pptx through the existing emitter; a layout judge scores the result, not the eyeball
Matrix cellDeck theming and layout generation · runtime/nx_office_serve.nx · WATCHING decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_office_serve; declare nx_office_serve TAB <gate> and the ship loop proves it and the verdict lands here.
Work logno log row names this rung yet

dossiers=6 cells_joined=6 no_matrix_row=0 (sum 6) gates_recorded=0 gates_unrecorded=0 no_gate_declared=6 (sum 6 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. 33 feature rows mapped of 33 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/office.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. 800 850 900 950 1000 25 50 75 100 125 150 175 200 225 centrality (permil, fitted 800–1000) distinctiveness (permil, fitted 25–225) mean 900 mean 122 Unconventional Aspirational Peripheral Mainstream Nishi, centrality 830, distinctiveness 96, breadth 535, depth 679, momentum 0 Microsoft365, centrality 978, distinctiveness 195, breadth 747, depth 770, momentum 0 Workspace, centrality 978, distinctiveness 177, breadth 727, depth 750, momentum 0 LibreOffice, centrality 830, distinctiveness 80, breadth 515, depth 680, momentum 0 OnlyOffice, centrality 887, distinctiveness 64, breadth 545, depth 666, momentum 0 Nishi Microsoft365 Workspace LibreOffice OnlyOffice

bubble area = breadth · ring = momentum (green rising, red falling, grey until day two) · dashed = category means · axes fitted to the field of play: centrality 800–1000, distinctiveness 25–225 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 0 (a fact of the data: two players that close are that close) · data spread 697 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. 800 850 900 950 1000 25 50 75 100 125 150 175 200 225 450 500 550 600 650 700 750 800 centrality distinctiveness breadth LibreOffice: centrality 830, distinctiveness 80, breadth 515 Nishi: centrality 830, distinctiveness 96, breadth 535 OnlyOffice: centrality 887, distinctiveness 64, breadth 545 Workspace: centrality 978, distinctiveness 177, breadth 727 Microsoft365: centrality 978, distinctiveness 195, breadth 747 Nishi Microsoft365 Workspace LibreOffice OnlyOffice
axes fitted: centrality 800–1000 · distinctiveness 25–225 · breadth 450–800 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 3 (a fact of the data: two players that close are that close) · data spread 117 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. 800 1000 25 225 distinctiveness vs centrality Nishi: centrality 830, distinctiveness 96 Microsoft365: centrality 978, distinctiveness 195 Workspace: centrality 978, distinctiveness 177 LibreOffice: centrality 830, distinctiveness 80 OnlyOffice: centrality 887, distinctiveness 64 800 1000 450 800 breadth vs centrality Nishi: centrality 830, breadth 535 Microsoft365: centrality 978, breadth 747 Workspace: centrality 978, breadth 727 LibreOffice: centrality 830, breadth 515 OnlyOffice: centrality 887, breadth 545 800 1000 625 800 depth vs centrality Nishi: centrality 830, depth 679 Microsoft365: centrality 978, depth 770 Workspace: centrality 978, depth 750 LibreOffice: centrality 830, depth 680 OnlyOffice: centrality 887, depth 666 800 1000 480 520 momentum vs centrality Nishi: centrality 830, momentum 500 Microsoft365: centrality 978, momentum 500 Workspace: centrality 978, momentum 500 LibreOffice: centrality 830, momentum 500 OnlyOffice: centrality 887, momentum 500 25 225 450 800 breadth vs distinctiveness Nishi: distinctiveness 96, breadth 535 Microsoft365: distinctiveness 195, breadth 747 Workspace: distinctiveness 177, breadth 727 LibreOffice: distinctiveness 80, breadth 515 OnlyOffice: distinctiveness 64, breadth 545 25 225 625 800 depth vs distinctiveness Nishi: distinctiveness 96, depth 679 Microsoft365: distinctiveness 195, depth 770 Workspace: distinctiveness 177, depth 750 LibreOffice: distinctiveness 80, depth 680 OnlyOffice: distinctiveness 64, depth 666 25 225 480 520 momentum vs distinctiveness Nishi: distinctiveness 96, momentum 500 Microsoft365: distinctiveness 195, momentum 500 Workspace: distinctiveness 177, momentum 500 LibreOffice: distinctiveness 80, momentum 500 OnlyOffice: distinctiveness 64, momentum 500 450 800 625 800 depth vs breadth Nishi: breadth 535, depth 679 Microsoft365: breadth 747, depth 770 Workspace: breadth 727, depth 750 LibreOffice: breadth 515, depth 680 OnlyOffice: breadth 545, depth 666 450 800 480 520 momentum vs breadth Nishi: breadth 535, momentum 500 Microsoft365: breadth 747, momentum 500 Workspace: breadth 727, momentum 500 LibreOffice: breadth 515, momentum 500 OnlyOffice: breadth 545, momentum 500 625 800 480 520 momentum vs depth Nishi: depth 679, momentum 500 Microsoft365: depth 770, momentum 500 Workspace: depth 750, momentum 500 LibreOffice: depth 680, momentum 500 OnlyOffice: depth 666, momentum 500
Nishi Microsoft365 Workspace LibreOffice OnlyOffice
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 13 (a fact of the data: two players that close are that close) · data spread 529 permil of the plot
PlayerQuadrantcentralitydistinctivenessbreadthdepthmomentumRows heldDays on spineFirst seen
NishiPeripheral830965356790 since 2026-09-2326102026-09-15
Microsoft365Aspirational9781957477700 since 2026-09-2332102026-09-15
WorkspaceAspirational9781777277500 since 2026-09-2332102026-09-15
LibreOfficePeripheral830805156800 since 2026-09-2325102026-09-15
OnlyOfficePeripheral887645456660 since 2026-09-2327102026-09-15
DayMatrix rows reviewedPlayers recorded
2026-09-15335
2026-09-16335
2026-09-17335
2026-09-18335
2026-09-19335
2026-09-20335
2026-09-21335
2026-09-22335
2026-09-23335
2026-10-08335

players 5|matrix rows 33|feature mass 142|centrality mean 900|distinctiveness mean 122|axes 5|spine days 10 (shown 10)|rows written today 0|readability defects 2D 0 cube 0|spine knowledge/status/cdmap/office.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 132, unassessed 0. Authored assessments are not verified outcomes.

CapabilityNishiMicrosoft365WorkspaceLibreOfficeOnlyOffice
OOXML .docx read and writeMeasured: docx_write exists in runtime/_hdl_build/nx_docx.nx, verified at emit. Our own OPC/ZIP writer with real CRC-32, no third-party code [ecma-376]; proven by a third-party zip reader opening what we write [onlyoffice] Adoption: RUN-BY:fork:nx_doc_view_gate — fully adopted (top of its ladder).
Pros Implementing source symbol found; runtime acceptance separate; fully adopted on the estate ladderCons none on the measured axes (rival marks are documented presence, not depth)
●●●●●
ODF .odt read and writeMeasured: text:p exists in runtime/_hdl_build/nx_odt.nx, verified at emit. Open format both ways so there is no lock-in [odf-1-3]; LibreOffice is the ODF reference [libreoffice] 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); only referenced by unpromoted-source -- a mention, not a run.
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); only referenced by unpromoted-source -- a mention, not a run
Pros Implementing source symbol found; runtime acceptance separateCons behind LibreOffice (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); only referenced by unpromoted-source -- a mention, not a run
●●●◉●
Rich run formatting bold italic headingsMeasured: w:rPr exists in runtime/_hdl_build/nx_docx.nx, verified at emit. Run-properties emitted per paragraph kind 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:fork:nx_doc_view_gate — fully adopted (top of its ladder).
Pros Implementing source symbol found; runtime acceptance separate; fully adopted on the estate ladderCons none on the measured axes (rival marks are documented presence, not depth)
●●●●●
TablesMeasured: w:tblPr exists in runtime/_hdl_build/nx_docx.nx, verified at emit. Bordered tables from consecutive T rows 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:fork:nx_doc_view_gate — fully adopted (top of its ladder).
Pros Implementing source symbol found; runtime acceptance separate; fully adopted on the estate ladderCons none on the measured axes (rival marks are documented presence, not depth)
●●●●●
Inline images with real dimensionsMeasured: dx_emit_drawing exists in runtime/_hdl_build/nx_docx.nx, verified at emit. PNG embedded as an OPC media part BYTE-IDENTICAL to source; display size read from the file's own IHDR at 9525 EMU per px, capped 6in with aspect preserved. A missing or non-PNG file is skipped rather than emitting a dangling r:embed, which would make Word call the whole document corrupt 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:fork:nx_doc_view_gate — fully adopted (top of its ladder).
Pros Implementing source symbol found; runtime acceptance separate; fully adopted on the estate ladderCons none on the measured axes (rival marks are documented presence, not depth)
●●●●●
Page layout headers and footersMeasured: dx_emit_sectpr exists in runtime/_hdl_build/nx_docx.nx, verified at emit. Real sectPr with pgSz and pgMar plus header1 and footer1 parts 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:fork:nx_doc_view_gate — fully adopted (top of its ladder).
Pros Implementing source symbol found; runtime acceptance separate; fully adopted on the estate ladderCons none on the measured axes (rival marks are documented presence, not depth)
●●●●●
Tracked revisionsMeasured: dx_emit_track exists in runtime/_hdl_build/nx_docx.nx, verified at emit. Real w:ins and w:del accept-or-reject revisions; deletions use w:delText because Word silently drops the text otherwise. Date is a FIXED literal so builds stay byte-deterministic 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:fork:nx_doc_view_gate — fully adopted (top of its ladder).
Pros Implementing source symbol found; runtime acceptance separate; fully adopted on the estate ladderCons none on the measured axes (rival marks are documented presence, not depth)
●●●●●
Comments and annotationsMeasured: dx_cm_add exists in runtime/_hdl_build/nx_docx.nx, verified at emit. commentRangeStart and End plus commentReference anchored to the preceding paragraph by lookahead 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:fork:nx_doc_view_gate — fully adopted (top of its ladder).
Pros Implementing source symbol found; runtime acceptance separate; fully adopted on the estate ladderCons none on the measured axes (rival marks are documented presence, not depth)
●●●●●
FootnotesMeasured: dx_fn_add exists in runtime/_hdl_build/nx_docx.nx, verified at emit. Separator and continuationSeparator pinned at ids 0 and 1 so authored notes start at id 2; Word calls the file corrupt if that is wrong 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:fork:nx_doc_view_gate — fully adopted (top of its ladder).
Pros Implementing source symbol found; runtime acceptance separate; fully adopted on the estate ladderCons none on the measured axes (rival marks are documented presence, not depth)
●●●●●
Spreadsheet xlsx with cell typingMeasured: xlsx_write_tsv exists in runtime/_hdl_build/nx_xlsx.nx, verified at emit. Numeric v cells vs inlineStr text 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); only referenced by unpromoted-source -- a mention, not a run.
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); only referenced by unpromoted-source -- a mention, not a run
Pros Implementing source symbol found; runtime acceptance separateCons 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); only referenced by unpromoted-source -- a mention, not a run
●●●●●
Formulas evaluated and emittedMeasured: xl_build_sheet_g exists in runtime/_hdl_build/nx_xlsx.nx, verified at emit. SpreadsheetML f cells carrying the computed value; incumbents ship 400 plus functions and are the reference here 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); only referenced by unpromoted-source -- a mention, not a run.
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); only referenced by unpromoted-source -- a mention, not a run
Pros Implementing source symbol found; runtime acceptance separateCons behind Microsoft365 (leads), Workspace (leads), LibreOffice (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); only referenced by unpromoted-source -- a mention, not a run
●◉◉◉●
ChartsMeasured: xl_chart_html exists in runtime/_hdl_build/nx_xlsx.nx, verified at emit. Native render from resolved sheet data including formula values; in-file DrawingML chart parts are a named follow-up 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); only referenced by unpromoted-source -- a mention, not a run.
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); only referenced by unpromoted-source -- a mention, not a run
Pros Implementing source symbol found; runtime acceptance separateCons 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); only referenced by unpromoted-source -- a mention, not a run
●●●●●
Pivot tablesMeasured: xl_pivot exists in runtime/_hdl_build/nx_xlsx.nx, verified at emit. Group-by SUM COUNT AVG with TOTAL over the resolved grid; in-file pivotTable parts and drag-drop UI are named follow-ups 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); only referenced by unpromoted-source -- a mention, not a run.
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); only referenced by unpromoted-source -- a mention, not a run
Pros Implementing source symbol found; runtime acceptance separateCons 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); only referenced by unpromoted-source -- a mention, not a run
●●●●●
Conditional formatting and data validationMeasured: xl_dir_is exists in runtime/_hdl_build/nx_xlsx.nx, verified at emit. Data-driven CF and DV directives carried in the sheet source plus a real styles.xml dxfs, because a cfRule pointing at a missing dxf is a hard corrupt-file error 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); only referenced by unpromoted-source -- a mention, not a run.
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); only referenced by unpromoted-source -- a mention, not a run
Pros Implementing source symbol found; runtime acceptance separateCons 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); only referenced by unpromoted-source -- a mention, not a run
●●●●●
Macros and scriptingMeasured: xl_macro_apply exists in runtime/_hdl_build/nx_xlsx.nx, verified at emit. SET FILL CLEAR over the grid, run BEFORE formula evaluation so a macro-written cell feeds SUM. DELIBERATELY NOT Turing-complete and with NO I/O and NO exec: a spreadsheet macro that can open sockets is the worst hole in the incumbents and copying that power would copy the defect 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); only referenced by unpromoted-source -- a mention, not a run.
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); only referenced by unpromoted-source -- a mention, not a run
Pros Implementing source symbol found; runtime acceptance separateCons 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); only referenced by unpromoted-source -- a mention, not a run
●●●●●
Presentation decks pptxMeasured: pptx_write_spec exists in runtime/_hdl_build/nx_pptx.nx, verified at emit. Titles and bullets authored to real pptx rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: PROMOTED-UNREGISTERED — PARTIAL: a real binary nobody can call over MCP: /api/tools/register it; no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked); only referenced by unpromoted-source -- a mention, not a run.
not adopted: a real binary nobody can call over MCP: /api/tools/register it; no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked); only referenced by unpromoted-source -- a mention, not a run
Pros Implementing source symbol found; runtime acceptance separateCons not adopted yet: a real binary nobody can call over MCP: /api/tools/register it; no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked); only referenced by unpromoted-source -- a mention, not a run
●●●●●
Real-time co-editingMeasured: cd_live_sync exists in runtime/_hdl_build/nx_coedit.nx, verified at emit. RGA text CRDT [roh2011-rga] plus a live HTTP sync daemon, convergence proven with two concurrent client processes [shapiro2011-crdt]; the cloud incumbents remain the reference for polish, presence and cursors Adoption: BUILT-UNPROMOTED — PARTIAL: compiled, never promoted to the serving root: /api/promote it.
not adopted: compiled, never promoted to the serving root: /api/promote it
Pros Implementing source symbol found; runtime acceptance separate; ahead of LibreOfficeCons behind Microsoft365 (leads), Workspace (leads); not adopted yet: compiled, never promoted to the serving root: /api/promote it
●◉◉◐●
Sharing and permissionsMeasured: of_do_share exists in runtime/nx_office_serve.nx, verified at emit. ReBAC-gated docs with per-user AND per-group grants, owner-only manage, and a reverse index; LibreOffice is a local app with no sharing plane 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=5 nonval=2 — fully adopted (top of its ladder).
Pros Implementing source symbol found; runtime acceptance separate; ahead of LibreOffice; fully adopted on the estate ladderCons none on the measured axes (rival marks are documented presence, not depth)
●●●○●
Version history tamper-evident and additiveSource present; authored stronger claim: VIZSLA-DOC-VERSION in runtime/_hdl_build/nx_vizsla_doc.nx, verified at emit. THE ONE MEASURED EXCEED: content-addressed, append-only, never-lose history. Mainstream version history is mutable and deletable; ours cannot be rewritten, and every AI and agent turn lands as a restorable version rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: PRODUCER-ALIAS — fully adopted (top of its ladder).
Pros Source symbol found; stronger capability claim is authored; ahead of Microsoft365, Workspace, LibreOffice, OnlyOffice; fully adopted on the estate ladderCons none on the measured axes (rival marks are documented presence, not depth)
◉●●○●
In-document AI draftingMeasured: of_llm_complete exists in runtime/nx_office_serve.nx, verified at emit. Runs on OUR OWN no-float model on loopback with zero cloud. HONEST: the seat is 0.5B so output quality is far below Copilot and Gemini; the incumbents are marked Best on quality [m365-copilot] Adoption: LIB-WIRED importers=5 nonval=2 — fully adopted (top of its ladder).
Pros Implementing source symbol found; runtime acceptance separate; ahead of LibreOffice, OnlyOffice; fully adopted on the estate ladderCons behind Microsoft365 (leads), Workspace (leads)
●◉◉○○
AI data analysis in sheetsMeasured: of_ai_prompt_sheet exists in runtime/nx_office_serve.nx, verified at emit. Reads the resolved grid and appends an insight as a real two-cell row, additive. Fill-with-Gemini class, 0.5B quality [workspace-gemini] Adoption: LIB-WIRED importers=5 nonval=2 — fully adopted (top of its ladder).
Pros Implementing source symbol found; runtime acceptance separate; ahead of LibreOffice, OnlyOffice; fully adopted on the estate ladderCons behind Microsoft365 (leads), Workspace (leads)
●◉◉○○
AI presentation generationMeasured: of_ai_prompt_deck exists in runtime/nx_office_serve.nx, verified at emit. Drafts the next slide as a real title plus bullet from the deck so far; no theming or layout generation yet 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=5 nonval=2 — fully adopted (top of its ladder).
Pros Implementing source symbol found; runtime acceptance separate; ahead of LibreOffice, OnlyOffice; fully adopted on the estate ladderCons behind Microsoft365 (leads), Workspace (leads)
●◉◉○○
Agentic multi-step in-app workMeasured: of_agent_plan_parse exists in runtime/nx_office_serve.nx, verified at emit. The 2026 marquee, vs Copilot Agent Mode GA 2026-04-22 [copilot-agent-ga]. PLAN then EXECUTE each step then REFINE, state in a sidecar so it is resumable. ONE POST is ONE turn BY DESIGN because a model turn is 7 to 10s against a 15s edge timeout. Every turn lands as an additive version so the whole trajectory is diffable and restorable, which the incumbents discard Adoption: LIB-WIRED importers=5 nonval=2 — fully adopted (top of its ladder).
Pros Implementing source symbol found; runtime acceptance separate; ahead of Workspace, LibreOffice, OnlyOffice; fully adopted on the estate ladderCons behind Microsoft365 (leads)
●◉◐○○
Grammar and style proofingMeasured: pf_check exists in runtime/_hdl_build/nx_proof.nx, verified at emit. Dictionary-free: doubled words, double spaces, lowercase sentence starts, missing terminal punctuation, unbalanced brackets and quotes, trailing whitespace. Skips markup lines so tables and directives never yield false positives rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: BUILT-UNPROMOTED — PARTIAL: compiled, never promoted to the serving root: /api/promote it.
not adopted: compiled, never promoted to the serving root: /api/promote it
Pros Implementing source symbol found; runtime acceptance separateCons not adopted yet: compiled, never promoted to the serving root: /api/promote it
●●●●●
Spell checkMeasured: sp_near exists in runtime/_hdl_build/nx_spell.nx, verified at emit. Lexicon DERIVED from our own 205MB English corpus, not fetched: 75,472 words admitted only at 3 or more uses across 2 or more distinct documents, plus a 96-entry denylist because a frequency rule cannot tell a common word from a common mistake and the corpus had admitted teh. PRECISION-FIRST: a word is reported only if absent AND a 1-edit neighbour exists, so that neighbour is both the evidence and the suggestion; an inflection guard suppresses stem-prefix hits. A lexicon gap therefore costs a MISSED TYPO, never a false accusation against correct text. Verified against three neg-controls including real prose rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: BUILT-UNPROMOTED — PARTIAL: compiled, never promoted to the serving root: /api/promote it.
not adopted: compiled, never promoted to the serving root: /api/promote it
Pros Implementing source symbol found; runtime acceptance separateCons not adopted yet: compiled, never promoted to the serving root: /api/promote it
●●●●●
Cloud and offsite syncOpen — no implementing organ is measured for this axis yet. OPEN BY DECISION, not by inability. The SOTA bar itself says local files and no telemetry is where the open-source leaders win, and that is where our one measured exceed lives; wiring OAuth to Drive or OneDrive would trade the moat for a checkbox. Operator call, deliberately not built unilaterally rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them
Pros none measured yetCons behind Microsoft365, Workspace, LibreOffice, OnlyOffice; no implementing organ measured
○●●◐●
Sovereign local no telemetryMeasured: docx_write exists in runtime/_hdl_build/nx_docx.nx, verified at emit. PARITY with the open-source SOTA, not an exceed: LibreOffice matches privacy. The cloud incumbents send data up; our format organs open no sockets at all 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:fork:nx_doc_view_gate — fully adopted (top of its ladder).
Pros Implementing source symbol found; runtime acceptance separate; ahead of Microsoft365, Workspace; fully adopted on the estate ladderCons behind LibreOffice (leads)
●○○◉●
Formula breadth as a data-driven function registryDARK — runtime/_hdl_build/nx_xlsx.nx EXISTS but does not declare xl_fn_registry: something shipped at this path under another name, and this mark would read open forever. Repoint the contract to the real entry point (the plan rung AND this row) or rename the function; the flip follows on the next beat, and the comparewatch- plane row reads DARK until then. Incumbents ship 400 plus functions; ours evaluates a fixed set -- the registry makes each function a row with a KAT, never a hardcoded switch rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them
dossierwatching xl_fn_registry
Pros none measured yetCons behind Microsoft365 (leads), Workspace (leads), LibreOffice (leads), OnlyOffice; open contract; expected source declaration not established
○◉◉◉●
Charts as in-file DrawingML partsDARK — runtime/_hdl_build/nx_xlsx.nx EXISTS but does not declare xl_chart_part: something shipped at this path under another name, and this mark would read open forever. Repoint the contract to the real entry point (the plan rung AND this row) or rename the function; the flip follows on the next beat, and the comparewatch- plane row reads DARK until then. Named follow-up of the charts row: native chart parts so Excel and Calc render them, not only our HTML render rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them
dossierwatching xl_chart_part
Pros none measured yetCons behind Microsoft365, Workspace, LibreOffice, OnlyOffice; open contract; expected source declaration not established
○●●●●
Pivot tables as in-file pivotTable partsDARK — runtime/_hdl_build/nx_xlsx.nx EXISTS but does not declare xl_pivot_part: something shipped at this path under another name, and this mark would read open forever. Repoint the contract to the real entry point (the plan rung AND this row) or rename the function; the flip follows on the next beat, and the comparewatch- plane row reads DARK until then. Named follow-up of the pivot row: pivotCacheDefinition and pivotTable parts the incumbents can refresh rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them
dossierwatching xl_pivot_part
Pros none measured yetCons behind Microsoft365, Workspace, LibreOffice, OnlyOffice; open contract; expected source declaration not established
○●●●●
Co-editing presence and cursorsDARK — runtime/_hdl_build/nx_coedit.nx EXISTS but does not declare cd_presence: something shipped at this path under another name, and this mark would read open forever. Repoint the contract to the real entry point (the plan rung AND this row) or rename the function; the flip follows on the next beat, and the comparewatch- plane row reads DARK until then. Convergence is proven; presence, cursors and per-user colour are the polish the cloud incumbents are judged on rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them
dossierwatching cd_presence
Pros none measured yetCons behind Microsoft365 (leads), Workspace (leads), LibreOffice, OnlyOffice; open contract; expected source declaration not established
○◉◉◐●
AI quality above the 0.5B seatDARK — runtime/nx_office_serve.nx EXISTS but does not declare of_llm_route: something shipped at this path under another name, and this mark would read open forever. Repoint the contract to the real entry point (the plan rung AND this row) or rename the function; the flip follows on the next beat, and the comparewatch- plane row reads DARK until then. Route drafting to the strongest local seat by task (the nx_forge cascade precedent); quality graded by the referee, never by presence rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them
dossierwatching of_llm_route
Pros none measured yetCons behind Microsoft365 (leads), Workspace (leads); open contract; expected source declaration not established
○◉◉○○
Deck theming and layout generationDARK — runtime/nx_office_serve.nx EXISTS but does not declare of_ai_deck_layout: something shipped at this path under another name, and this mark would read open forever. Repoint the contract to the real entry point (the plan rung AND this row) or rename the function; the flip follows on the next beat, and the comparewatch- plane row reads DARK until then. Named follow-up of the AI deck row: themes and slide layouts generated, not only title plus bullets rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them
dossierwatching of_ai_deck_layout
Pros none measured yetCons behind Microsoft365 (leads), Workspace (leads); 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 marks33rows carrying a Yes, Best or Part in a rival column
cited6a reference mark resolves to a pinned mirror
uncited27an observation read, badged until a reference lands
rows, summed33RECONCILED: the parts sum to the total 33

Delivery and evidence

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

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-03R4measureoffice read RED on the referee (nx_swcompare_evidence: nx_office_gate exit=1, 93 PASS 1 FAIL) while every capability worked: tooth T-AI-b ASSUMED the LLM seat at 127.0.0.1:11434 was DOWN and asserted a 503 + no version; the seat is UP on the NAS now, POST /ai completed and created a version, and the fixture read the working feature as a failure. A fixture that assumes an environmental state it never probes cannot fail for the right reason
2026-09-03R4landT-AI-b now PROBES the seat (connect to 127.0.0.1:11434) and asserts the contract that matches its state -- DOWN: 503 + no version; UP: no 503 + EXACTLY ONE new version -- each tooth named with the probed state. The gate was then migrated onto nx_gate_verdict (the promote guard refused a hand-rolled verdict): of_ck is the ONE ruler, so gv_check is armed there by of_selftest_gv and the gate main returns gv_verdict LAST. Core nx_office_serve.nx fdf98230 on both trees; nx_office_gate SHIPPED 00d0d7a6, proven 94/94 GREEN on the NAS, _offc twin refreshed, REGISTERED (callable). The one content loss was the renamed tooth (allow_loss=1, named)
2026-09-03R4lessonA fixture that assumes an environmental state it never probes convicts the feature the day the environment improves -- probe, then assert the matching contract, and name the probed state in the tooth
2026-09-03R4measurereferee re-run after the re-ship (three-outcome AI tooth, gate 971eaa48): nx_office_gate [GREEN] exit=0 pass=94/94 and nx_crc32_gate [GREEN] exit=0 pass=9/9 -- office evidence GREEN 2/2, up from RED with 93/94 on a working feature. Still ONE method class (mechanical gates); the CRC-32 KAT row is the third-party oracle waiting on the operator signing key for PROVEN
2026-09-03R0measurenx_organ_ship nx_xlsx was refused at PROVE by nx_xlsx_gate exit 21 with every tooth NO -- the gate hardcoded /tmp/nx_xlsx.sov.elf, a volatile artifact nothing had built at ship time: a missing fixture wearing a RED verdict. The fresh NAS build of the writer (125,640 B) is a strict superset of the promoted _offc/nx_xlsx.elf (contentdiff lost 0 of 107 runs); the gate now resolves buildroot/_build then _build then /tmp, prints which, and abstains (exit 3) when none exists; 8/8 GREEN on the laptop against a fresh build of the NAS source. Also: the laptop copy of nx_xlsx.nx was a 42-hunk two-way fork of the NAS copy and has been converged to the NAS bytes
2026-09-03R0landnx_xlsx SHIPPED through the fixed gate: nx_xlsx_gate 8/8 GREEN (XLSX GREEN, exit 0) against the fresh NAS build, promoted f542ca90 (a strict superset of the previous writer by the content ruler), _offc twin refreshed, REGISTERED; gate source fix on both trees (resolves buildroot/_build then _build then /tmp, abstains exit 3 with no artifact). The office referee is re-run against the new writer next
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/office.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 office, 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 office.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
seeds3
scanned2
fetched2
reused0
failed1
named3
candidates3
mentions3
capped0
RankRivalSeedsMentionsFirst seedKindLink
1Workspace11col1-workspacenamedhttps://workspace.google.com/solutions/ai/
2LibreOffice11col2-libreofficenamedhttps://www.libreoffice.org/discover/libreoffice/
3OnlyOffice11col3-onlyofficenamedhttps://www.onlyoffice.com/

field candidates 3|shown 3 of 3|matrix columns in the field 3 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 31 capabilities: 31 exclusive to it and 0 shared with other boards. Shared rows on this page: 0 = home here 0 + home elsewhere 0 + ambiguous 0 + undecided 0 + refused 0 (partition 0); undecided = unmapped 0 + unproven 0 + unevidenced 0; homonyms 0; since the previous census: new 0, resolved 0. Census FRESH age_s=6445.

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 1395550 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. [m365-copilot] Microsoft. Microsoft 365 Copilot overview (Microsoft Learn): Copilot in Word, Excel, PowerPoint, Outlook and Teams grounded in Microsoft Graph, accessed 2026-08-18. publisher · read in our library knowledge/fetched/cmp_office_m365-copilot.html · pin h4072eb8fd246eda342b89eac04cb78afae9ec4ff0779f856b5d563b1b444099f · accessed 2026-08-18 · vendor-docGrounds: The Microsoft365 column: Best on 'In-document AI drafting', 'AI data analysis in sheets', 'AI presentation generation' and 'Formulas evaluated and emitted', and the cloud-side 0 on 'Sovereign local no telemetry' -- the reference the matrix header calls the quality bar our 0.5B sovereign seat sits far below.
  2. [copilot-agent-ga] Microsoft 365 Blog (Sumit Chauhan). Copilot's agentic capabilities in Word, Excel, and PowerPoint are generally available, 2026-04-22: multi-step app-native actions as the default experience for Microsoft 365 Copilot, Premium, Personal and Family. publisher · read in our library knowledge/fetched/cmp_office_copilot-agent-mode-ga.html · pin hde806e0d34cc2421dc60ecf1e902a3bb678a1136c91c3c272c2be1e865a62a18 · accessed 2026-08-18 · vendor-docGrounds: The 'Agentic multi-step in-app work' row: the 2026 marquee the note names (Copilot Agent Mode GA 2026-04-22) is this announcement; ours differs by landing every turn as an additive restorable version and by one-POST-one-turn against the 15s edge timeout.
  3. [workspace-gemini] Google. Google Workspace with Gemini -- AI in Docs, Sheets, Slides, Gmail and Meet (solutions page), accessed 2026-08-18. publisher · read in our library knowledge/fetched/cmp_office_workspace-gemini.html · pin hb090db57adc624936a741757c33038653c67072e377c5f8654cf1bdd930ae1cd · accessed 2026-08-18 · vendor-docGrounds: The Workspace column: Best on 'Real-time co-editing', 'In-document AI drafting' and 'AI data analysis in sheets' (the Fill-with-Gemini class the note names), Part on 'Agentic multi-step in-app work'.
  4. [libreoffice] The Document Foundation. LibreOffice -- Discover LibreOffice (product page): free open-source suite with Writer, Calc, Impress, Draw, Base and Math; the ODF reference implementation. Accessed 2026-08-18; libreoffice.org's TLS chain would not link for the sovereign client, so no mirror is banked. publisher · accessed 2026-08-18 · vendor-docGrounds: The LibreOffice column: Best on 'ODF .odt read and write' (the note calls it the ODF reference) and 'Sovereign local no telemetry' (parity, not exceed), 0 on 'Sharing and permissions' because it is a local app with no sharing plane.
  5. [onlyoffice] ONLYOFFICE (Ascensio System SIA). ONLYOFFICE Docs and Workspace -- OOXML-native online editors, self-hostable (product page), accessed 2026-08-18. publisher · read in our library knowledge/fetched/cmp_office_onlyoffice.html · pin hf3ebbc84dadb71ed5422d4d086fd217f138636c92a788bf45dd6d2f257d225b3 · accessed 2026-08-18 · vendor-docGrounds: The OnlyOffice column: Yes across the OOXML document, spreadsheet, co-editing and sharing rows, 0 on the AI rows -- the self-hostable OOXML-native comparator.
  6. [ecma-376] Ecma International. ECMA-376: Office Open XML File Formats (WordprocessingML, SpreadsheetML, PresentationML, DrawingML, Open Packaging Conventions), also ISO/IEC 29500. publisher · read in our library knowledge/fetched/cmp_office_ecma376.html · pin h7861648cf663c18dbdc3a4d4779b8de50603ec0604b1a3ee6d571ea76efe84f7 · accessed 2026-08-18 · published-standardGrounds: The 'OOXML .docx read and write', 'Tracked revisions', 'Comments and annotations', 'Footnotes', 'Spreadsheet xlsx with cell typing' and 'Presentation decks pptx' rows: the OPC package, w:ins/w:del, commentRangeStart, footnote separator ids and sectPr parts our own writer emits are this standard's, and the corrupt-file traps the notes name are its constraints.
  7. [odf-1-3] OASIS. Open Document Format for Office Applications (OpenDocument) Version 1.3, Part 1: Introduction. OASIS Standard, 2021 (also ISO/IEC 26300). publisher · read in our library knowledge/fetched/cmp_office_odf13.html · pin hdbfa9338c0751bcc8248a77aa421ab00ef0cad1fd237ed445a3469fecafae330 · accessed 2026-08-18 · published-standardGrounds: The 'ODF .odt read and write' row: the open format the row names as the no-lock-in path is this specification; text:p is its paragraph element.
  8. [roh2011-rga] Roh, Jeon, Kim, Lee. Replicated abstract data types: Building blocks for collaborative applications. Journal of Parallel and Distributed Computing 71(3), 354-368, 2011 -- the Replicated Growable Array (RGA). Bibliographic record confirmed via dblp; the Elsevier DOI page refuses the sovereign fetcher, so no mirror is banked. publisher · accessed 2026-08-18 · published-paperGrounds: The 'Real-time co-editing' row: the RGA text CRDT nx_coedit implements (cd_live_sync, convergence proven with two concurrent client processes) is this paper's data type.
  9. [shapiro2011-crdt] Shapiro, Preguica, Baquero, Zawirski. Conflict-Free Replicated Data Types. Stabilization, Safety, and Security of Distributed Systems (SSS 2011), LNCS 6976, Springer. publisher · read in our library knowledge/fetched/cmp_office_shapiro2011-crdt.html · pin hc415220561443c7ee82abb37b03819eddccfb2c2fca935e8ce38952c86bf540f · accessed 2026-08-18 · published-paperGrounds: The 'Real-time co-editing' row: the strong-eventual-consistency guarantee (convergence without coordination) that the co-editing gate proves is the property this paper defines for CRDTs.

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