Marius Ciepluch and Claude Opus 5
7acb897d77
fix(cpg): stop a failed session start from consuming the transaction budget
...
The seven-class profile showed a 25.3 s head "build" of which the trace attributes
only 4.5 s to the frontend. The remaining twenty seconds were the session's startup
poll, which was bounded by `min(startup_timeout, deadline - now)` and therefore ran
until the transaction deadline was exhausted. The fallback then had nothing left,
so the transport's failure mode consumed exactly the budget it existed to save.
A session now refuses to start unless enough budget survives for the work it exists
to serve, and the wait is bounded by its own allowance rather than by the whole
deadline. Under the 30-second hook deadline it declines immediately instead of
burning what is left.
Controls cover both: refusing is immediate and starts no process, and a startup
wait ends at its allowance nowhere near a long deadline.
This does not make the gate reachable; it removes a self-inflicted cost that was
hiding the real one. 1,401 tests passed, nine skipped.
Co-Authored-By: Claude Opus 5 (1M context) <[email protected] >
Claude-Session: https://claude.ai/code/session_01EmM1j46qgKMh3zqD1QMwEo
2026-09-17 08:35:57 +02:00
..
2026-06-22 17:13:02 +02:00
2026-09-11 01:16:00 +02:00
2026-09-04 11:50:44 +02:00
2026-06-18 10:06:21 +02:00
2026-09-08 12:15:54 +02:00
2026-09-09 07:42:44 +02:00
2026-09-05 10:45:43 +02:00
2026-09-03 20:33:48 +02:00
2026-09-04 00:18:33 +02:00
2026-09-03 20:33:48 +02:00
2026-09-03 20:05:13 +02:00
2026-09-04 14:06:18 +02:00
2026-09-13 11:53:29 +02:00
2026-09-13 11:53:29 +02:00
2026-09-11 10:49:10 +02:00
2026-09-17 08:35:57 +02:00
2026-09-08 12:15:54 +02:00
2026-06-22 17:13:02 +02:00
2026-06-22 15:27:16 +02:00
2026-09-14 08:07:06 +02:00
2026-06-22 18:57:03 +02:00
2026-06-22 20:02:34 +02:00
2026-09-13 17:08:49 +02:00
2026-06-22 20:02:34 +02:00
2026-06-22 17:59:44 +02:00
2026-06-18 10:06:21 +02:00
2026-09-06 14:18:09 +02:00
2026-06-22 17:59:44 +02:00
2026-09-03 21:01:57 +02:00
2026-06-18 10:59:25 +02:00
2026-09-05 10:45:43 +02:00
2026-09-08 19:46:58 +02:00
2026-09-13 11:53:29 +02:00
2026-09-04 11:53:06 +02:00
2026-09-09 17:33:36 +02:00
2026-09-09 13:15:54 +02:00
2026-09-08 19:46:58 +02:00
2026-09-16 17:35:00 +02:00
2026-09-08 19:46:58 +02:00
2026-09-09 13:09:47 +02:00
2026-09-10 15:49:57 +02:00
2026-09-11 13:45:00 +02:00
2026-09-08 16:58:03 +02:00
2026-09-08 19:46:58 +02:00
2026-09-08 19:46:58 +02:00
2026-09-14 08:07:06 +02:00
2026-09-09 09:27:19 +02:00
2026-09-09 15:39:58 +02:00
2026-09-08 19:46:58 +02:00
2026-09-09 07:42:44 +02:00
2026-09-14 08:07:06 +02:00
2026-09-14 08:07:06 +02:00
2026-09-09 12:45:21 +02:00
2026-09-09 16:13:17 +02:00
2026-09-09 14:30:48 +02:00
2026-09-09 15:08:01 +02:00
2026-09-08 12:15:54 +02:00
2026-09-04 11:50:44 +02:00
2026-09-08 12:15:54 +02:00
2026-09-05 19:38:04 +02:00
2026-09-06 07:24:13 +02:00
2026-09-06 07:24:13 +02:00
2026-09-06 13:09:56 +02:00
2026-09-06 07:24:13 +02:00
2026-09-06 07:24:13 +02:00
2026-09-06 07:24:13 +02:00
2026-09-05 19:38:04 +02:00
2026-09-06 07:24:13 +02:00
2026-06-21 14:28:19 +02:00
2026-09-08 12:15:54 +02:00
2026-09-06 07:24:13 +02:00
2026-09-08 19:46:58 +02:00
2026-09-08 19:46:58 +02:00
2026-06-21 20:44:08 +02:00
2026-06-22 12:31:35 +02:00
2026-06-17 21:13:51 +02:00
2026-09-05 10:45:43 +02:00
2026-09-07 07:37:41 +02:00
2026-09-16 16:03:16 +02:00
2026-09-13 18:03:31 +02:00
2026-09-13 16:16:19 +02:00
2026-09-13 16:11:19 +02:00
2026-09-12 21:12:45 +02:00
2026-09-13 19:32:43 +02:00
2026-09-13 15:24:06 +02:00
2026-09-13 19:06:02 +02:00
2026-09-13 17:51:28 +02:00
2026-09-12 18:45:54 +02:00
2026-09-13 17:45:16 +02:00
2026-09-16 18:52:04 +02:00
2026-09-13 18:43:13 +02:00
2026-09-13 13:25:44 +02:00
2026-09-13 17:08:49 +02:00
2026-09-13 17:08:49 +02:00
2026-09-12 19:04:20 +02:00
2026-09-12 21:12:45 +02:00
2026-09-16 19:59:12 +02:00
2026-06-18 07:57:06 +02:00
2026-06-22 20:02:34 +02:00
2026-09-03 22:36:02 +02:00
2026-09-03 22:48:10 +02:00
2026-09-03 22:12:45 +02:00
2026-09-03 22:59:01 +02:00
2026-09-10 07:32:20 +02:00
2026-09-09 08:10:59 +02:00
2026-06-22 15:41:17 +02:00
2026-06-17 21:13:51 +02:00
2026-09-03 23:43:15 +02:00
2026-09-03 23:43:15 +02:00
2026-09-04 13:57:33 +02:00
2026-09-09 07:42:44 +02:00
2026-06-22 15:27:16 +02:00
2026-06-22 15:41:17 +02:00
2026-09-04 15:07:35 +02:00
2026-09-04 15:07:35 +02:00
2026-09-04 15:07:35 +02:00
2026-09-08 19:46:58 +02:00
2026-06-22 19:51:04 +02:00
2026-06-22 18:39:09 +02:00
2026-09-04 11:49:44 +02:00
2026-09-04 11:54:01 +02:00
2026-09-03 23:14:00 +02:00
2026-09-08 19:46:58 +02:00
2026-09-06 14:18:09 +02:00
2026-09-06 12:39:55 +02:00
2026-06-18 10:06:21 +02:00
2026-06-22 17:59:44 +02:00