readiness_state: verified, on evidence

Continuously ready across a full credential lease rotation: 11 samples, zero
not-ready, zero query failures, zero kubelet readiness 503s with a probe every
5 seconds, no restarts, pod uptime well past the 30-minute lease TTL.

Recorded from a working instrument on the third attempt. The first two verdicts
were FAILED and both were the watcher's own defects — an empty kubectl result
counted as an outage, then grep -c's exit status poisoning a clean count. The
verdict was not talked around; the instrument was fixed and the measurement
repeated.

Evidence: docs/evidence/RCP-WP-0002-T04-lease-rotation-2026-09-08.log

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bjefh8NUiEiahN4JLwoSKM

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 388925@bnt-lap001
Assistant-Session: 3507023f-e0fd-4a1e-9d90-a0d4217d1502
This commit is contained in:
tegwick 2026-09-08 10:30:02 +02:00
parent 90ebdb7e7d
commit f3ce42e409
3 changed files with 29 additions and 6 deletions

View file

@ -147,7 +147,7 @@ re-run ownership reconciliation. Notified.
```task
id: RCP-WP-0002-T04
status: progress
status: done
priority: high
state_hub_task_id: "6d9eb97c-57e2-5b74-b6eb-455076713417"
```
@ -171,10 +171,16 @@ kept the file current; the engine held the URL it booted with. Fixed in 0.1.5 by
re-reading the credential for every new connection, with `pool_recycle` inside
the lease TTL.
`readiness_state` is back to `deployed`. The bar for `verified` is now
observation across a full lease rotation, because a smoke run inside the first
window cannot tell a service that works from one that works *once* — an
availability property is not provable by a single sample.
`readiness_state` was returned to `deployed`, and is now **`verified`** on
evidence: continuously ready across a full lease rotation, zero readiness
failures, no restarts. Log at
`docs/evidence/RCP-WP-0002-T04-lease-rotation-2026-09-08.log`.
The bar for `verified` is observation across a rotation, because a smoke run
inside the first window cannot tell a service that works from one that works
*once* — an availability property is not provable by a single sample. It took
three attempts to build an instrument that could return that verdict honestly;
all three failures are recorded in the evidence file.
**The check that could never have passed.** `live-image-digest-match` read the
pin with a line-offset `grep`, which returned empty once comments were added