Nishi FamilyCompare › Code Quality Standards

Nishi Compare · measured, not asserted

Code Quality Standards

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

The Aug-2026 metric canon -- ISO 25010 and ISO 5055, McCabe, Halstead and the Maintainability Index, Chidamber-Kemerer, Martin package metrics, SQALE, behavioural code analysis, mutation score, CWE and OWASP, fitness functions, connascence -- each MAPPED to NishiLang or DECLARED INAPPLICABLE, then measured full-population over 18,945 organs and 49,593 import edges. An honest position, not a score.

Layer 1 · Executive

Where we are. Measured 2026-08-20 over the full population. STRONG and proven: fully acyclic import graph (nontrivial SCCs 0 over 18945 nodes and 49593 edges), propagation cost 0.4 percent against published Linux 5-18 percent, cursor-sentinel lint 0 hits over 18681 sources, dead-code ratchet keyed on a SET OF NAMES so a rise names the function, magic-constant fixer whose neutrality is provable by byte-identical rebuild, mutation harness that rebuilds the SUBJECT not just the test, and a capability-loss diff that must name every lost run before any promotion. WEAK and equally proven: NO complexity instrument exists at all, base-class adoption is 338 of 3139 gate sources at 10.8 percent with 2801 hand-rolled and therefore unmeasured, the ISO 5055 scanner implements 5 of about 140 rules and scanned 4000 of 18802 organs so its 19144 candidates are a floor over a 21 percent prefix, there is no debt ratio and no hotspot instrument, and duplication is known as a LEVEL with no trend because a trend needs two censuses in time.

Where we need to go. Close the Maintainability factor of ISO 5055 that our own scanner filed as a gap and nobody built, then make every axis on this page a RATCHET rather than a census -- so the position is defended by mechanism instead of by a seat remembering to re-run it. The field's tools measure and report; the exceed we already hold is that ours REFUSE. Extend that shape to complexity and coupling rather than adding more dashboards.

The unit. 1 u = one measured axis shipped as organ plus gate plus published row, the pmdash and charsim calibration.

12 of 23 capabilities measured|5 of them measured exceeds|11 open|coverage 521/1000|adoption 7 full / 5 partial

Layer 2 · Roadmap

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

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

#StageRungPriorityDerivation
#10.1Halstead volume and a Maintainability Index (CQ2) cw_halstead2000v=7 m=2 c=7
#2laterChidamber-Kemerer re-targeted to organ-as-class (CQ8) h_ck_suite2000v=7 m=2 c=7
#3laterWhole-corpus ISO 5055 scan (CQ4) cw_uncapped1400v=7 m=1 c=5
#4laterComplexity ratchet in the build door (CQ3) cw_ratchet600v=3 m=2 c=10
#5laterTechnical debt ratio with a remediation cost model (CQ9) dbt_ratio333v=5 m=1 c=15
#6laterHotspot instrument over action-grain history (CQ6) al_hotspot300v=3 m=2 c=20
#7laterDuplication trend not just level (CQ7) fg_trend300v=3 m=1 c=10
#8laterBase-class adoption ratchet (CQ5) gl_ratchet200v=2 m=1 c=10
#9laterConnascence of meaning across organs (CQ10) h_connascence100v=1 m=1 c=10
#10laterSplit the complexity distribution by generated versus authored (CQ1a) mc_generated0v=0 m=2 c=10

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

RungCloses withDefinition of done (pre-declared)ExecutorEst.
Cyclomatic complexity per function (CQ1)mc_scan_fileSHIPPED 2026-08-20, gate GREEN 17 of 17, seq251 CLOSED. Measured 103,733 functions: p50=3 p90=12 p99=43 max=2996, above the cited bar of 10 is 12,639. THE KEYSTONE, and it was our own filed gap seq251. Build v(G) = e - n + 2 over each NishiLang function's control-flow graph. ACCEPT RULE declared in advance: on a hand-built fixture of 6 functions with known v(G) covering straight-line, single if, if-else, while, nested if, and a multiway dispatch, the organ must return the hand-computed value for all 6, AND must reproduce the multiway-decision exemption behaviour by REPORTING the raw count rather than silently applying an exemption. A neg-control function whose v(G) the organ gets wrong must be shown to fail before the tooth is trustedOrgan1.5 u
Split the complexity distribution by generated versus authored (CQ1a)
after CQ1
mc_generatedThe measured tail is dominated by GENERATED and TABLE code, so the 12,639 functions above the cited bar are an UPPER BOUND on AUTHORED complexity debt. COMPOSE the incumbent detector -- nx_unwired already carries uw_generated as a head-mark test -- and never write a second one. ACCEPT RULE declared in advance: FIRST measure and publish the MARKER'S ADOPTION across the corpus, because of the four worst files exactly one carries an uppercase GENERATED head-mark, one says Generated by in lowercase, one says AUTO_APPLIED and one is an unmarked hand-authored data table. If adoption is too low for the split to be honest, this rung ships the ADOPTION NUMBER plus an UNKNOWN bucket rather than a split that silently miscounts. A GENERATED-CODE SPLIT IS ONLY AS GOOD AS THE MARKER'S ADOPTIONOrgan1 u
Halstead volume and a Maintainability Index (CQ2)
after CQ1
cw_halsteadOperators and operands are lexically separable in NishiLang so Halstead transfers. ACCEPT RULE: the organ must emit n1 n2 N1 N2 and V as SEPARATE fields and must NOT emit a single MI number without also emitting which variant it used -- there are at least three published formulas differing in the comment coefficient 2.4 versus 2.46 versus dropping the comment term entirely, so an unlabelled MI is a number nobody can reproduce. It must also refuse to average cyclomatic complexity across modules, which is the documented defect that makes MI hide its own outliersOrgan1.5 u
Complexity ratchet in the build door (CQ3)
after CQ1
cw_ratchetMake CQ1 a REFUSAL not a report, in the shape nx_magicratchet already proved: self-baseline on first sight so it is non-breaking by construction, print the bar in every verdict so it is never an invisible threshold, and NAME every offending function. ACCEPT RULE: bite-proven both directions -- raising a function's complexity above its baseline must produce a REFUSE naming that function, and restoring it must produce ALLOWOrgan1 u
Whole-corpus ISO 5055 scan (CQ4)cw_uncappedRemove the 4000-organ cap so the scanner covers all 18802 organs. ACCEPT RULE: the run must report truncated 0 and organs_scanned equal to organs_present, and the candidate total must be republished with the OLD 21-percent-prefix figure beside it so the correction is visible rather than silently swapped. Derive the buffer from the input, never raise a guessed capOrgan1 u
Base-class adoption ratchet (CQ5)gl_ratchet2801 of 3139 gate sources are hand-rolled and invisible to the exit-verdict and negative-control laws. ACCEPT RULE: the baseline is a SET OF NAMES not a count, so a regression names the gate and the file -- the lesson already paid for by nx_unwired on a shared tree where a count-only ratchet cannot say whose regression it is. Must not block: census and name, never refuseOrgan1 u
Hotspot instrument over action-grain history (CQ6)
after CQ1
al_hotspotCodeScene needs commit history joined to an issue tracker; we have something FINER -- every tool call and refusal with its reasoning. ACCEPT RULE: this must be a new READER of the existing journal, never a new collector, and it must reproduce by measurement a hotspot set that a human agrees with on a period whose work is already recorded. It must publish its HORIZON next to every verdict, because a history-based instrument that does not state its window reads as completenessOrgan2 u
Duplication trend not just level (CQ7)fg_trendOne census is a level; a trend needs two in time. ACCEPT RULE: the organ must APPEND to a durable log on a beat and must refuse to emit a trend from a single sample, reporting UNOBSERVABLE instead -- an axis that cannot see must abstain rather than acquit. Field bar for context: block duplication up 81 percent and refactored lines down from 21 to 3.8 percent across 623 million AI-era changesOrgan1 u
Chidamber-Kemerer re-targeted to organ-as-class (CQ8)
after CQ1
h_ck_suiteWMC RFC and LCOM re-targeted to organ granularity; DIT and NOC stay DECLARED INAPPLICABLE and must be printed as such rather than as zero. ACCEPT RULE: each metric ships with its re-targeting stated in the output itself, so no reader can mistake an analogue for the original. A metric that cannot state its own mapping does not shipOrgan1.5 u
Technical debt ratio with a remediation cost model (CQ9)
after CQ4
dbt_ratioA SQALE-style ratio needs a per-finding remediation cost and a cost-to-develop constant. ACCEPT RULE: the cost model lives in a CONF as data, never in code, and the ratio must never be published without the constant it divided by -- a rating derived from an unstated denominator is the invisible-bar defect this estate has already paid for onceOrgan1.5 u
Connascence of meaning across organs (CQ10)
after CQ4
h_connascenceOur import graph sees connascence of NAME and nothing else. The measurable next form is connascence of MEANING: the same magic literal agreed upon in two organs with no shared binding. ACCEPT RULE: must find a planted cross-organ shared literal and must NOT fire on two independent uses of a structurally forced constant such as an argv index. False-positive rate measured on real data and driven to zero without losing the planted true positiveOrgan2 u
Emission provenance index (CQ11)em_querySHIPPED 2026-08-23, gate GREEN 9 of 9, both organs LIVE in nx_catalog. The question which function emits this text and which constant bounds this buffer, answered in ONE CALL over a composed-emission index of the whole corpus -- 148010 blocks, 1360 bound constants, 5176 reads, partition reconciled by the gate. ACCEPT RULE declared in advance and met as written: a positive control must name a real emitter by file line and function, a runtime-assembled fabricated literal must return zero sites and exit 1 so the gate cannot pass by indexing its own fixture, a bound query must name both the definition and a read site, and the blind spot for byte-code emissions must be printed in the stamp. Built only after nx_codewiki_ask, nx_capsearch, a full-corpus literal grep and nx_forkcensus were each asked and each missedOrgan1 u

