Repository navigation
Conversation
|
Independent GPT-6.1 Sol correctness review. Local paths are redacted; findings and verification limits are preserved. Snapshot contention correctness reviewVerdict: no remaining Critical or Important source finding in the reviewed four-file diff. This is a source/contract review, not PR readiness or CI approval. Checkout: isolated Correctness conclusions
Findings resolved during review
Independently executed verificationPinned Bun1.4.4, isolated HOME/OPENCODE_TEST_HOME/XDG config/data/state/cache, inert local tests only:
Also inspected writer's current core process/spawner output:52pass,0fail,189assertions across2files. The writer reports a fresh broad snapshot/lifecycle run after the close guard:76pass,1skip,0fail,828assertions across3files. Lifecycle fixtures are QA-only and remain outside the PR scope. Limits and remaining checks
|
|
Independent GPT-6.1 Sol integration review. Local paths are redacted; findings and verification limits are preserved. Snapshot and stdin integration reviewReviewer: GPT-6.1 Sol routing/usage worker, independent of the snapshot implementation. ResultNo Critical or Important findings in the four-file diff. No source edits made. Evidence considered
Verification limitsThis review inspected source, call sites and regression assertions. It did not rerun the author's suites or independently measure Windows execution. Root supplied current evidence of 52 core tests, 76 OpenCode tests with one skip, and both package typechecks passing; those counts are author/root evidence, not new runs by this reviewer. Existing snapshot helper behavior outside the changed track/staging path was not expanded into a separate audit. |
Issue for this PR
Closes #60447
Type of change
What does this PR do?
Recover transient shared snapshot-index contention on
v1. Retry only Git's index-lock collision, with six interruptible backoffs totaling 3.15 seconds plus command time. Keep the other process's lock intact, and return no capture when staging orwrite-treefails instead of returning a stale tree.The real contention test also exposed uncaught stdin
EPIPEerrors when Git exited before reading its pathspec. Keep the stdin error listener through stream closure, preserve exit codes/stderr and typed write failures, and settle premature closure without hanging. Caller-managed stdin stays open when requested.How did you verify your code works?
Reproduced transient contention, stale-tree reporting, and the standalone small-stdin/early-exit crash before fixing them. Final local checks with Bun 1.4.4:
bun typecheckcommands passed;git diff --checkpassed.Tests use real Git/child processes and temporary fixtures on macOS. Windows was not executed locally. This is bounded retry, not a cross-process transaction across all snapshot operations. Existing ignored-file error handling is outside this change. No active coordination files are affected.
Screenshots / recordings
Nonvisual exemption: process and snapshot control flow only; no GUI or styling changes.
Draft head
6a9f25e93d7618d09fa5c233a89154b25165d104is 0 commits behind freshly fetchedorigin/v1and GitHub reportsMERGEABLE/BLOCKED. Required test and typecheck workflows areaction_required, awaiting maintainer approval. The publisher has read-only upstream permission. This is not a CI-pass or readiness claim.Checklist