Teknium
8079fd01f4
fix(memory): stop false drift refusals; refused writes name the exact fix
...
Fleet telemetry (14d, v0.21.5) shows the builtin store returning
success=False on 34-47% of add/replace/remove calls. Live `hermes chat -q`
runs against origin/main reproduced the dominant causes:
- Drift guard refused every replace/remove/batch on a file whose only
difference from the tool's own layout was whitespace (blank lines
around the delimiter, an empty entry). Parsing only strips whitespace,
so flushing such a file loses nothing; the round-trip signal could not
protect any content and turned the store read-only until hand-fixed
(#107270 ). The guard now fires only on the signal that can actually
lose foreign text: one entry larger than the whole store's limit.
- An over-budget add/replace/batch said "would exceed the limit" but not
by how much, so models retried with consolidations that were still too
big. Every over-budget message now states the exact chars to free and
points at the one-batch fix.
- An old_text that matched nothing (paraphrased, stale after a concurrent
write, or several entries glued with the delimiter) returned no hint on
the batch path. Zero-match errors now carry `closest_entries` (top word
overlap) on both paths, and flag a delimiter-spanning old_text.
- A batch replace missing its own `content` now says to set it on the
operation object.
Fixes #107270 . Same diagnosis as #107278 (@KoNit-K) and #61612 (@webtecnica),
which normalized the round-trip comparison instead of dropping it.
2026-10-05 15:36:45 -07:00
..
2026-09-29 02:06:58 +05:30
2026-10-02 20:30:25 -05:00
2026-10-04 11:56:08 +05:30
2026-10-04 00:08:20 -07:00
2026-10-05 14:35:39 -04:00
2026-09-29 12:25:29 -05:00
2026-09-28 10:21:41 -07:00
2026-10-05 20:08:11 +05:30
2026-09-30 21:33:08 -04:00
2026-10-05 01:15:16 -07:00
2026-10-01 13:23:12 -07:00
2026-10-05 20:08:11 +05:30
2026-10-01 13:23:12 -07:00
2026-10-02 01:24:41 +05:30
2026-09-28 10:21:41 -07:00
2026-10-01 16:18:46 +05:30
2026-09-30 10:00:37 -05:00
2026-09-30 10:00:37 -05:00
2026-09-28 06:06:17 -07:00
2026-10-01 16:18:46 +05:30
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 12:43:03 -07:00
2026-09-24 11:50:30 -04:00
2026-10-05 16:42:57 -05:00
2026-10-02 22:54:53 -05:00
2026-10-01 03:18:09 -05:00
2026-10-02 22:54:53 -05:00
2026-10-02 11:24:58 -05:00
2026-09-29 14:12:41 -04:00
2026-10-01 13:23:12 -07:00
2026-10-05 01:15:16 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 06:42:00 -07:00
2026-09-28 10:11:33 -07:00
2026-09-28 12:43:03 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:11:33 -07:00
2026-10-02 01:18:03 +05:30
2026-10-03 16:31:09 +05:30
2026-10-04 01:52:54 +05:30
2026-10-05 16:40:38 -05:00
2026-10-02 20:24:30 -05:00
2026-10-02 21:49:36 -05:00
2026-10-05 16:40:38 -05:00
2026-10-02 21:49:36 -05:00
2026-09-28 10:21:41 -07:00
2026-10-01 01:53:55 -05:00
2026-09-28 10:21:41 -07:00
2026-09-29 12:25:29 -05:00
2026-10-05 16:46:53 -05:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-09-25 14:58:09 -04:00
2026-10-02 01:15:39 +05:30
2026-10-02 21:47:39 -05:00
2026-10-02 01:15:39 +05:30
2026-09-27 01:10:56 +05:30
2026-10-05 20:08:11 +05:30
2026-09-28 12:43:03 -07:00
2026-09-28 10:21:41 -07:00
2026-10-02 01:15:39 +05:30
2026-10-05 01:15:16 -07:00
2026-10-01 16:22:28 +05:30
2026-10-01 16:22:28 +05:30
2026-09-26 18:27:10 -05:00
2026-10-02 18:41:16 -05:00
2026-10-02 20:24:01 -05:00
2026-09-29 15:08:07 +05:30
2026-10-04 00:10:54 +05:30
2026-10-03 10:26:12 -07:00
2026-09-25 14:27:51 +05:30
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 02:03:42 +05:30
2026-10-04 12:42:25 -05:00
2026-10-04 12:42:25 -05:00
2026-09-27 21:30:10 -07:00
2026-10-03 09:38:33 -07:00
2026-09-27 21:30:10 -07:00
2026-10-05 15:28:17 -07:00
2026-10-05 16:47:32 -05:00
2026-09-28 05:24:26 -07:00
2026-10-02 20:29:17 -05:00
2026-09-28 10:21:41 -07:00
2026-10-05 15:36:45 -07:00
2026-10-05 15:36:45 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-09-25 14:58:09 -04:00
2026-09-28 10:21:41 -07:00
2026-10-03 09:43:03 -07:00
2026-10-03 09:43:03 -07:00
2026-09-28 10:21:41 -07:00
2026-09-26 17:19:34 -05:00
2026-09-26 22:19:53 -05:00
2026-10-05 14:35:39 -04:00
2026-10-05 16:42:57 -05:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-09-29 12:25:29 -05:00
2026-09-29 12:25:29 -05:00
2026-09-28 10:21:41 -07:00
2026-10-04 00:08:20 -07:00
2026-10-04 00:08:20 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-10-03 23:05:48 -07:00
2026-10-03 23:05:48 -07:00
2026-10-03 23:05:48 -07:00
2026-10-03 23:05:48 -07:00
2026-09-28 10:21:41 -07:00
2026-10-01 22:05:55 -07:00
2026-10-05 15:35:10 -07:00
2026-09-28 12:43:03 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-10-05 00:23:05 -07:00
2026-10-03 23:05:48 -07:00
2026-09-28 10:21:41 -07:00
2026-09-30 15:16:40 -05:00
2026-10-02 01:24:41 +05:30
2026-09-28 10:21:41 -07:00
2026-09-28 12:33:01 -07:00
2026-09-26 18:27:10 -05:00
2026-09-26 18:27:10 -05:00
2026-09-26 18:27:10 -05:00
2026-10-02 22:42:55 -05:00
2026-10-05 20:08:11 +05:30
2026-10-05 20:08:11 +05:30
2026-10-03 16:30:40 +02:00
2026-09-29 17:29:05 +00:00
2026-09-29 22:07:30 +05:30
2026-10-04 00:10:54 +05:30
2026-09-28 10:21:41 -07:00
2026-10-04 11:56:08 +05:30
2026-10-01 23:50:31 -07:00
2026-09-27 03:45:07 -04:00
2026-10-05 16:40:15 -05:00
2026-09-27 03:45:07 -04:00
2026-10-05 12:37:46 -04:00
2026-09-30 15:16:40 -05:00
2026-10-05 12:37:46 -04:00
2026-10-02 18:35:34 -05:00
2026-09-26 06:19:34 +05:30
2026-09-30 23:02:33 -05:00
2026-09-28 12:23:25 -07:00
2026-09-26 06:19:34 +05:30
2026-10-05 16:42:22 -05:00
2026-09-28 10:21:41 -07:00
2026-10-01 01:50:16 -05:00
2026-10-04 17:54:05 -07:00
2026-09-29 18:19:39 -05:00
2026-10-02 18:35:45 -05:00
2026-09-29 19:14:28 -05:00
2026-09-28 10:21:41 -07:00
2026-10-01 23:55:54 +05:30
2026-10-01 23:55:54 +05:30
2026-09-28 10:21:41 -07:00
2026-10-05 20:08:11 +05:30
2026-09-28 10:21:41 -07:00