Nishi Family › Compare › Debugging and Diagnosis (Doctor)

Nishi Compare · capabilities, evidence and delivery

Debugging and Diagnosis (Doctor)

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

Nishi vs rr and GDB and Delve and C-Vise

Overview

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

Where we are. The Nishi doctor is a DIAGNOSIS-AND-IMMUNIZATION culture the field does not ship: the splice bisector names the guilty function, ccdiag surfaces the muted compiler error in one step, the shape prober fuzzes for the class, and every fixed bug becomes a permanent probe organ that re-runs forever (exceed), wired into one self-healing circuit (exceed). As of 2026-08-07 emitted ELFs carry DWARF v5 .debug_line under -g, validated by GNU readelf. What it lacks is the field's whole interactive half: no stepping debugger, no record-replay, no watchpoints, no .debug_info, no core-dump analysis, no remote attach, no DAP, no reduction at C-Vise scale.

Where we need to go. A sovereign debugger GDB-class on our own binaries -- break, step, inspect with types -- then the time-travel and reduction tools rr and C-Vise define, then the DAP door so any editor drives it; each rung landing as the permanent witness the doctor already knows how to keep.

The unit. 1 u = one measured session-leg (estate calibration: graphics R21 in one leg 2026-08-15). Local evidence: .debug_line with section headers and external readelf validation landed in one leg on 2026-08-07; estimates are relative to that.
Where we are: 8 open rungs. Diagnosis culture ahead; the interactive debugger half absent. Counts measured at emit below this line.
Cost to a breakpoint: 3 u. DT1 the minimal stepping runner over ptrace with the line table we already emit -- the root of every other rung.
Cost to inspection and time travel: 8 u. DT2 watchpoints, DT3 core-dump analysis, DT4 remote attach, DT5 record-replay -- each built on the DT1 runner.
Cost to the field's tooling ring: 6 u. DT6 DAP so editors drive it, DT7 input reduction at C-Vise scale, DT8 LLM-assisted diagnosis over the T# register.

Research bar. GDB is measured on breakpoints, watchpoints, post-mortem, gdbserver. Theirs: the debugger bar. Ours: DT1 DT2 DT3 DT4 measured on this page.

Research bar. rr 5.9.0 is measured on record-replay with reverse execution. Theirs: the time-travel bar. Ours: DT5.

Research bar. C-Vise 2.12.0 is measured on test-case reduction at scale. Theirs: the reduction bar. Ours: DT7.

Latest recorded release

2026-09-02 · DT3

the crash guard every guarded binary links (nx_crash.nx) re-raised through raw x86 syscall keys 39 and 62, which the compiler translates as RV64 keys to ioctl and lseek, so every guarded crash exited via exit_group(128+sig) and NEVER died by its signal: no core, no signal status for a parent to classify. Fixed on both trees (172 and 129); proven by wait status: returncode 139 before, -11 (killed by SIGSEGV) after, guard text present in both

Release history and work log

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

9 of 17 capability source symbols found|2 of them authored stronger-claims|8 open|coverage 529/1000|adoption 1 full / 8 partial

Evidence profile — what the gaps on this board actually are

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

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

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

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

liar-kill conj=GPQN · all four conjuncts held

graded document: BUILDROOT tree, 6359 bytes · gates map: PRIMARY · stamped 1d 7h ago · source ../knowledge/status/evstamp_doctor.verdict

Gap classWhat it is, and the work it names
FLIP-READYA watch contract symbol is now present in the organ it named: the cell can flip on a pure data edit with no new code. These are the cheapest closures on this board and they belong before any new work.
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 doctor 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=1791489485 domain=doctor target_version=0.1 rungs=11 done=4 open=7 finish=3 ranker=nx_dr_ocm

#StageRungPriorityDerivation
FFINISHPer-function miscompile bisection (DO0) sb_try_franken dossierSOURCE-ONLYsource exists, never compiled: /api/build it
FFINISHPermanent regression witnesses (DO1) Opt dossierREGISTERED-UNAUTHORISEDregistered, no cap ever minted; no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked)
FFINISHDWARF .debug_line under -g (DO2) nx_dwline_header dossierSOURCE-ONLYsource exists, never compiled: /api/build it
#10.1Core-dump analysis (DT3) cd_dump_analyze dossier266v=2 m=2 c=15
#2laterWatchpoints (DT2) wp_watch_addr dossier400v=3 m=2 c=15
#3laterRemote attach (DT4) rmt_attach_pid dossier300v=3 m=2 c=20
#4laterDebug Adapter Protocol (DT6) dap_serve dossier200v=2 m=2 c=20
#5laterInput reduction at scale (DT7) rd_reduce_input dossier200v=2 m=2 c=20
#6laterLLM-assisted diagnosis (DT8) ld_suggest_fix dossier150v=1 m=3 c=20
#7laterRecord and replay (DT5) rr_record_trace dossier133v=2 m=2 c=30

Declared roadmap — contract, acceptance, executor, effort

RungCloses withDefinition of done (pre-declared)ExecutorEst.
Per-function miscompile bisection (DO0)sb_try_frankenSplice frankenbuilds name the guilty function -- LANDEDOrgan0 u
Permanent regression witnesses (DO1)OptEvery pinned bug re-runs forever as a probe organ -- LANDEDOrgan0 u
DWARF .debug_line under -g (DO2)nx_dwline_headerFunction-granularity line table, externally validated -- LANDED 2026-08-07Organ0 u
Stepping debugger (DT1)
after DO2
dbg_step_overA minimal sovereign runner: ptrace the child, set a breakpoint at a file:line resolved through our own .debug_line, step over, print registers; gate proves a breakpoint on nx_probe_dbgtiny.nx line 5 stops at 0x400096 (the address readelf already validated) and a bad line is refused with the nearest legal one namedOrgan3 u
Watchpoints (DT2)
after DT1
wp_watch_addrHardware debug-register watch on an address range with the faulting instruction reported; gate proves a planted write to a watched global stops at the writer and a read-only run completesOrgan1.5 u
Core-dump analysis (DT3)
after DO2
cd_dump_analyzeParse a core plus our ELF to print the faulting PC as file:line and the register set; gate proves a deliberately crashed probe yields the right line and a non-core file is refusedOrgan1.5 u
Remote attach (DT4)
after DT1
rmt_attach_pidAttach the DT1 runner to a running sovereign daemon by pid over the mgmt API with the same break and step verbs and detach without killing it; gate proves attach, break, detach leaves the daemon servingOrgan2 u
Record and replay (DT5)
after DT1
rr_record_traceRecord syscall results and nondeterministic inputs of a run and replay it deterministically to any breakpoint; gate proves two replays of one recording stop at identical register state and a replay of a tampered trace is refusedOrgan3 u
Debug Adapter Protocol (DT6)
after DT1
dap_serveA DAP server fronting the DT1 runner so VS Code-class editors break and step our binaries; gate proves the initialize, setBreakpoints, continue and stopped messages round-trip against a recorded client transcriptOrgan2 u
Input reduction at scale (DT7)
after DO0
rd_reduce_inputDelta-debugging reduction of a failing NishiLang input under an interestingness predicate, built on the splice bisector's harness; gate proves a 2000-line miscompile fixture reduces to a witness under 50 lines that still reproduces and a passing input is left wholeOrgan2 u
LLM-assisted diagnosis (DT8)
after DO0,DO1
ld_suggest_fixThe sovereign model proposes a fix from the T# register entry plus the bisector's named function, VERIFIED by the forge's byte-exact judge before it is shown; gate proves a known pinned bug yields a fix the judge accepts and an unverifiable proposal is labelled, never appliedOrgan2 u

Milestones

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

Inspect a rung and its prerequisites

Declared nodes 11. Rank input binding: 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 d43917e62aa048da96ae060f12bbd0e443e4ea1ea33c8b9c01864fe50d8c61a4. Target rows 0; role rows 0. Existing risks and release worklog retain their own scope; no node completion is inferred.

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

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

  1. DO0 — Per-function miscompile bisection

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

    Contract: sb_try_franken

    Acceptance: Splice frankenbuilds name the guilty function -- LANDED

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

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

  2. DO1 — Permanent regression witnesses

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

    Contract: Opt

    Acceptance: Every pinned bug re-runs forever as a probe organ -- LANDED

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

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

  3. DO2 — DWARF .debug_line under -g

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

    Contract: nx_dwline_header

    Acceptance: Function-granularity line table, externally validated -- LANDED 2026-08-07

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

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

  4. DT1 — Stepping debugger

    Prerequisites: DO2 (acceptance unverified)

    Contract: dbg_step_over

    Acceptance: A minimal sovereign runner: ptrace the child, set a breakpoint at a file:line resolved through our own .debug_line, step over, print registers; gate proves a breakpoint on nx_probe_dbgtiny.nx line 5 stops at 0x400096 (the address readelf already validated) and a bad line is refused with the nearest legal one named

    Authored effort: 3. 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. DT2 — Watchpoints

    Prerequisites: DT1 (acceptance unverified)

    Contract: wp_watch_addr

    Acceptance: Hardware debug-register watch on an address range with the faulting instruction reported; gate proves a planted write to a watched global stops at the writer and a read-only run completes

    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.

  6. DT3 — Core-dump analysis

    Prerequisites: DO2 (acceptance unverified)

    Contract: cd_dump_analyze

    Acceptance: Parse a core plus our ELF to print the faulting PC as file:line and the register set; gate proves a deliberately crashed probe yields the right line and a non-core file is refused

    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.

  7. DT4 — Remote attach

    Prerequisites: DT1 (acceptance unverified)

    Contract: rmt_attach_pid

    Acceptance: Attach the DT1 runner to a running sovereign daemon by pid over the mgmt API with the same break and step verbs and detach without killing it; gate proves attach, break, detach leaves the daemon serving

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

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

  8. DT5 — Record and replay

    Prerequisites: DT1 (acceptance unverified)

    Contract: rr_record_trace

    Acceptance: Record syscall results and nondeterministic inputs of a run and replay it deterministically to any breakpoint; gate proves two replays of one recording stop at identical register state and a replay of a tampered trace is refused

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

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

  9. DT6 — Debug Adapter Protocol

    Prerequisites: DT1 (acceptance unverified)

    Contract: dap_serve

    Acceptance: A DAP server fronting the DT1 runner so VS Code-class editors break and step our binaries; gate proves the initialize, setBreakpoints, continue and stopped messages round-trip against a recorded client transcript

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

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

  10. DT7 — Input reduction at scale

    Prerequisites: DO0 (acceptance unverified)

    Contract: rd_reduce_input

    Acceptance: Delta-debugging reduction of a failing NishiLang input under an interestingness predicate, built on the splice bisector's harness; gate proves a 2000-line miscompile fixture reduces to a witness under 50 lines that still reproduces and a passing input is left whole

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

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

  11. DT8 — LLM-assisted diagnosis

    Prerequisites: DO0 (acceptance unverified), DO1 (acceptance unverified)

    Contract: ld_suggest_fix

    Acceptance: The sovereign model proposes a fix from the T# register entry plus the bisector's named function, VERIFIED by the forge's byte-exact judge before it is shown; gate proves a known pinned bug yields a fix the judge accepts and an unverifiable proposal is labelled, never applied

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

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

Learning and practice paths

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

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

Joined by symbol, never typed. Each dossier is assembled on every publish from the rows this board already carries: the plan's rung row, the matrix row that carries its contract symbol (its status re-measured by the one symbol ruler), the gate the organ declares and the verdict the evidence referee recorded on its last run, the reference marks in the rung text, the design rows that name the rung and the work log filed against it. The capability matrix links each cell to its dossier and each dossier links back to its cell and forward to the rungs it stands on; a dependency naming no rung on this plan is written as UNRESOLVED rather than linked. Absences are named: NO-MATRIX-ROW, NO-GATE-DECLARED, UNRECORDED.
Gate verdicts: UNSTAMPED — no per-gate verdict artifact is published for this domain yet (nx_swcompare_evidence doctor 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.
DO0 Per-function miscompile bisection · cell PRESENT · gate NO-GATE-DECLARED
Contractsb_try_franken · executor Organ · 0 u · stands on nothing
Definition of doneSplice frankenbuilds name the guilty function -- LANDED
Matrix cellPer-function miscompile bisection (names the breaker) · runtime/nx_cc_splice_bisect.nx · PRESENT decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_cc_splice_bisect; declare nx_cc_splice_bisect TAB <gate> and the ship loop proves it and the verdict lands here.
Work logno log row names this rung yet
DO1 Permanent regression witnesses · cell PRESENT · gate NO-GATE-DECLARED
ContractOpt · executor Organ · 0 u · stands on nothing
Definition of doneEvery pinned bug re-runs forever as a probe organ -- LANDED
Matrix cellEvery fixed bug becomes a permanent witness · runtime/nx_probe_ctor.nx · PRESENT decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_probe_ctor; declare nx_probe_ctor TAB <gate> and the ship loop proves it and the verdict lands here.
Work logno log row names this rung yet
DO2 DWARF .debug_line under -g · cell PRESENT · gate NO-GATE-DECLARED
Contractnx_dwline_header · executor Organ · 0 u · stands on nothing
Definition of doneFunction-granularity line table, externally validated -- LANDED 2026-08-07
Matrix cellDWARF / source-line debug info · runtime/nx_dwarf_line.nx · PRESENT decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_dwarf_line; declare nx_dwarf_line TAB <gate> and the ship loop proves it and the verdict lands here.
Work logno log row names this rung yet
DT1 Stepping debugger · cell LANDED · gate NO-GATE-DECLARED
Contractdbg_step_over · executor Organ · 3 u · stands on DO2
Definition of doneA minimal sovereign runner: ptrace the child, set a breakpoint at a file:line resolved through our own .debug_line, step over, print registers; gate proves a breakpoint on nx_probe_dbgtiny.nx line 5 stops at 0x400096 (the address readelf already validated) and a bad line is refused with the nearest legal one named
Matrix cellBreakpoint debugger (step, inspect, frames) · runtime/nx_dbg_step.nx · LANDED decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_dbg_step; declare nx_dbg_step TAB <gate> and the ship loop proves it and the verdict lands here.
Work logno log row names this rung yet
DT2 Watchpoints · cell WATCHING · gate NO-GATE-DECLARED
Contractwp_watch_addr · executor Organ · 1.5 u · stands on DT1
Definition of doneHardware debug-register watch on an address range with the faulting instruction reported; gate proves a planted write to a watched global stops at the writer and a read-only run completes
Matrix cellWatchpoints and memory breakpoints · runtime/nx_watchpoint.nx · WATCHING decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_watchpoint; declare nx_watchpoint TAB <gate> and the ship loop proves it and the verdict lands here.
Work logno log row names this rung yet
DT3 Core-dump analysis · cell WATCHING · gate NO-GATE-DECLARED
Contractcd_dump_analyze · executor Organ · 1.5 u · stands on DO2
Definition of doneParse a core plus our ELF to print the faulting PC as file:line and the register set; gate proves a deliberately crashed probe yields the right line and a non-core file is refused
Matrix cellCore-dump / crash analysis · runtime/nx_coredump.nx · WATCHING decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_coredump; declare nx_coredump TAB <gate> and the ship loop proves it and the verdict lands here.
Work log2026-09-02 land the crash guard every guarded binary links (nx_crash.nx) re-raised through raw x86 syscall keys 39 and 62, which the compiler translates as RV64 keys to ioctl and lseek, so every guarded crash exited via exit_group(128+sig) and NEVER died by its signal: no core, no signal status for a parent to classify. Fixed on both trees (172 and 129); proven by wait status: returncode 139 before, -11 (killed by SIGSEGV) after, guard text present in both
2026-09-02 lesson the witness gate nx_probe_crash_live asserts exit 139, which both the broken and the fixed handler satisfy; only the wait status (signal versus exit) discriminates, so a core-dump rung needs a tooth on WIFSIGNALED, never on the shell's 128+sig
DT4 Remote attach · cell WATCHING · gate NO-GATE-DECLARED
Contractrmt_attach_pid · executor Organ · 2 u · stands on DT1
Definition of doneAttach the DT1 runner to a running sovereign daemon by pid over the mgmt API with the same break and step verbs and detach without killing it; gate proves attach, break, detach leaves the daemon serving
Matrix cellRemote / attach debugging · runtime/nx_remote_debug.nx · WATCHING decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_remote_debug; declare nx_remote_debug TAB <gate> and the ship loop proves it and the verdict lands here.
Work logno log row names this rung yet
DT5 Record and replay · cell WATCHING · gate NO-GATE-DECLARED
Contractrr_record_trace · executor Organ · 3 u · stands on DT1
Definition of doneRecord syscall results and nondeterministic inputs of a run and replay it deterministically to any breakpoint; gate proves two replays of one recording stop at identical register state and a replay of a tampered trace is refused
Matrix cellRecord-replay time-travel debugging · runtime/nx_record_replay.nx · WATCHING decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_record_replay; declare nx_record_replay TAB <gate> and the ship loop proves it and the verdict lands here.
Work logno log row names this rung yet
DT6 Debug Adapter Protocol · cell WATCHING · gate NO-GATE-DECLARED
Contractdap_serve · executor Organ · 2 u · stands on DT1
Definition of doneA DAP server fronting the DT1 runner so VS Code-class editors break and step our binaries; gate proves the initialize, setBreakpoints, continue and stopped messages round-trip against a recorded client transcript
Matrix cellIDE debug protocol (DAP) · runtime/nx_dap.nx · WATCHING decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_dap; declare nx_dap TAB <gate> and the ship loop proves it and the verdict lands here.
Work logno log row names this rung yet
DT7 Input reduction at scale · cell WATCHING · gate NO-GATE-DECLARED
Contractrd_reduce_input · executor Organ · 2 u · stands on DO0
Definition of doneDelta-debugging reduction of a failing NishiLang input under an interestingness predicate, built on the splice bisector's harness; gate proves a 2000-line miscompile fixture reduces to a witness under 50 lines that still reproduces and a passing input is left whole
Matrix cellTest-case reduction at scale · runtime/nx_reduce.nx · WATCHING decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_reduce; declare nx_reduce TAB <gate> and the ship loop proves it and the verdict lands here.
Work logno log row names this rung yet
DT8 LLM-assisted diagnosis · cell WATCHING · gate NO-GATE-DECLARED
Contractld_suggest_fix · executor Organ · 2 u · stands on DO0, DO1
Definition of doneThe sovereign model proposes a fix from the T# register entry plus the bisector's named function, VERIFIED by the forge's byte-exact judge before it is shown; gate proves a known pinned bug yields a fix the judge accepts and an unverifiable proposal is labelled, never applied
Matrix cellLLM-assisted debugging and repair · runtime/nx_llm_debug.nx · WATCHING decl
GateNO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_llm_debug; declare nx_llm_debug TAB <gate> and the ship loop proves it and the verdict lands here.
Work logno log row names this rung yet

dossiers=11 cells_joined=11 no_matrix_row=0 (sum 11) gates_recorded=0 gates_unrecorded=0 no_gate_declared=11 (sum 11 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. 17 feature rows mapped of 17 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/doctor.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. 100 200 300 400 500 600 700 800 300 350 400 450 500 550 600 650 centrality (permil, fitted 100–800) distinctiveness (permil, fitted 300–650) mean 522 mean 455 Unconventional Aspirational Peripheral Mainstream Nishi, centrality 548, distinctiveness 611, breadth 392, depth 740, momentum 0 rr, centrality 612, distinctiveness 333, breadth 215, depth 611, momentum 0 GDB, centrality 677, distinctiveness 500, breadth 313, depth 761, momentum 0 Delve, centrality 612, distinctiveness 333, breadth 215, depth 611, momentum 0 C-Vise, centrality 161, distinctiveness 500, breadth 98, depth 555, momentum 0 Nishi rr GDB Delve C-Vise

bubble area = breadth · ring = momentum (green rising, red falling, grey until day two) · dashed = category means · axes fitted to the field of play: centrality 100–800, distinctiveness 300–650 of 0–1000 permil (the full range put every player in one corner)
readability of the 2D cut, self-graded by the layout ruler: label overlaps 0 · labels over marks 0 · off-canvas 0 · unresolved labels 0 · mark overlaps 1 (a fact of the data: two players that close are that close) · data spread 766 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. 100 200 300 400 500 600 700 800 300 350 400 450 500 550 600 650 0 100 200 300 400 500 centrality distinctiveness breadth C-Vise: centrality 161, distinctiveness 500, breadth 98 Delve: centrality 612, distinctiveness 333, breadth 215 rr: centrality 612, distinctiveness 333, breadth 215 GDB: centrality 677, distinctiveness 500, breadth 313 Nishi: centrality 548, distinctiveness 611, breadth 392 Nishi rr GDB Delve C-Vise
axes fitted: centrality 100–800 · distinctiveness 300–650 · breadth 0–500 permil · farther bubbles are painted first, nearer ones over them · the floor shadow is each bubble's (x, y) at height 0
readability of the 3D cube, self-graded by the layout ruler: label overlaps 0 · labels over marks 0 · off-canvas 0 · unresolved labels 0 · mark overlaps 1 (a fact of the data: two players that close are that close) · data spread 316 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. 100 800 300 650 distinctiveness vs centrality Nishi: centrality 548, distinctiveness 611 rr: centrality 612, distinctiveness 333 GDB: centrality 677, distinctiveness 500 Delve: centrality 612, distinctiveness 333 C-Vise: centrality 161, distinctiveness 500 100 800 0 500 breadth vs centrality Nishi: centrality 548, breadth 392 rr: centrality 612, breadth 215 GDB: centrality 677, breadth 313 Delve: centrality 612, breadth 215 C-Vise: centrality 161, breadth 98 100 800 500 800 depth vs centrality Nishi: centrality 548, depth 740 rr: centrality 612, depth 611 GDB: centrality 677, depth 761 Delve: centrality 612, depth 611 C-Vise: centrality 161, depth 555 100 800 480 520 momentum vs centrality Nishi: centrality 548, momentum 500 rr: centrality 612, momentum 500 GDB: centrality 677, momentum 500 Delve: centrality 612, momentum 500 C-Vise: centrality 161, momentum 500 300 650 0 500 breadth vs distinctiveness Nishi: distinctiveness 611, breadth 392 rr: distinctiveness 333, breadth 215 GDB: distinctiveness 500, breadth 313 Delve: distinctiveness 333, breadth 215 C-Vise: distinctiveness 500, breadth 98 300 650 500 800 depth vs distinctiveness Nishi: distinctiveness 611, depth 740 rr: distinctiveness 333, depth 611 GDB: distinctiveness 500, depth 761 Delve: distinctiveness 333, depth 611 C-Vise: distinctiveness 500, depth 555 300 650 480 520 momentum vs distinctiveness Nishi: distinctiveness 611, momentum 500 rr: distinctiveness 333, momentum 500 GDB: distinctiveness 500, momentum 500 Delve: distinctiveness 333, momentum 500 C-Vise: distinctiveness 500, momentum 500 0 500 500 800 depth vs breadth Nishi: breadth 392, depth 740 rr: breadth 215, depth 611 GDB: breadth 313, depth 761 Delve: breadth 215, depth 611 C-Vise: breadth 98, depth 555 0 500 480 520 momentum vs breadth Nishi: breadth 392, momentum 500 rr: breadth 215, momentum 500 GDB: breadth 313, momentum 500 Delve: breadth 215, momentum 500 C-Vise: breadth 98, momentum 500 500 800 480 520 momentum vs depth Nishi: depth 740, momentum 500 rr: depth 611, momentum 500 GDB: depth 761, momentum 500 Delve: depth 611, momentum 500 C-Vise: depth 555, momentum 500
Nishi rr GDB Delve C-Vise
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 11 (a fact of the data: two players that close are that close) · data spread 560 permil of the plot
PlayerQuadrantcentralitydistinctivenessbreadthdepthmomentumRows heldDays on spineFirst seen
NishiAspirational5486113927400 since 2026-09-239102026-09-15
rrMainstream6123332156110 since 2026-09-236102026-09-15
GDBAspirational6775003137610 since 2026-09-237102026-09-15
DelveMainstream6123332156110 since 2026-09-236102026-09-15
C-ViseUnconventional161500985550 since 2026-09-233102026-09-15
DayMatrix rows reviewedPlayers recorded
2026-09-15175
2026-09-16175
2026-09-17175
2026-09-18175
2026-09-19175
2026-09-20175
2026-09-21175
2026-09-22175
2026-09-23175
2026-10-08175

players 5|matrix rows 17|feature mass 31|centrality mean 522|distinctiveness mean 455|axes 5|spine days 10 (shown 10)|rows written today 0|readability defects 2D 0 cube 0|spine knowledge/status/cdmap/doctor.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 68, unassessed 0. Authored assessments are not verified outcomes.

CapabilityNishirrGDBDelveC-Vise
Per-function miscompile bisection (names the breaker)Measured: sb_try_franken exists in runtime/nx_cc_splice_bisect.nx, verified at emit. Function-splice frankenbuilds isolate the guilty codegen; C-Vise reduces INPUTS, ours bisects FUNCTIONS -- complementary halves rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: SOURCE-ONLY — PARTIAL: source exists, never compiled: /api/build it.
dossiernot adopted: source exists, never compiled: /api/build it
Pros Implementing source symbol found; runtime acceptance separate; ahead of rr, GDB, Delve, C-ViseCons not adopted yet: source exists, never compiled: /api/build it
●○○○◐
Compile-fail diagnosis in one stepMeasured: cd_run_cc exists in runtime/_hdl_build/nx_ccdiag.nx, verified at emit. Re-runs the compiler with stderr VISIBLE and prints the real error (the empty-.s trap is usually a muted source error); the wrapper now self-diagnoses too 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 rr, GDB, Delve, C-ViseCons not adopted yet: compiled, never promoted to the serving root: /api/promote it
●○○○○
Codegen-shape fuzz generationMeasured: sp_atoi exists in runtime/nx_shapeprobe.nx, verified at emit. Shape-axis generator found a real nx_cc bug (about 1500 early-exit blocks = empty .s, 2026-07-05) 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 separate; ahead of rr, GDB, Delve, C-ViseCons not adopted yet: compiled, never promoted to the serving root: /api/promote it
●○○○◐
Permanent regression witnesses (probe organs)Measured: func main exists in runtime/nx_probe_ctor.nx, verified at emit. Every pinned bug becomes a tiny organ that re-runs forever; nx_probe_ctor re-verified the enum-ctor SIGSEGV FIXED 2026-07-09; nx_probe_float still honestly RED Adoption: REGISTERED-UNAUTHORISED — PARTIAL: registered, no cap ever minted; no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).
not adopted: registered, no cap ever minted; no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked)
Pros Implementing source symbol found; runtime acceptance separate; ahead of rr, GDB, Delve, C-ViseCons not adopted yet: registered, no cap ever minted; no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked)
●○○○○
Living trap register (T# taxonomy)Open — watching runtime/nx_bugreg_lint.nx : bugreg_lint, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. Every debugging war ends in a T#-tagged register entry with the diagnosis path -- the raw material of the make-it-unrepresentable ladder
watching bugreg_lint
Pros none measured yetCons open contract; expected source declaration not established
○○○○○
Autonomous health witnessMeasured: run_argv exists in runtime/nx_cc_health.nx, verified at emit. Generate-build-verify witness runs autonomously (exec engine 3/3, 2026-07-06); a compiler regression is an ALARM, not a surprise Adoption: SOURCE-ONLY — PARTIAL: source exists, never compiled: /api/build it.
not adopted: source exists, never compiled: /api/build it
Pros Implementing source symbol found; runtime acceptance separate; ahead of rr, GDB, Delve, C-ViseCons not adopted yet: source exists, never compiled: /api/build it
●○○○○
Breakpoint debugger (step, inspect, frames)Measured: dbg_step_over exists in runtime/nx_dbg_step.nx, verified at emit. GDB is the bar [gdb-docs]; we have NO interactive debugger at all -- printf-and-bisect is the story Adoption: RUN-BY:fork:nx_dbg_step_gate — fully adopted (top of its ladder).
dossier
Pros Implementing source symbol found; runtime acceptance separate; ahead of C-Vise; fully adopted on the estate ladderCons behind GDB (leads)
●●◉●○
Record-replay time-travel debuggingOpen — watching runtime/nx_record_replay.nx : rr_record_trace, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. rr 5.9.0 is the bar [rr-docs] (reverse execution over recorded traces); nothing sovereign records execution [ocallahan2017]
dossierwatching rr_record_trace
Pros none measured yetCons behind rr (leads), GDB; open contract; expected source declaration not established
○◉◐○○
Watchpoints and memory breakpointsOpen — watching runtime/nx_watchpoint.nx : wp_watch_addr, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. GDB hardware watchpoints are the bar; our memory bugs are hunted by canary prints rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them
dossierwatching wp_watch_addr
Pros none measured yetCons behind rr, GDB (leads), Delve; open contract; expected source declaration not established
○●◉◐○
DWARF / source-line debug infoMeasured: nx_dwline_header exists in runtime/nx_dwarf_line.nx, verified at emit. WAS the root blocker, CLOSED 2026-08-07 at FUNCTION granularity and validated by an EXTERNAL tool rather than our own reader: compiler -g emits .file/.loc, nxasm builds a DWARF v5 .debug_line plus a section header table [dwarf5], and GNU readelf 2.42 [binutils-readelf] resolves nx_probe_dbgtiny.nx line 5 at 0x400096 and line 9 at 0x4000ad on a real sovereign ELF. The emitter bytes are byte-for-byte identical to a gcc-derived fixture. HONEST LIMITS: function granularity only (the IR carries no line numbers -- Tok has them, Instr does not), no .debug_info (types/vars), OPT-IN via -g so a default build stays byte-identical and the 168-byte minimal-binary exceed is intact. GDB can now find file:line on our binaries; stepping and inspection still need the rows below. Adoption: SOURCE-ONLY — PARTIAL: source exists, never compiled: /api/build it.
dossiernot adopted: source exists, never compiled: /api/build it
Pros Implementing source symbol found; runtime acceptance separate; ahead of C-ViseCons not adopted yet: source exists, never compiled: /api/build it
●●●●○
Test-case reduction at scaleOpen — watching runtime/nx_reduce.nx : rd_reduce_input, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. C-Vise is the bar [cvise]; our reductions are hand-swept thresholds (shapeprobe N-sweeps) [regehr2012]
dossierwatching rd_reduce_input
Pros none measured yetCons behind C-Vise (leads); open contract; expected source declaration not established
○○○○◉
Core-dump / crash analysisOpen — watching runtime/nx_coredump.nx : cd_dump_analyze, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. GDB post-mortem is the bar; our crashes are exit-code + last-print forensics rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them
dossierwatching cd_dump_analyze
Pros none measured yetCons behind rr, GDB (leads), Delve; open contract; expected source declaration not established
○◐◉◐○
Remote / attach debuggingOpen — watching runtime/nx_remote_debug.nx : rmt_attach_pid, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. gdbserver is the bar; our remote diagnosis is log tails over the mgmt API rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them
dossierwatching rmt_attach_pid
Pros none measured yetCons behind rr, GDB (leads), Delve; open contract; expected source declaration not established
○◐◉●○
IDE debug protocol (DAP)Open — watching runtime/nx_dap.nx : dap_serve, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. Delve powers VS Code Go debugging [delve]; ties to the lang census LSP gap [dap-spec]
dossierwatching dap_serve
Pros none measured yetCons behind GDB, Delve (leads); open contract; expected source declaration not established
○○◐◉○
LLM-assisted debugging and repairOpen — watching runtime/nx_llm_debug.nx : ld_suggest_fix, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. The cross-roster convergence gap (lang mom 145, janitor mom 111); nobody in THIS field ships it either yet
dossierwatching ld_suggest_fix
Pros none measured yetCons open contract; expected source declaration not established
○○○○○
Diagnosis wired into the self-healing loopSource present; authored stronger claim: sb_write_franken in runtime/nx_cc_splice_bisect.nx, verified at emit. Fuzz (shapeprobe) to detect (equiv oracle) to bisect (splice) to immunize (probe organ) to bless (never-brick install) -- ONE in-substrate circuit; the field's tools are islands a human ferries between Adoption: SOURCE-ONLY — PARTIAL: source exists, never compiled: /api/build it.
not adopted: source exists, never compiled: /api/build it
Pros Source symbol found; stronger capability claim is authored; ahead of rr, GDB, Delve, C-ViseCons not adopted yet: source exists, never compiled: /api/build it
◉○○○○
Every fixed bug becomes a permanent witnessSource present; authored stronger claim: Opt in runtime/nx_probe_ctor.nx, verified at emit. Immunization by construction: the probe that pinned the bug re-runs on every sweep forever -- fixed classes cannot silently regress; the field closes tickets Adoption: REGISTERED-UNAUTHORISED — PARTIAL: registered, no cap ever minted; no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).
dossiernot adopted: registered, no cap ever minted; no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked)
Pros Source symbol found; stronger capability claim is authored; ahead of rr, GDB, Delve, C-ViseCons not adopted yet: registered, no cap ever minted; no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked)
◉○○○○
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 marks10rows carrying a Yes, Best or Part in a rival column
cited5a reference mark resolves to a pinned mirror
uncited5an observation read, badged until a reference lands
rows, summed10RECONCILED: the parts sum to the total 10

