Model-agnostic quality-gate kit for AI-assisted developers
Project description
HyoDo
Honest quality gates for AI-assisted Python work.
HyoDo provides a small CLI and CI workflow for reviewing AI-assisted changes. It combines type checking, linting, tests, safety warnings, and an optional review score without granting automatic approval.
Two tracks
HyoDo has two surfaces with deliberately different scopes:
safe— outward, any repository. A dependency-light safety early-warning scanner (secrets, dangerous commands, production impact). Runhyodo safeorhyodo safe --jsonon your diff.check— reference, a HyoDo checkout only. HyoDo's own release gates (Pyright/Ruff/pytest/SBOM). It proves HyoDo's honesty contract; it does not gate arbitrary projects.
If you want a gate for your repo today, use safe. check is intentionally
scoped to HyoDo itself.
Install
Python 3.10 or newer is required.
pip install -U hyodo
hyodo --version
The installed package exposes score, safe, and onboarding commands from any
directory:
hyodo score --truth 0.9 --goodness 0.9 --beauty 0.9 \
--benevolence 0.9 --loyalty 0.9
hyodo safe path/to/file_or_diff_context
hyodo safe --strict path/to/file_or_diff_context
hyodo check currently validates a HyoDo repository checkout, not an
arbitrary project. Clone the repository to run its full release gates:
git clone https://github.com/lofibrainwav/HyoDo.git
cd HyoDo
python -m pip install -e ".[dev]"
hyodo check
See Quick Start for the complete first-run path.
Commands
| Command | Purpose |
|---|---|
hyodo start |
Show onboarding guidance |
hyodo check [PATH] |
Run HyoDo checkout gates |
hyodo score ... |
Produce a review signal |
hyodo safe [PATH] |
Print safety findings without blocking |
hyodo safe --strict [PATH] |
Exit 1 when high-severity findings exist |
hyodo safe --json [PATH] |
Emit machine-readable JSON findings for CI |
hyodo trinity "CHANGE" |
Produce a structured review checklist |
hyodo check exit contract
| Exit | Meaning |
|---|---|
0 |
At least one gate ran and every executed gate passed |
1 |
An executed gate failed |
2 |
The path is missing or no applicable gate ran |
The checkout gates run Pyright, Ruff, pytest, and an optional SBOM check. A zero-gate run is never reported as success.
hyodo safe exit contract
- Default mode prints findings and exits
0. --strictexits1when a high-severity finding is present.- Missing or unreadable paths exit
2.
hyodo safe is an early-warning scanner, not a security audit.
Scope
The supported release surface is intentionally narrow:
| Surface | Status |
|---|---|
hyodo/ Python package and CLI |
Public release surface |
tests/ and .github/workflows/ |
Release verification |
Model-agnostic means the core CLI does not require a specific AI provider or agent UI. It does not mean language-agnostic or universal repository support.
Optional review score
HYOGOOK V5 evaluates Truth, Goodness, Beauty, Benevolence, and Loyalty, with a geometric-mean harmony signal. Scores support review; they never replace tests, security checks, or human approval.
The practical CLI works without this optional philosophy layer. See HyoDo philosophy for the short model description.
Documentation
- Quick Start
- Documentation index
- Provider support evidence
- Security boundaries
- External claim audit
- Changelog
- Roadmap
Contributing and security
See CONTRIBUTING.md before opening a pull request. Report security issues through the process in SECURITY.md.
License
HyoDo is available 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 hyodo-3.2.1.tar.gz.
File metadata
- Download URL: hyodo-3.2.1.tar.gz
- Upload date:
- Size: 39.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
86bd5ac100d5b270bea376dc632f86c96fac419c98b44bcf46cfd2bce602fe6c
|
|
| MD5 |
accd1b758523b9bff90e37faf99c75fa
|
|
| BLAKE2b-256 |
3156053c804449a6e315125bcb8699595767f5239128bb1008b593d1b2003d0b
|
Provenance
The following attestation bundles were made for hyodo-3.2.1.tar.gz:
Publisher:
publish.yml on lofibrainwav/HyoDo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hyodo-3.2.1.tar.gz -
Subject digest:
86bd5ac100d5b270bea376dc632f86c96fac419c98b44bcf46cfd2bce602fe6c - Sigstore transparency entry: 2205120272
- Sigstore integration time:
-
Permalink:
lofibrainwav/HyoDo@be7cb2b12ac51825cedae654ac3b0aa4efd68f11 -
Branch / Tag:
refs/tags/v3.2.1 - Owner: https://github.com/lofibrainwav
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@be7cb2b12ac51825cedae654ac3b0aa4efd68f11 -
Trigger Event:
push
-
Statement type:
File details
Details for the file hyodo-3.2.1-py3-none-any.whl.
File metadata
- Download URL: hyodo-3.2.1-py3-none-any.whl
- Upload date:
- Size: 17.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
384d1d2d9ee0f9ba3d59f2d87324cbd565475fbcee1fc798163f024c718da41f
|
|
| MD5 |
13b904c86a1aa755ac65eabd97c37304
|
|
| BLAKE2b-256 |
f6cac51686280c6053f0b19563151e4425d3d8db9af496bbc791df504090a81e
|
Provenance
The following attestation bundles were made for hyodo-3.2.1-py3-none-any.whl:
Publisher:
publish.yml on lofibrainwav/HyoDo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hyodo-3.2.1-py3-none-any.whl -
Subject digest:
384d1d2d9ee0f9ba3d59f2d87324cbd565475fbcee1fc798163f024c718da41f - Sigstore transparency entry: 2205120280
- Sigstore integration time:
-
Permalink:
lofibrainwav/HyoDo@be7cb2b12ac51825cedae654ac3b0aa4efd68f11 -
Branch / Tag:
refs/tags/v3.2.1 - Owner: https://github.com/lofibrainwav
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@be7cb2b12ac51825cedae654ac3b0aa4efd68f11 -
Trigger Event:
push
-
Statement type: