Increase timeout, add a single retry - #10
Merged
Merged
Conversation
Entire-Checkpoint: ee8f793bfeb9
dipree
approved these changes
Jan 6, 2026
alishakawaguchi
added a commit
that referenced
this pull request
May 20, 2026
CI lint: - escape U+200B literals (staticcheck ST1018) Real bugs (cursor[bot] + Copilot review): - loop: ctx-cancel mid-cmd.Run() now classifies as OutcomeCancelled instead of being counted as a turn failure and tripping OutcomePaused after two consecutive cancels (#1) - loop: save state before returning OutcomePaused so --continue resumes from a snapshot that includes the failing turn (#11) - investigate fix: wrap context.Canceled as SilentError so Ctrl+C during the fix session doesn't print a cobra usage banner (#2) - cmd: redact URL userinfo on the issue-link Source: line in both interactive and non-interactive paths (#5) - issuelink: redact URL userinfo across gh stderr (not just argv) so a token in --issue-link cannot leak via the error path (#10) - cmd: outcome-aware footer — "Investigation ended" + resume hint for paused/cancelled, "Investigation complete" + fix hint only for Quorum/Stalled (#6) - cmd: validate maxTurns/quorum bounds after settings/flag merge so a hand-edited negative max_turns or oversized quorum errors cleanly instead of silently stalling (#7) - issuelink: tolerate GitHub URL trailing segments (/pull/123/files, trailing slash) — the regex now anchors prefix and ignores tail (#13) - picker: don't print "Saved investigate config" before persistence; moved to the caller after SaveLocal succeeds (#14) - picker: guard pickerFormOverride with atomic.Pointer so parallel tests that swap the override don't race (#12) Docs: - settings/loop: fix stale "0 → 3" max_turns doc; default is 2 (#8/#9) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Entire-Checkpoint: b0135abeee0d
suhaanthayyil
added a commit
that referenced
this pull request
Jul 12, 2026
… overlap docs Audit hardening for the trailerless mid-session commit recovery (issue #487). No production-code change: the recovery in PostCommit was verified correct (reaches ACTIVE + GitCommit -> Condense, finalizes at Stop, is idempotent and amend-safe, and is mutually exclusive with the trailer path so it cannot double-checkpoint). These changes strengthen the test coverage and docs for the wrong-attribution risk area. - Add TestShadowStrategy_MidSessionCommit_ConcurrentDisjoint_OnlyOwningSessionRecovered: two concurrent ACTIVE sessions with disjoint tracked files; a trailerless commit of one session's file must recover ONLY that session and never cross-attribute the other. The recovery path's content-overlap gate makes this strictly more precise than the normal trailer path, which condenses every recent ACTIVE session regardless of overlap. Mutation-verified: dropping the noTrailerRecovery overlap gate makes the test fail with both sessions attributed to the checkpoint. - Clarify checkpoint-scenarios.md caveat #10: recovery overlap is the intersection of committed paths with the session's tracked files, verified content-exact for newly-added files (blob-hash match against the shadow branch) and by path for modified files -- the same heuristic PostCommit uses elsewhere. Documents that a commit touching only untracked files is left alone, a modified pre-existing file is linked even if bytes differ, and two concurrent sessions editing the same committed file are both linked (as in the trailer path).
suhaanthayyil
added a commit
that referenced
this pull request
Jul 12, 2026
…s mode (#487) The #487 recovery gated on no-TTY as a proxy for "agent commit", treating any commit made at a TTY as a possibly-declined link and never recovering it. But the #487 root cause -- a global core.hooksPath, or entire off the git hook PATH -- stops prepare-commit-msg from running for BOTH agent and human-typed commits, and no link prompt ever appears. A developer typing `git commit` at a terminal while an agent's ACTIVE session had overlapping uncommitted work therefore still lost that work: TTY presence was wrongly read as a decline. Fix: suppress recovery only for a genuine decline -- a TTY commit made while Entire's prepare-commit-msg hook was actually wired. PrepareCommitMsgHookWired resolves the hooks dir git uses (respecting core.hooksPath) and checks for Entire's prepare-commit-msg. When it is wired, an absent trailer means the human answered "no" to the prompt or deleted the offered trailer in their editor, which is honored. When it is NOT wired (the #487 broken-hooks mode), no linking was ever offered, so a missing trailer is not a decline and the ACTIVE session's overlapping work is recovered for human-typed and agent commits alike. Agent commits have no TTY and stay eligible regardless. Hook-wiring is a stronger signal than a "declined prompt" marker: it also honors the editor-flow trailer deletion (which never calls askConfirmTTY), and it is stateless -- no cross-hook marker to persist, go stale, or scope per worktree. Tests: a human-TTY commit in broken-hooks mode now recovers; a TTY commit with the prepare-commit-msg hook wired (a real decline) is still not recovered; unit test for PrepareCommitMsgHookWired. Both integration tests are mutation-verified. Contract documented in checkpoint-scenarios.md caveat #10.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The first try based on #7 failed with a timeout after 20min, let's increase it and also add a retry.