Delivery and evidence

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

Risk register

RiskLikelihood x impactMitigation
A debugger runner that requires .debug_info we do not emit stalls on typeslikely x mediumDT1 done-rule is line-granularity break and step only; .debug_info is named depth, not a DT1 conjunct.
ptrace on a supervised daemon that stays stopped trips the crash-loop guardpossible x highDT4 detaches on any error path by construction and the gate asserts the daemon still serves.

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-02DT3landthe crash guard every guarded binary links (nx_crash.nx) re-raised through raw x86 syscall keys 39 and 62, which the compiler translates as RV64 keys to ioctl and lseek, so every guarded crash exited via exit_group(128+sig) and NEVER died by its signal: no core, no signal status for a parent to classify. Fixed on both trees (172 and 129); proven by wait status: returncode 139 before, -11 (killed by SIGSEGV) after, guard text present in both
2026-09-02DT3lessonthe witness gate nx_probe_crash_live asserts exit 139, which both the broken and the fixed handler satisfy; only the wait status (signal versus exit) discriminates, so a core-dump rung needs a tooth on WIFSIGNALED, never on the shell's 128+sig
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 Nishi doctor is a DIAGNOSIS-AND-IMMUNIZATION culture rather than a debugger: when something breaks, the splice bisector names the guilty function, ccdiag surfaces the muted compiler error in one step, the shape prober fuzzes for the class, the fix lands, and a permanent probe organ re-runs forever so the class can never silently return (the enum-ctor probe re-verified its bug FIXED on 2026-07-09, two weeks after filing). What it does NOT have is the field's entire interactive half: no breakpoint debugger, no record-replay time travel (rr is the bar), no watchpoints, no core-dump analysis, no remote attach, no DAP protocol -- THE ROOT BLOCKER IS GONE AS OF 2026-08-07: emitted ELFs now carry a DWARF v5 .debug_line and a section header table under -g, and GNU readelf -- an implementation nobody here wrote -- resolves PC to file:line on a real sovereign binary (nx_probe_dbgtiny.nx line 5 at 0x400096, line 9 at 0x4000ad). It was validated against an EXTERNAL ruler on purpose: our own decoder nx_addr2line has no header support, so a round-trip against it would have proved only that two organs by one author agree with each other. It is FUNCTION granularity (the IR carries no line numbers), OPT-IN via -g (a default build is byte-identical and the 168-byte minimal-binary exceed is untouched), and carries no .debug_info -- so GDB can now locate our code but still cannot inspect its types. The remaining climb is unchanged in shape and shorter by one rung: a minimal sovereign breakpoint runner, then statement-granularity rows (needs line numbers threaded through the IR), then input reduction at C-Vise scale.

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

