felixxia-oai
ad8ee16a5f
Require Guardian review for incompatible compaction checkpoints ( #42588 )
...
## Why
Guardian can reuse an opaque parent compaction only when the checkpoint's
recorded producer hash matches the scoring model. Missing or incompatible
provenance must not allow an asynchronous score or cached approval to omit
compacted context.
## What changed
- Record the producing model's compatibility hash on compaction history items
and expose the latest checkpoint hash through conversation snapshots.
- In thread-owned context mode, fail closed and require synchronous review when
checkpoint reuse is enabled but the latest checkpoint is incompatible or has
unknown provenance.
- Reject incompatible checkpoints in the sampler while preserving the legacy
context behavior.
## Testing
Add coverage for local, remote, resumed, compacted, and rolled-back histories,
including matching, mismatched, missing, and empty compatibility hashes.
GitOrigin-RevId: 1ce959cb276edc602fd7dfa442133c7fe5e53857
2026-09-03 17:48:15 +00:00
..
2026-09-03 16:41:11 +00:00
2026-09-03 16:21:10 +00:00
2026-09-03 17:48:15 +00:00
2026-09-03 17:48:15 +00:00
2026-09-01 18:24:56 +00:00
2026-09-03 16:41:11 +00:00
2026-09-01 13:29:18 +00:00
2026-09-03 04:38:26 +00:00
2026-08-21 06:41:28 +00:00
2026-08-31 22:38:23 +00:00
2026-08-25 05:16:45 +00:00
2026-09-03 17:48:15 +00:00
2026-09-02 21:50:51 +00:00
2026-09-03 01:33:32 +00:00
2026-09-03 16:41:11 +00:00
2026-09-03 00:17:19 +00:00
2026-08-25 13:10:24 +00:00
2026-08-25 21:20:51 +00:00
2026-08-26 16:28:35 +00:00
2026-08-25 21:20:51 +00:00
2026-09-02 23:58:24 +00:00
2026-09-02 23:58:24 +00:00
2026-08-25 19:54:52 +00:00
2026-09-02 18:52:44 +00:00
2026-08-28 01:14:02 +00:00
2026-08-28 01:14:02 +00:00
2026-08-23 10:06:57 +00:00
2026-09-01 20:41:32 +00:00
2026-09-03 17:48:15 +00:00
2026-08-05 18:19:22 +00:00
2026-08-20 19:19:41 +00:00
2026-08-31 00:53:30 +00:00
2026-08-31 21:15:38 +00:00
2026-08-28 21:40:23 +00:00
2026-08-23 21:29:11 +00:00
2026-09-03 17:48:15 +00:00
2026-09-03 17:48:15 +00:00
2026-08-23 21:29:11 +00:00
2026-08-25 17:41:22 +00:00
2026-09-03 17:48:15 +00:00
2026-09-01 13:43:27 +00:00
2026-09-01 13:43:27 +00:00
2026-08-25 19:54:52 +00:00
2026-09-01 22:16:54 +00:00
2026-09-02 02:09:35 +00:00
2026-08-10 01:44:30 +00:00
2026-09-03 00:17:19 +00:00
2026-09-01 14:43:27 +00:00
2026-08-20 07:03:02 +00:00
2026-09-01 18:24:56 +00:00
2026-08-14 00:18:29 +00:00
2026-08-25 05:16:45 +00:00
2026-08-25 21:34:05 +00:00
2026-08-21 21:17:42 +00:00
2026-09-01 18:02:27 +00:00
2026-08-23 22:23:40 +00:00
2026-09-02 18:52:44 +00:00
2026-08-31 22:38:23 +00:00
2026-08-26 16:28:35 +00:00
2026-08-25 20:26:23 +00:00
2026-08-29 06:05:28 +00:00
2026-09-01 20:46:17 +00:00
2026-09-01 20:54:25 +00:00
2026-08-06 13:37:07 +00:00
2026-09-01 13:43:27 +00:00
2026-08-25 16:47:13 +00:00
2026-08-20 17:46:05 +00:00
2026-08-17 19:06:53 +00:00
2026-08-25 17:41:22 +00:00
2026-09-03 06:02:25 +00:00
2026-08-17 04:01:37 +00:00
2026-08-18 18:41:40 +00:00
2026-08-31 22:38:23 +00:00
2026-09-02 02:09:35 +00:00
2026-08-31 22:38:23 +00:00
2026-09-01 07:32:54 +00:00
2026-08-25 17:41:22 +00:00
2026-09-02 23:58:24 +00:00
2026-09-02 23:58:24 +00:00
2026-08-31 23:29:20 +00:00
2026-08-31 23:29:20 +00:00
2026-08-23 20:08:40 +00:00
2026-08-24 10:56:54 +00:00
2026-08-26 22:37:59 +00:00
2026-08-19 12:56:08 +00:00
2026-08-25 14:34:25 +00:00
2026-08-20 06:03:25 +00:00
2026-08-20 06:03:25 +00:00
2026-08-27 00:07:26 +00:00
2026-08-13 11:11:26 +00:00
2026-08-27 20:01:39 +00:00
2026-09-02 18:52:44 +00:00
2026-08-04 15:23:43 +00:00
2026-09-02 02:09:35 +00:00
2026-09-01 20:41:32 +00:00
2026-08-11 19:30:12 +00:00
2026-08-11 19:30:12 +00:00
2026-09-03 00:17:19 +00:00
2026-09-03 00:17:19 +00:00
2026-09-02 02:09:35 +00:00
2026-09-02 18:52:44 +00:00
2026-08-25 17:41:22 +00:00
2026-09-02 20:30:45 +00:00
2026-08-20 06:29:32 +00:00