Teknium
d3a1c46510
feat(agent): context size anchors on provider-reported usage — estimation shrinks to the last turn
...
Every provider response carries usage.prompt_tokens — exact ground truth
for the full request (system prompt + tool schemas + history). Context-size
checks now anchor on the last main-loop response's usage and estimate only
the messages appended since, instead of re-estimating the whole history
with chars/4 heuristics and flat 1500-token image costs. The estimate error
window shrinks from the entire conversation to one turn and self-corrects
at every response.
- agent/model_metadata.py: capture_usage_anchor() / anchored_context_tokens()
with a structural base-message identity check that fails closed on any
transcript rewrite.
- agent/conversation_loop.py: anchor captured at the single main-loop usage
site (MoA uses pre-fold aggregator usage; advisor/aux calls never anchor);
pre-API pressure check prefers the anchor.
- agent/turn_context.py: preflight compression estimate prefers the anchor.
- agent/context_breakdown.py: /context display prefers the anchor.
- Invalidation: compaction rewrite (conversation_compression), codex native
compaction (codex_runtime), session reset/switch (run_agent), plus the
fail-closed structural check for splices/micro-compaction.
- Usage-less responses keep the previous anchor; no anchor -> pure
estimation fallback (first request of a session).
2026-08-28 07:51:31 -07:00
..
2026-08-25 01:48:43 +05:30
2026-08-25 14:02:40 -07:00
2026-08-15 00:33:01 -07:00
2026-07-24 11:45:57 -07:00
2026-08-15 13:28:14 -07:00
2026-08-26 12:58:35 +05:30
2026-08-07 10:11:05 -07:00
2026-07-22 10:58:22 -07:00
2026-08-26 10:10:11 -07:00
2026-08-28 07:51:31 -07:00
2026-08-28 07:51:23 -07:00
2026-08-20 12:29:11 -05:00
2026-07-18 20:01:55 +05:30
2026-07-16 04:23:12 -07:00
2026-08-28 13:05:06 +05:30
2026-08-02 10:02:33 -07:00
2026-07-26 23:41:54 -07:00
2026-08-26 10:10:11 -07:00
2026-07-21 13:54:11 -05:00
2026-08-21 15:02:29 -07:00
2026-07-22 18:08:59 -05:00
2026-07-29 11:53:39 -07:00
2026-07-29 11:53:39 -07:00
2026-07-05 14:00:20 -07:00
2026-08-10 10:45:44 -07:00
2026-08-12 19:13:32 -07:00
2026-08-27 18:56:21 -07:00
2026-08-28 04:58:14 -07:00
2026-08-28 07:51:31 -07:00
2026-08-24 20:25:10 -07:00
2026-08-15 03:16:21 -07:00
2026-08-21 21:53:11 +05:30
2026-08-28 07:51:31 -07:00
2026-08-28 06:32:48 -07:00
2026-08-08 23:09:45 +05:30
2026-08-12 18:41:59 -07:00
2026-08-28 07:51:31 -07:00
2026-08-28 07:51:31 -07:00
2026-08-26 10:10:11 -07:00
2026-07-02 13:17:41 -07:00
2026-08-23 20:01:18 -07:00
2026-08-08 12:32:23 -07:00
2026-08-22 04:20:48 +05:30
2026-08-16 22:06:41 -07:00
2026-08-25 00:31:14 -07:00
2026-08-27 17:22:02 +05:30
2026-08-06 03:16:26 +05:30
2026-08-13 09:34:36 -07:00
2026-08-16 22:06:08 -07:00
2026-08-28 04:58:06 -07:00
2026-08-21 15:24:03 -07:00
2026-07-17 13:49:12 -07:00
2026-08-08 05:21:09 -07:00
2026-08-28 06:36:22 -07:00
2026-08-27 21:07:21 +05:30
2026-07-26 20:59:16 -07:00
2026-07-29 15:28:15 -07:00
2026-08-08 14:49:28 -07:00
2026-08-19 16:10:01 -07:00
2026-08-23 17:47:50 -07:00
2026-08-14 02:04:24 +05:30
2026-08-23 18:25:19 -07:00
2026-07-26 12:54:45 -07:00
2026-07-14 16:47:33 +05:30
2026-08-08 05:09:43 -07:00
2026-07-29 11:53:39 -07:00
2026-07-01 16:25:48 -05:00
2026-06-30 15:16:21 -05:00
2026-07-16 07:57:51 -07:00
2026-08-19 22:41:05 -07:00
2026-08-25 03:55:55 -07:00
2026-08-25 03:55:55 -07:00
2026-08-15 01:04:19 -07:00
2026-08-28 07:51:16 -07:00
2026-08-13 23:10:16 +05:30
2026-08-13 23:10:16 +05:30
2026-08-28 07:51:31 -07:00
2026-08-14 03:31:22 +05:30
2026-07-20 11:05:52 -07:00
2026-08-25 03:55:55 -07:00
2026-07-24 17:10:39 -07:00
2026-07-22 12:10:58 -05:00
2026-06-23 08:01:50 +00:00
2026-08-02 15:01:11 -07:00
2026-08-12 16:25:20 -07:00
2026-08-12 18:38:25 -07:00
2026-07-16 01:13:43 -07:00
2026-08-24 21:46:05 -07:00
2026-08-26 04:50:13 -07:00
2026-08-09 15:25:12 +05:30
2026-08-15 11:09:56 +05:30
2026-08-21 12:23:47 +05:30
2026-08-26 10:10:11 -07:00
2026-07-10 05:41:59 -05:00
2026-08-21 14:58:37 -07:00
2026-08-06 22:02:37 -05:00
2026-08-27 03:24:20 -07:00
2026-08-13 23:10:16 +05:30
2026-08-19 08:52:01 -07:00
2026-08-19 08:52:03 -07:00
2026-08-08 23:46:17 -07:00
2026-08-16 01:55:51 -07:00
2026-07-19 08:25:35 +05:30
2026-07-29 10:13:50 -07:00
2026-08-23 19:04:37 -07:00
2026-07-16 04:32:23 -07:00
2026-08-21 13:21:46 +10:00
2026-08-02 16:16:36 -07:00
2026-08-15 23:03:52 -07:00
2026-07-29 12:20:34 -07:00
2026-08-19 19:41:42 -07:00
2026-07-29 15:28:15 -07:00
2026-08-24 20:25:10 -07:00
2026-08-08 15:10:24 +05:30
2026-07-02 04:51:56 +05:30
2026-07-17 18:31:09 +00:00
2026-08-23 18:25:19 -07:00
2026-08-28 05:45:00 -07:00
2026-07-22 08:11:09 +05:30
2026-08-28 06:36:22 -07:00
2026-08-24 20:10:44 -07:00
2026-08-24 20:10:44 -07:00
2026-07-16 01:07:29 +05:30
2026-06-25 19:00:48 -07:00
2026-08-15 00:33:01 -07:00
2026-08-16 22:10:02 -07:00
2026-08-25 15:24:15 -07:00
2026-08-27 14:26:38 +05:30
2026-08-25 02:45:10 -07:00
2026-07-11 05:41:58 -07:00
2026-08-14 21:41:26 -07:00
2026-08-12 19:01:30 -07:00
2026-08-12 19:13:32 -07:00
2026-08-12 19:13:32 -07:00
2026-08-28 07:51:31 -07:00
2026-08-25 03:55:55 -07:00
2026-08-28 03:46:24 -07:00
2026-07-26 17:47:51 -07:00
2026-08-24 03:23:07 -07:00
2026-08-16 00:14:58 -07:00
2026-08-12 01:15:25 -07:00
2026-06-30 00:59:29 -05:00
2026-08-22 23:25:43 -07:00
2026-08-28 05:10:33 -07:00
2026-08-19 16:10:01 -07:00
2026-08-19 15:15:27 -07:00
2026-08-20 00:17:25 -07:00