Validator Reference
The load-bearing PR gate is:
python v3.5/scripts/validate_pr_brutal_honesty.py --body path/to/pr-body.md
The package entry point is also available under
v3.5/scripts/validate_pr_brutal_honesty/.
What It Enforces
The validator checks the ## Brutal Honesty PR-body block against the
rulebook and convention tables. The current v3.7.1 surface includes:
- executable PR-body and block-flag gates from v3.2;
- schema, prose, and artifact drift checks from v3.3;
- v3.5 closed-set vocabularies and scoring caps;
- v3.6 Tier B carry-debt close behavior;
- v3.7.1 L15/L16, R76/R77/R78/R79/R80 gate-skip and rewrite-scope enforcement.
The validator reads closed sets and tables from
v3.5/docs/conventions/brutal-honesty-kit/v3.5/, so that tree must be present
in adopter installs.
Common Companion Checks
python v3.5/scripts/validate_v33_schema_drift.py
python v3.5/scripts/check_block_flag.py
python -m pytest v3.5/tests/test_validate_pr_brutal_honesty.py -v
Focused v3.7.1 checks:
cd v3.5
python -m pytest tests/test_v371_loophole_replay.py tests/test_r79_severity_cap.py tests/test_r80_rewrite_scope.py -v
Hook check:
python -m pytest v3.5/tests/test_check_brutal_honesty_hook.py -v
Inputs
The validator can read a local PR body file. When gh is available, the full
install guide also documents PR-number based usage.
Many rules reference sidecar artifacts such as:
out/bhs-ledger.jsonl;out/bhs-aggregate-breakdown.json;out/sticky-caveats.jsonl;- lane, heartbeat, charter, and charter-merge artifacts for long-haul work.
Those artifacts are adopter-runtime evidence. A fresh public checkout may not have them stocked; that is expected.