sol: redrive 7 primary daily-ledger lanes; all STALE (2026-10-27)
This commit is contained in:
1 parent
fff82e64ee
commit
84cb241c55
3 files changed
+141
No files matched your search
@@ -0,0 +1,52 @@
|
||||
#!/usr/bin/env bash
|
||||
# CHECK -- redrive of the 7 primary daily-ledger lanes.
|
||||
# Recomputes live from the filesystem and diffs against the committed record.
|
||||
# Exit 0 = committed JSON matches independent recompute; nonzero = wrong.
|
||||
set -u
|
||||
cd "$(dirname "${BASH_SOURCE[0]}")" || exit 1
|
||||
JSON=sol-lane-status-rederived-2026-10-27.json
|
||||
OUT=/root/.hermes/wizard-outputs
|
||||
LANE_LIST="forge ledger null quill sphinx sol spark"
|
||||
|
||||
python3 - "$JSON" "$OUT" "$LANE_LIST" <<'PY'
|
||||
import json, os, sys, glob, time
|
||||
json_path, out, lane_list = sys.argv[1:4]
|
||||
lanes = lane_list.split()
|
||||
now = time.time()
|
||||
recomputed = {}
|
||||
for L in lanes:
|
||||
files = sorted(glob.glob(os.path.join(out, L + "-*.txt")))
|
||||
latest = max(files, key=os.path.getmtime)
|
||||
age = (now - os.path.getmtime(latest)) / 3600.0
|
||||
status = "ACTIVE" if age < 24 else ("WATCH" if age <= 168 else "STALE")
|
||||
recomputed[L] = (status, os.path.basename(latest))
|
||||
with open(json_path) as f:
|
||||
rec = json.load(f)
|
||||
ok = True
|
||||
for L in lanes:
|
||||
jl = next((x for x in rec["lanes"] if x["id"] == L), None)
|
||||
if jl is None:
|
||||
print("FAIL: lane %s missing" % L); ok = False; continue
|
||||
exp_status, exp_log = recomputed[L]
|
||||
if jl.get("status") != exp_status or jl.get("latest_log") != exp_log:
|
||||
print("FAIL: lane %s json=%s/%s recomputed=%s/%s" % (L, jl.get("status"), jl.get("latest_log"), exp_status, exp_log))
|
||||
ok = False
|
||||
counts = {}
|
||||
for L in lanes:
|
||||
st = recomputed[L][0]
|
||||
counts[st] = counts.get(st, 0) + 1
|
||||
if rec.get("status_counts") != counts:
|
||||
print("FAIL: counts json=%s recomputed=%s" % (rec.get("status_counts"), counts)); ok = False
|
||||
if not ok:
|
||||
print("RECOMPUTE FAILED: redrive artifact does not match live filesystem")
|
||||
sys.exit(1)
|
||||
print("OK: lanes=%d statuses=%s counts=%s" % (len(lanes), ",".join("%s=%s" % (k, v) for k, v in sorted(recomputed.items())), rec.get("status_counts")))
|
||||
sys.exit(0)
|
||||
PY
|
||||
rc=$?
|
||||
if [ $rc -ne 0 ]; then
|
||||
echo "FAIL: independent recompute disagrees with the committed redrive artifact" >&2
|
||||
exit 1
|
||||
fi
|
||||
echo "PASS: redrive artifact verified against the live filesystem"
|
||||
exit 0
|
||||
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"artifact": "sol-lane-status-rederived-2026-10-27.json",
|
||||
"source": "daily ledger logs at /root/.hermes/wizard-outputs/<lane>-*.txt (latest by mtime)",
|
||||
"measured_at_utc": "2026-10-27T22:33:57Z",
|
||||
"status_rule": "ACTIVE = latest log within 24h; WATCH = 24h-168h; STALE = >168h",
|
||||
"lanes": [
|
||||
{
|
||||
"id": "forge",
|
||||
"latest_log": "forge-2026-10-16-1446.txt",
|
||||
"latest_mtime_utc": "2026-10-16T14:56:18Z",
|
||||
"age_h": 271.63,
|
||||
"status": "STALE"
|
||||
},
|
||||
{
|
||||
"id": "ledger",
|
||||
"latest_log": "ledger-2026-10-16-1446.txt",
|
||||
"latest_mtime_utc": "2026-10-16T14:47:33Z",
|
||||
"age_h": 271.77,
|
||||
"status": "STALE"
|
||||
},
|
||||
{
|
||||
"id": "null",
|
||||
"latest_log": "null-2026-10-16-1446.txt",
|
||||
"latest_mtime_utc": "2026-10-16T14:47:52Z",
|
||||
"age_h": 271.77,
|
||||
"status": "STALE"
|
||||
},
|
||||
{
|
||||
"id": "quill",
|
||||
"latest_log": "quill-2026-10-16-1446.txt",
|
||||
"latest_mtime_utc": "2026-10-16T14:47:07Z",
|
||||
"age_h": 271.78,
|
||||
"status": "STALE"
|
||||
},
|
||||
{
|
||||
"id": "sphinx",
|
||||
"latest_log": "sphinx-2026-10-16-1446.txt",
|
||||
"latest_mtime_utc": "2026-10-16T14:50:35Z",
|
||||
"age_h": 271.72,
|
||||
"status": "STALE"
|
||||
},
|
||||
{
|
||||
"id": "sol",
|
||||
"latest_log": "sol-2026-10-16-1446.txt",
|
||||
"latest_mtime_utc": "2026-10-16T14:49:04Z",
|
||||
"age_h": 271.75,
|
||||
"status": "STALE"
|
||||
},
|
||||
{
|
||||
"id": "spark",
|
||||
"latest_log": "spark-2026-10-16-1446.txt",
|
||||
"latest_mtime_utc": "2026-10-16T14:56:18Z",
|
||||
"age_h": 271.63,
|
||||
"status": "STALE"
|
||||
}
|
||||
],
|
||||
"status_counts": {
|
||||
"STALE": 7
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
# Sol Daily-Ledger Lane Status — Redrive — 2026-10-27 (measured)
|
||||
|
||||
Classification measured live from the on-disk mtimes of each primary lane's daily
|
||||
ledger logs under `/root/.hermes/wizard-outputs/`. Rules (measured stage):
|
||||
ACTIVE = latest log within 24h; WATCH = 24h-168h; STALE = >168h.
|
||||
|
||||
## Verdict
|
||||
|
||||
- status_counts: **- STALE: 7**.
|
||||
- No lane is ACTIVE or WATCH.
|
||||
|
||||
## Per-lane table
|
||||
|
||||
| Lane | Latest log | Last written (UTC) | Age (h) | Status |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| forge | forge-2026-10-16-1446.txt | 2026-10-16T14:56:18Z | 271.63 | STALE |
|
||||
| ledger | ledger-2026-10-16-1446.txt | 2026-10-16T14:47:33Z | 271.77 | STALE |
|
||||
| null | null-2026-10-16-1446.txt | 2026-10-16T14:47:52Z | 271.77 | STALE |
|
||||
| quill | quill-2026-10-16-1446.txt | 2026-10-16T14:47:07Z | 271.78 | STALE |
|
||||
| sphinx | sphinx-2026-10-16-1446.txt | 2026-10-16T14:50:35Z | 271.72 | STALE |
|
||||
| sol | sol-2026-10-16-1446.txt | 2026-10-16T14:49:04Z | 271.75 | STALE |
|
||||
| spark | spark-2026-10-16-1446.txt | 2026-10-16T14:56:18Z | 271.63 | STALE |
|
||||
|
||||
## Artifact
|
||||
|
||||
- `sol-lane-status-rederived-2026-10-27.json` — machine-readable record (mtime + age measured).
|
||||
- `check_sol_lane_status_rederived.sh` — the verdict: a single bare shell command;
|
||||
`bash check_sol_lane_status_rederived.sh` exits 0 iff the committed JSON matches an
|
||||
independent recompute straight from the filesystem.
|
||||
Reference in new issue
Block a user