Milestones

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

Capability matrix — measured against source

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

CapabilityNishiSonarQubeCodeSceneNDependPIT
ISO 5055 automated source-code quality measuresMeasured: cw_scan_file exists in runtime/_hdl_build/nx_cwe_scan.nx, verified at emit. MEASURED: covered_of_4=3 (Reliability Security Performance) with Maintainability the declared gap, rules_implemented 5 of ~140. SonarQube is Best for breadth of implemented rules. Ours is real ISO 5055 conformance measurement at 3.6 percent rule coverage and it says so in its own output [iso25010] Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, no MCP invocation on record (a direct fork logs the runner, so this is not proof it never ran); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).
adoption REGISTERED-DARK
Cyclomatic complexity per function (McCabe)Measured: mc_scan_file exists in runtime/nx_mccabe_lib.nx, verified at emit. SHIPPED 2026-08-20 and this row was a watch contract the same morning -- nx_mccabe_lib plus a thin main plus a gate at GREEN 17 of 17, closing the seq251 filing. MEASURED FULL POPULATION over 18,879 files and 103,733 functions with 0 unreadable: p50=3 p90=12 p99=43 mean=5 max=2996, and the histogram SUMS EXACTLY to 103,733. Above the CITED bar of 10: 12,639 functions or 121 permille. THAT COUNT IS AN UPPER BOUND ON AUTHORED COMPLEXITY DEBT and the direction is stated -- the tail is dominated by GENERATED and TABLE code (v(G) 2996 in nx_triangulation_arith_500, 1001 in generated_primitives_1000, 652 in an HTML entity table, 644 in a font bitmap), 139 functions sit at 100 or above, and splitting generated from authored is rung CQ1a because the estate's existing marker detector uw_generated matches only one of the four worst files. No bar was invented here: the distribution is published first, percentiles are derived from the CDF, and 10 is reported never enforced. McCabe TRANSFERS CLEANLY -- it needs a control-flow graph of one procedure with a single entry and exit, which NishiLang functions have [mccabe76]. NIST SP 500-235 formalises the limit of 10 and the multiway-decision exemption [nist500235]. The gap was REAL when this page was admitted on the morning of 2026-08-20 -- nx_capsearch returned no complexity organ and our own ISO 5055 scanner had filed it as seq251 -- and it was CLOSED the same day rather than left standing as a contract. This sentence is kept rather than deleted because a page that quietly erases the gap it just closed teaches nobody anything Adoption: LIB-WIRED importers=2 nonval=1 — fully adopted (top of its ladder).
Halstead volume and Maintainability IndexOpen — watching runtime/_hdl_build/nx_cwe_scan.nx : cw_halstead, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. TRANSFERS: operators and operands are lexically separable in NishiLang. Absent here. Publish the contested-formula caveat WITH the number when it lands -- the MI coefficients are an empirical fit, not a law [mi_contested]
watching cw_halstead
Acyclic dependencies and propagation costMeasured exceed: aname in runtime/_hdl_build/nx_eco_graph_arch.nx, verified at emit. EXCEED and MEASURED 2026-08-20 over 18,945 nodes and 49,593 edges: nontrivial SCCs=0, organs-inside-cycles=0, propagation-cost 0.4 percent vs published Linux 5-18 percent. NDepend computes cycles and is Best among the named tools; none of them publishes a MacCormack propagation cost. SUBJECT DECLARED: this was measured on the LAPTOP TWIN at 18945 nodes, while the ecosysdesign page's figures come from the NAS store at 16222 organs. So zero cycles is a claim about THIS corpus and is NOT by itself proof that the one 2-organ cycle ecosysdesign records has gone from the NAS tree. Two corpora, two answers, both declared rather than merged -- which is the same discipline this page applies to everyone else Adoption: RUN-BY:fork:nx_arch_board — fully adopted (top of its ladder).
Afferent and efferent coupling with instability IMeasured: h_srcpath exists in runtime/_hdl_build/nx_eco_graph_honesty.nx, verified at emit. MEASURED at organ granularity: Ca for nx_syscalls.nx is 15,026 (79 percent of organs), nx_tier.nx 2,878, nx_gate_verdict.nx 1,245. Ca==0 for 12,931 nodes so I=1.0 for 68 percent of the graph and I=0 at the base -- a textbook stable-base and instable-periphery shape. Ce outliers: 132 organs import 14 or more parents, worst 26. NDepend is Best because it implements the full Martin set [martin94] Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, no MCP invocation on record (a direct fork logs the runner, so this is not proof it never ran); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).
adoption REGISTERED-DARK
Abstractness A and distance from the main sequence DMeasured: an exists in runtime/_hdl_build/nx_eco_graph_arch.nx, verified at emit. DECLARED INAPPLICABLE and scored Part for exactly the half that transfers. A = abstract classes divided by total classes; NishiLang has no abstract classes so A has neither numerator nor denominator, and D as the absolute value of A plus I minus 1 divided by root 2 therefore cannot be computed. I IS computed and published in the row above. Any substitute for A would be a different metric wearing Martin's name [martin94] Adoption: RUN-BY:fork:nx_arch_board — fully adopted (top of its ladder).
Chidamber-Kemerer OO suite WMC DIT NOC CBO RFC LCOMOpen — watching runtime/_hdl_build/nx_eco_graph_honesty.nx : h_ck_suite, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. SPLIT VERDICT stated honestly. DIT and NOC are INAPPLICABLE -- there is no inheritance tree of types, our base class is a shared-function import with depth 1 by construction and no subclass count. CBO maps onto the import graph and is effectively covered by the coupling row. WMC RFC and LCOM are RE-TARGETABLE to organ-as-class but are NOT computed, and an untargeted metric is better absent than approximated [ck94]
watching h_ck_suite
Mutation score as the test-quality standardMeasured exceed: gb_try in runtime/_hdl_build/nx_gate_bite.nx, verified at emit. EXCEED in KIND, behind in COVERAGE. PIT is Best and is the reference implementation of mutation score [pitest]. Ours mutates the SUBJECT as well as the test, which is the failure mode that makes naive mutation testing vacuous. Estate sweep 2026-08-07: 76 gates, BITES 41 INCONCLUSIVE 23 UNCONTROLLED 12, partition sums. Published as a BOUND with its direction -- a bigger budget only moves INCONCLUSIVE to BITES, so 539 permil is a FLOOR, and the log is 13 days stale with 9 of its 12 UNCONTROLLED rows since remediated Adoption: LIVE — fully adopted (top of its ladder).
Duplication across the corpusMeasured: fg_find_line exists in runtime/_hdl_build/nx_forkgrade.nx, verified at emit. Cross-tree fork graded over 2,845 pairs MEASURED 2026-08-07 and DELIBERATELY NOT RE-RUN THIS SESSION (the box sat above its admission ceiling at load 18.19 so this is a DATED figure and the only number on this page that was not re-measured today): identical 207, bidirectional 2,638, A-SUPERSET 0. The empty A-SUPERSET class is the finding -- an auto-adopt leg was built against a class that does not exist, which only a full population could reveal. SonarQube is Best for in-tree clone detection which we do not have as a standing beat Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, no MCP invocation on record (a direct fork logs the runner, so this is not proof it never ran); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).
adoption REGISTERED-DARK
Dead code
defined and never calledMeasured exceed: uw_defcomplete in runtime/_hdl_build/nx_unwired.nx, verified at emit. EXCEED: whole-corpus, and the ratchet baseline is a SET OF NAMES so a rise names the function and the file rather than printing a number. RE-MEASURED 2026-08-20: 1,199 unwired over 18,680 files. The standing figure of 398 was taken over a 7,132-file corpus -- a DIFFERENT population, not a regression, and the organ says so itself by refusing to attribute the delta Adoption: BUILT-UNPROMOTED — PARTIAL: compiled, never promoted to the serving root: /api/promote it.
adoption BUILT-UNPROMOTED
Magic constants as a maintainability ruleOpen — no implementing organ is measured for this axis yet. EXCEED: map, propose and APPLY -- the fixer hoists each literal to a named const and proves neutrality by byte-identical rebuild. Static analysers flag magic numbers; none of the named tools ships a fix whose safety is provable. Ratcheted per file, and the bar is now printed in every verdict after it was measured invisible on 2026-08-17
Base-class adoption as the OO discipline measureMeasured: gl_strip exists in runtime/nx_gatelaw_gate.nx, verified at emit. THE WEAKEST AXIS AND THE MOST HONEST NUMBER HERE. 338 of 3,139 gate sources inherit the shared verdict base -- 10.8 percent -- and 2,801 are hand-rolled and thus UNMEASURED by the exit-verdict and negative-control laws. Partition sums 338 plus 2,801 equals 3,139. DISCARDS-VERDICT is 0, so the once-feared class is empty [ck94] Adoption: GATE:LIVE trial=GREEN — fully adopted (top of its ladder).
Architecture fitness functions in the delivery pathMeasured exceed: gv_verdict in runtime/nx_gate_verdict.nx, verified at emit. EXCEED: a fitness function is an objective automatable integrity assessment of an architectural characteristic [fitnessfn], and our gates ARE that by construction -- gv_check makes declared equal executed, the exit code carries the verdict, and negative controls are named so a census can find them. The named tools report metrics; they do not refuse a deploy on an architectural predicate Adoption: LIB-WIRED importers=1506 nonval=108 — fully adopted (top of its ladder).
Proof-carrying change: capability-loss refusal on promoteOpen — no implementing organ is measured for this axis yet. EXCEED with no competitor. Every promotion diffs the staged binary against the live one and NAMES each lost run; the strict oracle is GREEN only at zero loss while the calibrated promote door permits a small named loss. Nothing in the field imposes a per-promotion capability-loss proof. This is the strongest single result on this page
Technical debt ratio and the A-E maintainability ratingOpen — watching runtime/nx_debt.nx : dbt_ratio, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. ABSENT and honestly so. SQALE-style debt ratio needs a per-rule remediation cost in developer-minutes and a cost-to-develop-one-line constant, defaulting to 30 minutes per line, to normalise by LOC [sonarqube_debt]. We have a debt LEDGER with severities but no remediation-cost model, so no ratio and no rating. Note also that SonarQube's Reliability and Security ratings are worst-issue-severity based, NOT ratio based -- a distinction routinely conflated
watching dbt_ratio
Behavioural code analysis: hotspots and change couplingOpen — watching runtime/_hdl_build/nx_actlog.nx : al_hotspot, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. ABSENT, and our substrate is UNUSUALLY WELL SUITED to it. CodeScene is Best and needs a version-control history joined to an issue tracker [codered22]; we have no branches, but we DO have ACTION-GRAIN history -- every tool call and refusal with its reasoning. That is finer than commit grain, so the hotspot instrument here should be a new READER of an existing journal, not a new collector. Correction carried: the vendor docs define change frequency as the IDENTIFICATION axis with code health overlaid separately, not the popular complexity-times-churn product
watching al_hotspot
Connascence as the coupling vocabularyOpen — watching runtime/_hdl_build/nx_eco_graph_honesty.nx : h_connascence, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. ABSENT everywhere, including in the named tools, and worth stating as a limit on this whole page: connascence holds that a substantial class of coupling is dynamic and NOT statically analysable at all [connascence]. Our import graph measures connascence of NAME at module granularity and nothing else. Static coupling being excellent is therefore necessary and not sufficient
watching h_connascence
Weakness classes: CWE Top 25 and OWASP Top 10Measured: cw_capshape exists in runtime/_hdl_build/nx_cwe_scan.nx, verified at emit. CATEGORY ERROR NAMED RATHER THAN SCORED. Both standards measure REPORTED vulnerabilities in SHIPPED software -- CWE Top 25 scores 39,080 CVE records by frequency times severity [cwe_top25] and OWASP ranks by incidence across 2.8 million applications, explicitly ignoring frequency within an application [owasp_top10]. Neither can be pointed at a repository, so there is no such thing as our CWE Top 25 score. What DOES transfer is ISO 5055, the CWE canon re-expressed as source measures, which is the first row on this page Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, no MCP invocation on record (a direct fork logs the runner, so this is not proof it never ran); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).
adoption REGISTERED-DARK
AI-generated code quality: duplication and refactor trendOpen — watching runtime/_hdl_build/nx_forkgrade.nx : fg_trend, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. THE MOST RELEVANT OUTSIDE BAR WE HAVE, because this corpus is almost entirely AI-authored. Field measurement over 623 million changes: block duplication up 81 percent from 2023 to 2026, refactored code down from 21 percent of changed lines to 3.8 percent, cross-file connectivity down 35 percent [gitclear26]. We can measure our duplication level but NOT its trend -- one census is a level and a trend needs two in time. Naming this as absent is the point: an AI-built estate that cannot see its own duplication trajectory is flying on a single sample
watching fg_trend
Whole-corpus ISO 5055 coverage without a scan capOpen — watching runtime/_hdl_build/nx_cwe_scan.nx : cw_uncapped, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. SEPARATE from the ISO 5055 row above because coverage and conformance are different questions. The scanner declares truncated 1 with maxfiles 4000 against organs_present 18802, so every figure it publishes is a floor over a 21 percent prefix. The envelope IS printed and honest -- the defect is that nobody divided by the right denominator. Derive the buffer from the input rather than raising a guessed cap
watching cw_uncapped
Complexity ratchet that can REFUSE a buildOpen — watching runtime/_hdl_build/nx_magic.nx : cw_ratchet, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. The shape we already proved on magic constants applied to complexity: self-baseline on first sight so it is non-breaking by construction, print the bar in every verdict so it is never an invisible threshold, and NAME every offending function. Marked EXCEED because the named tools report complexity and none of them refuses a promotion on it -- measuring and refusing are different capabilities and only the second changes behaviour
watching cw_ratchet
Base-class adoption ratchet keyed on a name setOpen — watching runtime/nx_gatelaw_gate.nx : gl_ratchet, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. The census exists and reads 338 of 3139; what is absent is the RATCHET. Baseline must be a SET OF NAMES not a count -- on a shared tree with concurrent seats a count-only ratchet reports a regression without saying whose, a lesson already paid for once by the dead-code lane. Census and name, never refuse
watching gl_ratchet
Emission provenance: which function emits this text, which constant bounds this bufferMeasured exceed: em_query in runtime/nx_emitmap.nx, verified at emit. SHIPPED 2026-08-23 in one leg: organ plus gate plus row, nx_emitmap_gate GREEN 9 of 9 end to end against the deployed binary, nx_catalog reads LIVE for both, daily clock row emitmap declared. MEASURED FULL POPULATION at corpus_complete 1: 18698 sources and 118659045 bytes yield 148010 composed emission blocks, 1360 CAP or MAX constants and 5176 reads of them, and the gate checks that the counted rows equal the stamp the organ wrote, so the partition is a claim that was tested. ONE CALL NOW ANSWERS WHAT TOOK A DOZEN MANUAL READS ON 2026-08-23: find names every function whose COMPOSED emitted text contains a phrase, as file line and function; bound names a constant's definition and every line that reads it. BUILT ONLY AFTER THE INCUMBENTS WERE ASKED AND MISSED, recorded rather than assumed: nx_codewiki_ask ranks prose and returned json_emit and nx_bodyparts, nx_capsearch ranks titles and returned a truncation gate and a body generator, a literal grep over the whole corpus found the motivating empty-object reply body at 11 sites and none of them in the transport because that body is emitted as byte codes not a literal, and nx_forkcensus indexes only elf path literals. THE UNIT IS THE COMPOSED EMISSION, NOT THE LITERAL, harvested by the same rs_line_lits the refusal-shape census already trusts, because a message built from three literals on consecutive lines is one message. THE BLIND SPOT IS DECLARED IN EVERY ANSWER AND IN THE STAMP: bytes emitted as numeric codes are not indexed, so a brace pair composed from codes cannot be attributed and the organ says so instead of answering from the nearest literal -- indexing byte-code emissions is the named next rung. Every bound is announced: the corpus slot table refuses rather than truncates and the preview cap counts every cut block in the stamp. EXCEED with the why: none of the four named tools answers which function emits a given message from a composed-emission index -- they report rule findings on code, not the provenance of emitted text. The nearest shape in the field is a code-search indexer, which is a different product class and is not a column here Adoption: LIVE — fully adopted (top of its ladder).

