Group of 2 Under the hood
The git working-tree snapshot process now detects late-arriving edits, paces itself, and explains refusals in more detail
What
- The snapshot builder now takes a
passStartedAtMs/notOlderThanNsthreshold, and a newsincePassStartflag on changed entries lets it produce a distinct error message when a file was edited right as the snapshot began, instead of mid-read. - It also gains
stageHooks,budgetMs, andlastDescribedparameters for controlling and describing the pass. --ignore-submodules=dirtyis now added to the diff-tree comparison, and previously-verified entries are re-applied viaupdate-indexfor unstable paths.- Refusal results now carry a structured
cause, such as{ kind: "rules_unreadable" },{ kind: "staged_protected", count },{ kind: "credential_named", count }, or{ kind: "committed_protected", count }. - Snapshot output now also reports a
withheld.unspellablecategory alongside the existing withheld categories.
Why
This makes it easier to tell what happened during a git snapshot: whether a file changed too close to when the snapshot started to be captured reliably, and exactly why any files were withheld or refused, rather than getting a generic failure.