You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Windows static and e2e gap oracles: remaining failures by class (non-blocking on #58) #72
The Windows static (windows-gap-oracles) and e2e (windows-gap-end-to-end) jobs are non-blocking on #58, which makes Windows blocking for everything else. These two jobs still fail on windows-latest. This issue tracks the remaining failures by class, from run 43522329610 (head 70b118d) and the later runs.
Failures by class (verdict names as the oracles print them):
Output namespace: 82 oracle-gaps.report-static violations, law "output namespace" (checkpoint static). Suspected: a path separator or case in an output directory name.
Baseline lead: 18 oracle-gaps.report violations, law "baseline lead" (checkpoint cli). Suspected: a line written before the baseline's note, or CRLF on Windows stdout.
Streaming: 4 violations, law "streaming" (checkpoint cli).
Greppable stream: 3 violations, law "greppable stream" (checkpoint cli). Possibly a P10 issue on Windows (prefixed lines and the done line).
Incremental equals cold: 1 violation (checkpoint incremental): after a test edit, the daemon's check exited 0 and the cold run exited 3.
2 gap lines for 0 gaps: the stdout gap-line count differs from the model's gap count.
Also tracked here: the Windows e2e shards run 2 to 19 minutes and the static shards 9 to 13 minutes, over the 9-minute per-job budget. Re-shard only after the failures are fixed.
The win32 unknown-argument case caps its argument at 30,000 characters (Windows command-line limit), a recorded narrowing.
Follow-ups from the round-2 review of #58 (recorded here, not fixed on #58):
JavaScript realpathSync sweep: the gap CLI still calls the JavaScript realpathSync where the native variant is required on Windows (it keeps an 8.3 short name): check.mjs (around lines 517, 1773, 2224) and analysis.mjs (around line 106). Each should use realPathOf (paths.mjs), the same rule as the CLI's package root.
replaceAll divergence in the model: the gap-report model and the e2e driver name a path in one spelling in some places and both spellings in others (namedScratch now names both). The model should apply the same rule everywhere, so the expected report line and the observed one are built the same way.
Follow-ups from the last check of #58 (recorded here, not fixed on #58):
L1 (classify reader): the classify oracle's cmd reader rejects every && in a line, even inside quotes, so the set "NAME=value" && prefix branch is never reached by a line the oracle judges. The reader should accept && inside double quotes and judge a set prefix the way the printer writes it, and a generated case should reach that branch.
L6 (Rerun across shells): the Rerun pairs are compared within one shell only. The witness should check that the PowerShell and cmd Rerun lines select the same failing unit (the same decoded filter, the same FAIL line in each shell's output).
Activity
KyleAMathews commentedon Nov 14, 2026
Windows job timings (run 43525797122, head ebc39e6), minutes:
Budget per job under 9 minutes (P12). Re-shard after the failures are fixed.
fix(windows): stop witness, replay quoting by the shells' grammar, an…
KyleAMathews commentedon Nov 14, 2026
Follow-ups from the round-2 review of #58 (recorded here, not fixed on #58):
realpathSyncsweep: the gap CLI still calls the JavaScriptrealpathSyncwhere the native variant is required on Windows (it keeps an 8.3 short name):check.mjs(around lines 517, 1773, 2224) andanalysis.mjs(around line 106). Each should userealPathOf(paths.mjs), the same rule as the CLI's package root.replaceAlldivergence in the model: the gap-report model and the e2e driver name a path in one spelling in some places and both spellings in others (namedScratchnow names both). The model should apply the same rule everywhere, so the expected report line and the observed one are built the same way.KyleAMathews commentedon Nov 14, 2026
Follow-ups from the last check of #58 (recorded here, not fixed on #58):
&&in a line, even inside quotes, so theset "NAME=value" &&prefix branch is never reached by a line the oracle judges. The reader should accept&&inside double quotes and judge asetprefix the way the printer writes it, and a generated case should reach that branch.fix(windows): Windows CI for the oracle framework and gap CLI, and th…