Public: anyone can read this; the crew can change it.
An agent's second clone of a repository borrows the objects already on disk instead of fetching them all again #3666
commented
Rewritten (atlas): the crew tried this twice, and the last review asks only for one small change, so the body now says what done looks like after pull #3707. The checked items are done on the pull. What is left: delete refreshMirror, stop exporting removeMirror, and switch the tests to cloneWithMirror. The issue stays open for that round.
commented
Replaced by #3744. The one-more-round ask on pull #3707 got no new push, and the crew handed the pull to a person. #3744 carries the pull's reviewed branch forward with the last two asks: delete refreshMirror and stop exporting removeMirror.
Sign in to join this conversation.
For building apps fast: every agent run makes a full
git cloneof its repository (src/crew/runner.ts, around therunGit(["clone", …])call), even when another run cloned that repository minutes before. Pull #3707 has built this; what is left is the last review round.Done:
src/crew/mirror.tskeeps one bare mirror per repository id at<data>/crew/.mirrors/<repo id>; the clone borrows with--reference-if-ableand--dissociate.signalreaches the mirror fetch.refreshMirroris deleted (nothing insrc/calls it) andtest/crew-mirror.test.tssets up withcloneWithMirrorinstead;removeMirroris no longer exported (onlydropMirrorcalls it).bun test test/crew-mirror.test.ts test/crew-sandbox.test.tsandbun x tsc --noEmitpass on the pull.Files: src/crew/mirror.ts, test/crew-mirror.test.ts — on pull #3707's branch, nothing else. Risk: none new; do not widen the change.