Skip to content

Say Who Runs the Local Strict Review When a Dispatched Worker Cannot Start a Subagent #2318

Closed

Description

@ptr727

Problem

local-strict-review requires its pass to come from a separate, read-only reviewer subagent. Where the seat cannot start one, it reports and does not push. A worker dispatched as a Claude Code fork (subagent_type: "fork") is not allowed to start subagents. So a fork lane that backlog-burndown or drive-pr dispatches to drive its own pull request always stops before its first push.

This happened in a downstream repo's session (handoff ptr727/homeassistant-purpleair#400). Two fork lanes each committed their work, computed the digest, and stopped. The orchestrator then had to start the reviewer, record each pass with local_review.py record, send findings back, and tell the lane to push. It took seven round trips across three pull requests. The lanes handled it correctly, but none of the skills predicts it, so the first stop looked like a failure.

Done When

The skills that dispatch PR-driving workers (backlog-burndown, drive-pr, unattended-handoff, and local-strict-review itself) say who owns the strict-review pass when the worker cannot start a subagent. Either:

  • the dispatcher owns it, and the worker brief tells the worker to stop at its digest and hand it back, or
  • the worker is dispatched as an agent type that can start subagents.

🤖 Generated with Claude Code

Activity

  1. ptr727 commented on Oct 4, 2026

    @ptr727
    OwnerAuthor

    Maintainer decision (2026-10-03): the dispatcher owns the strict-review pass. A worker that cannot start a subagent stops at its digest and hands it back, and the dispatcher runs the reviewer, records the pass, and returns the findings. The skills that dispatch PR-driving workers will say so. #2293 (run prose_lint in the pass) is kept and lands in the same change.

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