Skip to content

v0.1.0 — exit 0 is not evidence

Latest

Choose a tag to compare

@tonydzi tonydzi released this 04 Aug 19:30
· 5 commits to main since this release

Your scheduled job says exit 0. Prove it did the work. First tagged release.

Three small checks, no server, no dependencies, no account. They replace a job's self-report with evidence.

What is in v0.1.0

check question it answers catches
freshness is the job's real output young enough? exit 0 while the artifact rots
wrap did this run actually change anything? exit 0 with no work done
rollout is the fix on every box, read back as a fact? "rolled out" that never landed

All three speak one exit-code contract, implemented once in verified_ops/contract.py, designed so that a dead checker cannot look like a clean result — the specific trap being that exit 1 means "I found a problem" in most checkers and is what Python prints when the checker itself dies, so a crash gets painted the colour of a routine finding.

Why these three

Each is a failure that happened to us first, on a live agent fleet:

  • a nightly artifact cold for two weeks behind a green heartbeat — the job fired every night and produced nothing;
  • a checker crashing every night while the board showed a routine finding;
  • a keyboard fix that sat undelivered on one box for twelve days after being "rolled out", because an offline box, a lagging box and a healthy box are all equally quiet.

The rule it lives by

A check with no mutant that makes it fail measures nothing. Every state in selftest.py is produced by planting the actual failure — a backdated file, an empty rewrite, a verify that only exits 0, a job that no-ops, a checker that crashes — and demanding both the right state and the right exit code. python3 selftest.py prints 44 checks, 0 failed.

Seven holes in this release were found by two external review rails before publication, not after.

Requirements

Python 3.8+, standard library only. CI: Ubuntu / macOS / Windows × 3.9 / 3.11 / 3.13.

git clone https://github.com/Palo-Alto-AI-Research-Lab/verified-ops-starter
cd verified-ops-starter && python3 selftest.py

Scope, stated plainly

This sits next to heartbeat monitoring (healthchecks.io, cronitor, dead-man switches), which answers did it fire? — a different and genuinely useful question. This kit answers did the work land?

What's next

A parity check that catches a box drifting silently over days, read-back adapters beyond the shell (HTTP, SQL), and a human-readable report. Not planned, deliberately: a server, a daemon, a dashboard, an account.

Every noticeable change ships as its own release, so this feed is the record of what the kit can actually prove.

Full Changelog: https://github.com/Palo-Alto-AI-Research-Lab/verified-ops-starter/commits/v0.1.0