From 4cb5e7a8d4cd76287c34d5912f4344f8c1fffa79 Mon Sep 17 00:00:00 2001 From: Keith Jackson Date: Tue, 1 Sep 2026 19:07:39 -0500 Subject: [PATCH] =?UTF-8?q?feat(conformance):=20first=20PROVEN=20row=20?= =?UTF-8?q?=E2=80=94=20R-STATE-02=20node-loss?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Records the first requirement this project has ever PROVEN, in the only sense its own definition of done accepts: a green, requirement-tagged, reproducible behaviour test, executed against a real cluster, with the evidence committed. test node-loss run 20260901T235117Z-e9a4b66 req R-STATE-02 (safety-critical) junit passed sentinel NODE_LOSS_VOLUME_AVAILABLE_OK proof proven sha 57d4df8 (clean tree) kube v1.36.4+k3s1 What actually ran: seed a 3-replica longhorn volume, cordon the node the writer landed on, evict only its own pod, assert the volume stays available and a reader on another node re-attaches and reads the data back. 131s. It deliberately does NOT drain, so kubelet and the etcd member stay up and quorum is never touched — which is what retired the old 'defer node-loss to a maintenance window' reason as unfounded rather than by fiat. Recorded against the clean tree of the preceding commit so git_sha resolves and the freshness check passes. The test was NOT re-run for this: the preserved run.log is the evidence, and re-running would have proved the parser rather than preserving the run. Serves: R-STATE-02, R-TEST-03, R-TEST-05. --- conformance/runs/ledger.jsonl | 1 + 1 file changed, 1 insertion(+) diff --git a/conformance/runs/ledger.jsonl b/conformance/runs/ledger.jsonl index e69de29..7d006dc 100644 --- a/conformance/runs/ledger.jsonl +++ b/conformance/runs/ledger.jsonl @@ -0,0 +1 @@ +{"chainsaw_version": "v0.2.12", "env": "dev", "git_sha": "57d4df8c4f992732a49f3e2daddcace866778ab0", "junit_result": "passed", "kube_version": "v1.36.4+k3s1", "layer": "L3", "note": "run log OUTPUT carries every declared pass token (NODE_LOSS_VOLUME_AVAILABLE_OK) and no skip token [log scoped to this testcase; tokens read from real-output sections only]", "proof": "proven", "requirements": ["R-STATE-02"], "run_id": "20260901T235117Z-e9a4b66", "sentinel": "NODE_LOSS_VOLUME_AVAILABLE_OK", "test": "node-loss", "ts_utc": "2026-09-01T23:51:17Z"}