Risk register

RiskLikelihood x impactMitigation
A complexity number is published before the instrument is bite-proven and becomes the bar everyone plans againstlikely x highCQ1's accept rule requires all 6 hand-computed fixture values AND a neg-control that must fail first. An uncalibrated classifier reports numbers never verdicts, and CQ3 is deliberately a separate rung so measuring and refusing cannot ship in the same unreviewed step.
A Maintainability Index is shipped as one number and nobody can reproduce itlikely x mediumCQ2 forbids emitting MI without naming its variant. Three published formulas disagree on the comment coefficient and one drops the term entirely, so the same code scores three different values under the same metric name.
The base-class ratchet is read as a mandate and 2801 gates get mechanically migratedpossible x highCQ5 censuses and names, it never refuses. The record already forbids the mass-rebuild reading of a large undeployed count, and a migration that drops a load-bearing conjunct has already happened once on this estate.
The hotspot reader treats the action journal as complete historypossible x mediumCQ6 must publish its horizon with every verdict. The journal starts when capture started, so anything older is invisible BY CONSTRUCTION and a silent window reads as completeness.
Publishing a floor as a scorepossible x highThe ISO 5055 candidate total is a floor over a 21 percent prefix and the mutation rate is a floor bounded by budget. Both are labelled as bounds WITH their direction on the page, and CQ4 exists to remove the prefix rather than to relabel it.
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. Honest position. We are at or beyond the field on proof-carrying change and on structural coupling, and materially behind it on complexity measurement and on the OO metric family. The strong side is measured, not asserted: the import graph is fully acyclic (nontrivial SCCs 0, organs-inside-cycles 0 -- the Acyclic Dependencies Principle satisfied outright, where Linux tolerates within-subsystem cycles), propagation cost 0.4% against published Linux 5-18 percent and Mozilla ~17 percent on the same MacCormack instrument [@martin94], the cursor-sentinel lint re-measures to 0 hits over 18,681 sources, and every promotion passes a capability-loss diff that names each lost run -- a proof obligation no named competitor imposes, and the closest thing in the field to a fitness function that can refuse a deploy [@fitnessfn]. The weak side is equally measured and is not a tooling gap we can wave away. There is no complexity instrument at all: `nx_capsearch` returns no organ for cyclomatic complexity, and our own ISO 5055 scanner declares the hole itself -- `covered_of_4 = 3` with `gap: Maintainability -- needs cyclomatic/Halstead complexity, filed seq251` [@iso25010]. That filing is the single highest-value contract on this board: the estate's own standard-conformance organ named the exact gap and nobody built it. Base-class adoption is 10.8% -- 338 of 3,139 gate sources inherit the shared verdict base, and 2,801 are hand-rolled and therefore UNMEASURED by the two laws that only apply to inheritors. The security position is a floor, not a score: the ISO 5055 scanner implements 5 of roughly 140 rules and scanned 4,000 of 18,802 organs, declaring `truncated 1` -- so its 19,144 candidates are a lower bound over a 21 percent prefix, and its own honesty field says absence of findings is not proof of absence [@cwe_top25]. And one number here is a correction of our own record, published rather than quietly replaced: the standing baseline of 7 gates satisfying all three gate laws now reads 98, but almost all of that movement is the DETECTOR learning to credit idioms it used to falsely accuse (the census now itemises return-via-a-name at 1,069), not 91 gates being fixed. A delta whose cause is not published reads as progress that never happened.

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

