Skip to content

implement: placement framework v1 — machine-readable decision table + placement record on fleet dispatches (from #2024) #4986

Open

Description

@dezren39

From the placement-framework v1 synthesis on #2024 (design doc PR linked there).

What

Encode the v1 decision table as a machine-readable placement policy artifact, and require a placement record on every fleet dispatch (queue claim handoff, dispatcher launch, scheduled-job creation):

  • option — one of: Muse, github-action, github-action-jules, opencode-session, opencode-scheduled, aster-codex, openclaw
  • rule — the decision-table rule id that selected the option (or exception + exception id)
  • pool_read_at — timestamp of the quota read the placement relied on (the ≤60-minute measurement gate), or n/a for non-pool options (Actions minutes, Jules)
  • supervision — who babysits/reviews the result

Why

The framework is only real if placements are recorded against it: without a record there is nothing to audit, and placement stays by habit — the exact problem #2024 exists to fix. Pool mechanics themselves are #1157 / epic #1149; this issue is the cross-option decision layer above them, not a duplicate.

Acceptance

  • Policy artifact (table as data, e.g. YAML/JSON beside the framework doc) that a dispatcher can consume without parsing prose.
  • Placement record emitted for at least the queue-worker handoff path and the OpenChamber dispatcher path.
  • A PoC on ONE dispatch path first, reviewed before any permanent rollout (per the design: task-placement framework v1 — decision rules and a shared-pool efficiency model #2024 program rule: never build the permanent feature on an unreviewed PoC).
  • Weekly audit sample: placements vs. the table, exceptions listed with their exception ids.

Refs #2024, #1157.

Activity

  1. added
    queue/queuedHas a queued task in the Supabase agent queue
    source/creatorFiled by the new-issue-creator job
    task/triageQueue packet kind: verify, reproduce, and route this item
    on Nov 3, 2026
  2. developing-today commented on Nov 3, 2026

    @developing-today
    Contributor

    agent-note:v1
    state: reviewed (coverage loop-back)
    Coverage pass 2026-11-03, loop-back review: this issue was re-reviewed (drift / overlap / already-handled / stale / blockers / ordering) so every open issue in the four repos is reviewed and in the system. Verdict: still live; in the system as task 8569 (triage, queued, priority 40) in repo-health-code-pilot. Labels audited and synced. If it is already handled at current main, its triage closes it with evidence; if oversized, the triage files the split; blockers belong on this issue.
    Found via: coverage loop-back 2026-11-03

  3. added
    queue/claimedQueue worker lifecycle state
    work/assignedQueue worker lifecycle state
    and removed
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 3, 2026
  4. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    agent-note:v1
    state: handed_off (task 8569)

  5. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

  6. 15 remaining items

  7. added
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    status/parkedDeliberately paused with a recorded resume condition
    queue/claimedQueue worker lifecycle state
    and removed
    queue/claimedQueue worker lifecycle state
    status/parkedDeliberately paused with a recorded resume condition
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    on Nov 4, 2026
  8. dezren39 commented on Nov 4, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

  9. dezren39 commented on Nov 4, 2026

    @dezren39
    MemberAuthor

    agent-note:v1
    task: 8569
    lane: code-y
    stage: handed_off
    execution_lane: opencode
    Issue #4986 verified OPEN, no hard-stop labels (user/review present — the claimant session reviews first per the runbook). Task 8569 re-claimed (attempt 21/24) and handed off again to the opencode claimant. Attempts are near the cap (21/24) after repeated unlaunched handoffs — fleet monitor: claimant launch reliability for this task is worth a look.

  10. added
    queue/queuedHas a queued task in the Supabase agent queue
    and removed
    queue/claimedQueue worker lifecycle state
    work/assignedQueue worker lifecycle state
    on Nov 5, 2026
  11. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

    • Agent: fleet monitor
    • Session / ID: task 8569 (repo-fleet-monitor run 2026-11-05T15:45:48Z)
    • Found via: monitor reconciliation (Duty 1 claim/label divergence repair)
    • Task: Claim evaporated: task 8569 is queued and unclaimed in repo-health-code-pilot, but this issue still carried claimed labels. Labels reset to the truth (queue/queued + status/needs-triage). Checkpoint stage at evaporation: handed_off.
    • Expectation: The next lane claim picks task 8569 up from the queued state and posts a fresh pickup note.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

meta/protocol-gapAn agent touched this without the required agent-note comment or labels; needs review of whyqueue/queuedHas a queued task in the Supabase agent queuesource/creatorFiled by the new-issue-creator jobstatus/needs-triageNot yet triaged; needs a first looktask/triageQueue packet kind: verify, reproduce, and route this itemuser/reviewNeeds a user-look: Muse reviews first and handles what it can

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions