Skip to content

Needs you is never buried in Settled: attention and tasks from other threads keep a thread active #137

Closed

Description

@LukasDoubleU

Problem

A settled thread can hide a request for the user:

  1. Another thread sends a settled thread a task (t3_thread_send). The message brings the thread back, as any message does, and the agent works on it.
  2. When the run ends, automatic settlement settles it again at once. The thread has a merged pull request, and settle-on-merge (upstream #8600) only looks at messages the user wrote since the merge. A task from another thread doesn't count, so the merge still reads as "done".
  3. If the agent asked for the user during that run (t3_request_attention, Experts: background turns stay quiet, and "Needs you" is an explicit call #101), its Needs you ends up in the Settled section, where nobody sees it. isAutoSettlementCandidate doesn't look at attention.

Fix

  • Needs you stays visible. A thread with attention set is never auto-settled. t3_request_attention on a settled thread brings it back the way a message does: settledOverride and settledAt are cleared, it is not a user override.
  • A task from another thread is new work. For settle-on-merge, a message another thread sent counts like the user's own (latest user or thread-sent message vs. mergedAt). Automatic deliveries stay excluded: notifications such as pull request watch wakes, delegated task completions, scheduled runs and provider wakes.
  • Inactivity settlement (sidebarAutoSettleAfterDays) is unchanged.

Proof

Failing tests first, in ThreadSettlementService's existing test file:

  • A thread with a merged pull request and a later message from another thread is not auto-settled.
  • A thread with attention set is not auto-settled. Once attention is cleared, it settles as before.
  • A merged pull request with only a later wake or delegated completion still settles.
  • t3_request_attention on a settled thread unsettles it.

After the v0.1.5 upkeep (#135).

Activity

  1. LukasDoubleU commented on Oct 31, 2026

    @LukasDoubleU
    OwnerAuthor

    Also in scope: an ordinary fork of a thread (not a side chat) copies the parent's Needs you (attention) and its fresh-start links. A fork should start without them. Found during the v0.1.6 upkeep (#139); side chats already drop them there.

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