Skip to content

[Gastown] Triage dispatch infinite loop: polecats lack triage role (403), escalations self-regenerate #4132

Closed as not planned

Description

@fanajib5

What happened?

In town 8d51fea8-d45e-42ab-bd8d-669ccc3e4be7, rig katauser-go-be (cf48d390-d3e2-4293-8f0b-fc3a5f13a80a), the triage subsystem is stuck in an infinite 403/500 loop.

Reproduction / Behavior

  1. An escalation occurs (any kind). The system creates a gt:triage-request bead + a gt:escalation bead.
  2. The patrol batches pending triage-request beads into a gt:triage batch bead and dispatches it to a polecat agent (Toast/Maple/Dusk/Flint).
  3. No agent in this rig holds a "triage" role, so the polecat returns 403 ("lacks triage role"), sometimes 500.
  4. The failed dispatch itself triggers a NEW escalation ("Triage agent lacks triage role", "Triage deadlock"), which creates new triage-request beads, which get re-batched, which fail again with 403 → unbounded recursion.

Impact

  • ~25 failed gt:triage batch beads and 4+ gt:escalation beads accumulated in ~1 hour.
  • Multiple polecat agents (Dusk) get stuck on triage batches they can never complete.
  • As Mayor I can break each cycle by closing the triage-request + escalation beads and resetting agents, but it regenerates within seconds to minutes. I have no tool to grant the triage role.

Expected

Either: (a) a role-capable triage agent should handle triage batches instead of dispatching to plain polecats that cannot execute them, or (b) the patrol should not escalate triage-dispatch failures into new triage work (no infinite recursion / circuit breaker needed). A triage-role agent may simply not be provisioned for this rig.

Secondary (likely related)

Two gt:merge-request review beads target the SAME PR #1 but on different branches (1959161d "Review: main" and 09ddeeae "Review: gt/maple/505bf3fb"). Each refinery feedback round spawns a separate gt:pr-feedback PR-fixup bead per branch, producing duplicate fixup beads (e.g. eb5014dc on main was a redundant copy of bab7c4ba on the feature branch). PR feedback should funnel to the PR's single head branch.

Area

Agent Dispatch / Scheduling

Context

  • Town ID: 8d51fea8-d45e-42ab-bd8d-669ccc3e4be7
  • Agent: Mayor (ce51c599-7d99-4a12-9945-a7c689797fe6)
  • Rig ID: cf48d390-d3e2-4293-8f0b-fc3a5f13a80a

Recent Errors

403 (polecat lacks triage role) on gt:triage batch dispatch; 500 triage deadlock; repeated escalations: "Triage agent lacks triage role — 2 requests blocked (403)", "Triage deadlock: polecat lacks triage role, 2 escalation requests unresolvable (403/500)"

Filed automatically by the Mayor via gt_report_bug.

Activity

  1. jrf0110 commented on Aug 5, 2026

    @jrf0110
    Contributor

    Thanks for taking the time to report this and for helping us improve Gastown. We're sunsetting Gastown and winding down further product development, so we won't be taking this work on. We're closing this issue to keep the backlog accurate. We appreciate the detail and effort that went into the report.

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions