43 lines
1.3 KiB
Markdown
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`.
|