Skip to content

[bug] subordinate_status: refusals report success, lookups need a UUID the model doesn't have, and repo GitHub coordinates are missing #320

Description

@serge-ivo

Two small defects in the same tool, both visible four times in one Coder Lead conversation
(2026-08-06, 5fab318d).

1. A refusal is reported as success

lib/connectors/supervision.ts:121:

const subs = await subordinateSummaries(ctx, only);
if (!subs.length) {
    return {
        content: only ? "You do not supervise that agent. Call list_subordinates…" : NO_SUBORDINATES,
        success: true,        // ← a refusal
    };
}

So the transcript shows:

✅ subordinate_status   You do not supervise that agent. Call list_subordinates to see who you may address.

A green tick on a call that did nothing. It appeared in four consecutive turns (22:33, 22:34,
22:35, 22:36), each time followed by a retry — so a reader scanning the tool log sees eight
successful status calls where there were four.

success is what the console renders and what the model reads back. A failed lookup should be
success: false, the same way check_work returns success: false for a run that is not yours.

2. It takes an instance id, and the model has a name

Every one of those four turns follows the same shape:

✅ subordinate_status   You do not supervise that agent…
✅ list_subordinates    [{ instanceId: "964594b6…", name: "FAS platform", … }]
✅ subordinate_status   { … the real answer … }

The user says "Focus on FAS platform"; the model has a name; the tool wants a UUID. It costs
an extra round trip on every single turn, and the tool description already tells it to go read
list_subordinates — so the retry is the documented path, not a mistake.

Accept a name (or a unique prefix) and resolve it against the roster the tool already loads. The
graph is small and owner-scoped; there is no ambiguity risk worth this cost. Keep the id working.

3. Related: the Lead has no GitHub coordinates for its subordinates

Same conversation, 22:36:31 — user asks "Are there any open tickets?":

❌ github_list_issues   Couldn't reach GitHub for "fws" (No github access for "fws".)

The Lead passed "fws", because that is what it has: subordinate_status reports the repo's
display name (fws/platform), never its githubRepo (freewebstore-online/platform). It then had
to ask the user for the owner/name — for a repo the platform already knows, since coding_repos
stores github_repo and the FAS diagnostics show it populated.

Include githubRepo in the per-subordinate repo block. Same class as #259: the supervisor was
missing a fact the platform holds, so it guessed and then asked the human.

Verification

  • An unknown subordinate returns success: false.
  • subordinate_status resolves "FAS platform" without a preceding list_subordinates.
  • A Lead asked for open issues on a subordinate's repo reaches GitHub without asking the user for
    the path.

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

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions