Lazy-fetch source closure before materialized fallback

main

Commit

Soph4mo ago

needsLocalSourceClosure approximates which scenarios require the local store, but it can't perfectly mirror CanIncrementalRelay — for instance, when target capabilities are unknown the relay rejects even though the plans look skip/create-only. In that case the materialized fallback ran against an empty in-memory store and silently produced an insufficient pack.

Track whether the closure has been fetched and refetch on demand before materialized runs. Pure-relay paths still skip the upfront fetch (no double-trip), and the fallback regains the store it needs.

Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com Entire-Checkpoint: 62b6e35685a0

Checkpoints

git-sync sync --tags https://github.com/entireio/cli.git $ARTIFACTS_REMOTE

Claude Code
View session
Checkpoint 1