Teknium
2a1e615565
fix: persist non-NULL system prompt on fresh turn setup ( #45499 ) ( #52616 )
...
build_turn_context() created the DB session row via _ensure_db_session()
before the system prompt was restored/built, so a fresh API/gateway agent
carrying client-managed history inserted a row with system_prompt=NULL. That
tripped the misleading 'stored system prompt is null; rebuilding from scratch
... investigate the previous turn's write path' warning and a guaranteed
first-turn prefix cache miss. Move row creation to after _cached_system_prompt
is populated.
Verified live (OpenRouter + claude-sonnet-4.5): persistent-agent turns show
cache_read jumping to the full prefix on turn 2+ (write 24411 -> read 24411),
and the persisted system_prompt is non-NULL so fresh-agent restore keeps the
prefix cache warm.
Tests: turn-context ordering regression asserting _ensure_db_session runs
after _cached_system_prompt is populated.
2026-06-25 12:54:19 -07:00
..
2026-06-08 22:46:57 -07:00
2026-06-24 23:11:21 -05:00
2026-06-08 22:46:57 -07:00
2026-06-24 21:46:30 -07:00
2026-05-28 00:20:11 -07:00
2026-06-12 08:51:10 +00:00
2026-06-25 00:17:17 -07:00
2026-06-22 07:00:42 -07:00
2026-06-23 23:59:40 -07:00
2026-05-15 14:00:01 -07:00
2026-06-21 22:43:48 -07:00
2026-05-18 10:14:38 -07:00
2026-06-22 14:54:53 -07:00
2026-06-15 05:25:17 -07:00
2026-06-19 01:53:32 +05:30
2026-05-17 04:04:15 -07:00
2026-05-29 04:22:27 -07:00
2026-06-20 10:46:01 -07:00
2026-06-17 17:33:32 -07:00
2026-06-21 16:39:02 -07:00
2026-06-23 08:00:01 +00:00
2026-06-24 18:31:51 +05:30
2026-05-29 19:05:03 -07:00
2026-06-09 19:16:46 -05:00
2026-06-22 18:23:21 -05:00
2026-06-25 12:24:34 -05:00
2026-06-14 03:20:21 -07:00
2026-05-25 00:32:08 -07:00
2026-06-21 08:26:37 -07:00
2026-05-26 15:41:11 -07:00
2026-06-12 08:51:10 +00:00
2026-06-17 05:40:05 -07:00
2026-06-17 05:20:32 -07:00
2026-06-25 00:47:14 -05:00
2026-06-10 12:39:44 -07:00
2026-06-13 21:14:32 -07:00
2026-06-14 02:07:32 -07:00
2026-06-13 13:47:08 -07:00
2026-04-28 06:46:45 -07:00
2026-06-03 12:00:27 -07:00
2026-06-18 22:13:07 -07:00
2026-05-13 22:31:28 -07:00
2026-06-07 21:50:57 -07:00
2026-06-07 18:33:20 -07:00
2026-05-16 17:59:32 -07:00
2026-05-28 00:20:11 -07:00
2026-06-25 12:48:08 -07:00
2026-04-28 12:27:36 -07:00
2026-04-30 23:03:54 -07:00
2026-05-11 16:49:13 -07:00
2026-06-25 02:17:29 +05:30
2026-06-21 12:03:46 -07:00
2026-06-19 15:23:41 +08:00
2026-06-25 12:24:34 -05:00
2026-06-17 17:33:32 -07:00
2026-05-27 00:43:32 -07:00
2026-06-13 05:51:41 -07:00
2026-05-08 14:27:40 -07:00
2026-06-07 08:36:48 -07:00
2026-06-23 08:01:50 +00:00
2026-05-10 07:09:28 -07:00
2026-05-12 20:49:20 -07:00
2026-05-16 17:59:32 -07:00
2026-06-23 23:27:48 -07:00
2026-05-12 20:46:04 -07:00
2026-04-13 16:32:04 -07:00
2026-06-21 14:08:06 -07:00
2026-06-25 00:17:17 -07:00
2026-06-02 20:23:09 +00:00
2026-06-19 07:34:15 -07:00
2026-06-20 23:23:47 -07:00
2026-05-18 21:38:05 -07:00
2026-06-16 10:37:37 -07:00
2026-06-08 22:46:57 -07:00
2026-06-21 17:06:48 -07:00
2026-06-13 21:14:32 -07:00
2026-05-28 04:53:27 -07:00
2026-05-25 23:17:33 -07:00
2026-06-22 06:42:30 -07:00
2026-05-05 04:33:38 -07:00
2026-06-19 17:15:52 -07:00
2026-06-24 23:02:48 -05:00
2026-06-24 02:56:56 +05:30
2026-05-19 00:12:12 -07:00
2026-05-13 06:46:23 -07:00
2026-02-21 22:31:43 -08:00
2026-05-25 01:41:19 -07:00
2026-05-25 01:41:19 -07:00
2026-05-24 18:04:54 -07:00
2026-05-24 18:04:54 -07:00
2026-06-25 12:54:19 -07:00
2026-06-25 12:24:34 -05:00
2026-06-20 11:38:01 -07:00
2026-06-21 11:48:43 -07:00
2026-06-24 23:03:45 -05:00
2026-06-24 23:03:45 -05:00
2026-05-13 16:39:41 -07:00
2026-05-13 16:39:41 -07:00
2026-05-28 04:52:42 -07:00
2026-05-28 04:52:42 -07:00