Traceable code review artifacts for local Git diffs
Project description
EvidentLoop
Turn local Git diffs into evidence-backed, traceable audit reports.
EvidentLoop turns a local Git diff into a single HTML report. Any finding included in the risk score is tied to a real changed line, so you can verify it, mark false positives, add context, and export your decisions.
The Alpha report UI and review text are Simplified Chinese.
Quick start
Requirements: Git, Python 3.10 or newer, uv, Node.js/npx for Skill installation, and a coding agent with Skill support.
# Try the offline demo
uvx evidentloop demo
# Install the CLI and Skill
uv tool install evidentloop
npx skills@latest add evidentloop/evidentloop --skill evidentloop -g
evidentloop doctor
pipx install evidentloop is the CLI fallback.
Inside the Git repository to inspect, ask your coding agent:
Use EvidentLoop to audit my staged changes and generate the HTML report.
Output
| File | Purpose |
|---|---|
audit.json |
Validated audit record linking Git changes to findings. |
audit.html |
Single-file report showing the relevant diff and browser-local decisions. |
audit-feedback.jsonl |
Optional decision export. In this Alpha, exported feedback does not update the report or change code. |
| EvidentLoop self-audit overview | Offline demo: finding, changed line, and decision |
|---|---|
Open the HTML locally, or publish a redacted copy to static hosting. Feedback stays in each viewer's browser until exported; the report is shareable, but it is not a multi-user review service.
EvidentLoop uses the model already available in your coding agent. It never executes commands found in the diff or model output.
How it works
complete means the host returned a valid, complete result. What it finds still depends on the host model and the context it received.
Alpha scope
| Supported | Not supported |
|---|---|
| Local Git staged, unstaged, ref, and range diffs | Folder diff, file-only review, or remote PR URLs |
| Added, modified, deleted, renamed, and binary-file metadata | Automatic fixes or command execution |
Schema 0.3, findings tied to exact changed lines, nearby Git context |
Feedback ingestion or automatic report revision |
| Complete, partial, failed, and inconclusive states | Review targets other than Git diffs |
Integration and development
Most users should use the Skill. Host integrators can use the prepare -> external review -> finalize path documented in AI host integration. The public Python API is available from evidentloop.api.
For local development:
python -m pip install -e '.[dev]'
python -m pytest -q
python -m ruff check .
python -m build
References: Pages and sample report · V0 scope · Data model · AI host integration
License
Licensed under the MIT License.
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 evidentloop-0.1.0a0.tar.gz.
File metadata
- Download URL: evidentloop-0.1.0a0.tar.gz
- Upload date:
- Size: 80.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f08aa0dd2bdb85b7363b6b719e4ce2556da18bef8a2229c9aa70dbb528e6b6a2
|
|
| MD5 |
a27305789918b048a3f7c20060d4ba36
|
|
| BLAKE2b-256 |
76d474874cf170293eb0d989dfbc5edc7794d08e7ac65f26ea1e423cd543d978
|
Provenance
The following attestation bundles were made for evidentloop-0.1.0a0.tar.gz:
Publisher:
publish.yml on evidentloop/evidentloop
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
evidentloop-0.1.0a0.tar.gz -
Subject digest:
f08aa0dd2bdb85b7363b6b719e4ce2556da18bef8a2229c9aa70dbb528e6b6a2 - Sigstore transparency entry: 2178631167
- Sigstore integration time:
-
Permalink:
evidentloop/evidentloop@88134ae4bba0fa9995a6bb2d46ba17f9e0bcc6b6 -
Branch / Tag:
refs/tags/v0.1.0a0 - Owner: https://github.com/evidentloop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@88134ae4bba0fa9995a6bb2d46ba17f9e0bcc6b6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file evidentloop-0.1.0a0-py3-none-any.whl.
File metadata
- Download URL: evidentloop-0.1.0a0-py3-none-any.whl
- Upload date:
- Size: 70.2 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 |
e6fafc52ebf6981e2c919d8abc38bedd16e3365dffcee49d5006a2eeee5c1b93
|
|
| MD5 |
6584ecbb33ef287bd16acf8f5097e1c5
|
|
| BLAKE2b-256 |
98bcf8ff913567c484185c7647337d45ae270dc787cb98fe2ba5200eb8c14173
|
Provenance
The following attestation bundles were made for evidentloop-0.1.0a0-py3-none-any.whl:
Publisher:
publish.yml on evidentloop/evidentloop
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
evidentloop-0.1.0a0-py3-none-any.whl -
Subject digest:
e6fafc52ebf6981e2c919d8abc38bedd16e3365dffcee49d5006a2eeee5c1b93 - Sigstore transparency entry: 2178631250
- Sigstore integration time:
-
Permalink:
evidentloop/evidentloop@88134ae4bba0fa9995a6bb2d46ba17f9e0bcc6b6 -
Branch / Tag:
refs/tags/v0.1.0a0 - Owner: https://github.com/evidentloop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@88134ae4bba0fa9995a6bb2d46ba17f9e0bcc6b6 -
Trigger Event:
push
-
Statement type: