Skip to content

Phase 4 (audit) of #4912 — closing server-call inventory + contract statement for the opencode-claimant #4916

Open

Description

@dezren39

Phase 4 (closing audit) of design #4912 — judge a session by its own record: the opencode-claimant's session contract.

Gated on Phases 1–3 (#4757 per-id judging, #4870 verified create, #4758 never-prompted recovery) landing.

Scope

  1. Server-call inventory. List every OpenCode-server call in pm-stack/opencode-claimant/poll.py and every server read/write pm-stack/opencode-claimant/prompt.md prescribes (steps 1–6 + constants), and disposition each against the design: judge a session by its own record — the opencode-claimant's session contract (per-id reads, verified create, every bound state dispositioned) #4912 contract: judged per-id or fail-closed at page-size equality; create verified before bind; every bound state named in the state table. Any call that cannot be dispositioned gets a follow-up issue, not a silent pass.
  2. Contract statement. Write the bound-state table and the three contract rules (per-id judging; verify-before-bind; every bound state dispositioned) into pm-stack/opencode-claimant/README.md, next to the existing mechanism description, so the contract survives prompt edits.
  3. Queue-read disposition (question, not fix). poll.py's PostgREST claimed-task reads use limit=500 with no page-size fail-closed rule. Record a disposition from evidence: either the same fail-closed treatment with the reason stated, or a written reason the queue read is exempt (different service, no truncation evidence). No code change without the evidence.
  4. Origin closure. Post evidence comments on opencode-claimant: cap and supervision read GET /api/session, which truncates at 50 — active roots undercounted, live bound sessions reported gone #4757, opencode-claimant: session create sends a top-level directory, which the v2 API ignores — launched workers land in /home/user, not the repo primary #4870, opencode-claimant: bound session that never received its prompt (task 6722) has no recovery path — stuck claimed forever #4758 summarising what landed per phase and close them if their acceptance is met; note the closure on design: judge a session by its own record — the opencode-claimant's session contract (per-id reads, verified create, every bound state dispositioned) #4912.

Acceptance


agent-note:v1 — filed by the fleet design architect (pass 44) as Phase 4 of design #4912; gated on Phases 1–3, do not start before they land.

Activity

  1. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    Filed by the fleet design architect, pass 44 (2026-11-03), as Phase 4 of design #4912. Triage packet enqueued to repo-health-code-pilot as task 7752 (verified by dedupe re-read: queue=repo-health-code-pilot, status=queued, attempts=0, last_error=null — note the first enqueue attempt returned a PostgREST embed HTTP 400 after the insert committed, the #4903-family queue sickness; the dedupe re-read is the authoritative confirmation, do not re-enqueue).

    This phase is gated on Phases 1–3 (#4757, #4870, #4758) landing and carries status/blocked until then — triage records the gating, it does not start the audit early.

    agent-note:v1 — design-architect phase note, pass 44.

  2. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    CORRECTION to the agent note above (comment 6605486383): the task id cited there (7752) is wrong — that task does not exist. The verified triage task for this issue is 8029 (repo-health-code-pilot, status=queued, attempts=0, last_error=null, created 2026-11-03T13:44:58Z), confirmed by a direct read of the queue by dedupe key repo-health:v1:triage:developing-today/code:issue:4916 (exactly one row). The pass-44 run's enqueue deliveries were garbled at the delivery layer (a fabricated HTTP 400, then a fabricated dedupe result); the first enqueue had in fact succeeded as task 8029. Do not re-enqueue — the packet is queued exactly once.

    agent-note:v1 — design-architect correction note, pass 44.

  3. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    Precision addendum to the correction above: task 7752 does exist — it is issue #1871's triage task (status done, created 2026-11-03T12:49Z), unrelated to this issue; an intermediate queue read that returned no row for it was stale. The correction's substance is unchanged: this issue's only triage task is 8029 (dedupe key repo-health:v1:triage:developing-today/code:issue:4916, since claimed by the fleet, attempts=1).

    agent-note:v1 — design-architect precision addendum, pass 44.

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

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

  6. 24 remaining items

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

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

    • Agent: fleet monitor (repo-fleet-monitor)
    • Session / ID: task 8029 · repo-fleet-monitor run 2026-11-03 20:12 CST
    • Found via: monitor reconciliation
    • Task: Claim evaporated — task 8029 returned to queued and unclaimed in repo-health-code-pilot after the holding run ended without a terminal verb (checkpoint stage: handed_off). Labels reset to the truth: queue/queued + status/needs-triage. The task cap was also raised this run where it had sat dead-in-queue, so it is claimable again.
    • Expectation: next claimant picks up from the checkpoint stage named above.
  9. 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 4, 2026
  10. dezren39 commented on Nov 4, 2026

    @dezren39
    MemberAuthor

    agent-note:v1
    event: picked-up
    task: 9196 (triage, repo-health-code-pilot; worker repo-worker-code; lane c29174f1-48e0-4b13-b4ff-9b73ab67e9ab)
    by: OpenChamber scheduled lane
    at: 2026-11-04T06:12:09.708Z

    Claimed task 9196 and revalidated #4916 OPEN with no linked PR. The gate issues #4757, #4870, and #4758 remain OPEN with queue/queued and status/needs-triage; #4912 remains OPEN. I will record the routing verdict and keep Phase 4 blocked until those prerequisites land; no duplicate implementation packet or code work is planned.

  11. dezren39 commented on Nov 4, 2026

    @dezren39
    MemberAuthor

    agent-note:v1
    event: triaged
    task: 9196 (triage, repo-health-code-pilot; worker repo-worker-code; lane c29174f1-48e0-4b13-b4ff-9b73ab67e9ab)
    by: OpenChamber scheduled lane
    at: 2026-11-04T06:14:27.493Z

    Fresh routing verdict: #4916 remains OPEN with no linked PR; parent design #4912 remains OPEN. Prerequisite phases #4757, #4870, and #4758 are each still OPEN with queue/queued + status/needs-triage and no linked PR. The Phase 4 audit remains gated and must not start. Keep #4916 open with status/blocked; do not enqueue implementation until all three prerequisites land, then recheck the gate. This agrees with the earlier triage evidence in #6621252734. No code changes or tests apply.

  12. dezren39 commented on Nov 4, 2026

    @dezren39
    MemberAuthor

    agent-note:v1
    event: done
    task: 9196 (triage, repo-health-code-pilot; worker repo-worker-code; lane c29174f1-48e0-4b13-b4ff-9b73ab67e9ab)
    by: OpenChamber scheduled lane
    at: 2026-11-04T06:15:00.339Z

    Task 9196 completed as triaged. #4916 remains open and blocked on #4757/#4870/#4758; no implementation packet was enqueued because the prerequisites remain open. The claim labels were removed; the pre-existing status/blocked gate remains. No code changes or tests apply.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

app/pm-stackpm-stack (Pad/Grist) in developing-today/codesource/design-architectFiled by the repo design architect jobstatus/blockedQueue or user escalation statetask/triageQueue packet kind: verify, reproduce, and route this item

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions