Skip to content

🤖 G4 goal advancement follow-ups from #5536 #5546

Description

@ThomasK33

Follow-ups from the G4 goal-advancement work in #5536 (one pending advancement, one wake-up path). None of them blocks #5536. Each needs an owner before it is picked up.

  1. Concurrent error records consume two attempts (Codex on 🤖 fix: advance an active goal after a terminal stream error or abandoned automatic work (G4) #5536, thread). recordGoalAdvancementAfterStreamError awaits the retry-preference read after finishTurn. If a queued automatic successor starts and also fails during that await, both errors record and hand over an advancement. Two resume attempts are consumed for one resume, and the predecessor's options can race the successor's. Fix: bump a record generation at entry and drop the stale record after the await.
  2. A failed hand-over loses the pending advancement (Codex on 🤖 fix: advance an active goal after a terminal stream error or abandoned automatic work (G4) #5536, thread). reevaluateGoalAdvancement clears the record before armGoalAdvancement resolves. If that rejects (for example a transient goal.json read error), only a log remains. requestContinuationAfterStreamEnd has the same exposure today. Fix: restore the record on rejection and schedule a bounded retry.
  3. A retry that fails before any stream records no resume. A retry started by RetryManager that fails with a non-retryable send error before a stream exists never reaches handleStreamError.
  4. No test for the preparing-manual-send blocker. userInputBlocksGoalAdvancement treats a dequeued manual send that is still preparing as a blocker. The session test harness leaves the queue undrained after a terminal error, so the test needs a harness that drains it.
  5. Restart and the auto-retry opt-out. Restart recovery re-arms active goals even when the user opted out of automatic retries (this predates G4). Confirm that this is the intended reading of decision item 1 on 🤖 workspace goals: decide goal auto-resume after terminal errors (G4) + 3 suspected issues #5461, or fence it.

Generated with xum • Model: anthropic:claude-opus-5-5 • Thinking: high • Cost: $52.67

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions