A3: a JUnit case's recorded wall is capped by its shard's wall

junitCensus summed a case's JUnit test times as duration_ms; for
plan-mode-no-op's concurrent PTY tests that is 346 s inside a 176 s shard
(the "432-613 s" history). The case wall headroom shows is now
min(sum, shard elapsed), a true upper bound. Session headroom already
used the ledger's per-session clocks.
This commit is contained in:
garrytan committed 2026-10-04 18:44:34 +00:00
1 parent d6f422d528
commit 36a97ceed3
2 files changed
+4 -1

No files matched your search

+2
View File
@@ -115,6 +115,8 @@ describe('record builders attach ledger sessions and failure causes (plan 0.1/0.
sessions: [{ key: 'pty:session#1', runner: 'pty', elapsed_ms: 16_800, budget_ms: 180_000, end: 'completed' },
{ key: 'pty:session#2', runner: 'pty', elapsed_ms: 180_050, budget_ms: 180_000, end: 'observer_timeout' }] });
for (const record of r.history) expect(trialRecordProblemsV1(record), record.case).toEqual([]);
// Its five tests run concurrently: JUnit times sum to 346 s, the shard's wall is 176.5 s (lane S A2).
expect(noOpRecord.duration_ms).toBe(176_495);
const plain = report('gate', dir => { failNoOp(dir); fs.rmSync(path.join(noOp(dir), 'session-ledger.jsonl')); });
const without = plain.history.find(record => record.case === 'plan-mode-no-op');
expect(without.failure_class).toBe(noOpRecord.failure_class);