audit-core/workplans/ADHOC-2026-09-14.md
tegwick b0e6792cf0
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Bound /readyz so kubelet probes cannot hang the Service
/readyz walked the hash chain and opened pooled connections with no
libpq connect_timeout, so a 2s kubelet probe never saw a response and
the pod stayed unready. Informed Decision accept is blocked on that.

Probe health() only, under a 1.5s budget, publish last-known
tamper_evidence, and fail TCP handshake in 1s. Integrity stays on
/v1/integrity.

Assistant: grok
Assistant-Session: 01a0a182-bab7-7f11-b32b-d06f3af52082
2026-09-14 22:13:55 +02:00

1.2 KiB

id type title domain repo status flavor owner topic_slug created updated
ADHOC-2026-09-14 workplan Ad hoc tasks 2026-09-14 infotech audit-core finished implementation grok railiance 2026-09-14 2026-09-14

Ad hoc tasks 2026-09-14

Bound /readyz so the Service can become Ready

id: ADHOC-2026-09-14-T01
status: done
priority: high

Inbox from grok (INFD-WP-0002-T03): audit-core Service has no ready endpoints. The live pod is Ready=false since 2026-09-11T08:27:26Z; /healthz is 200; /readyz hangs >8s against kubelet timeoutSeconds: 2. Informed Decision accept is 503 approval_path_not_connected until a ready endpoint exists.

Cause: /readyz called retention_policy, which walks the hash chain and opens a pooled connection with no libpq connect_timeout and a 30s statement timeout. A hung walk or handshake looks the same as down.

Change: /readyz checks health() (SELECT 1) under a 1.5s budget, publishes last-known tamper_evidence without walking, and sets connect_timeout=1. Integrity stays on /v1/integrity. Production needs a receiver image rebuild and rollout after this lands.

Evidence: Informed Decision docs/evidence/2026-09-14-infd-0002-t03-bind-path-probe.json.