Skip to content

feat(eval): private repos in place, persistent public clones, --clean - #14

Merged
Chofito merged 1 commit into
mainfrom
feat/eval-in-place
Oct 6, 2026
Merged

Chofito merged 1 commit into
mainfrom
feat/eval-in-place

Conversation

@Chofito

@Chofito Chofito commented Oct 6, 2026

Copy link
Copy Markdown
Owner

Part of #3

What

  • Private repositories run in place. eval/local/<name>.json is now { path, stack, tasks } (no commit). The eval runs in the working copy itself: no copy on disk, and it follows the code as it changes. Each run in runs.json records commit and dirty, so a result can still be traced to the code it saw.
  • Nothing but .astrograph/ is written into a repository. The skill for the arm with Astrograph is now loaded with --plugin-dir (a plugin generated under eval/results/<run>/plugin) instead of being copied into .claude/skills/ of the repo. .astrograph/ ignores itself (.gitignore with *), so git status is unchanged, and rg/Grep skip it, so the .git/info/exclude workaround is gone.
  • Public clones persist in ~/.cache/astrograph-eval (one shallow clone per pinned commit, reused by the eval and by bench). bun run eval --clean deletes them and prints the space freed; private repositories are never touched.

Why

Owner feedback: private repos already live on disk and change over time, so copying them wastes space and freezes stale code; public samples should stay ready between runs but be easy to drop.

Verified

  • bun test, bun run typecheck, bun run check green.
  • bun run eval nestjs-bko-callers on a private repo: ran in place, git status --porcelain empty before and after, runs.json has commit: 7f4a8b2e2b12, dirty: false, init event lists astrograph-eval:astrograph skill in the arm with.
  • --clean against a temporary ASTROGRAPH_EVAL_CACHE: removes it and reports the size; a second call reports nothing to clean.

🤖 Generated with Claude Code

- Private repositories (eval/local/) are run where they are on disk: no copy,
  the eval follows their code as it changes, and each run records the commit
  it saw and whether the tree was dirty. Only `.astrograph/` is written there
  (it ignores itself), so `git status` stays clean.
- The skill is loaded with --plugin-dir instead of being copied into the
  repository, so the run with Astrograph writes nothing else either.
- Public clones stay in ~/.cache/astrograph-eval between runs;
  `bun run eval --clean` deletes them to free space.

Part of #3

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@Chofito
Chofito merged commit afda0ea into main Oct 6, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant