Reviewer-ready index CLI for proof packets, receipts, and JSON contracts
Project description
repo-proof-index
repo-proof-index turns scattered proof artifacts into a reviewer-readable
index. Feed it JSON proof contracts, proof-surface packets, witness receipts,
and backend descriptors; it returns the compact view a maintainer needs before
a release-readiness or diligence handoff.
The parser is intentionally schema-tolerant. Unknown contract shapes still get best-effort identifiers, status, surface, evidence, and source path fields.
Use it when a repo or workspace has proof artifacts but no quick way to see what they claim, what surface they describe, what status they report, and where the evidence lives.
Install
python -m pip install repo-proof-index
For local development:
python -m pip install -e ".[test]"
python -m pytest
Usage
Index explicit JSON files:
repo-proof-index contracts/*.json
repo-proof-index contracts/*.json --json
repo-proof-index contracts/*.json --summary
repo-proof-index contracts/*.json --summary --json
repo-proof-index --validate examples/contracts/proof-surface-packet.json
repo-proof-index --validate examples/contracts/proof-surface-packet.json --json
Index the common workspace location:
repo-proof-index --root .
Use a custom contracts directory:
repo-proof-index --contracts-dir project-docs/contracts
Run the bundled quick demo:
repo-proof-index examples/contracts/*.json
Malformed input example:
repo-proof-index examples/malformed/not-object.json
Expected behavior: the command prints an error: line and exits with status
1 instead of producing a proof row.
What it indexes
Known shapes:
- proof-surface interop packets with
proof_surface_versionandpacket_id - product use-case manifests with
manifest_idandproduct - backend capability descriptors with
descriptor_idandbackends - witness receipts with
receipt_idandverdict - generic JSON contracts with common fields such as
id,report_id,manifest_id,descriptor_id,status,maturity,verdict,claims,verification, andnotes
Default discovery path when explicit files are omitted:
project-docs/roadmaps/contracts/*.json
Output fields
| Field | Meaning |
|---|---|
kind |
Best-effort contract type. |
surface |
Product, language, witness implementation, root, or contract name. |
status |
Status, maturity, verdict, or fallback status. |
evidence |
Short evidence summary from verification, claims, notes, or backend counts. |
path |
Source JSON path in JSON mode. |
Release summary mode
Use --summary when a reviewer needs the portfolio-level signal instead of
row-by-row detail. The summary reports total artifacts, kind counts, status
counts, evidence-gap count, and the first actionable rows that need stronger
proof.
total: 3
kinds: backend-capability=1, product-use-case=1, witness-receipt=1
statuses: MATCH=1, backend-matrix=1, release-candidate=1
evidence_gaps: 0
action_items:
- none
Example table output
kind | surface | status | evidence
---------------------- | ---------------------- | ------------------ | ------------------------------------------------------------------------
product-use-case | sample-tool | release-candidate | pass: example tests passed
witness-receipt | sample-witness | MATCH | sample receipt available
backend-capability | rust | backend-matrix | pass=1, planned=1
Example JSON output
[
{
"contract": "product-usecase-quanta-ui",
"kind": "product-use-case",
"surface": "quanta-ui",
"status": "private-gated",
"evidence": "pass: 17 tests passed",
"path": "contracts/quanta-ui.json"
}
]
What it does not do
- It does not validate a JSON Schema.
- It does not certify that evidence is sufficient.
- It does not read private payloads referenced by a contract.
- It does not decide whether a claim is true.
- It does not replace tests, audits, or release review.
Release-readiness use
repo-proof-index is the evidence assembly point in a proof-surface pipeline:
contracts and receipts -> proof index -> report -> reviewer handoff
Its job is to make proof artifacts visible enough for a maintainer, reviewer, client, or employer to see what exists and what still needs a stronger gate.
Proof-surface interop packet
The schemas/proof-surface-packet.schema.json file defines a small shared
packet for release-readiness evidence. It is intentionally neutral: independent
tools can publish claims, checks, and action items without asking any one tool to
become the authority.
surface claim -> evidence pointer -> check result -> action item
repo-proof-index recognizes these packets as proof-surface-packet rows and
summarizes their claim, check, and action counts. See
examples/contracts/proof-surface-packet.json and
docs/PROOF-SURFACE-INTEROP.md.
The current version and known producer/consumer registry lives at
docs/PROOF-SURFACE-REGISTRY.json.
Validate packet shape locally:
repo-proof-index --validate examples/contracts/proof-surface-packet.json
The validator is intentionally strict for the v0.1 contract: unexpected root, claim, or check fields are reported as errors instead of silently drifting the interop shape.
Export the portable contract bundle:
python scripts/export_proof_surface_contract.py --out dist/proof-surface-contract-v0.1
Research harness
The draft research harness scores proof-surface cases across schema validity, evidence coverage, actionability, non-authority language, and witness/provenance presence.
python scripts/score_proof_surface_research.py
See docs/PROOF-SURFACE-RESEARCH-HARNESS-v0.1.md.
Case contribution guidance lives at
docs/PROOF-SURFACE-CASE-CONTRIBUTING.md.
Authorship
Created and maintained by Zain Dana Harper. Claude Code contributed to the initial implementation.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file repo_proof_index-0.1.1.tar.gz.
File metadata
- Download URL: repo_proof_index-0.1.1.tar.gz
- Upload date:
- Size: 20.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2e22c322a720a51a5a007d88708bf4e19c6b32b93e94c91a73118e3b478389d7
|
|
| MD5 |
841a931b585f43231bbabb6a9e623016
|
|
| BLAKE2b-256 |
a49bb6e327745747438e5883bc918c63457906654e02f947e2f7967b24af6d81
|
Provenance
The following attestation bundles were made for repo_proof_index-0.1.1.tar.gz:
Publisher:
publish-pypi.yml on HarperZ9/repo-proof-index
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
repo_proof_index-0.1.1.tar.gz -
Subject digest:
2e22c322a720a51a5a007d88708bf4e19c6b32b93e94c91a73118e3b478389d7 - Sigstore transparency entry: 1818461017
- Sigstore integration time:
-
Permalink:
HarperZ9/repo-proof-index@d9598af4d744fe8952d1f4e5c09650f2842a75b8 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/HarperZ9
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@d9598af4d744fe8952d1f4e5c09650f2842a75b8 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file repo_proof_index-0.1.1-py3-none-any.whl.
File metadata
- Download URL: repo_proof_index-0.1.1-py3-none-any.whl
- Upload date:
- Size: 10.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e71d276ef4bee7f21ce1196b5bc61534cb90d0607c737af26a9d60723fd070d4
|
|
| MD5 |
0f3400100dbcb105ddbf6e8c16652db0
|
|
| BLAKE2b-256 |
1725375820685f4e1f7cb9784aceebf76147c63dfcca3e09916a5924bae9a4ea
|
Provenance
The following attestation bundles were made for repo_proof_index-0.1.1-py3-none-any.whl:
Publisher:
publish-pypi.yml on HarperZ9/repo-proof-index
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
repo_proof_index-0.1.1-py3-none-any.whl -
Subject digest:
e71d276ef4bee7f21ce1196b5bc61534cb90d0607c737af26a9d60723fd070d4 - Sigstore transparency entry: 1818461034
- Sigstore integration time:
-
Permalink:
HarperZ9/repo-proof-index@d9598af4d744fe8952d1f4e5c09650f2842a75b8 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/HarperZ9
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@d9598af4d744fe8952d1f4e5c09650f2842a75b8 -
Trigger Event:
workflow_dispatch
-
Statement type: