Changelog
CHANGELOG.mdContents
- 0.4.10 — 2026-09-22
- 0.4.9 — 2026-09-22
- 0.4.8 — 2026-09-22
- 0.4.7 — 2026-09-22
- 0.4.6 — 2026-09-22
- 0.4.5 — 2026-09-22
- 0.4.4 — 2026-09-22
- 0.4.2 — 2026-09-22
- 0.4.1 — 2026-09-22
- 0.4.0 — 2026-09-21
- 0.3.11 — 2026-09-21
- 0.3.10 — 2026-09-21
- 0.3.9 — 2026-09-21
- 0.3.8 — 2026-09-21
- 0.3.7 — 2026-09-21
- 0.3.6 — 2026-09-20
- 0.3.5 — unreleased
- 0.3.4 — unreleased
- 0.3.3 — unreleased
- 0.3.2 — unreleased
- 0.3.1 — unreleased
- 0.3.0 — unreleased
- 0.2.0 — unreleased
- 0.1.0 — unreleased
Versions of METHOD.md. Readings retain the
method_version under which they were issued and are never
recomputed silently.
0.4.10 — 2026-09-22
- Editorial, no change to the method. The status line
now counts seventeen issued readings (six computed here), the canonical
copy is named as the one published at nooscope.io/method, and
GOVERNANCE.mdstates how its repository processes run until the repository opens. - METHOD §3.6 amended: the grain sensitivity is a property of
the recording, not a curve
(
gate/RESULT-GRAIN-MULTI.md). 0.4.9 declined to set a tolerance on one substrate. Three more sweeps say that was the finding rather than caution. Read at matched fractions of each recording's own native grain, at 0.30: mouse 800 ms window 0.582, mouse re-swept at 300 ms 0.705, human scalp TMS-EEG 0.819, human subdural grid 0.822. - The two short-window human recordings agree to 1.004× — four parts in a thousand — across a difference in modality (scalp against subdural), perturbation (TMS against 8 mA direct electrical), rate (312.5 against 725 Hz), channel count and geometry. Where the window is matched, the degradation reproduces across recordings with almost nothing else in common.
- Window length explains about half the rest and no more. The mouse re-swept at the humans' 300 ms window moves 0.582 → 0.705 against their 0.820. Shortening the window is necessary and not sufficient; the residual is a property of the recording that no declared parameter predicts. So §3.6 now requires what §2.3 requires: a reading compared as an absolute value against one at a different realized sample count carries its own measured sensitivity, and the comparison is made at matched grain or not at all. No tolerance is set — at matched absolute sample count the substrates disagree 2.2× to 3.3×, more than the state contrasts this register publishes.
- Resampling upward does not create samples. A 312.5
Hz recording resampled to 725 Hz would declare 207 samples and sit
beside a reading genuinely acquired at that rate.
response_samplesis now computed from min(resample_hz,fs_hz); the conformance rule enforced the inflated figure until this version. - METHOD §2.3 amended: a deposit that cannot supply the null
cannot carry the reading (
gate/RESULT-FARNES.md). A perturbational deposit archiving only stimulus-locked epochs, without enough continuous record for one sham onset at the issued parameter set, cannot satisfy §2.3 however good the experiment. The arithmetic is the test. The register names such a deposit refused with the arithmetic shown, publishes the values it would have issued so the work is not lost, and asks the depositors for the continuous record. Corollary, now a standing request: deposit the continuous data, not only the epochs. - The Farnes ketamine deposit is computed and refused on exactly that ground. Ten subjects, 62-channel TMS-evoked EEG at 312.5 Hz, ~290 trials per cell, wakefulness against sub-anesthetic ketamine. One sham onset needs 1,650 ms; the archive holds 800 ms epochs, and the spontaneous files are a different recording at 250 Hz with 62 channels against the evoked 60. The control was written to fail loudly and did.
- Two external checks pass on the way to that refusal. Awake median 53.58 against the published alert-wakefulness benchmark of 47.89 (NS-0023, n=108) on an independent dataset, cohort and lab — the register's second external check on an absolute value and its first on scalp TMS-EEG. And the ketamine/awake ratio is 1.012, above 1 in 5 of 10, reproducing the source paper's own unusual claim that evoked complexity does not rise under sub-anesthetic ketamine. A control was set to stop the run if it had.
- A control caught a run auditing the wrong proposition, for
the second time in two days. The third grain sweep compared its
value against NS-0012's issued 32.26 and failed at 48%. The control was
wrong, not the loader: NS-0012 is the mean of 269 site-level
values across 7 subjects and 8 sessions, while the loader pools
one subject's trials into one average. Re-pointed at the same pipeline's
own prior run it reproduces to machine precision.
gate/RESULT-WIDENERS.mdwas the first; both times the control stopped the run. - Conformance condition 12 unchanged in substance, now enforced against the acquisition rate rather than the requested one.
- Three outreach documents drafted and not sent
(
docs/OUTREACH-2026-09-22.md): the condition 9 invitation updated to v0.4.10 and twelve conditions with named recipients; a data request to Laurent and Shein-Idelson for the two published-but-undeposited reptile perturbational experiments; a request to the Oslo group for the continuous TMS-EEG record; and the now fully-determined experiment specification for five labs whose existing preparations are one electrode or one protocol change away from it.
0.4.9 — 2026-09-22
- METHOD §3.6, temporal grain, and conformance condition 12. §3.5 fixes a recording's resolution in space; nothing fixed it in time. The omission was invisible for six versions because every reading the register computed happened to be electrophysiology at several hundred hertz, and became askable only when a substrate arrived that is imaged at 2 Hz.
- Measured on the register's own recordings
(
gate/RESULT-TEMPRES.md). The sixteen mouse state-cells behind NS-0006, NS-0011 and NS-0027 re-read at their issued parameter set with the resample rate swept down and nothing else changed. The value falls monotonically with the number of samples in the response window: 1.000 at 399, 0.867 at 300, 0.708 at 207, 0.386 at 60, 0.330 at 40. Interquartile range at 200 is [0.60, 0.79] — tight enough that this is the measure, not noise. Control 1 reproduced all sixteen register values at worst fractional disagreement 0.000. - The register's own issued readings already span this axis
undeclared. Mouse readings realize 399 samples
and human readings 207 — a 1.93×
spread, sitting in the steepest part of that curve, never
declared and never checked. This is
gate/RESULT-PITCH.mdin the time axis. No claim rests on a direct mouse-to-human absolute comparison and §3.4's tiers forbid several that would be affected; the defect is that nothing prevented one. Recorded rather than corrected, per §8. - Direction survives what the value does not. Awake over isoflurane held in 6 of 6 subjects at every sample count tested, down to 10 samples, where the absolute value had fallen to 0.15×. Trial count behaves oppositely: swept alone at 2–5 trials the median lands 0.52–0.68 with an interquartile range as wide as [0.12, 1.80], and the direction fails in 2 of 6 subjects. Sparse sampling makes the number smaller; few trials make it unreliable. Reported separately, never summed into one caveat.
- No tolerance is set. The curve rests on one substrate. A conformance tolerance nobody has measured is the 0.3.9 pitch defect repeated knowingly, so condition 12 requires declaration and explicitly declines to state a comparison ratio.
- The nematode reading is refused, and the refusal is the reason §3.6 exists. DANDI:001075 is a genuine M1 perturbational deposit — a stimulus table with start and stop times, targeted ROI per stimulus, tracked population response, 110 segmented worms, median 54 stimulations across 19 targets. It is imaged at 2.0 Hz in all 110 worms, with a median of 2 repeats per target. At that operating point the same mouse recording returns about a third of its value and the direction fails in a third of subjects. A nematode number printed beside a mouse 61.35 would be the §3 scale error committed in a new axis. The obstacle is the acquisition, not the animal.
- Access was re-probed and was largely a defect of
record (
gate/RESULT-ACCESS.md). The three deposits marked UNREACHABLE on 2026-09-21 were marked so on one 401 and one 403, and the denial was inherited untested. Dryad's API wants an OAuth bearer token only on/download; its web route is a proof-of-work anti-bot wall. Querying Zenodo by the source DOI finds full Dryad mirrors under the same DOI and the same CC0 license. Reachability rises from 17 of 32 to 30 of 32, six of them via a mirror the primary host refused. Two of the former "blocks" were my own prober issuing a GET against a GraphQL endpoint that wants a POST. - All three opened deposits still fail a gate, on the
experiment rather than the repository. Octopus: graded dF/F at
10 Hz, but the stimulus is a sparse-noise movie — sensory, not
instrumented perturbation, refused at gate 2. Crow:
misidentified — it is Hahn et al., eLife
2021;10:e72783, a delayed-match working memory task, sorted single
units, refused at gates 2 and 3 both. Turtle: its own README says "Code
to reproduce figures", 22
.matfiles of figure source data, natural viewing, refused at gate 2. Gate 2 now blocks 18 of 32, up from 15. Access was never the binding constraint on the non-mammalian gap. gate/access.pymakes the probe standing rather than anecdotal, with four controls: a positive case, a malformed-DOI negative, a refusal to read an empty file listing as an answer, and a requirement that any mirror carry its license. A hand-verified table holds the one route the DOI query cannot find, with its evidence and the caveat that the archived turtle tag is v1.0.1 against Dryad's v1.0.0 and so is not byte-identical.- The access work's actual yield is the Farnes ketamine deposit — 62-channel TMS-evoked EEG, 10 volunteers, wakefulness against sub-anesthetic ketamine, ~293 trials per subject per condition at 312 Hz, CC0. An M1 human perturbational dataset in the state where behavior and experience dissociate, which is the state most likely to break a measure that tracks behavior instead. Unreachable yesterday, reachable today, and worth more to this register than the worm was.
0.4.8 — 2026-09-22
- Gate 3 is split: graded against counted, not voltage against
not-voltage (
gate/RESULT-SIGNALTYPE.md). Measured on sixteen mouse state-cells by re-expressing the same evoked response three ways. A rectified, smoothed signal — the shape of a firing rate — returns essentially the same number, median ratio 0.977, ρ +0.718 against voltage, and keeps 5 of 6 state separations. A binarized event count inflates it 4.35×, correlates at ρ 0.19, and loses separation entirely: 2 of 6, median 0.893, anesthesia reading higher than wakefulness. - The mechanism is one this register already acted on. Binarized Lempel-Ziv was retired as a screening currency because thresholding discards amplitude relations. Thresholding a response into events does the same to PCIst.
- This inverts the substrate priority. Calcium ΔF/F is graded, non-negative and low-passed — almost exactly the rate arm — so it sits on the admissible side of the split, while sorted spike counts do not. Two non-mammalian deposits now clear all four gates, both nematode, where none did before. The culture deposit with the finest array in the supply remains refused, and the deposits with the worse arrays are the more tractable ones.
- All three arms clear their own matched floor — voltage 6.80× median, rate 3.36×, events 2.62×. The event arm's failure is not that it measures nothing; it measures something real that is not the quantity this standard is about.
- Two defects in the first attempt at that floor, both
recorded. The sham was not a null: it circularly shifted the
trial-averaged response, leaving every channel's evoked
transient intact at a random time, and scored higher than the
real signal — 0.08× clearance where
gate/RESULT-FLOOR.mdhad already published 2.3–8.3× for the same cells. And the control did not gate: the 0.08× was computed, printed, and the run reported anyway because the raise was never wired. A control that cannot stop the run is decoration, which is the criticism this program makes of other people's methods and had just earned against its own. - Three deposits are unreachable, not unsuitable.
Dryad returns 401 on its API download route and 403 on its public stream
from this environment. Turtle, crow and octopus are public and CC0; the
obstacle is access, and it is recorded against the deposits rather than
against the substrates. C. elegans on DANDI is settled from its
own asset manifest — every file is named
ophys+ogen. - What is still not established, and is stated on the result's face: nothing here compares voltage against spikes recorded separately from the same tissue. A calcium-derived reading would today rest on an analogy rather than a measurement.
0.4.7 — 2026-09-22
- Substrate coverage is now a standing output
(
gate/substrate_census.py), reported on the register's face beside conformance. Every catalogued deposit is screened against four gates in the order the standard applies them — source admissibility, perturbation delivered, signal type, channel count — and the verification level travels with the deposit:censusmeans its own electrode and acquisition tables were opened,registrymeans only the catalogued description was used. - 32 deposits, 14 clades, 10 non-mammalian, and none of the non-mammalian ones is confirmed issuable. Three attempts had produced three different blockers, each found only by going after that deposit; the census replaces that with a map.
- The dominant blocker is the field's data, not this standard. Fifteen of thirty-two deposits deliver no perturbation at all, capping them at M2 under §3.4 — within-subject contrast only, never comparable to an M1 value, so they cannot join a cross-substrate scale. Five more carry the wrong signal type. Only one of the six blocking conditions, the channel minimum, belongs to the standard, and it is already provisional.
- DANDI:001611 censused and refused. Twelve
dissociated rat cortical cultures on HD-MEAs: 982 channels at
35.0 µm median spacing, the finest grain in the register's
supply and a 286× span against a human subdural grid —
and
acquisition/is empty. The deposit ships 950 sorted units and their spike times, no continuous voltage. - Two defects inside the census itself, caught before it
reported. The clade split was a substring search that called
the mouse deposit non-mammalian, a
crow a mammal, and five human EEG studies
non-mammalian; it is now an explicit mapping with a control that refuses
to report on any unclassified deposit. And
perturbation: otherwas passed through as a perturbation, which would have reported the turtle and crow deposits as ready on a guess — a sensory oddball delivers nothing to the substrate. Both are now marked unverified rather than cleared. - The question this exposes, and does not answer: whether METHOD should admit a second declared signal type. If the M1 tier requires a voltage response, the cross-substrate scale is structurally limited to mammals and the AI bridge inherits that limit, because an artificial system has no voltage either.
gate/snapshot.pywrote itsconformancekey twice, harmlessly, since the block was introduced. Corrected.
0.4.6 — 2026-09-22
MIN_CHANNELSis marked provisional (INSTRUCTION.md2.1, 1.8.0). It was the only unmarked threshold in the instruction — nomeasured, noprovisional, no source, and absent fromMETHOD.mdentirely — while excluding every substrate whose arrays are built below clinical scale.- The organoid reading is refused, and the refusal is
published (
gate/RESULT-ORGANOID.md,gate/organoid_rejection.json). DANDI:001336 carries genuine M1 perturbational data on human iPSC-derived organoids — cathodic-first biphasic, 233.3 µs, 5–60 µA — and a channel census taken from the electrode table rather than the deposit's prose returns 3 channels for two subjects and 16 for the third, against a minimum of 20. NS-0009 stays planned. - On the register's own data, sixteen distributed channels behave like twenty — median ratio to the full array 1.014 (IQR 0.97–1.08) against 0.993 (0.97–1.01) — and what degrades at low counts is distribution, not count: randomly chosen channels fall to 0.708 at eight where distributed channels hold at 1.044.
- The threshold is nevertheless not moved. The measurement is on mammalian cortex, §9.4.1 forbids carrying it to another substrate, and it was run by a party that wanted the threshold lowered. That conflict is recorded on the face of the result. A replacement pairing a count with a spatial-distribution condition is proposed for the next cycle, to be decided against a non-cortical substrate.
- The register is seventeen readings across four species, all mammals. Every non-mammalian reading planned at founding — pig, octopus, organoid, language model, reptile forebrain — is still planned. Recorded here because it is the register's largest gap and nothing in the method was hiding it.
0.4.5 — 2026-09-22
- Non-independent wideners combine as the maximum, not the
product (
INSTRUCTION.mdDomain 5, 1.7.0), and the rule is measured rather than argued (gate/RESULT-WIDENERS.md). An interval is judged by coverage: a ± 1 SD interval should contain about 68.3% of what it covers. - The wideners are needed. An interval built from one cohort's internal spread and tested against six out-of-cohort values covers 2 of 6 at base, 33%. The concern recorded against NS-0027 — that they might be unnecessary — is answered against it.
- And they are too large. Nominal coverage is reached at ×1.61; the prescribed species × instrumentation product of ×2.25 covers 100%. An interval that swallows every other reading's value cannot support a scale. A single 1.50 widener nearly reaches nominal on its own.
- The reason is dependence, not magnitude. Crossing species necessarily crosses instrumentation — no mouse recording is taken on a human clinical grid — so the product counts one gap twice. The pair is declared dependent; no general independence test is offered, because six targets from one source cohort cannot support one.
interval.widener_productadded and checked. Where a dependent pair is declared the applied multiplier must be stated, so the combination is machine-checkable rather than implied.- Two defects in the audit's own design, both recorded. The first version built the interval from the pooled across-cohort spread — a set that already contains the variation a widener supplies — and would have reported the wideners unnecessary for a reason unrelated to wideners. The second pulled two separation-scale ratios into a comparison against a PCIst center: the exact category error METHOD §3 forbids, committed by a run auditing the standard.
- NS-0027 is not edited or recomputed. It applied the rule correctly as the rule stood; §8 keeps readings at their issued version, and the gap between its interval and the amended rule stays visible.
0.4.4 — 2026-09-22
matched_nullis required on every perturbational reading (METHOD §2.3), the standing recommendation ofgate/RESULT-FLOOR.md. The floor is per-recording and ranges 12.2× across one deposit, so a population figure is useless; a reading ships the floor measured on its own recordings and the clearance over it, and a clearance at or below 1 refuses the reading.- §3.3 gains
epidural_array, and carries a defect of record. 0.3.7 justified addingprobe_linearas "the arrangement the register's two mouse readings were taken on." That is false: every reading path reads the thirty-contact epidural surface array, and the deposit files contain one device, one electrode group and no shank probe at all. A closed set was extended on an unchecked premise while the arrangement actually in use had no member. No reading was mislabeled — NS-0006 and NS-0011 predate the field. - The geometry set was closed in the document and never in the schema. The field was free text whose description still read "or another named arrangement", the phrase 0.3.7 removed from METHOD. Closed now as an enum.
- METHOD required a field the schema rejected.
computation.spec_versionhas been required since 0.4.1 and the schema'scomputationblock refused it, so for three versions no reading could carry it and validate. - §3.5 gains a
non_uniformlayout branch. The first array this section met outside a clinical grid has no pitch: the NeuroNexusEEG-mouse-30-Ais anatomically placed and the manufacturer publishes per-site coordinates rather than a spacing. 0.3.9 through 0.4.2 silently assumed every array is a lattice. - NS-0027 issued: mouse cortex, recovery from isoflurane — the register's first reading of a third state, and the first to fail exactly one conformance condition. It satisfies ten of eleven and fails condition 9 alone, because no available second implementation is independent of the specification.
- The claim that a second implementation would unblock conformance was wrong, and §9.3.1 already said so. A shared author is a shared assumption. Condition 9 is now the only open condition, which converts a general invitation into a specific ask.
0.4.2 — 2026-09-22
spec/vectors/VECTORS-1.0.json: eight conformance vectors, and they are diagnostic. METHOD §12 has invited third parties to claim conformance since 0.3.6 with no means to test it. The set now decides conformance at a 1e-6 relative tolerance and, where an implementation fails, names the clause it got wrong. Each vector records what eight single-clause mis-implementations return on it, four of them errors made in practice rather than invented; a failing candidate is matched against the profiles across all eight vectors. Demonstrated: an implementation with only clause 4.2 wrong is identified at 8/8 with the next-best explanation at 2/8.- Profile matching rather than per-vector matching. Several broken clauses return zero on the noise vector, so a per-vector match reported two or three confident diagnoses for one error. The profile separates them on the vectors where they do not collide.
- The completeness gate audited the specification on its first
run.
build.pyrefuses to publish a set in which any modeled mutation goes undetected, and it could not distinguish two of the ten originally modeled — because both were provably immaterial. Decomposing the response rather than its transpose gives the same channel-space basis, and reversing the recurrence inequality cannot survive the absolute differencing that follows. PCIST-1.0 had warned about both, and both warnings were wrong. The annex is corrected and the two are carried as invariance assertions checked on every vector. - Vectors ship as generators, not arrays — a seed and a few shape parameters, so the input is reproducible in any language with a standard normal generator and an FFT. Nothing to download, nothing to drift.
- V1 expects 87.28, not zero, because the reference
does not return zero on noise (§2.3). A vector set that expected zero
there would have encoded the error
gate/RESULT-FLOOR.mdcaught, and a test now asserts it does not. - The 0.4.0 defect of record in §2.1 is closed, and the whole chain is a standing CI gate: four tests covering conformance, mutation coverage, the invariance claims, and the noise expectation.
0.4.1 — 2026-09-22
spec/PCIST-1.0.mdadded: the reference computation is now specified algorithmically. The 0.4.0 defect of record is closed. The annex fixes the five points an implementer previously had to guess, including the one no published source states — a state transition is not a thresholded distance, it is a change in the recurrence relation between adjacent samples. Implementation B was rewritten from the annex alone and now reproduces the reference on 17 of 17 cells at a worst relative difference of 0.00e+00, ICC(2,1) = 1.0000. A third party can reimplement from the standard, which is what §12 has been inviting since 0.3.6.- §2.3 the matched null. The reference computation does not return zero when there is nothing to measure, and what it returns is a property of the recording: across six sessions of one deposit it ranges 2.80 to 34.05, a factor of 12.2. Every perturbational reading from 0.4.1 carries a sham computed from its own recording — same channels, same trial count, randomly timed onsets — and displays the ratio on its face. A reading at or below its null is a valid record and is not issuable as a value.
- The anesthetized arm sits on the floor
(
gate/RESULT-FLOOR.md). Awake readings clear their own null by a median 7.73×; isoflurane readings clear it by 1.90×, and one sits below it at 0.36× — the instrument reporting less complexity for the real evoked response than for randomly timed epochs from the same animal. Seven of sixteen state-cells fall below their own session's sham 95th percentile. NS-0016's 1.89× separation is therefore a lower bound whose denominator is not established, and the register records that against it. - A wrong finding was stopped by running its control first. A white-noise sweep put the floor at 75.6 on twenty channels, which would have placed every mouse reading below it — the most consequential result the program would have produced, and false. White noise is spectrally flat and uncorrelated across channels, so the SVD offers spurious components that pass the SNR gate; real cortical noise does not. The sweep stays on the record as a caution against calibrating a real instrument with a synthetic null, which is §9.4.1 applied to a case it did not anticipate.
0.4.0 — 2026-09-21
- §9.3.1 run for the first time, and it found the foundation
loose (
gate/RESULT-DUAL.md). A second implementation of the reference computation was written from §2.1 and the published description. Given byte-identical input across seventeen cells, the two implementations produce values differing by 3.76× to 35.67×, ICC(2,1) = 0.043 — no agreement — with limits of agreement from 3.27× to 31.49×. Removing the median 8.32× factor leaves a 9.49× residual, so this is not a scale offset. - The ordering survives completely: 6 of 6 animals are ordered identically by both implementations, while the magnitude of the separation disagrees by up to 2.5× within a single animal. What a reading says about ordering is robust to the choices the standard fails to make; what it says about magnitude is not.
- §2.1 carries a defect of record. The reference computation is defined by pointer to a library rather than by algorithm, and the published paper's openly reachable text does not supply the operative details either. A reading under this standard is not reproducible from published sources, which is not what §12 invites a third party to do. Until §2.1 carries an algorithmic specification, no absolute value may be compared across implementations. Supplying it is the first work item of 0.5.0.
- §2.2 now has a measurement behind its central claim. "Meaningful only by comparison" was an argument; it is now the observed behavior of the quantity. A paired contrast is portable in its direction, not in its size.
dual_implementation_same_authoradded as a distinct, NON-conformant mode. The run above shares an author between the two implementations, and a shared author is a shared assumption. The machinery now exists and can be handed to anyone, but the register's conformant count stays at zero until an implementer who is not us writes the third one. Recording it as conformance would have been the easy and dishonest reading of the same work.- The unflattering statistics are published at their value, per §9.3, because publishing reliability only when it flatters is the failure mode that section exists to prevent. No measurement body currently publishes this figure at all.
- Consequence for the scale: band boundaries were being designed against documented artifacts of 1.3× to 2.07×. Implementation choice alone is worth up to 36×. Every boundary must sit outside that, so the scale is coarser than proposed and rests on ordering rather than magnitude.
0.3.11 — 2026-09-21
- §3.5's comparison rule is now measured on tissue
(
gate/RESULT-DECIMATION.md). Exact equality of nominal pitch is replaced by a tolerance of 1.3×. The same recordings were read at successively coarser subsets of their own contacts, with recorded extent held constant so that spacing moved alone: in mouse surface EEG over 16 state-cells, a 1.26× pitch ratio moves the median reading 8%, 1.66× moves it 17%, and 2.26× moves it 32%. The tolerance sits where the effect is smaller than the smallest state contrast this register publishes, wakefulness against propofol at 1.21×. - Tissue is far less sensitive to grain than the constructed
test bed implied.
gate/RESULT-REPLACEMENT.mdmeasured 0.53×–1.79× on a constructed system under a change that altered nothing about it. On tissue, doubling the pitch moves the reading by about a third. §9.4.1, which forbade carrying the constructed figure across, was right to exist and is now vindicated by the case it was written for. - Widening spacing RAISES the reading, which is mechanically sensible rather than an artifact: adjacent contacts on a dense array see overlapping signal, so spreading the same number of contacts over the same area samples more independent sources.
- Recorded extent moves the reading further than pitch does — 0.761 at 0.67× extent against 1.014 at 1.49× pitch, in mouse. NS-0012 already carried a caveat that local grid coverage may miss long-range integration; that caveat now has a number behind it, and it is the larger of the two effects.
- The full-contact control returned the register's own values to 0.00% over 16 cells, so what moved in the sweep was the decimation and nothing else.
- A claim made earlier the same day is corrected rather than
edited away.
gate/RESULT-PITCH.mdcalled the register's one external check a cross-grain comparison. It compared measured pitch; the rule compares nominal pitch, on which both deposits are 10 mm clinical grids, and the measured effect at that ratio is 8% against an 11% difference between the readings. The check is not compromised. What survives is that ds004370 declares no coordinate units and its contacts measure 21–41% below nominal, failing §3.5's consistency check. INSTRUCTION.mdv1.5.0. Questions 3.8 and 3.9 carry the measured band.- Three revisions of one section in one day, each replacing the last for a stated reason — exact equality because nothing was known, nominal rather than measured because the first rule made nearly every reading unissuable, a measured tolerance because the effect was finally measured. The sequence is on the record.
0.3.10 — 2026-09-21
- §3.5 compares nominal pitch, not measured pitch
(
gate/RESULT-PITCH.md). 0.3.9 required identical pitch with no threshold of triviality, borrowing §4's construction for parameter departure. That construction is sound because a parameter is an exact declared number; pitch measured from coordinates is not. Applied to the register's own supply the rule made nearly every multi-subject reading unissuable — the seven subjects pooled into NS-0012 measure 5.86 to 7.85 mm and would have become seven readings. A rule nothing can satisfy protects nothing. - A measured consistency band. Where coordinates exist, the measured pitch must sit within 15% of the nominal. Across the four deposits in the register's human supply that declare coordinate units, clinical grid and strip groups measure 9.00 to 10.05 mm against a nominal 10 mm — inside 10% over 14 groups.
- Pitch across the register's human supply varies by 3.1×, from 3.22 mm to 10.05 mm over 39 subjects in five deposits. ds004696 at 3.50 mm and ds004774 at 9.43 mm are treated as interchangeable supply and are not interchangeable.
- ds004370 declares no coordinate units, and its grid contacts measure 21–41% below nominal where the same manufacturer's arrays measure on-catalog in deposits that do declare units. It is the deposit behind three issued readings.
- A listing limit was nearly reported as a finding. A flat S3 listing returned no electrode tables for two deposits; they have them, but MEF3 storage puts tens of thousands of keys ahead of the later subjects and paging stopped short. The listing now descends by prefix and an empty result is a hard control failure.
0.3.9 — 2026-09-21
- §3.5 recording grain. §3.3 fixed the recording's
arrangement; nothing fixed its resolution. Every reading issued under
0.3.9 or later declares
grain.pitch_mm,grain.channelsandgrain.basis, a reading whose grain cannot be established from its source is not issuable, and any difference in declared pitch is a difference in grain with no threshold of triviality — the construction §4 already uses for parameter departure, and for the same reason: no measurement stands behind any tolerance. - The reason is measured
(
gate/RESULT-REPLACEMENT.md, plan §6A item 6, the continuity rung). Replacing a system's nodes with functionally exact two-unit surrogates — preserving its causal effect at every retained variable to 4.8 × 10⁻⁷ and its spectrum to 10⁻⁸ — leaves every screened measure unchanged when the result is read at the original variables, and moves all six monotonically to between 0.53× and 1.79× when it is read at the units the system actually has. Those are factors comparable to the state contrasts this register publishes: 1.21× in human, 1.89× in mouse. Recording the unchanged system at the same inflated channel count moves every measure by ≤ 5% or in the opposite direction, so it is not channel counting. - The ground truth is invariant and its normalization is
not. Unnormalized integrated information is constant across the
whole replacement sweep to 1.7 × 10⁻⁷. Normalized, it falls 43% — every
bit of which is
min(|part|)growing with the unit count. The normalizer adopted in 0.3.7 remains correct and is now known not to be grain-invariant, so any comparison of normalized Φ across systems of different size is partly a comparison of sizes. INSTRUCTION.mdv1.3.0 adds questions 3.6, 3.7 and 3.8 — establishing the pitch, refusing to combine subjects across pitches, and requiring the cross-grain caveat. A pitch is never estimated from array dimensions or from a comparable implant; the basis set is closed.- What is not known is stated. How far apart two grains must be before the difference matters on real tissue has not been measured, and §9.4.1 forbids converting the constructed factors above into a claim about tissue. The conservative no-threshold rule stands until a decimation run on a real recording replaces it.
- §12 condition 11, appended rather than inserted so every reference to conditions 6 through 10 in earlier documents still points at what it pointed at. The clean-record control caught its own fixture the moment the condition was added, which is the control from 0.3.7 doing on its second outing what it was written for.
- Both directions of the new rule are tested, after the 0.3.7 conformance defect that passed review because only the failing direction ever was.
0.3.8 — 2026-09-21
- §9.4 constructed evidence and its limits. Four standing rules on what a system built to have a known answer can and cannot establish. The section exists because this register broke all four in sequence and published each break; each numbered rule names the run that produced it.
- The Empirical rung of the validation ladder is built and
used (
gate/RESULT-CELEGANS.md). The measured causal graph of a complete nervous system — 23,433 stimulated pairs across 186 of 188 head neurons of C. elegans, Randi et al. 2023 — is placed against the seven synthetic topology families that defineddelta_spread's domain of validity. It does not place. Five families sit equidistant from it. It is as concentrated in emitted influence as the hub family, at the 87th percentile of the whole ensemble, while having no hub at all, and its response decays with wiring distance at −0.10 against a chain's −0.39. - A claim is withdrawn. "Cortex is
[distance-structured]. A star network is not." appeared in
gate/RESULT-TOPOLOGIES.mdand in the plan's §6A, drawn entirely from constructed systems and load-bearing in both. Both documents now carry the correction at the point the sentence was made. What survives is the first clause: the measure works on distance-structured substrates, and whether any real nervous system is one is not established. - A result declined. The atlas carries
unc-31mutants, and their influence looks more concentrated than wild type's — 0.560 against 0.464. Subsampling wild type to the mutant's edge count puts the mutant below the mean of its own null. The contrast is measurement coverage, not signalling, and nothing about extrasynaptic signalling is claimed. - A variance floor is now asserted on every descriptor a placement uses. Density matching pinned one descriptor's ensemble spread to 1.5 × 10⁻¹⁷ rather than zero, so the divide-by-zero guard did not fire, and a z-score of −4.7 × 10¹⁴ decided the answer while every printed number looked plausible. Three further defects of the same class were found and each became a control.
schema/dataset.schema.jsongainsoptogenetic_single_neuronas a perturbation kind, by amendment rather than by widening the field — the same routeprobe_lineartook into §3.3 in 0.3.7. The register's first non-electrical, non-magnetic perturbation, and the validator refused the entry until the set was amended, which is the closed enumeration working.datasets/registry.yamlgains the atlas as source 30, with its matrix orientation verified against the labeled connectome rather than taken from a docstring, and its GPL-3.0 terms recorded againstLICENSING.md.
0.3.7 — 2026-09-21
- §3.3 geometry set closed, and
probe_linearadded. The set previously ended "or another named arrangement", an open field inside a decisionINSTRUCTION.md3.1 calls mechanical. An arrangement outside the set now blocks the reading and is added by amendment.probe_linearcovers penetrating silicon probes with contacts along a shank — what NS-0006 and NS-0011 were taken on, and what the old set had no room for. Those two readings are not edited, per §8; the gap stays visible in the conformance report. INSTRUCTION.mdv1.2.0 adds question 3.5: a census returning an unmapped channel type is not issuable.- Conformance checker corrected. Condition 8 looked
for a
rejection.rulekey no reading has ever carried — the record nameschannel_ruleandtrial_ruleseparately — and so reported five false failures against the live register. Nothing caught it because nothing asserted that a clean record comes back clean. Both controls now exist: a fully populated record must pass all ten conditions, and each of the ten must fire when deliberately broken. - The decidability audit screens enumerations as well as thresholds. A threshold can be evaluable and still undecidable if the set it maps onto is open, which is how §3.3 passed two audits while carrying the defect above. Six detector controls.
0.3.6 — 2026-09-20
INSTRUCTION.mdv1.0.0 added, a normative companion reducing every judgment the method leaves open to a signalling question with a pre-specified numeric threshold. The rater has no discretion to override a threshold; disagreement with one is raised as a proposed amendment rather than settled at the bench. Eight domains: source admissibility, channel and trial admission, recording geometry, parameter set and departure, interval width, type and modality tier, caveats, and rating.- §3.4 measurement modality tier. A four-tier ladder from instrumented perturbational to report-dependent, with a ceiling per tier on the strongest comparison the reading may support. The tier is displayed on the face of every reading. Adapted from the objectivity ceiling of an evidence-grading standard built in a separate workstream.
- §5 interval widening quantified. The base is the between-unit standard deviation, never the standard error. Each widener carries a stated factor; six of the seven are marked provisional because no measurement stands behind them yet, and provisional factors are listed for review each cycle.
- §9.3 interrater reliability. Dual independent rating, pre-adjudication disagreement log retained permanently, named adjudicator. Published each cycle whether or not favorable: κ and Gwet's AC1 for the categorical judgments, ICC(2,1) and Bland–Altman limits of agreement for the scalar — the second pair added because κ does not apply to a continuous value and two raters agreeing on every category can still differ on the number.
- §12 conformance conditions. Ten conditions under which a third party may state that a reading was produced under this standard. Previously absent, and now machine-checked: the register reports conformant against total each cycle, starting at 0 of 16, which is the honest number and is published while it is low because that is the only way its rise means anything.
- §9.3.1 rating modes. §12 condition 9 requires two
raters and there was one, so the standard was in one of two unacceptable
states: quietly breaking its own rule, or unable to issue. Neither is
resolved by weakening the condition. A reading now declares its mode —
dual_independent_human,dual_independent_implementation, orsingle— and a single-rated reading is a valid record that is not conformant, says so on its face, and is excluded from every published reliability statistic. INSTRUCTION.mdv1.1.0, correcting two defects the decidability audit found in v1.0.0 on the day it was published: question 7.3 judged caveats "in good faith", an open predicate wearing the clothes of a rule, and Domain 6 stated its thresholds as consequences rather than as answer rules. Both fixed; 35 of 35 questions are now mechanically decidable (gate/RESULT-DECIDABILITY.md), and the audit runs in CI.
0.3.5 — unreleased
- §3.3 extended for mixed implants. A subject
carrying at least
MIN_OTHER_GEOMETRY= 8 channels of a second geometry is excluded from a single-geometry reading rather than silently reduced to its larger array.ALLOW_GEOMETRY_SUBSETis false and changing it is a MINOR version change.
0.3.4 — unreleased
- §2.1 waveform and repetition rate required. Both
must be recorded, and a reading missing either carries the omission as a
caveat. Protocol moves the measure by a median factor of 2.07 — larger
than wakefulness against propofol at 1.21 or wakefulness against
isoflurane at 1.89 (
gate/RESULT-CHOCS.md).
0.3.3 — unreleased
- §3.3 recording geometry added, after the reading code was found to be making the decision silently. A PCIst computed from a subdural grid is not interchangeable with one computed from depth electrodes, and geometry is now assigned from the channel-type census rather than by judgment.
0.3.2 — unreleased
Issuing the human pair showed that the register could not express its own strongest evidence. MINOR-level content in a PATCH number again because no existing reading changes: Type F adds a record, it does not alter one.
- §3 — Type F, the paired contrast. Both state contrasts in the register are held as two readings whose intervals overlap, because subjects differ from one another far more than the states differ within a subject. Read alone, those pairs establish nothing. The finding in both cases is paired — 21 of 24 mouse sessions, 168 of 254 human stimulation sites — and neither number could be written anywhere in the register. They lived only in result documents, which are not records anyone can cite, supersede or audit.
- §3.2 — what a Type F reading is. Its value is a dimensionless ratio and is never on the Type A scale. It names the two issued Type A or B readings it derives from, which must share a deposit and differ in state, so the contrast is auditable and the absolute values are retained rather than replaced. It states its pairing unit. Its interval is a bootstrap over that unit and applies no §5 wideners, because the systematic differences those widen for are shared by both arms and cancel in the ratio — which is the whole reason a paired contrast is worth more than either arm.
- §4 —
derived_fromandseparationadded to the reading record, and to the schema. The validator rejects a Type F reading whose parents are absent, unissued, of the wrong type, drawn from different deposits or in the same state; rejects ahigher_fractionthat disagrees with its own counts; rejects a contrast carrying a stimulation or rejection record that belongs to its parents; and rejectsderived_fromon any non-F reading. - Two contrasts issued: NS-0015 (human, 1.21, 168 of 254 sites) and NS-0016 (mouse, 1.89, 21 of 24 sessions). The mouse contrast had been computed during the reproduction gate on 2026-09-18 and could not be entered until now.
0.3.1 — unreleased
Everything in this version came from applying 0.3.0 to human data for the first time — PRIOS (OpenNeuro ds004370), seven epilepsy patients stimulated on the same implanted electrode grid awake and again under propofol. MINOR-level content in a PATCH number because nothing here changes an existing reading: no between-state comparison had been issued when it was written.
- §2.1 — a between-state comparison must hold the channel set constant. Deposits flag channel validity per recording, not per subject, so the same patient can have 73 of 80 channels good in one state and 70 of 80 in the other. Honoring each recording's own flags compares two states measured on two different arrays. The comparison now uses the intersection and records what the intersection cost. This is the same defect that failed gate attempts 1 and 2, one level up: there the flags were ignored, here they were honored too locally.
- §2.1 — a between-state comparison must hold the trial count constant. PCIst is computed on a trial average, so the condition with fewer trials has a noisier average, and noise lowers the number. In this literature the condition with fewer trials is almost always the unconscious one, because the awake recording is an unhurried clinical session and the anesthetized one is inside an operating-room schedule. An uncorrected comparison therefore produces the expected result for a reason that has nothing to do with consciousness. The larger condition is subsampled per stimulation site by a deterministic rule, and the uncorrected computation is published beside it.
- §4 —
matchingandcomparison_stateadded to the reading record, and toschema/reading.schema.json. The validator rejects a reading that names acomparison_statewithout amatchingrecord, rejectsper_recordingchannel flags and unmatched trial counts inside a comparison, and requires a seed whenever trial selection is random.
0.3.0 — unreleased
Everything in this version came from the second reproduction attempt
(gate/RESULT-2.md), which did not pass. MINOR rather than
PATCH because the first two changes below can alter a computed
value.
- §2.1 — stimulation intensity is now a required field of the
measurement. PCIst varies 5.4-fold with stimulation current
across the range in the reference deposit — 59.62 at 20 µA against 11.11
at 100 µA — which is a larger effect than the wake-versus-anesthesia
contrast the instrument exists to detect. Readings at different
intensities may not be pooled without saying so and reporting the range.
Type A and Type B readings do not validate without a
stimulationrecord. - §2.1 — channel validity and trial rejection are now specified and required. 0.2.0 was silent on both, so the reproduction pipeline used every channel in the deposit, including the channels the depositors had marked invalid. Every reading now records what was excluded and under which rule; excluding nothing must be stated rather than left absent.
- §4 —
stimulationandrejectionadded to the reading record, and toschema/reading.schema.jsonas structured objects. - §9.1 — the gate now has a pass criterion. 0.2.0 required the pipeline to "reproduce a published result," which let the author decide after seeing the numbers. Four requirements are now stated, including that every reported stratum must agree within two combined standard errors. The criterion was written after attempt 2's numbers were known; that defect is recorded in §9.1, attempt 2 does not pass under it, and it binds from attempt 3 forward.
- §0 — status now records all three attempts. Attempt 3, the first run under this version and the first run after §9.1 had a criterion, passed 5 of 5.
- First readings issued: NS-0006 and NS-0011. Writing
them exposed two defects in the record format, both corrected here. A
reading carries one
stateand onevalue, so the planned "wake versus isoflurane" entry was two readings rather than one. Andrejection.trial_threshold_uvassumed a constant, where a rule that derives a threshold per session gives an aggregate reading a range; the field now accepts[low, high]andtrial_threshold_rulerecords the rule.
No reading was issued under 0.2.0, so nothing requires recomputation.
0.2.0 — unreleased
Everything in this version came from the first reproduction attempt
(gate/RESULT.md), which did not pass. MINOR rather than
PATCH because every change below can alter a computed value.
- §2.1 — parameter sets are now per-paradigm.
human_tms_eeg_v1andmouse_spes_v1are named and versioned separately. The single-set approach of 0.1.0 understated both values and separation when applied outside its paradigm. - §2.1 —
resampleis now a required parameter. The computation cannot run without it at native sampling rates, and the rate changes the result by roughly 25% across the range tested. A reading without a stated resample rate does not validate. - §2.1 — the
avgref: trueprescription for SPES is withdrawn. It was written into 0.1.0 before any data had been run through it, and it degraded the first result it was tested against. - §0 — status now records the failed gate attempt.
No reading was issued under 0.1.0, so nothing requires recomputation.
0.1.0 — unreleased
Initial publication of the method, before any reading exists.
- Scope, and the out-of-scope list (§1)
- Perturbational complexity as the measured quantity; PCIst as the reference computation, with the documented TMS-EEG parameter set (§2)
- Reading types A–E, and the rule that types C, D and E do not share the type A/B scale (§3)
- The reading record, with
commissioned_byandfeeas required fields (§4) - Uncertainty wideners (§5)
- Indicator profiles for artificial systems, access levels L0/L1/L2, and contamination controls (§6)
- Claims discipline — the eight statements a reading may not contain (§7)
- Versioning, append-only register, supersession (§8)
- The reproduction gate, and the commitment to publish a failure (§9.1)
- Independence rules (§10)
Not yet reviewed. No outside specialist has reviewed this version. Reviewers are named here alongside the version they reviewed, and a paid reviewer is disclosed as paid.