Skip to content

In-Review Bead State — Beads Stay Open Until Refinery Actions #895

@jrf0110

Description

@jrf0110

Parent

Part of #204 (Phase 4: Hardening)

Problem

Currently, when a polecat finishes work on a bead, it transitions to closed. But the refinery hasn't reviewed or actioned it yet — the merge may be rejected, rework may be required, or the code may need changes before landing. A bead sitting in closed on the board implies "done" when it's actually "awaiting review."

This creates a misleading picture on the rig bead board: stakeholders (the Mayor, the user) see closed beads and assume work is complete, when in reality the refinery hasn't weighed in yet.

Solution

Add an in_review bead state between in_progress and closed:

  1. Polecat completes work → bead transitions to in_review (not closed)
  2. Refinery reviews and actions (merge, rework request, or reject) → bead transitions to closed on successful merge, or back to in_progress / slung on rework
  3. Bead board column → add an "In Review" column between "In Progress" and "Closed"

Acceptance Criteria

  • Add in_review to the bead status enum (DB schema + TypeScript types)
  • Polecat gt_done tool transitions bead to in_review instead of closed
  • Refinery merge success transitions bead from in_reviewclosed
  • Refinery rework request transitions bead from in_reviewin_progress (or back to slung)
  • Bead board UI renders an "In Review" column
  • Mayor and agent prompts updated to reflect the new state
  • Convoy landing detection accounts for in_review as not-yet-complete (only closed counts)
  • Event log entries emitted for in_review transitions

Notes

  • No data migration needed — cloud Gastown hasn't deployed to production
  • Check that alarm-driven patrols (witness, deacon) handle in_review correctly (e.g., stale in_review beads should be flagged)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestkilo-auto-fixAuto-generated label by Kilokilo-triagedAuto-generated label by Kilo

    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