Skip to main content

Repo intent verification and spec drift checks for markdown specs, handoffs, and codebases.

Project description

intent-verify: repo intent verification and spec drift checks

Find spec drift fast when your repo has an INTENT.md, SPEC.md, or handoff doc but nobody knows if the code still matches it.

intent-verify checks a markdown spec against a repo and returns verified, partial, or missing so you can catch repo intent drift before review, release, or handoff.

  • "My repo has an INTENT.md but nobody knows if the code still matches it."
  • "Reviews catch scope drift too late."
  • "A handoff doc says one thing and the implementation says another."
  • "I want a cheap CI check for spec drift before merge."
  • "We need repo intent verification without inventing another full compliance system."

Fastest install:

pip install intent-verify

Fastest real usage:

intent-verify check --spec INTENT.md --repo .

Exact outcome:

intent-verify: INTENT.md vs . (12 files)
  [OK   100%] uploads PDF invoices
  [PART  50%] retries provider timeout
  [LOW   20%] writes audit log for rejected invoices
intent-verify: MISSING — 1/3 items below 30% (avg 57%)

intent-verify preview

This is a guardrail, not proof of correctness. It answers “does the implementation visibly cover the stated scope?” not “is the software correct?”

Install

pip install intent-verify

For local development:

pip install -e ".[dev]"

Common search-intent use cases

  • repo intent verification
  • spec drift check
  • handoff verification
  • acceptance criteria drift detection
  • CI check for markdown spec vs code

Usage

intent-verify check --spec INTENT.md --repo .
intent-verify check --spec SPEC.md --repo . --json
intent-verify check --spec docs/handoff.md --repo src --min-verified 0.75 --min-item 0.35

What it parses

By default it extracts items from:

  • inline lines such as Accepts: upload PDF invoices, retry on timeout
  • markdown sections such as ## Accepts with bullet items

It also supports custom headings:

intent-verify check --spec SPEC.md --section "Requirements"

Output

intent-verify: INTENT.md vs . (12 files)
  [OK   100%] uploads PDF invoices
  [PART  50%] retries provider timeout
  [LOW   20%] writes audit log for rejected invoices
intent-verify: MISSING — 1/3 items below 35% (avg 57%)

JSON mode:

intent-verify check --spec INTENT.md --repo . --json

Limitations

  • Lexical, not semantic.
  • Can over-credit token overlap.
  • Can under-credit implementations expressed with different vocabulary.
  • Best used as a CI guardrail or review hint, not as a substitute for tests and code review.

When To Use It

  • You keep project intent in markdown.
  • You want a lightweight repo intent verification step in CI.
  • You need a handoff verification check before merging or releasing.

When Not To Use It

  • You need semantic verification of behavior.
  • You do not have any human-readable spec, intent, or requirements file.
  • You want proof of correctness instead of a fast drift signal.

More From Hermes Labs

Development

ruff check .
python3 -m pytest -q
python3 -m py_compile src/intent_verify/*.py

Repository layout

src/intent_verify/
tests/
examples/

Project details


Download files

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

Source Distribution

intent_verify-0.1.0.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

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

intent_verify-0.1.0-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file intent_verify-0.1.0.tar.gz.

File metadata

  • Download URL: intent_verify-0.1.0.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for intent_verify-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ccf33e61f75ae010bbcf6f0b6faf26ba2827af30699ff93ec3c8ea5c539b68b8
MD5 086900721b204bff2f640fee944083a4
BLAKE2b-256 cd9f750b734a20a4f898ac4fe56daf724f38ae04236932d24a481387e34c78d8

See more details on using hashes here.

File details

Details for the file intent_verify-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: intent_verify-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for intent_verify-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5360710ddb1d7194a1ade7ac7baed1e831af08f316c0117ec9fe5da2c63c65bc
MD5 53dc1659291c98dd43d0082ca3786645
BLAKE2b-256 d5eac100e0c713faddc9b4596e11e319bfd20f5be505050dc0e2421ca6a8489b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page