Every compare carries this layer. Declare knowledge/compare/doctor.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 doctor, 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 doctor.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
scanned3
fetched3
reused0
failed0
named3
candidates3
mentions3
capped0
RankRivalSeedsMentionsFirst seedKindLink
1GDB11col1-gdbnamedhttps://sourceware.org/gdb/documentation/
2Delve11col2-delvenamedhttps://github.com/go-delve/delve
3C-Vise11col3-visenamedhttps://github.com/marxin/cvise

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 17 capabilities: 13 exclusive to it and 4 shared with other boards. Shared rows on this page: 4 = home here 1 + home elsewhere 1 + ambiguous 0 + undecided 2 + refused 0 (partition 4); undecided = unmapped 0 + unproven 2 + unevidenced 0; homonyms 0; since the previous census: new 0, resolved 0. Census FRESH age_s=82.

CapabilityOrganBoards grading itHomeRuleEvidenceStanding on this board
sp_atoinx_shapeprobe.nxlang, doctor—noneunprovenundecided
sb_try_frankennx_cc_splice_bisect.nxlang, doctor*doctorrungplanhome here
run_argvnx_cc_health.nxlang, doctor—noneunprovenundecided
dbg_step_overnx_dbg_step.nxlang*+, doctor*langrungplan+gateshome elsewhere
adopt: @xrow lang|dbg_step_over|home by rung (fleet duplicate census)

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 1396529 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. [rr-docs] rr project. rr: lightweight recording and deterministic debugging -- record-and-replay of Linux processes with reverse execution under gdb (rr 5.x). Project page. Accessed August 2026. publisher · read in our library knowledge/fetched/cmp_doctor_rr-docs.html · pin h7d01202e7fa5cf57e98366307dcd396330575df027d3c2b9fb4585df53cf1455 · accessed 2026-08-18 · vendor-docGrounds: The rr column (bar rr 5.9.0): Record-replay time-travel debugging is coded Best for rr (reverse execution over recorded traces) and the row is _ABSENT_ for Nishi -- nothing sovereign records execution; also rr's Part on Breakpoint debugger and Core-dump / crash analysis.
  2. [ocallahan2017] O'Callahan, R., Jones, C., Froyd, N., Huey, K., Noll, A., Partush, N. Engineering Record And Replay For Deployability. USENIX ATC 2017; extended technical report arXiv:1705.05937. publisher · read in our library knowledge/fetched/cmp_doctor_ocallahan2017.html · pin h229417e8dd8df699c631c21fc3b0d95e5897afd138059e02f0166611df2820f1 · accessed 2026-08-18 · published-paperGrounds: Record-replay time-travel debugging -- the published design behind the rr bar: user-space record and replay on stock hardware and kernels with low overhead, the basis of the reverse-execution debugger the row grades against; the constraints it names (Intel CPUs, Linux, deterministic replay of low-parallelism workloads) are what a sovereign nx_record_replay would have to meet.
  3. [gdb-docs] Free Software Foundation. GDB: The GNU Project Debugger -- documentation index (Debugging with GDB manual, current release). Accessed August 2026. publisher · read in our library knowledge/fetched/cmp_doctor_gdb-docs.html · pin h6e7219c7c44766de1c6f895fc02203f434d3efc4c56cce574c9beccb59351259 · accessed 2026-08-18 · vendor-docGrounds: The GDB column: Breakpoint debugger (step, inspect, frames), Watchpoints and memory breakpoints, Core-dump / crash analysis and Remote / attach debugging (gdbserver) are all coded Best for GDB, and Nishi is _ABSENT_ on each -- the manual is the bar the verdict says GDB can now locate but not inspect our code against.
  4. [delve] Derek Parker and the go-delve contributors. Delve -- a debugger for the Go programming language (repository README, DAP server, v1.x). Accessed August 2026. publisher · read in our library knowledge/fetched/cmp_doctor_delve.html · pin h690a5998c6b611f6e829b0f3044de79ff5e480b636999b26afe0cf851dd36b10 · accessed 2026-08-18 · vendor-docGrounds: The Delve column (bar v1.27.0): IDE debug protocol (DAP) is coded Best for Delve (it powers VS Code Go debugging) and Breakpoint debugger coded Yes; Nishi has no nx_dap and the row ties to the lang census LSP gap.
  5. [cvise] Martin Liska (marxin) and contributors. C-Vise -- a super-parallel Python port of the C-Reduce test-case reducer (repository README, v2.x). Accessed August 2026. publisher · read in our library knowledge/fetched/cmp_doctor_cvise.html · pin h163f3dffc43c9a5837980afb5d361f0bc587cd93e48d4a640035ca0941faa79b · accessed 2026-08-18 · vendor-docGrounds: The C-Vise column (bar v2.12.0): Test-case reduction at scale is coded Best for C-Vise and _ABSENT_ for Nishi (hand-swept shapeprobe N-sweeps); Per-function miscompile bisection notes that C-Vise reduces INPUTS where nx_cc_splice_bisect bisects FUNCTIONS -- complementary halves.
  6. [regehr2012] Regehr, J., Chen, Y., Cuoq, P., Eide, E., Ellison, C., Yang, X. Test-Case Reduction for C Compiler Bugs. PLDI 2012 (ACM SIGPLAN Conference on Programming Language Design and Implementation), doi 10.1145/2254064.2254104. Author-hosted preprint mirrored. publisher · read in our library knowledge/fetched/cmp_doctor_regehr2012.pdf · pin ha351d4eba11d7c167a5fd801b4b886dffde78b7c85566d7514d83547e42da360 · accessed 2026-08-18 · published-paperGrounds: Test-case reduction at scale -- the C-Reduce paper C-Vise ports: domain-specific reducers driven by a fixpoint of modular transformations that yield small, valid (UB-free) compiler test cases, versus delta debugging; the method the named nx_reduce rung would implement.
  7. [dwarf5] DWARF Debugging Information Format Committee. DWARF Debugging Information Format Version 5 (February 2017): merged .debug_info, new line-number program header, .debug_names, .debug_loclists and .debug_rnglists. Standard landing page with the PDF link. Accessed August 2026. publisher · read in our library knowledge/fetched/cmp_doctor_dwarf5.html · pin h85fb79ca401b4e2df172e6d87ca6d0198848a77c738ab07cb6bd334ac4c14e07 · accessed 2026-08-18 · published-standardGrounds: DWARF / source-line debug info -- the row that WAS the root blocker: nxasm now emits a DWARF v5 .debug_line plus section header table under -g, and this is the standard that line-number program conforms to; the honest limit (no .debug_info, function granularity) is stated in the same standard's terms.
  8. [binutils-readelf] GNU Binutils documentation. readelf -- displays information about ELF files, including --debug-dump of DWARF sections. Accessed August 2026. publisher · read in our library knowledge/fetched/cmp_doctor_binutils-readelf.html · pin h097abf4b2a48648228ca9c4f9eda0ef3c5efc353eb9100860e36b33865fc5c07 · accessed 2026-08-18 · vendor-docGrounds: DWARF / source-line debug info -- the EXTERNAL ruler the row insists on: GNU readelf 2.42 (an implementation nobody here wrote) resolves nx_probe_dbgtiny.nx line 5 at 0x400096 and line 9 at 0x4000ad on a real sovereign ELF, so the DWARF claim is validated against binutils rather than our own nx_addr2line reader.
  9. [dap-spec] Microsoft. Debug Adapter Protocol -- specification and overview (the wire protocol between development tools and debuggers). Accessed August 2026. publisher · read in our library knowledge/fetched/cmp_doctor_dap-spec.html · pin haf5dd0d09202b51ae44e92842ec63585e3b644895d91704dbfa9050e21080d11 · accessed 2026-08-18 · published-standardGrounds: IDE debug protocol (DAP) -- the protocol Delve implements (Best) and GDB partially; the row's _ABSENT_ nx_dap would speak this specification, which is why the row ties to the LSP gap in the lang census.

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