Skip to content

Releases: Dryxio/reagent

auto-re-agent v0.4.0

Choose a tag to compare

@Dryxio Dryxio released this 09 Sep 20:35

Windows validation and migration

Build, test, and runtime gates now accept argument arrays that execute directly on Windows and POSIX. This addresses #11 without requiring /bin/sh for native Windows validation.

Upgrade with:

python -m pip install --upgrade "auto-re-agent>=0.4.0"

On native Windows, convert string commands to arrays. For example, from a Visual Studio Developer Command Prompt with cl available:

validation:
  build_commands:
    - [cl, /nologo, /c, "{candidate_file}", "/Fo{overlay_root}/candidate.obj"]
  require_build: true
  trust_configured_commands: true

Placeholders are expanded directly into arguments, preserving paths with spaces. Do not add shell quotes inside array values. Legacy string commands still use POSIX /bin/sh; arrays do not expand $VAR, %VAR%, pipes, or other shell syntax. re-agent doctor now reports a missing shell when string commands are configured. Only enable command trust for meaningful project-owned validation gates.

Function manifests and evidence

  • plan collects seed functions and direct callees within explicit depth and function limits, without model calls.
  • reverse --manifest uses dependency ordering, bounded retries, cross-class resume, and cumulative validation in a disposable project copy.
  • evidence --manifest exports stored evidence into linked JSON packets and searchable TSV files.
  • status --manifest reports inventory coverage, stale results, and separate build/test/runtime/differential outcomes.
  • Structured evidence gaps and full context bundles are preserved. Empty or whitespace-only backend errors no longer produce unreadable manifests.

Other fixes

  • Correct Clang source offsets for CRLF files.
  • Avoid estimating machine basic-block counts from C++ keywords in CFG verification while retaining checks for wholesale removal of branching.
  • Send large Codex CLI prompts through UTF-8 stdin and preserve conversation history after failed requests.

Validation

  • 199 local tests passed, including nine regression cases for manifest error handling; Ruff and strict mypy passed.
  • Windows Python 3.12: 193 tests passed, six skipped. Linux Python 3.10–3.13, macOS Python 3.13, lint, and package CI also passed.
  • Source distribution and wheel built, checked, and smoke-tested in a separate installation.

The tests use deterministic model providers. No live Ghidra or live model reconstruction was repeated for this release. Manifest coverage describes the selected inventory and configured acceptance policy, not whole-program completeness or semantic equivalence.

Thanks to @SamG-Coder for #12 and @Gotens for the Windows validation report.

Changelog · Configuration and migration

auto-re-agent v0.3.0

Choose a tag to compare

@Dryxio Dryxio released this 04 Sep 19:42

What changed

Candidate compilation, tests, runtime checks, differential comparisons and semantic parity rules now run inside the repair loop. Failures and counterexamples feed the next attempt instead of rejecting an otherwise repairable candidate after the last model review.

  • Evidence: direct ghidra-json export reader, repaired legacy struct/xref/symbol parsing, shared checker evidence and bounded valid JSON.
  • Source identity: optional Clang compilation-database indexing, overload refusal and safer function-body replacement.
  • Project reconstruction: dependency-edge ordering and cumulative class validation in a disposable project copy.
  • Recovery and cost: round checkpoints, prior-attempt feedback, input fingerprints, unique per-call logs and shared call budgets.
  • Isolation: remapped internal symlinks, rejected outgoing links, quoted shell placeholders, bounded output and process-group timeout cleanup.
  • CLI: doctor, differential benchmark manifests, corrected estimates and JSON/Markdown reversal output.

Validation

  • 131 tests, including 40 new regression/integration cases; Ruff and strict mypy.
  • Wheel/sdist builds and installation smoke test in a fresh environment.
  • Three GTA SA timer functions generated and compiled, then compared with original x86 machine code under Unicorn: 21/21 observations matched.
  • All three deliberately incorrect benchmark controls were detected.

The GTA experiment uses explicit adapters for three leaf functions. It is not a full game build or proof of equivalence for arbitrary code. No game binary or export is distributed.

Upgrade

python -m pip install --upgrade 'auto-re-agent[ghidra-bridge]>=0.3.0'

Clang indexing is optional. Differential adapters are project-owned. Shell validation requires POSIX and remains trusted project code; an overlay is not an OS sandbox. Ambiguous definitions, outgoing symlinks and invalid acceptance configurations now fail explicitly.

Full changelog · Validation report · Configuration and migration

auto-re-agent v0.2.1

Choose a tag to compare

@Dryxio Dryxio released this 23 Jul 11:22

What's Changed

New Contributors

Full Changelog: v0.2.0...v0.2.1

auto-re-agent v0.2.0

Choose a tag to compare

@Dryxio Dryxio released this 15 Jul 12:59

Highlights

  • Adds a source-aware autonomous reverser/checker loop with optional independent providers and models.
  • Adds agentic Ghidra investigation through ghidra-ai-bridge, including decompile, xrefs, types, globals, strings, normalized high P-code, CFG, and assembly evidence.
  • Adds conservative objective verification on every review round.
  • Adds isolated candidate overlays with configurable build, test, and runtime validation gates.
  • Adds an 11-signal parity engine with GREEN, YELLOW, and RED outcomes.
  • Supports Claude API, Claude CLI, OpenAI-compatible APIs, and Codex CLI.
  • Adds portable project profiles, bounded attempts, persistent reports, run history, and an evidence knowledge graph.
  • Clarifies safety boundaries: generated code does not overwrite or commit the original project automatically.

Installation

python3 -m pip install --upgrade "auto-re-agent[ghidra-bridge]>=0.2.0"
# Include PyGhidra-based headless exports:
python3 -m pip install --upgrade "auto-re-agent[headless]>=0.2.0"

Upgrade notes

  • Validation is intentionally strict. Configure meaningful project-owned build/test commands and set trust_configured_commands: true, or explicitly disable validation for exploratory runs.
  • The full binary-backed workflow requires ghidra-ai-bridge>=0.2.0.
  • Start new projects with an explicit profile such as re-agent init --profile generic-cpp.

Validation

  • 89 automated tests pass.
  • Ruff and mypy pass on the auto-re-agent source.
  • Wheel and source distribution pass twine check.