Skip to main content

VERIFY Engineer

Your software already contains consequential decisions — the places where a proposal becomes a commitment, and money moves, or a record changes, or something is sent. VERIFY Engineer finds them, helps make the rules that govern them explicit, and checks what actually changed when you repair one.

It runs locally. It has no account, no key, and no model of its own.

Install

pipx install verify-engineer      # recommended: an isolated environment for the command
pip install verify-engineer       # or into an environment you already have

One dependency, verify-run, the runtime that settles decisions. Both are public packages. Nothing else is fetched, and nothing is sent anywhere.

30-second start

verify-engineer inspect .

That is the whole first step. It reads your repository with a real parser, reports every place something could be committed, and says plainly what it could not settle. It writes nothing into your repository.

Add --out result.json and you get the same facts as typed data.

Use it from Claude Code or Codex

Engineer is a command-line tool with machine-readable output at every step, so a coding agent that already has your repository can drive it. Paste this:

Run VERIFY Engineer on this repository. Start by inspecting it. Explain what it finds in ordinary language. Follow its typed next actions, and use --out so you are reading data rather than my terminal. Help me draft the values it says may be drafted. Ask me for the decisions it refuses to invent — do not make those for me. When a repair exists, build the candidate separately from the current system, run the declared scenarios against both, and report VERIFY's comparison and its improvement claim exactly as given. Do not make its claims stronger in your own words.

You bring the agent. VERIFY brings the part an agent does not have: a place where construction stops and a claim becomes checkable. See AGENT_HOST.md.

What happens

inspect      where in this repository something could be committed
scaffold     turn one of those into a declaration skeleton — every decision marked UNRESOLVED
assist       optionally have a provider draft the fields it is allowed to draft
declare      you declare the rest; Engineer will not fill them in
govern       compile it, and say what is still open
prove        run your own predictions against the real runtime
repair       one typed change, then a second candidate
compare      current against candidate, over the cases they share

Example

From a run against a seeded repository, produced by scripts/zero_to_governed.py:

7 consequential site(s) across 11 file(s)
24 decision(s) the scaffold left for a person
   17 a provider may draft · 7 it names and refuses, with the reason for each
   grouped into 6 questions, not 24

COMPILED  ct1-d7c1f5f6…
5 of 5 case(s) settled as predicted, against the real runtime

the rule somebody added for this case did not fire; the general one above it did

and after a typed repair:

Yes — this candidate is better on the decisions we can compare.

or, when a candidate looks better because it stopped governing something:

claim withheld: ['GM.COVERAGE_REDUCED', 'GM.BRANCH_EXCLUDED']

Every number above came from executing the thing. None of it is written into a demo script.

What VERIFY will not decide for you

This is the part that makes the rest worth trusting.

  • It will not invent a missing fact. A value nobody declared is reported as UNRESOLVED, by name, with what would settle it.
  • It will not write a rule's outcome. A model that can write BLOCK can write ALLOW, and the distance between those is somebody's money. Seven of the twenty-four fields above are refused for reasons like that one, each stated.
  • It will not rank your findings. There is no impact score, because a canonical one would need a basis nothing here has. Where the structure your declaration already contains puts one finding ahead of another, it says so and shows the relation. Where it does not, you get two findings and a sentence saying neither comes first.
  • It will not decide whether an action is allowed. Only the installed verify-run runtime does that, at the moment the action is attempted.
  • It will not authorize anything. A met condition is arithmetic. Promotion is authority, and it belongs to the people who declared it.
  • It will not tell you a change improved things unless it can. When the candidate moved the population it was measured over, the claim is withheld and the reason is given.

Local and private

Nothing leaves your machine. There is no telemetry, no account, no key, and no network client anywhere in the product — proved structurally, by reading the installed package's imports, in scripts/release_battery.py.

Engineer is also disposable on purpose: install a governed boundary, delete Engineer, and nothing operational changes. The rules keep governing and the records keep verifying. That is a tested property (scripts/kill_harness.py), not a promise.

VERIFY Platform

Engineer is built for local use by one developer and stays that way.

Teams that need shared decision systems that persist, organizational identity and authority, lifecycle and promotion controls, managed evidence, centralized history or enterprise deployment can write to hello@verifyrun.com about VERIFY Platform.

Licence, and what "free" means here

Free to install and use, for anything, including commercially, on as many machines and by as many people as you like. No account, no key, no payment, and no expiry on a version you have already installed.

It is not open source. The licence does not grant redistribution, republishing, or offering it to third parties as a service. You may read the source and modify your own copy for your own use — and you can read it, because a pure-Python package ships the .py files that run. Publishing this package makes the distributed implementation inspectable, which is a deliberate decision and not an accident of packaging. The canonical repository, its history and its tests remain private.

Full terms in LICENSE. For anything the licence does not grant: hello@verifyrun.com.

Deeper documentation

AGENT_HOST.md driving Engineer from a coding agent
PUBLICATION.md the published contract and how to pin it
START_HERE.md reading order for the whole repository
PRODUCT_BOUNDARY.md what this is and is not

Requires Python 3.11 or later.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

verify_engineer-0.2.0.tar.gz (343.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

verify_engineer-0.2.0-py3-none-any.whl (419.1 kB view details)

Uploaded Python 3

File details

Details for the file verify_engineer-0.2.0.tar.gz.

File metadata

  • Download URL: verify_engineer-0.2.0.tar.gz
  • Upload date:
  • Size: 343.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for verify_engineer-0.2.0.tar.gz
Algorithm Hash digest
SHA256 fd3f7b41513466be59be29efb194f9a86a224cdb81c0e473f27933aa91517c3b
MD5 8702afa064fa09147742b1ccbf095180
BLAKE2b-256 e49dcf7a511810186311ca5066286fec52a58ad902b18c811b9de596baaf37f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for verify_engineer-0.2.0.tar.gz:

Publisher: release.yml on devinbostick/verify-engineer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file verify_engineer-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: verify_engineer-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 419.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for verify_engineer-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3f99f1454a262bb7450443bf7130ea0214fed906c1f78c5bd9668afac231408f
MD5 a4eb5478a96fc17706b799f5ad1b80fc
BLAKE2b-256 0f9b1c009bc7eed7119513e8ebd360130a6916e9b75c68c0f618a6f8bd4ab48c

See more details on using hashes here.

Provenance

The following attestation bundles were made for verify_engineer-0.2.0-py3-none-any.whl:

Publisher: release.yml on devinbostick/verify-engineer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.3.1

2 files

0.3.0

2 files

0.2.1

2 files

This release

0.2.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page