Every compare carries this layer. Declare knowledge/compare/codequality.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 codequality, and this section fills itself on the next beat: the same ruler on both sides — privacy and CX (third-party hosts, tracker classes, cookies, security headers), design and longevity (design hygiene, computed WCAG contrast, render-blocking resources, unsized media, script weight, theme and motion queries), findability (landmarks, skip link, on-site search, breadcrumb, headings, internal links).

References

Beyond a link list. Every reference below resolves twice — the publisher's copy and, where banked, the estate's own non-rottable library mirror with a content pin — and carries its evidence class plus the exact claim on this page it grounds. Keyed marks like [key] in the matrix notes jump here. A dash means honestly absent, never assumed.
  1. [iso25010] ISO/IEC 25010:2023 Systems and software engineering - SQuaRE - System and software quality models. Second edition 2023-11 prepared by ISO/IEC JTC 1 SC 7. Cancels and replaces ISO/IEC 25010:2011. Nine characteristics. publisher · read in our library knowledge/fetched/cmp_codequality_iso25010.pdf · pin hc1a03cdcf53541c97006d8919007e979fc0c526bafeeaa4cc2e413dbb8599974 · accessed 2026-08-20 · published-standardGrounds: ISO 5055 automated source-code quality measures
  2. [mccabe76] McCabe T.J. A Complexity Measure. IEEE Transactions on Software Engineering vol SE-2 no 4 December 1976 pp 308-320. Definition 1 gives v(G) = e - n + p and the limit of 10 is called reasonable but not magical. publisher · accessed 2026-08-20 · published-paperGrounds: Cyclomatic complexity per function (McCabe)
  3. [nist500235] Watson A.H. and McCabe T.J. Structured Testing - A Testing Methodology Using the Cyclomatic Complexity Metric. NIST Special Publication 500-235 August 1996 119 pages. Adds essential complexity ev(G) and module design complexity iv(G). publisher · read in our library knowledge/fetched/cmp_codequality_nist500235.pdf · pin h1a29f1350d19b16426f90f47d595c11d0102f06bd7703e6e85e7c6c3694a9e73 · accessed 2026-08-20 · published-standardGrounds: Cyclomatic complexity per function (McCabe)
  4. [mi_contested] Kuipers T. and Visser J. Maintainability Index Revisited - position paper. Software Improvement Group and Universidade do Minho. SQM 2007 workshop at CSMR 2007. Shows the MI is a regression fit and that averaging cyclomatic complexity hides the power-law outliers. publisher · accessed 2026-08-20 · published-paperGrounds: Halstead volume and Maintainability Index
  5. [ck94] Chidamber S.R. and Kemerer C.F. A Metrics Suite for Object Oriented Design. IEEE Transactions on Software Engineering vol 20 no 6 1994 pp 476-493. Defines WMC DIT NOC CBO RFC and LCOM over an assumed-full inheritance tree. publisher · read in our library knowledge/fetched/cmp_codequality_ck94.pdf · pin h42f3352655ed330f7375400d98c46f749131cd4fe204ece2675f45bc3fb1874b · accessed 2026-08-20 · published-paperGrounds: Chidamber-Kemerer OO suite WMC DIT NOC CBO RFC LCOM
  6. [martin94] Martin Robert C. OO Design Quality Metrics - An Analysis of Dependencies. October 28 1994 Object Mentor. Defines Ca Ce instability I = Ce/(Ca+Ce) abstractness A and distance D over CLASS CATEGORIES not classes. publisher · read in our library knowledge/fetched/cmp_codequality_martin94.pdf · pin h62a9f2d3450ab6145ff8d23be166d6beb574930cc9e98b704b6a41627b78c46e · accessed 2026-08-20 · published-paperGrounds: Afferent and efferent coupling with instability I
  7. [sonarqube_debt] SonarSource. Understanding measures and metrics - SonarQube Server documentation. Defines sqale_debt_ratio against a default cost to develop one line of code of 30 minutes and the A to E maintainability grid at 5 10 20 and 50 percent. publisher · read in our library knowledge/fetched/cmp_codequality_sonarqube_debt.md · pin h9a518866ffba965ff238c87bb43541ec3667ef759544065242a57b49e075e816 · accessed 2026-08-20 · vendor-docGrounds: Technical debt ratio and the A-E maintainability rating
  8. [codered22] Tornhill Adam and Borg Markus. Code Red - The Business Impact of Code Quality - A Quantitative Study of 39 Proprietary Production Codebases. arXiv 2203.04374 2022. Code Health 1.0 to 10.0 with cut-offs at 8.0 and 4.0 over 30737 files. publisher · read in our library knowledge/fetched/cmp_codequality_codered22.html · pin h21559ccffd891c13641aadd33eeea1731172ec4d0de62e96731bde1435547262 · accessed 2026-08-20 · published-paperGrounds: Behavioural code analysis: hotspots and change coupling
  9. [connascence] connascence.io. The connascence taxonomy - five static forms Name Type Meaning Position Algorithm and four dynamic forms Execution Timing Value Identity - graded on the three axes strength locality and degree. publisher · read in our library knowledge/fetched/cmp_codequality_connascence.html · pin hcde9d7db2b79f56e2c7a857080a0e218b5754f19ae350d20259193dd2f354fd0 · accessed 2026-08-20 · source-readGrounds: Connascence as the coupling vocabulary
  10. [pitest] PIT Mutation Testing - Real world mutation testing. Mutation score is the percentage of seeded faults killed by the suite and line coverage does not check that tests can detect faults in the executed code. publisher · read in our library knowledge/fetched/cmp_codequality_pitest.html · pin hb0c7e0505c51c95b596060ef27babbce08e72d5aaf4557eb002c2637d2bf10cc · accessed 2026-08-20 · vendor-docGrounds: Mutation score as the test-quality standard
  11. [cwe_top25] MITRE. 2025 CWE Top 25 Most Dangerous Software Weaknesses. Scored over 39080 CVE records published between June 2024 and June 2025 as normalized frequency times normalized average CVSS. CWE-79 leads at 60.38. publisher · read in our library knowledge/fetched/cmp_codequality_cwe_top25.html · pin ha2a19f8005c1d3fd26fbdea65b6771c1d81b87281303fdec522512154b85de68 · accessed 2026-08-20 · published-standardGrounds: Weakness classes: CWE Top 25 and OWASP Top 10
  12. [owasp_top10] OWASP Top 10:2025 - the eighth installment and the current released edition. Ranked by incidence across data donated for over 2.8 million applications and explicitly ignoring how many times a weakness occurs within one application. publisher · read in our library knowledge/fetched/cmp_codequality_owasp_top10.html · pin h37db8253029a5a6afd4f8383cda997a0a482e45766110591bf8f5a3b0d423857 · accessed 2026-08-20 · published-standardGrounds: Weakness classes: CWE Top 25 and OWASP Top 10
  13. [fitnessfn] Thoughtworks Technology Radar. Architectural fitness function - Trial ring November 2017. An architectural fitness function provides an objective integrity assessment of some architectural characteristic and may encompass existing verification criteria. publisher · read in our library knowledge/fetched/cmp_codequality_fitnessfn.html · pin hb0101000c0205262537de4c7b2ab35ae60f8c3a8c30202b6599819a0bbb7b986 · accessed 2026-08-20 · vendor-docGrounds: Architecture fitness functions in the delivery path
  14. [gitclear26] GitClear. The Maintainability Gap - 2026 AI Code Quality Research. Over 623 million analyzed changes 2023 to 2026 showing block duplication up 81 percent and refactored lines falling from 21 percent to 3.8 percent. publisher · read in our library knowledge/fetched/cmp_codequality_gitclear26.html · pin he0e722a8a2ded2c8fed645627262b882e8cf62ab8417d2669fef4adff7e20351 · accessed 2026-08-20 · datasetGrounds: AI-generated code quality: duplication and refactor trend

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