D288 - The sweep kept its own list of diagnostics, and it was already wrong
decided · 2026-08-26 · found while asking what else the loop could run by itself
GuestTrial::spawn clears every diagnostic before each
run, and says why in the strongest terms available: "Every
diagnostic variable cleared first, always. One experiment
inheriting another's - or the environment this sweep was launched from -
is not a controlled run, and a baseline taken with a stale variable set
is not a baseline at all."
It cleared them from a hand-written array of seven
strings. ORBISTOUN_WATCHPOINT was added to
orbistoun-env earlier the same day and never reached it, so
a sweep launched from a shell with a watchpoint set would have inherited
it into all twenty-four runs and called the result a controlled
experiment.
orbistoun-env exists to stop exactly this. Its own
module documentation gives the reason - "a typo does nothing…
documentation drifts… nothing stops another one appearing" - and
the registry is described as the one list. A second
copy of it in another crate is the failure that crate was built to
prevent, reproduced inside a function whose comment is about not letting
runs contaminate each other.
Same family as D123 and D281: a second list that looks authoritative, drifts silently, and is only wrong in the one place nobody re-reads.
And the same sweep held four more copies.
Axis::env spelled every variable it sets as a string
literal, and orbistoun-llm kept its own
ORBISTOUN_LLM_API_KEY. All now read
orbistoun_env::<VAR>.name, which is what
orbistoun-paths already did and said why: "named by
orbistoun-env rather than here, so the one list of what
this project reads stays one list." Three literals survive on
purpose - option_env! needs one by construction, and the
orbistoun-paths and axis tests assert the
spelling deliberately, which is the second list that
catches drift rather than causing it.
So the array goes and the diagnostics are read from the registry,
filtered on Kind::Diagnostic. Settings are deliberately
not cleared - ORBISTOUN_DATA_DIR is how
the sweep points a trial at its own temporary trace directory, and
clearing it would send every run at the machine's real one. That
distinction is what Kind is for, and it is now load-bearing
rather than descriptive.