Pulse/internal/agentexec
courtmanr@gmail.com 9e2ee3d535 Fail typed dispatches fast when their agent session drops
The agentexec read loop removed a dead session from the agent map but never
closed its done channel, so any dispatch already sent on that session kept
waiting for a result that could never arrive and only returned at its
operation timeout. That's what made the Proxmox cancellation replay test
flaky on the shared CI runner. The restarted action runner dropped its first
session right after registering, the replay had already been sent there,
and the server waited the full 30s while the runner sat reconnected on a
new session.

The read loop now signals the session done on exit, so in-flight typed
dispatches and commands report the disconnect straight away. The
integration test sends the same request again on the runner's next
session when that happens, which is the same durable replay it is there
to prove, still with exactly one mutation. It also keeps the runner's log
and prints it on failure so the cause of any future drop is visible.
2026-09-28 10:31:58 +01:00
..
action_preflight.go Gate Patrol actions on agent preflight 2026-08-14 01:12:49 +01:00
action_preflight_test.go Gate Patrol actions on agent preflight 2026-08-14 01:12:49 +01:00
approval_grant.go
approval_grant_test.go
apt_codec.go Cancel abandoned typed agent operations 2026-09-01 11:21:26 +01:00
apt_codec_coverage_test.go test(coverage): agentexec codecs and licensing service branch coverage 2026-07-14 14:45:55 +01:00
apt_codec_test.go Complete durable APT workflow continuity 2026-07-12 05:23:02 +01:00
deploy_test.go
docker_lifecycle_codec.go fix(patrol): require Docker health recovery 2026-08-27 20:43:54 +01:00
docker_lifecycle_codec_coverage_test.go Add coverage tests for agentexec lifecycle codec and aicontracts pure helpers 2026-07-17 06:53:16 +01:00
docker_lifecycle_contract_test.go Restore one-click Docker container updates through the typed action plane 2026-07-14 12:19:04 +01:00
docker_observation_codec.go fix(patrol): require Docker health recovery 2026-08-27 20:43:54 +01:00
docker_observation_codec_test.go fix(patrol): require Docker health recovery 2026-08-27 20:43:54 +01:00
docker_update_codec.go Fix Patrol autonomy and refusal reporting 2026-08-13 23:26:08 +01:00
docker_update_codec_coverage_test.go test(coverage): agentexec codecs and licensing service branch coverage 2026-07-14 14:45:55 +01:00
export_test_helpers.go
operation_query_test.go Fix agent command channel admission 2026-07-24 13:00:03 +01:00
policy.go Add governed Docker and Podman lifecycle actions 2026-06-12 21:17:58 +01:00
policy_sudo_branchcov0723am_test.go Cover agent policy, alias normalization and agent report helpers 2026-07-23 06:44:33 +01:00
policy_test.go Add governed Docker and Podman lifecycle actions 2026-06-12 21:17:58 +01:00
proxmox_guest_lifecycle_codec.go Separate agent remediation runtime 2026-08-29 23:48:28 +01:00
proxmox_guest_lifecycle_codec_test.go Cancel abandoned typed agent operations 2026-09-01 11:21:26 +01:00
server.go Fail typed dispatches fast when their agent session drops 2026-09-28 10:31:58 +01:00
server_coverage_test.go Fix agent command channel admission 2026-07-24 13:00:03 +01:00
server_docker_receipt_coverage_test.go test(coverage): unifiedresources adapters and agentexec server-receipt branches 2026-07-14 14:56:47 +01:00
server_test.go Use typed Proxmox runners and preserve cross-clock action evidence 2026-09-07 12:00:48 +01:00
server_websocket_test.go Fail typed dispatches fast when their agent session drops 2026-09-28 10:31:58 +01:00
types.go Cancel abandoned typed agent operations 2026-09-01 11:21:26 +01:00
types_coverage_test.go test(coverage): agentexec codecs and licensing service branch coverage 2026-07-14 14:45:55 +01:00
verifier_postconditions.go Wire production Proxmox action verification 2026-07-13 11:04:09 +01:00
verifier_postconditions_test.go Wire production Proxmox action verification 2026-07-13 11:04:09 +01:00