Skip to content

Apparatus

The planted check at a quarter passes 2 of 10 runs: redesigned before registration

The ten runs planned above (jobs 210077 to 210086, pinned at b05a2d8), rq1-partition-openstack-*-n1850-plant0.25.json. Two pass (partitions 2 and 12), seven read mixed, one fail. The planted effect is there in every run but one half (partition 5, half b, -0.013), from about +0.003 to +0.106, and the development window's 81 to 125 changes a half resolve the smaller ones no better than the pilot's 183 did. Registered as drafted, check 5 would halt a working apparatus in about four studies of five. By the rule fixed before these runs, it is not registered at a quarter: the plant is raised to a half and the same ten partitions and seeds are repeated.

Planned before any run: the planted-convention check's pass rate on v3 at N = 1,850

Audit item 5. The Stage 1 draft registers outcome-neutral check 5: on the development window, one run with each half's own comment marker planted in a quarter of its refinements must pass on both halves. Its one pilot (v1, bf16, random halves of 183 changes each, one seed) passed on the weaker half at a lower bound of +0.005, and on a partition the halves hold 125 and 81 development changes. A positive control that halts a working apparatus is not "sufficient" in the sense the registered-report guidelines use, so its pass rate is measured before it is registered.

The stopping rule is liberal at the K it stops at, so K is fixed from the pilot: 24 for OpenStack

The simulation of the registered rule (partition-sensitivity-openstack-stopping.json, commit 2cd4184): 1,000 null studies and 300 per power step at each run spread, the test window's 1,635 planned changes drawn from the v3 pilot, runs on admissible partitions built as the jobs build them, Algorithm 1 from K = 8 to 40. One-sided false positives against nominal 0.0125 (97.5%) and 0.025 (95%), mean runs, share at the cap, and the rate at which a second, independent aggregation differs by more than xi = 0.01:

RQ2 is rebuilt on permitted hosts, and FedSAIL joins the defences

Decided with AJ ("item 3"). Every RQ2 measurement so far reads AOSP and Qt corpora fetched over REST before the robots.txt stop (2026-09-23): the codebase-family attribution, the aggregate attack and all four adapter-split defences. They are kept as internal pilots and nothing built on them is published. RQ2's publishable corpora are the permitted hosts: OpenStack, Wikimedia, and LineageOS, whose Android platform code stands in for AOSP's C, C++ and Java family. AOSP returns through the NoteDb route once its host's terms allow bulk fetching; Qt returns only with permission.

Candidate organizations beyond Qt and Chromium: Wikimedia, then LineageOS; the Linux Foundation hosts are too small

Qt and Chromium have not answered the requests for permission, and H2 runs only if both are admitted. Decided with AJ: the Stage 1 design names an ordered list of candidate organizations and the criteria that admit one (a host whose robots.txt and terms permit automated access, or written permission; the split criteria at the design's training size), so a host that never answers moves the study to the next candidate rather than stopping it. Registered-report guidance asks for inclusion criteria and the conditions under which units are replaced to be fixed in Stage 1.

A rebased test reached chromium-review; the suite is now offline and REST refuses unpermitted hosts

What happened. #35 gave Chromium a REST host. #39's test that an organization without one is not fetched over REST (fetch --org chromium) therefore stopped being refused once #39 was rebased onto #35, and ran a real fetch. Two local make verify runs in #39's worktree each sent at least one request for status:merged after:2025-10-01 before:2025-11-01 to chromium-review.googlesource.com/changes/. How many attempts each made, and what came back, was not recorded and cannot be reconstructed: the retry budget bounds one URL's attempts, not a run's, and the second run held a connection for about eleven minutes before it was killed. No snapshot from the test survives: pytest keeps its recent runs' temporary directories, and none holds one (checked). Writing the guard's own test first then opened one TCP connection to a Google address (no request sent) and made one DNS lookup. The rebased branch was never pushed, so CI sent nothing. This is a breach of the collection stop of 2026-09-22, caused by an unfaked network path in a test.

Pooling does not make absence reachable either

The registered pooled estimate is sharper than any one cell, so it was the natural home for the negative readings. Simulated the same way, H1 pooled over openstack, qt with every half one equally weighted stratum (planned changes [814, 995, 1784, 1497]): a true null reads absent 0.040 of the time at 97.5% and 0.145 at 95% (decomposition-sensitivity-pooled.json). Chromium would add a third organization and narrow the interval by roughly a further fifth, which does not change the picture. At this test window, 0.01 is not a resolvable equivalence bound.

Chromium scoped: five C++ projects clear the rule, and no split of them meets the criteria

datasets/results/host-scoping-chromium.json, written by scripts/host_scoping.py from the raw counts committed beside it; about 1,050 requests at one a second, nothing written into the corpus. The selection rule (host-scoping-chromium/selection-rule.txt) was written at 21:58 EDT, before any per-project yield was read: C++ the dominant file type among what sampled human changes touch, and at least 256 projected examples over the train and dev months (2024-11 to 2025-10, cutoff 2024-11-01). Projected examples are human changes times reviewer-anchored comments per sampled change times 0.42, which is Qt's 0.219 examples per fetched change over those months (its examples and fetch records on disk) against its 0.5 comments a change of 2026-09-21. The 0.5 comes from ten changes, so the projections give orders of magnitude and nothing finer.