Skip to content

Releases: abaykopenov/greenlock

v0.1.1 — multi-language coverage, unified CLI, UX

Choose a tag to compare

@abaykopenov abaykopenov released this 19 Jun 16:22

Usability + multi-language accuracy over v0.1.0.

Highlights

  • Coverage-based confidence for all supported languagesconfidence=full now
    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 greenlock CLIgate, 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-commit framework 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

Choose a tag to compare

@abaykopenov abaykopenov released this 19 Jun 08:30

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/1 for 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 (+ --trust advisory 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.