rcourtman
90081dacb4
Handle informational and bodyless gzip responses
2026-08-16 17:24:01 +01:00
rcourtman
a682af0b7b
Harden large-estate response and polling limits
2026-08-16 17:07:59 +01:00
rcourtman
d08ca46194
Expose Docker health-check dependencies to Patrol
2026-08-16 16:58:44 +01:00
rcourtman
40897a46e6
Preserve causal evidence in Patrol conclusions
2026-08-16 15:48:03 +01:00
rcourtman
ab34168731
Disambiguate Docker service evidence for Patrol
2026-08-16 15:26:12 +01:00
rcourtman
17ccb8240d
Preserve causal evidence before Patrol proposals
2026-08-16 11:45:24 +01:00
rcourtman
64db84a7e3
Clarify governed restart proposal policy
2026-08-16 11:32:36 +01:00
rcourtman
870e2f7f97
Rewire Patrol investigation after chat restart
...
Contract-Neutral: AI chat lifecycle rewiring does not change dependent agent, performance, security, or storage contracts
2026-08-16 11:15:16 +01:00
rcourtman
4195943300
Harden Patrol investigation evidence traversal
2026-08-16 10:56:34 +01:00
rcourtman
787a191a5e
docs: publish security review evidence
2026-08-16 10:23:15 +01:00
rcourtman
effcf2d50c
Harden Patrol qualification lifecycle
2026-08-16 10:14:16 +01:00
rcourtman
d0e7c747d9
Clear stale ZFS alerts when a storage loses its pool attachment
...
checkZFSPoolHealth only runs while storage.ZFSPool is attached, so its
clear paths never fire once the attachment goes away and previously raised
zfs-pool-state, zfs-pool-errors, and zfs-device alerts linger until the
multi-day stale cleanup. Clear them on the spot when a storage is checked
without a pool. This is the recovery path for the shared storages that were
wrongly matched to a node-local pool before the matcher's type gate.
Refs #1731
2026-08-16 06:27:23 +01:00
rcourtman
1ff0680c75
Stop attaching node-local ZFS pools to shared storages
...
matchZFSPoolForStorage's sole-pool fallback attached the node's only ZFS
pool to every storage the per-node endpoint returned, including NFS, CIFS,
PBS, and RBD entries that can never be backed by a local pool. One failing
device then raised a duplicate ZFS device alert per shared storage. Gate
the matcher on isInherentlySharedStorageType so remote-backed storages are
never matched, while dir-type storages keep the single-pool fallback.
Refs #1731
2026-08-16 06:22:55 +01:00
rcourtman
991b3cad35
Reject empty and blocked Patrol evidence
2026-08-15 22:56:51 +01:00
rcourtman
acef44e162
Restrict Patrol grounding to infrastructure evidence
2026-08-15 22:16:00 +01:00
rcourtman
b088319589
Validate all Patrol investigation manifests
2026-08-15 21:37:05 +01:00
rcourtman
b3a9edd313
Require successful Patrol investigation evidence
2026-08-15 21:19:44 +01:00
rcourtman
857af3e3cc
Keep scoped Patrol investigations grounded
2026-08-15 20:58:49 +01:00
rcourtman
1933a5be37
Align Patrol preflight with the live context envelope
2026-08-15 13:12:30 +01:00
rcourtman
12aa31b506
Keep live Patrol context aligned with readiness
2026-08-15 13:05:15 +01:00
rcourtman
80027e98d6
Project Patrol tools from resource scope
2026-08-15 12:38:41 +01:00
rcourtman
2a15ccbefa
Reject unadvertised Patrol tool calls
2026-08-15 12:15:17 +01:00
rcourtman
0d0456f435
Require grounded Patrol investigations
2026-08-15 11:48:51 +01:00
rcourtman
73ce59a1ab
Recover Patrol after provider circuit failures
2026-08-15 11:37:02 +01:00
rcourtman
3a99f72a5c
Ground Patrol fallback summaries in evidence
2026-08-15 11:01:10 +01:00
rcourtman
2fd184315d
Simplify and harden verified Patrol receipts
...
Contract-Neutral: Patrol compact receipt payload does not change agent lifecycle or storage recovery contracts
2026-08-15 10:25:04 +01:00
rcourtman
d3a345bd66
Show verified Patrol work receipts
...
Contract-Neutral: Patrol receipt API does not change agent lifecycle or storage recovery contracts
2026-08-15 08:48:49 +01:00
rcourtman
7fb39f65cf
Honor OpenRouter reasoning limits
2026-08-15 07:04:42 +01:00
rcourtman
746990db34
Require typed Patrol remediation proposals
2026-08-15 06:39:48 +01:00
rcourtman
fe1f8d7582
Restrict Patrol objective recovery scope
2026-08-15 06:05:34 +01:00
rcourtman
9ebf084bae
Recover truncated Patrol objective missions
2026-08-15 05:48:00 +01:00
rcourtman
3c97a04222
Make Patrol observer missions proposal-only
2026-08-15 05:15:00 +01:00
rcourtman
4efc428bb8
Keep Patrol objectives mission-scoped
2026-08-15 05:00:09 +01:00
rcourtman
d218b012d1
Preserve canonical Patrol objective scopes
2026-08-15 04:30:09 +01:00
rcourtman
88de80022c
Require Patrol to submit supported actions
2026-08-15 03:53:03 +01:00
rcourtman
0460797aab
Bind runtime version to packaged binary
2026-08-15 03:30:20 +01:00
rcourtman
5cffa54620
Map low reasoning effort to Ollama thinking control
2026-08-15 03:15:41 +01:00
rcourtman
0bacc727da
Honor local Patrol preflight deadlines
2026-08-15 02:23:48 +01:00
rcourtman
50cfa11f20
Align scoped Patrol runtime assessments
2026-08-15 01:42:07 +01:00
rcourtman
a36e816161
Recover interrupted Patrol investigations
2026-08-15 01:26:36 +01:00
rcourtman
98bf51efa4
Make Patrol readiness reflect model checks
2026-08-15 00:57:51 +01:00
rcourtman
1a17525380
Give truncated Patrol decisions room to finish
2026-08-15 00:16:47 +01:00
rcourtman
8ca6936ab8
Fail closed on truncated Patrol decisions
2026-08-14 23:59:06 +01:00
rcourtman
aaacfcc73f
Honor topology limits for investigations
2026-08-14 23:35:30 +01:00
rcourtman
34cfc70329
Keep scoped Patrol all-clears coherent
2026-08-14 23:12:16 +01:00
rcourtman
f0478c769b
Accept tool-free Patrol all-clears
2026-08-14 22:42:08 +01:00
rcourtman
9dac6ed517
Move Patrol finding snapshot into core
2026-08-14 22:06:04 +01:00
rcourtman
ff15cd93ac
Make Patrol lifecycle decisions idempotent
2026-08-14 21:35:18 +01:00
rcourtman
99ee4433d0
Keep reliability signals in Patrol decision floor
2026-08-14 21:07:35 +01:00
rcourtman
2843ea954b
Keep alert-owned states out of Patrol findings
2026-08-14 20:37:28 +01:00