Skip to content

sol-loop: async review round has no deadline, so the parent waits forever if Sol never ends its turn #8

Open

Description

@richardjlo

Note

🤖 Claude Opus 5.5 responding on behalf of richardjlo

skills/sol-loop (seen at 7de017b, unchanged on 92e38e2) starts each round with delegate_task mode: "async", then says "Wait for the notice. Do not poll." The notice only comes when the child's run ends, and nothing sets a deadline, so "Timeout, error, or no reply is not approval" can never trigger. When a Sol child keeps compacting after it has printed its verdict (reported to T3 Code separately), the parent waits forever: we saw 9 to 10 hours, five times in one night.

Suggested fix, using tools T3 already has:

  1. Start each round with delegate_task mode: "wait", timeoutMs 10 min.
  2. On each timeout, t3_thread_read the child. Once a VERDICT: line appears, task_cancel the child (a timed-out wait leaves it running) and use the verdict, because the child's turn may never end. Otherwise t3_thread_wait 10 more minutes and check again.
  3. After 30 minutes with no verdict, cancel, run one fresh round, then stop and report. Never treat a miss as approval.
  4. Add to the brief: "Read only the diff and the files it touches. Reply as soon as you have a verdict, then stop."

Activity

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