Teknium
d43cc2ca80
fix(compress): gate N-user tail guarantee to actionable turns, behavior-preserving default
...
Follow-up fixes on top of the salvaged #22566 mechanism:
- N-collector now counts only REAL actionable user turns via
_is_actionable_user_turn + _is_synthetic_compression_user_turn —
the same filter pair _find_last_user_message_idx uses post-#69291.
The contributor's bare role=='user' + _is_context_summary_content
check let blank platform echoes and continuation/todo rows consume
N slots, silently degrading the guarantee.
- Default flipped 3 -> 1 (behavior-preserving): a default of 3 was
measured to change the tail cut on transcripts whose budget covers
only the last turn. min_tail_user_messages=1 delegates to the
existing single-user anchor; N>1 is opt-in, and the call site is
gated so the default path is byte-identical to main.
- Hardened config parse in agent_init (bool rejected, fractional
floats rejected, floor 1) matching the max_attempts parser shape.
- Wired the recurring external-PR config gaps: hermes_cli/config.py
DEFAULT_CONFIG + cli-config.yaml.example (PR only had cli.py).
- Regression tests: blank echoes / synthetic rows don't count toward
N; tool-call/result pairs never split by the N-boundary (no-orphan
both directions); N-guarantee wins over tail_token_budget and the
_MAX_TAIL_MESSAGE_FLOOR (floor is a minimum, not a cap); default
parity pin; DEFAULT_CONFIG pin.
2026-07-23 17:03:49 -07:00
..
2026-07-22 07:14:42 -07:00
2026-07-22 20:59:12 -07:00
2026-07-23 11:36:49 -07:00
2026-07-22 07:22:55 -07:00
2026-07-22 07:22:55 -07:00
2026-07-22 07:22:55 -07:00
2026-07-23 11:49:44 -07:00
2026-07-18 04:15:13 -07:00
2026-07-18 20:04:40 +05:30
2026-07-22 06:57:33 -07:00
2026-07-23 00:44:27 -05:00
2026-07-20 11:35:21 -07:00
2026-07-20 11:35:21 -07:00
2026-07-23 11:50:28 -07:00
2026-07-20 10:17:57 -07:00
2026-07-17 23:04:33 +00:00
2026-07-20 05:39:09 -07:00
2026-07-22 10:31:59 +05:30
2026-07-20 02:25:44 -07:00
2026-07-20 00:41:01 -07:00
2026-07-19 19:29:36 -04:00
2026-07-23 16:17:27 -07:00
2026-07-18 12:28:36 -07:00
2026-07-22 06:57:39 -07:00
2026-07-22 21:14:44 -07:00
2026-07-22 07:00:27 -07:00
2026-07-23 12:00:34 -07:00
2026-07-21 12:43:27 -07:00
2026-07-23 11:36:49 -07:00
2026-07-22 23:25:48 -05:00
2026-07-21 12:40:48 -07:00
2026-07-22 06:56:20 -07:00
2026-07-22 06:58:34 -07:00
2026-07-22 14:05:28 +05:30
2026-07-23 16:44:53 -07:00
2026-07-22 16:58:47 -07:00
2026-07-20 02:25:44 -07:00
2026-07-20 03:06:02 -07:00
2026-07-18 14:01:56 -07:00
2026-07-20 00:40:40 -07:00
2026-07-23 08:11:58 -07:00
2026-07-22 06:57:44 -07:00
2026-07-22 06:56:42 -07:00
2026-07-21 12:42:07 -07:00
2026-07-22 07:00:16 -07:00
2026-07-19 19:59:46 -04:00
2026-07-18 14:01:33 -07:00
2026-07-22 20:57:25 -07:00
2026-07-23 17:38:05 +05:30
2026-07-19 01:53:01 -07:00
2026-07-21 12:43:27 -07:00
2026-07-20 11:35:21 -07:00
2026-07-20 11:35:21 -07:00
2026-07-19 12:19:22 -07:00
2026-07-20 02:25:57 -07:00
2026-07-20 11:35:21 -07:00
2026-07-20 08:47:55 -07:00
2026-07-23 11:50:28 -07:00
2026-07-22 20:55:51 -07:00
2026-07-23 09:08:28 -07:00
2026-07-20 09:19:24 -07:00
2026-07-23 11:50:08 -07:00
2026-07-23 11:55:17 -07:00
2026-07-23 11:36:49 -07:00
2026-07-20 11:35:21 -07:00
2026-07-19 01:09:29 -07:00
2026-07-20 08:47:55 -07:00
2026-07-23 16:55:41 -07:00
2026-07-22 16:58:35 -07:00
2026-07-20 05:38:45 -07:00
2026-07-20 11:35:21 -07:00
2026-07-23 16:17:27 -07:00
2026-07-21 12:40:21 -07:00
2026-07-20 09:19:24 -07:00
2026-07-23 17:03:49 -07:00
2026-07-20 11:35:21 -07:00
2026-07-20 00:41:01 -07:00
2026-07-23 11:50:08 -07:00
2026-07-23 12:00:34 -07:00
2026-07-21 12:04:47 -07:00
2026-07-22 07:22:55 -07:00
2026-07-22 06:58:34 -07:00
2026-07-23 11:50:08 -07:00
2026-07-23 16:27:06 -07:00
2026-07-18 09:35:01 -07:00
2026-07-20 12:13:37 +05:30
2026-07-20 11:35:21 -07:00
2026-07-20 05:49:44 -07:00
2026-07-19 05:36:19 -07:00
2026-07-23 08:08:48 -07:00
2026-07-23 16:58:06 -07:00
2026-07-23 11:54:19 -07:00
2026-07-19 12:21:59 -07:00
2026-07-19 10:17:52 -07:00
2026-07-23 07:24:46 -07:00
2026-07-18 17:17:25 -04:00
2026-07-20 09:21:08 -07:00
2026-07-22 21:14:44 -07:00
2026-07-22 06:56:20 -07:00
2026-07-22 08:12:14 -07:00
2026-07-20 11:35:21 -07:00
2026-07-20 11:35:21 -07:00
2026-07-22 10:48:10 +05:30
2026-07-18 01:30:17 -07:00
2026-07-22 17:14:36 -07:00
2026-07-23 07:24:21 -07:00
2026-07-22 23:25:35 -05:00
2026-07-23 12:01:24 -07:00
2026-07-22 11:46:05 +05:30
2026-07-23 11:50:28 -07:00
2026-07-22 06:57:22 -07:00
2026-07-18 21:38:20 -04:00
2026-07-22 07:14:42 -07:00
2026-07-22 04:39:28 -07:00
2026-07-23 11:34:11 -07:00
2026-07-23 11:54:05 -07:00
2026-07-22 06:58:34 -07:00
2026-07-22 12:47:41 +05:30
2026-07-22 06:57:39 -07:00
2026-07-23 11:20:54 -07:00
2026-07-20 03:27:28 -07:00
2026-07-22 20:55:51 -07:00
2026-07-20 03:27:38 -07:00
2026-07-20 08:47:55 -07:00
2026-07-23 16:17:27 -07:00
2026-07-23 12:01:24 -07:00
2026-07-23 08:33:55 -07:00
2026-07-22 21:58:13 -07:00
2026-07-23 11:36:49 -07:00
2026-07-21 10:09:31 -04:00
2026-07-20 11:10:49 -07:00
2026-07-19 03:02:47 -07:00
2026-07-22 21:14:44 -07:00
2026-07-23 07:33:25 -07:00
2026-07-23 11:34:11 -07:00
2026-07-22 21:14:44 -07:00
2026-07-23 11:31:30 -07:00
2026-07-20 11:35:21 -07:00
2026-07-23 09:22:02 -07:00
2026-07-23 11:50:28 -07:00
2026-07-18 09:24:40 -07:00
2026-07-22 06:58:58 -07:00
2026-07-23 08:43:21 -07:00
2026-07-22 06:58:27 -07:00
2026-07-21 05:27:13 -07:00
2026-07-23 08:34:06 -07:00
2026-07-22 06:58:16 -07:00
2026-07-18 16:12:59 -04:00
2026-07-22 08:11:40 -07:00
2026-07-23 07:33:36 -07:00
2026-07-20 11:35:21 -07:00
2026-07-19 23:58:33 -07:00
2026-07-23 16:55:41 -07:00
2026-07-18 14:01:33 -07:00
2026-07-22 06:59:14 -07:00
2026-07-23 11:55:01 -07:00
2026-07-22 20:55:51 -07:00
2026-07-23 11:35:03 -07:00
2026-07-21 12:56:31 -07:00
2026-07-22 21:14:44 -07:00
2026-07-23 00:44:27 -05:00
2026-07-23 11:50:28 -07:00
2026-07-23 11:50:28 -07:00
2026-07-22 06:56:08 -07:00