inherence-zero is a static linter for Vercel Zero programs. The program ships with a one-page JSON sidecar declaring what capabilities it will use (fs.read, net.address, http.fetch, …) and what argument values are in scope. inherence-zero check walks every call site, fires on anything that exceeds the declared scope, and emits diagnostics in Zero's own check --json shape.
pip install inherence-zero
inherence-zero scope --infer refund_agent.0
$ inherence-zero scope --infer refund_agent.0
inherence-zero scope · inferring from refund_agent.0
fs.read 1 value
./refunds/pending.json
net.address 1 value
api.stripe.com
world.write presence only
2 value(s) captured · 0 unresolved · 0 indirection bypasses
wrote refund_agent.inh-scope.json
Commit the source + the sidecar together. The sidecar is now the auditor's locked record. Later, if a prompt-injection rewrites the agent to read ~/.aws/credentials, inherence-zero check fires POL001 on the drift — Zero's own diagnostic shape, so agents already in the repair loop consume it without changes.
std.fs.* / std.net.* / std.http.* / std.env.* / std.proc.* / world.write*, **, ?)std.http.fetch requests gate on request_url)check --json shape exactlyattest list / show / verify); v2 brings real signed receiptsDemo live in your browser — 36-second CSS animation, no recording needed.
View animated demo → GitHub