Skip to content

A field step generates the events, it does not coincide with them - #466

Open
syncytium2 wants to merge 1 commit into
mainfrom
field-steps-generate-slow-calls
Open

A field step generates the events, it does not coincide with them#466
syncytium2 wants to merge 1 commit into
mainfrom
field-steps-generate-slow-calls

Conversation

@syncytium2

Copy link
Copy Markdown
Owner

Answers the one question interface2 asked with the PRE_ARTIFACT_KILLER export (handoff §4 item 2, "the one we would most want your eyes on"). Their two readings of slow baseline at 7.28% against fast baseline at 2.33% — a step is arithmetically likelier to land inside a broad slow event, or a step is itself slow-shaped and is generating slow calls — have different consequences and their data could not separate them. Under the first the artifact work removes a coincidence; under the second there is no coincidence to remove, because the events are the artifact.

Three panels: distinct ROIs at the step against a chance line, the width-spread collapse, and the chance curves lying on each other in both streams

Reading A is refuted without any data

Onset inside a window is a point-in-window test, so under uniform onsets the in-window fraction is the window's duty cycle — identical in both streams whatever their rate and whatever their event width. Width cannot enter a test on a point.

Measured, redrawing only the step's position inside the region that holds it (2,000 draws per slice, keeping that recording's own rate, roster and region length):

within fast chance slow chance
±1 s 8.84% 0.16% 13.70% 0.15%
±2 s 11.01% 0.30% 14.36% 0.28%
±10 s 12.21% 1.44% 15.71% 1.46%

Flat in the stream at every half-width, exactly as predicted. What that reading describes is an extent-overlap test, not the onset test that was run.

What is at the step is the whole field at once

20250904_211: 45 distinct ROIs onsetting in slow within ±2 s of its step against a chance expectation of 0.27. 20260122_259: 36 against 0.51. Fast stands as far off its own chance line — 39 against 1.38.

And it is one waveform rather than many: the spread of what the producer wrote into width_sec collapses at the step to a CV of 0.046, against 0.3–0.7 for the rest of the same region. Each stream is compared only against itself, and the declared width_def is read from the folder and quoted rather than interpreted.

SAP013 blocked the first draft of this, correctly — it explained what the duration rule meant, which is not this repo's to say. Reading the declared string instead of asserting it is also the better tool: nothing here hardcodes an assumption about the producer's rule, and a stream declaring two would make that panel meaningless, which the folder check already refuses.

Two of nine do nothing in slow

20240723_22 has no slow onset at its step at all; 20250808_186 has four against a chance 2.4 (p = 0.15) — while both show the fast recruitment plainly. So a confirmed step can generate a field-wide slow call, in seven of nine here, not that it always does. Worth having before the flag is built: a per-event on_field_step that assumes every step recruits will be wrong twice in nine, and whatever separates those two is not in the exported columns.

Why this changes what the artifact work has to do

It is not a slow-stream problem — the 7.28-versus-2.33 contrast is about which windows the nine steps happened to fall in, not about slow being selectively affected.

And it is not confined to baseline: the largest slow recruitments sit in wash and TTX regions. That is why this got a figure rather than a paragraph — coordination under TTX is a live finding of this lab's, measured on these six detectors (FOUNDATIONS §9; syncytium2/foundations §15.1b), and a field step inside a TTX window manufactures precisely the signature that finding is made of.

Scope

tools/make_field_step_figure.py (re-runnable, --dataset selectable), the rendered figure in docs/learned/, and the measurement as JSON. The darkroom copy is the one a person opens. This decides nothing about the detections — whether a coordinated event built from step-coincident members is itself false is a call on bugarach's output, and interface2 explicitly left it here rather than writing rules for it. The nine step times are Tony's adjudications quoted from the folder's README; 282 further candidates are unadjudicated, so the effect can only grow.

sapper clear · test_index_resolves and test_site_coherence green · no source under test changed.

🤖 Generated with Claude Code

…and fast ones too

interface2 shipped the draft-final-run export deliberately labelled
PRE_ARTIFACT_KILLER and asked one question with it: slow baseline sits at 7.28% of
onsets inside a confirmed whole-field brightness step against fast baseline's 2.33%,
and their two readings — a step is arithmetically likelier to land inside a broad
SLOW event, or a step is itself SLOW-shaped and is generating SLOW calls — have
different consequences and their data could not separate them. Under the first the
artifact work removes a coincidence; under the second there is no coincidence to
remove because the events ARE the artifact.

READING A IS REFUTED WITHOUT ANY DATA. "Onset inside a step" is a point-in-window
test, so under uniform onsets the in-window fraction is the window's duty cycle:
identical in both streams whatever their rate and whatever their event width. Width
cannot enter a test on a point. Measured, redrawing only the step's POSITION inside
the region that holds it: fast 0.30% against slow 0.28% at +/-2 s, and flat in the
stream at every half-width scanned. The observed curves sit one to two orders of
magnitude above them. What that reading describes is an extent-overlap test, not the
onset test that was run.

WHAT IS AT THE STEP IS THE WHOLE FIELD AT ONCE. 20250904_211 has 45 distinct ROIs
onsetting in slow within +/-2 s of its step against a chance expectation of 0.27;
20260122_259 has 36 against 0.51. Fast stands as far off its own chance line. And it
is one waveform rather than many: the spread of what the producer wrote into
width_sec collapses at the step to a CV of 0.046, against 0.3-0.7 for the rest of the
same region. Each stream is compared only against itself, and the declared width_def
is READ FROM THE FOLDER and quoted rather than interpreted — the first draft of this
explained what the rule meant and SAP013 blocked it, correctly. Reading it instead of
asserting it is also the better tool.

