audit-core/workplans/ADHOC-2026-09-14.md
tegwick bc3d80fbd9
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
chore(consistency): record ADHOC-2026-09-14 hub identifiers
Assistant: grok
Assistant-Session: 01a0a182-bab7-7f11-b32b-d06f3af52082
2026-09-14 22:15:16 +02:00

43 lines
1.3 KiB
Markdown

---
id: ADHOC-2026-09-14
type: workplan
title: "Ad hoc tasks 2026-09-14"
domain: infotech
repo: audit-core
status: finished
flavor: implementation
owner: grok
topic_slug: railiance
created: "2026-09-14"
updated: "2026-09-14"
state_hub_workstream_id: "411a169c-903f-5317-acfc-4627d08fb1e9"
---
# Ad hoc tasks 2026-09-14
## Bound /readyz so the Service can become Ready
```task
id: ADHOC-2026-09-14-T01
status: done
priority: high
state_hub_task_id: "d056e790-578b-5922-8b24-c1e93b42efb8"
```
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`.