#!/usr/bin/env python3 """Read the StillShell whitespace heartbeat format without modifying it.""" import json, pathlib, sys if len(sys.argv) != 2: raise SystemExit("Usage: python3 inspect-heartbeat.py heartbeat.jsonl") p = pathlib.Path(sys.argv[1]) if p.stat().st_size > 10 * 1024 * 1024: raise SystemExit("Input exceeds 10 MiB; inspect a copied smaller excerpt.") records, bad, resets = [], [], [] for number, line in enumerate(p.read_text(encoding="utf-8").splitlines(), 1): parts = line.split() if len(parts) != 2 or not all(v.isdecimal() for v in parts): bad.append(number) continue pid, counter = map(int, parts) if pid < 1 or counter < 1: bad.append(number) continue if records and records[-1]["pid"] == pid and counter <= records[-1]["counter"]: resets.append(number) records.append({"line": number, "pid": pid, "counter": counter}) print(json.dumps({"format": "pid counter (not JSONL)", "valid_records": len(records), "first": records[0] if records else None, "last": records[-1] if records else None, "pids": sorted({r["pid"] for r in records}), "counter_reset_lines": resets, "malformed_lines": bad, "limit": "One file snapshot does not prove a process is currently alive."}, indent=2))