Skip to content

[Gastown] Convoy marked "landed" with zero code changes — beads closed but no commits on branch #4058

@ThePlenkov

Description

@ThePlenkov

What happened?

Symptom

Created convoy with 4 beads via gt_sling_batch (staged, then gt_convoy_start). Dispatched polecats. After ~1.5h, gt_convoy_status showed:

  • status: "active"landed_at: <timestamp>
  • closed_beads: 4 of 4
  • But the convoy feature branch (origin/convoy/<title>/<id>/head) pointed at the SAME commit as main
  • git diff origin/main..origin/convoy/<title>/<id>/head was empty
  • git ls-tree of the expected output directory returned nothing

So the system marked the convoy as successfully landed and merged, but no code was ever produced and no merge happened.

Reproduction

  1. Create a convoy with N beads, depends_on chain, staged
  2. Call gt_convoy_start
  3. Wait for "completion"
  4. Check gt_convoy_status — reports landed
  5. Check the feature branch — empty diff vs main
  6. Check the file paths the beads were supposed to produce — do not exist

Expected

Either:

  • Convoy stays active until beads are actually closed AND code is committed AND merged
  • OR a new failed/incomplete status when beads close without producing commits

Impact

  • Mayor is misled into thinking work shipped
  • Town tokens are wasted (we ran 4 polecats for 1.5h, got nothing, were charged)
  • User-facing API (gt_convoy_status) lies about ground truth

Suspected cause

Possibly the bead-close detection runs on agent checkpoint/mail rather than on actual git activity. When polecats couldn't reach the model (rate limit / expired subscription), they may have just... exited without producing anything, and the bead closed silently.

Workaround until fixed

After a convoy reports landed, verify with git diff on the feature branch before claiming success to the user. I caught this one by checking because the user asked — but the default should be that the platform reports truth.

Area

Convoys

Context

  • Town ID: da6cde92-024a-497e-a990-6d967151003b
  • Agent: Mayor (dcaf8478-17b1-41e7-be56-3c4aa9d0d59f)

Filed automatically by the Mayor via gt_report_bug.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions