ci: the debugged conformance run as a tier B gate #290
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
The conformance suite lowered for the debugger (
TORB_VM_DEBUGGED=1 sh tools/conformance.sh --vm) passes today but is "a run, not a gate" (DEBUGGER.md section 19). A change to the lowering or to the VM's statement handling can break a program only under the debugged lowering and nothing in CI would notice. Split out of #43; it is independent of the cheaper attached run: this run is lowered for the debugger with no debugger attached, so the attached-run work does not change its time.Source
tools/gates.sh(lane_conformance,lane_runtime_and_embedded),tools/conformance.sh(timings file per back end),compiler/CONTRIBUTING.md(tier B list).Seed impact
None: shell scripts and docs only. No syntax change, no new native, no driver flag, no std name looked up by string.
Plan (one PR, two Conventional Commits)
test(conformance): run the suite in the VM lowered for the debugger- add the leg to tier B as a gate in laneb2(lane_runtime_and_embedded, 147 s on main against 399 s for laneb1), namedconformance suite in the VM, lowered for the debugger:env TORB_VM_DEBUGGED=1 TORB_CONFORMANCE_JOBS=... sh tools/conformance.sh --vm.conformance.shkeeps its timings of that leg in its own file (vm-debugged.txtbesidevm.txtandnative.txt), so the longest-first order of the plain VM leg is not overwritten with the debugged times. Push this commit alone first and read the new gate's time andtier B: green (Ns)from the forge CI log (ci-wait.sh/ job log).docs(debugger): record the debugged conformance gate- DEBUGGER.md sections 19 (the measured time) and 20 (drop the open point), the tier B description incompiler/CONTRIBUTING.md, and the gate list comment at the top oftools/gates.sh.Acceptance criteria
sh tools/gates.sh bruns the debugged leg; the forge CI log of tier B shows the lineconformance suite in the VM, lowered for the debugger: <N>sand it is green on every program of the suite and ofvm-only/(leak gate and.workersruns included). A program that fails only when debugged is a bug of the lowering or the VM: fix it in this PR if small, else file a split-out issue and exclude nothing silently.b2if that lane (147 s + the debugged leg) stays below laneb1(399 s), i.e. the leg is under about 250 s andtier B: greendoes not grow. Over that, the gate is not merged as is: record the numbers in a comment and re-plan (for example a sample of the suite) before going on.tools/conformance.sh --vmwith and withoutTORB_VM_DEBUGGED=1writes two different timings files (checked by running the script twice withTORB_CONFORMANCE_TIMINGSpointing at a scratch directory and listing it; the check is one quick local run with--filter, not the suite).compiler/CONTRIBUTING.mdnames the third conformance leg;torb docs skill docs skills --checkandpdiscstay green.Proving tests
The gate is its own proof: the forge CI run of the PR (tier B) with the debugged leg green; plus the timings-file check above.
Model
sonnet / medium (tooling and docs, no
compiler/srcchange).Dependencies
None. #43 (the cheaper attached run) is independent of this one.
[loop:torbscript] refine: ready, split out of #43; decisions and numbers are in the comment on #43 (tier B is 507 s with lanes b1 399 s and b2 147 s; the debugged leg goes into b2). Acceptance: the debugged leg is a green gate of tier B with its own timings file, its time read from the forge CI log of the first commit and recorded in DEBUGGER.md section 19, lane b2 stays shorter than b1, docs and CONTRIBUTING updated. Seed impact none. Model sonnet/medium. next: implement
[loop:torbscript] claim implement by session:loop-torbscript-20261010 until 2026-10-10T04:42Z (#43 waits: it shares the debugger code with PR #289)
[loop:torbscript] implement: PR #291, CI green (bootstrap, tier A, tier B incl. the new debugged conformance leg, all hosts), worker usage not known, next: waiting (review by the merge gate argus)