Skip to content

Preserve approval baselines across forwarded wait chunks #21

Open

Description

@chrisohearn

A multi-chunk wait forwarded to another environment can miss an approval raised between chunks: each remote call rebuilds its initial approval baseline. The approval remains visible as pending, but the logical wait may not return until its timeout.

Original finding: #10 (comment)
Original reviewed SHA: 63b6c1b (Codex, P2).
Reverified at PR #10 head bb9fe41 on 2026-11-12: PeerForwarding.waitForThread reconstructs separate wait calls; ThreadManagementService.waitForThread snapshots pending approvals per call.
Root-cause key: peer-wait/approval-baseline-across-chunks.

Preserve one decision baseline across a logical forwarded wait without changing MCP approval authorization or causing immediate re-wait loops. Scope is the peer wait chunk path and its tests; no authentication or migration changes. Existing approval responses over MCP must remain refused.

Acceptance: a deterministic test raises an approval between one remote timeout response and the next request, and the logical wait returns waiting without consuming its full timeout. Existing pre-existing-approval and untilDelegatedWorkSettled behavior still passes. Use Deferred/event milestones, without sleeps or polling.

Disposition: nonblocking P2 follow-up for #10 (latency in a narrow round-trip gap). The earlier comment deferred it but did not create an issue. The batch author remains the follow-up owner; next action is a focused peer-protocol design/test when this issue is scheduled. Existing behavior remains the rollback. No fix is claimed by resolving the review conversation.

Activity

  1. chrisohearn commented on Nov 13, 2026

    @chrisohearn
    OwnerAuthor

    Status: still valid. Forwarded multi-chunk waits still rebuild the approval baseline per call. No ledger row.

    Triage by the round-four GitHub hygiene pass (ledger key r4/w7-github), 2026-11-13. Left open.

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

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions