Viewing files at commit fcd8a785ee1aCommit detailsView latest
Benchmark evidence and admission invariants — 2026-09-12 UTC
This correction follows the FIX review of mrmrs-eec7ec at 2735d7f5558e.
Main remains b297e8a25d08. It is pending independent review, not integrated.
The worker is /Users/mrmrs/o/worker-mrmrs-20260911T191215-bench-regate-fixes/bench;
new evidence uses the qa4- prefix in its parent, preserving earlier reports.
Publication and evidence
Every workflow summary must report successful, measured correctness and a
successful non-skipped operation before publication. This includes single
subjects and non-trusted scenarios such as bugfix_test_loop. The separate
trusted config/asset policy adds committed-tree evidence requirements; it does
not replace the general correctness gate.
Reader classes describe evidence actually obtained. A failed worktree check or
unavailable reader cannot claim committed-tree verification. A successful Git
HEAD read made by the same binary bytes as the Git subject is labeled
subject_binary_committed_tree, including the default PATH configuration.
Non-trusted workflows with narrower committed-payload checks are labeled as
such. Different executable hashes identify distinct selected instruments; they
do not prove independent implementation or certify the operator's tool choice.
The workflow oracle is version 2026-09-11.2, with a literal regression pin.
Unavailable check pass/fail counts are null rather than fabricated zeroes.
Campaign admission and fixture integrity
Fixture preparation and integrity validation precede admission. A corrupt or incomplete cache aborts the invocation with pending trials intact. Partial first-time generation is preserved for investigation; it cannot burn pending trials as task errors.
Cache permissions discourage accidental writes but are not a security boundary against a process with the same UID. The runner validates the cache before each copy, verifies the copied bytes before agent launch, and checks the cache again after the trial. A detected drift invalidates the affected measurement, retains the rejected row, stops admission, and excludes the invalidated attempt from complete paired comparisons. Trial copies remain writable for task execution. Resume binds the cache and its mutable record to the digests already observed in trial journal events. Rewriting both cache and record cannot replace that baseline. Synthetic uncertain torn starts do not claim an observed fixture; ordinary trial events require their recorded binding. These checks do not establish OS containment or protect the trusted runner itself from a fully hostile host.
Shared measurement policy
Both dedicated A/A and embedded-null noise estimates use the same symmetric ratio-spread helper. Candidate regression percentages remain directional. Git local-file and Oak network remote operations are excluded from cross-kind guardrails with an explicit transport note, not treated as equivalent tasks. Missing comparable target operations still regress. Lost or failed optional patch proof remains visible as informational evidence.
Patch tree hashing and mutation classification now belong to the shared output oracle, with one manifest canonicalization. The core lane consumes that policy.
Mount, interleaved command and external-timer processes sanitize Git settings
and suppress Oak's updater through the shared environment helper. They retain
the caller's HOME for authentication/configuration, so their environment policy
is 3-host-home, distinct from the isolated-HOME core policy 3. In particular,
mount rows no longer claim the core isolation contract. Host-home configuration
remains a qualification limitation.
Verification
The final full instrument suite passed: 1,092 tests, three skips, in 130.519
seconds (python3 -m unittest discover -s tests with the shared measurement
lock configured). Complete output is ../qa4-tests.log.
The identical-binary core devloop passed with two repetitions and two A/A
repetitions under the shared measurement lock, with default thresholds and
the pinned Oak 0.103.0 binary in ../subject-identities.json. It reports zero
baseline regressions, the known EOF patch defect as PREEXISTING, and
incompatible remote operations as informational transport exclusions. Evidence:
../qa4-devloop.log and results/qa4-core/20260912T012121Z/.
Producer-level regression tests exercise failed and repaired bugfix summaries, cache corruption before admission, interrupted generation, cache poisoning by a real mock-agent trial, copy corruption before a subsequent agent can run, and a cache-plus-record rewrite rejected against the original journal digest. Environment boundary tests exercise an actual mount subprocess and the interleaved/external-timer execution APIs under poisoned environment settings.