felixxia-oai
17e64839eb
Add aggregate budget enforcement for Guardian context ( #44166 )
...
## What changed
Add `ComposedContext::enforce_budget` to fit evidence within the input token allowance after reserving existing context. Preserve required content and message boundaries, reserve an omission notice, and return an error if required evidence cannot fit.
Carry retention policies through transcript rendering and composition. Protect user messages, protected messages, and the newest five tool entries. Remove oversized optional items first, then evict commentary, older tool evidence, and images in priority order. Add image admission support and record omitted content in truncation observations.
## Testing
Add tests for existing-context reservations, required-message preservation, image omission, framing costs, and protection of the newest five tool entries in both context profiles.
GitOrigin-RevId: 8a0f245bad82f562323b4533442385ddbcb6e541
2026-09-09 14:55:36 +00:00
..
2026-07-29 13:53:15 +00:00
2026-09-05 18:06:26 +00:00
2026-08-24 22:40:35 +00:00
2026-09-09 00:34:45 +00:00
2026-07-29 13:53:15 +00:00
2026-09-09 14:48:08 +00:00
2026-09-07 19:34:23 +00:00
2026-09-07 19:51:53 +00:00
2026-09-09 03:27:31 +00:00
2026-07-30 19:47:30 +00:00
2026-09-03 06:02:25 +00:00
2026-09-07 00:00:23 +00:00
2026-08-20 08:10:08 +00:00
2026-08-31 13:44:12 +00:00
2026-08-31 13:44:12 +00:00
2026-09-03 23:20:54 +00:00
2026-09-09 03:17:48 +00:00
2026-09-02 21:50:51 +00:00
2026-09-07 16:55:06 +00:00
2026-08-14 05:03:39 +00:00
2026-08-17 22:37:14 +00:00
2026-09-09 00:10:54 +00:00
2026-09-02 20:07:11 +00:00
2026-09-03 01:46:37 +00:00
2026-08-28 19:44:50 +00:00
2026-08-29 02:52:58 +00:00
2026-09-01 17:17:45 +00:00
2026-09-01 01:00:50 +00:00
2026-09-08 17:51:40 +00:00
2026-09-09 00:34:45 +00:00
2026-08-18 23:47:00 +00:00
2026-08-13 23:13:37 +00:00
2026-08-25 21:20:51 +00:00
2026-09-09 10:51:24 +00:00
2026-09-05 01:25:06 +00:00
2026-09-09 06:04:59 +00:00
2026-08-31 21:27:51 +00:00
2026-09-08 19:56:25 +00:00
2026-09-04 23:56:25 +00:00
2026-09-09 14:55:36 +00:00
2026-09-03 23:20:54 +00:00
2026-09-02 18:34:27 +00:00
2026-08-07 11:30:17 +00:00
2026-09-05 12:17:32 +00:00
2026-09-07 17:09:04 +00:00
2026-09-08 21:11:43 +00:00
2026-09-07 16:55:06 +00:00
2026-08-17 04:37:50 +00:00
2026-09-09 14:48:08 +00:00
2026-09-02 15:07:11 +00:00
2026-09-09 06:04:59 +00:00
2026-09-04 18:02:08 +00:00
2026-07-31 21:37:56 +00:00
2026-08-27 20:44:47 +00:00
2026-09-06 20:52:29 +00:00
2026-09-09 14:55:36 +00:00
2026-09-07 13:58:57 +00:00
2026-09-08 18:04:48 +00:00
2026-09-08 19:40:43 +00:00
2026-09-01 15:12:53 +00:00
2026-08-26 23:41:18 +00:00
2026-09-07 17:26:10 +00:00
2026-09-08 14:23:23 +00:00
2026-09-09 03:17:48 +00:00
2026-09-09 03:17:48 +00:00
2026-09-08 20:37:30 +00:00
2026-09-08 16:38:25 +00:00
2026-09-09 07:06:12 +00:00
2026-07-30 04:26:36 +00:00
2026-09-04 23:06:00 +00:00
2026-09-01 17:17:45 +00:00
2026-09-05 12:08:18 +00:00
2026-08-25 15:50:19 +00:00
2026-09-09 01:19:07 +00:00
2026-09-07 20:25:30 +00:00
2026-08-26 17:45:42 +00:00
2026-08-21 16:45:05 +00:00
2026-09-09 00:03:41 +00:00
2026-09-09 12:30:07 +00:00
2026-08-28 01:14:02 +00:00
2026-09-04 20:09:04 +00:00
2026-08-10 15:43:10 +00:00
2026-09-09 06:04:59 +00:00
2026-09-09 04:00:10 +00:00
2026-09-05 05:21:42 +00:00
2026-09-09 00:18:35 +00:00
2026-09-02 18:34:27 +00:00
2026-09-08 04:35:21 +00:00
2026-09-09 12:30:07 +00:00
2026-09-02 02:09:35 +00:00
2026-09-09 12:30:07 +00:00
2026-09-02 18:42:06 +00:00
2026-09-08 00:13:28 +00:00
2026-09-09 05:56:45 +00:00
2026-09-08 04:55:29 +00:00
2026-09-03 20:01:07 +00:00
2026-09-08 22:13:38 +00:00
2026-09-02 22:19:51 +00:00
2026-08-15 14:31:04 +00:00
2026-09-08 23:37:26 +00:00
2026-09-08 21:19:02 +00:00
2026-09-09 06:04:59 +00:00
2026-09-09 05:39:28 +00:00
2026-07-28 20:49:22 +00:00
2026-07-29 13:53:15 +00:00
2026-09-04 05:07:02 +00:00