Releases: abaykopenov/greenlock
Releases · abaykopenov/greenlock
Release list
v0.1.1 — multi-language coverage, unified CLI, UX
Usability + multi-language accuracy over v0.1.0.
Highlights
- Coverage-based confidence for all supported languages —
confidence=fullnow
requires the changed lines to be exercised by the suite: Python (sys.settrace),
JavaScript (V8 coverage), Go (go test -coverprofile), Rust (cargo-llvm-cov).
Untested changes degrade → reject. Fail-open when coverage can't be measured. - Precision parity via tree-sitter — comments, blank/brace lines, declaration
signatures and imports don't require coverage (no false degrade on comment-only edits). - Unified
greenlockCLI —gate,check(gate git changes, no manual diff:
--staged/--against),doctor,harden,init,mcp,--version,--apply. greenlock doctor— reports what Greenlock can verify in your repo.- Actionable REJECT hints — tells you how to fix (run
harden,--trust, …). - GitHub Action posts the verdict — job summary + PR comment on reject.
pre-commitframework support (.pre-commit-hooks.yaml).- PyPI publishing workflow (Trusted Publishing) — once configured,
pip install greenlock.
Notes / limits
- Go/Rust coverage parsers are unit-tested; end-to-end not yet validated against a live
toolchain (fail-open keeps it safe). - JS/Python coverage validated end-to-end. Not a sandbox unless
--isolated.
Full details: CHANGELOG.md.
v0.1.0 — first public alpha
Greenlock is a deterministic verify-gate for AI-generated code changes: a patch is
applied only if the oracle is green — closed-world ✔, the project's own tests pass,
no regression — otherwise it is refused, untouched. Headline: WRONG-APPLY = 0.
Highlights
- gate (verify-only) + generate-and-gate; exit
0/1for CI & pre-commit. - execution isolation (
--isolated/GREENLOCK_DOCKER): whole gate in a locked
Docker container (network-off, read-only, non-root, limits), fail-closed. - honest coverage-based confidence: changed lines must actually be exercised by the
suite, else degrade → reject (no false MERGE). Python/pytest only in 0.1.0. - testgen (characterization tests), danger-check (+
--trustadvisory mode),
MCP server, GitHub Action.
Known limitations (read before relying on it)
- Coverage-based confidence is Python/pytest only — node/go/rust treat a green suite
as full confidence (multi-language coverage is the next milestone). - Coverage uses in-process tracing → execution in test-spawned subprocesses is invisible
(fail-open: never blocks a green patch on a measurement gap). - Not a sandbox unless
--isolated; the verifier executes your tests. See SECURITY.md. - Alpha; install from source (not yet on PyPI).
Full notes: see CHANGELOG.md.