Skip to content

[task-mode] Avoid replaying a rejected receipt on task launch retry #13

Closed

Description

@tomcorke

Follow-up from #5, review finding R8. The stable command ids ${threadId}:task-launch and ${commandId}:task-work protect against lost replies. If planning rejects either command, a retry from the same draft could replay 'previously rejected'. No concrete trigger was found. Pin the id only for a retry after a transport failure, or rotate the draft's thread id after a rejection.

Activity

  1. added
    task-modeOptional file-backed task associations and shared task documents
    on Oct 31, 2026
  2. tomcorke commented on Nov 2, 2026

    @tomcorke
    OwnerAuthor

    Review limit reached; issue #13 is on hold

    PR #44 remains open and unmerged on head f124ea08c595d840649c0dd6eea00d6b28fee317, based on b4d63586d56351667d99ed09f108ae56485e0b25. All 27 checks pass on this head. The tenth and final authorized independent review has started for this exact head; the issue is paused pending its verdict. No further implementation or review calls will be made under the current ten-review limit.

    The launch-receipt retry findings have been addressed across the current PR: rejected starter receipts retry initialization on the existing thread with a fresh attempt/command ID; generic dispatch failures preserve identity when receipt status is accepted, unknown, or unreadable; rejected retry-command receipts also allocate a fresh attempt on the same accepted thread. Attachment claims are released only on explicit rejection and preserved on accepted or unreadable receipts.

    Local verification on the current head includes focused receipt/intake tests, server typecheck, lint, format, diff check, and commit hooks. vp run check:changed was stopped after 60 seconds with no stage output after it listed 20 files, so it is not recorded as passing. The worktree is clean at the PR head: C:\Users\tom\.t3\worktrees\t3code\fix-task-mode-13-rejected-receipt-retry, branch fix/task-mode-13-rejected-receipt-retry.

  3. tomcorke commented on Nov 2, 2026

    @tomcorke
    OwnerAuthor

    Final review result (10/10); issue remains on hold

    The independent review explicitly APPROVED PR #44 at exact head f124ea08c595d840649c0dd6eea00d6b28fee317. It found no blocking or should-level defects and reported one nit in apps/web/src/hooks/useHandleNewThread.test.ts:212: the test mock accepts three arguments, while production taskChangeRetryIdentity accepts two, so this hook test can mis-model same-task and no-task-to-task changes.

    I verified the signature and call sites. The nit is optional test-model cleanup; the separate utility tests cover the task-ID comparison. Per the user's instruction to put an issue on hold once it reaches ten reviews, issue #13 remains paused at the cap. No code change, merge, or additional review is being made. PR #44 stays open; all 27 checks pass on the approved head.

    The clean worktree remains C:\Users\tom\.t3\worktrees\t3code\fix-task-mode-13-rejected-receipt-retry, branch fix/task-mode-13-rejected-receipt-retry. The earlier progress note is #13 (comment).

  4. tomcorke commented on Nov 2, 2026

    @tomcorke
    OwnerAuthor

    PR #44 transfer report update

    The refreshed thread-transfer report on exact head f124ea08c595d840649c0dd6eea00d6b28fee317 confirms every Codex and Claude metric matches the b4d6358 baseline: zero-byte impact on total wire, snapshot wire, live-turn wire, decoded live-turn size, and message count. All metrics remain below their PR ceilings, and source CI succeeded. All 27 PR checks pass.

    The review cap remains 10/10. The final independent review approved this head with one optional hook-test mock nit, recorded in the previous issue comment. Issue #13 remains on hold as instructed; PR #44 stays open and unmerged. No code change or additional review is being made.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    task-modeOptional file-backed task associations and shared task documents

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions