Skip to content

v0.5.8 — Design A+ staged review (no size ceiling, full context)

Choose a tag to compare

@limeflash limeflash released this 10 Jul 14:02

Reviews no longer have a command-line size ceiling, and agy gets the full content of changed files regardless of size — fixing both the ENAMETOOLONG crash on large diffs and the context-blind false positives on large files.

What changed

agy --print takes the whole prompt as one command-line argument, so a big review (expanded diff + embedded files) blew past the OS limit (~32 KB on Windows) and crashed — or got truncated. Design A+ fixes this by staging the review materials to disk:

  • the full diff → <temp>/diff.patch
  • full current content of changed files → <temp>/files/<relpath> (≤2 MB each; symlinks, binaries, and out-of-repo paths skipped)
  • the argv prompt only points at them, so it stays tiny

agy reads the staged copies from disk. No ENAMETOOLONG, no truncation, full context on any size. The real repo is never placed in --add-dir, and agy runs with its working directory set to the stage dir — so it has no handle to your repository.

Verified live against real agy 1.0.3: a 305-line file with a change ~300 lines away from a definition — agy read the full staged file, confirmed the definition, and reported no false positive (the exact context-blind FP from earlier rounds).

Read-only posture (honest tiers)

Getting output from agy 1.0.3 headless requires --dangerously-skip-permissions (issue #76). For the read-only review commands we scope it tightly and document the real guarantee:

  • macOS / Linux / WSL: OS-enforced — agy --sandbox confines writes to the (temp) workspace.
  • Native Windows: very strong practical — the repo is never exposed by path/env/cwd — but not OS-hard (no lightweight no-admin Windows sandbox exists; icacls/attrib are reversible theater and were deliberately not used). For an OS-hard guarantee on Windows, run under WSL.

See SECURITY.md for the full analysis (pressure-tested with agy itself).

Notes

  • The Bash /agy:review (no-flag working-tree path) still embeds + byte-caps; use the companion path (--base, or any flag) for large reviews.
  • 186 unit tests, CI green. Update with /plugin update agy.