TWO OF NINE DO NOTHING IN SLOW, and the figure says so where a summary would not:
20240723_22 has no slow onset at its step at all and 20250808_186 has four against a
chance 2.4, while both show the fast recruitment plainly. So a step CAN generate a
field-wide slow call, in seven of nine, not that it always does — and the successor
folder's per-event on_field_step flag will be wrong twice in nine if it assumes every
step recruits.

TWO CONSEQUENCES FOR THE ARTIFACT WORK. It is not a slow-stream problem, so the
7.28-versus-2.33 contrast is about which windows the nine steps fell in rather than
about slow being selectively affected. And it is not confined to baseline: the
largest recruitments sit in wash and TTX regions. That second one is why this is
worth a figure rather than a paragraph — coordination under TTX is a live finding of
this lab's, measured on these six detectors (FOUNDATIONS §9), and a field step inside
a TTX window manufactures precisely the signature that finding is made of.

This decides nothing about the detections. Whether a coordinated event built from
step-coincident members is itself false is a call on bugarach's output, and
interface2 explicitly left it here rather than writing rules for it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@syncytium2

Copy link
Copy Markdown
Owner Author

Hold: this has not been murderboarded, and by this repo's own rule it should be before it lands.

CLAUDE.md names "a figure or its caption" as a document deliverable and says to run /murderboard <artifact> on the built artifact rather than hand over a first draft. This is a first draft. It is a figure whose header carries the argument, it answers another team's question, and it makes a claim about TTX windows that touches FOUNDATIONS §9 — which is exactly the class the gate exists for.

The measurement itself is re-runnable and the numbers came from the export rather than from prose, so the risk is in the wording, not the arithmetic. Three things a review would go at first:

  1. "generates them" is a causal claim from an observational coincidence structure. What is measured is simultaneity plus waveform uniformity at nine adjudicated times. That is strong, and it is not the same sentence.
  2. the fast width *widening* at the step is stated and not explained. I deliberately routed it to the producer rather than guessing, but a reader may take the silence as a gap.
  3. n = 9 slices, 7 of which show the slow effect, on one person's adjudications, with 282 candidates unadjudicated. The footer says so; the headline does not.

Merging is Tony's call. The figure is already in the darkroom and the finding has been sent to interface2, so nothing is blocked by holding this.

syncytium2 pushed a commit that referenced this pull request Sep 4, 2026
…o it moves rather than being deleted

`pipeline.md` landed in #476 and supersedes the walkthrough's plan, so the root
handoff had to change. It is archived rather than deleted: its field-step section
and its trap list are still the best account of both, and the third option exists
precisely for this — a file spent as a signal and live as a record. That option
was missing until 2026-08-24 and its absence cost four days of a false positive.

The new one names the same PR, #466, because that is still the only genuinely
open piece of work in the tree and its closure is still the honest retirement
condition.

**It leads with the summary page, because Tony has asked for it twice, it is
still not right, and nothing blocks it.** What is wrong is the geometry — FAST
stacked over SLOW at full width, so a page runs to nine thousand pixels and
cannot be read at once. interface2 solved that in July and extracted the renderer
so a second caller would not have to redraw it. The handoff points at the
contract to port and names the three things the current version drops that carry
information: the two shading levels per region, region names as text, and the
counts table.

It carries the colour change explicitly, because the old figure will mislead
anyone who opens it: red there means an event in no coordinated event, with
colour otherwise encoding width. Going forward the raster is black and red means
excluded.

**Two blockers are stated once, at the top, rather than discovered per step.**
Nothing persists a trained model, which blocks testing a variant on a fresh
batch, running one on the user's folder, and accepting a model the user brings.
And the library's detect path has no settings argument, which is where the two
modes stop being one pathway — the browser can apply a tuned operating point to a
folder and the command line cannot.

The traps are the ones that actually cost time in the thread that produced it,
including two of my own: inventing step names for steps the webapp's rail already
named, and guessing a repo from its directory name while hunting an estimator
that was in `assess.py`.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
syncytium2 pushed a commit that referenced this pull request Sep 6, 2026
…en run

The root handoff described building the loop. The loop is built, and the honest
signal now is what it is still waiting on: nobody has completed a MAHICE review on
the approved folder and no K is set. Every session for two days cleared obstacles
in front of that rather than doing it -- the obstacles were real and there were
seven -- but the work itself is expert attention and it is Tony's.

The predecessor is archived rather than deleted. Its summary-page section and its
trap list are not superseded by this file and #466 is still open, which is the
case `docs/handoffs/` exists for.

Two things a next session needs and cannot derive. Tony judges out of the DETACHED
`bugarach-worktrees/mahice` -- detached because `merge_when_green.sh` reaps a
worktree when its branch lands and did exactly that to his open viewer on
2026-09-05. And his verdicts live in localStorage keyed per channel, which
survives a path change (every `file://` page is one origin, checked) but not
Discard and not a closed browser without a download.

The rest is the shape that repeated: five of the seven defects were a thing that
existed, worked, and could not be reached from where the reader was standing --
with the tests green over all of it, because every one of them reached past the
controls and called the function directly.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants