Keep candidate object inspection offline

This commit is contained in:
2026-10-07 20:18:13 +00:00
parent ff83af1e34
commit 02050016c1
4 changed files with 90 additions and 18 deletions

View File

@@ -16,6 +16,11 @@ candidate contents; the default Go-only path does not enumerate the tree.
lazily, and resolves destinations without consulting the worktree or
neighboring files.
Committed-tree metadata and blob reads disable lazy fetching and Git transports
for those child commands. Missing local objects produce inspection errors;
source preparation retains its separate network-capable operations. See Git's
[lazy-fetch controls](https://git-scm.com/docs/git) for the command mechanism.
## Adding a shared check
When an optional check is accepted for implementation:

View File

@@ -1,6 +1,6 @@
# Shared validation foundation remediation
Status: Remediation in progress; findings 1–2 addressed, findings 3–6 pending.
Status: Remediation in progress; findings 1–3 addressed, findings 4–6 pending.
Reviewed committed implementation `f53354b`, covering the eight foundation
commits after `0c7129a`, against the [implementation plan](implementation.md),
@@ -95,6 +95,13 @@ boundary classifications independently of neighboring filesystem contents.
## 3. P2: Committed-file inspection can fetch from a promisor remote
**Resolution:** Addressed. Candidate tree, size, and blob reads share a local
Git command helper that disables lazy fetching and transport access per child
process. Missing blobs report local unavailability, and Git process causes
remain wrapped. Partial-clone tests cover missing blobs and missing trees,
instrument transport attempts, and verify the object database stays unchanged.
`go test ./internal/git ./internal/validation` passed.
**Owner:** [Git source readers](../../internal/git/source.go), `ReadTree`,
`populateBlobSizes`, and `ReadBlob`.