Skip to main content

InstrProof

Regression testing for AI coding instructions.

InstrProof detects stale repository references in AGENTS.md, CLAUDE.md, and other AI coding instruction files.

  • Path & Link Contracts — recognizes repository paths and local Markdown links backed by repository evidence.
  • Package Script Contracts — recognizes referenced npm, pnpm, and yarn scripts.
  • Regression Detection — catches BASE-valid instruction references that become stale after code changes.
  • Deterministic CI Checks — uses repository evidence instead of LLM interpretation.

Why?

AI coding instructions depend on repository facts. After a refactor, those references can become stale even while application tests continue to pass.

src/auth/service.py
        ↓ refactor
src/auth/auth_service.py

Application tests   ✓
AGENTS.md            stale
InstrProof           ✗

InstrProof turns these repository-backed references into regression-testable contracts.

Example

AGENTS.md:

Authentication logic is implemented in `src/auth/service.py`.

Before the refactor:

$ instrproof check

Found 1 verified instruction contract:
PathExists  source=AGENTS.md:1  target=src/auth/service.py  current=present

After moving the file without updating AGENTS.md:

$ instrproof diff --base demo-base --ci

InstrProof ✗

1 instruction contract regression

AGENTS.md:1
PathExists(src/auth/service.py)

After updating the instruction:

$ instrproof diff --base demo-base --ci

InstrProof ✓

1 baseline contracts checked.
No instruction contract regressions.

Run the complete scenario:

./scripts/run-demo.sh

The demo script requires uv and a Unix-like shell environment.

Usage

python -m pip install instrproof

instrproof check
instrproof explain AGENTS.md:1
instrproof diff --base origin/main
instrproof diff --base origin/main --ci --require-contracts

Python 3.12+ and Git are required.

GitHub Actions

- uses: actions/checkout@v4
  with:
    fetch-depth: 0

- uses: actions/setup-python@v5
  with:
    python-version: "3.12"

- run: python -m pip install instrproof

- run: instrproof diff --base origin/main --ci --require-contracts

License

Apache License 2.0

Metadata

Release files for instrproof 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for instrproof 0.1.0
File Size Uploaded
instrproof-0.1.0.tar.gz 50.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for instrproof 0.1.0
File Interpreter ABI Platform
instrproof-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 70.0 kB

Release files / instrproof-0.1.0.tar.gz

Download URL instrproof-0.1.0.tar.gz
Size 50.6 kB
Tags Source
SHA-256 checksum
How to use checksums
d7830c005917678c68ba149abee3bfd8226e1cf1a39375ce0c6edacaad108dc6
BLAKE2b-256 checksum
How to use checksums
f318582d61643ac23b2ebcb3f177164f7b1e254e46602a5aea2b99185ba0d94d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.4

Release files / instrproof-0.1.0-py3-none-any.whl

Download URL instrproof-0.1.0-py3-none-any.whl
Size 19.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d6be043e3c6dc9f8c26ed55d837e1c547e1b9e6f6efc41533ab18551e39bf969
BLAKE2b-256 checksum
How to use checksums
a487bac4e5a85dc797d7df4ab88eb8ed912b573c127724706a44fd021eca5819
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.4

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release 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