Skip to content

feat(fleet): daily lane-share measurement, publishing + below-floor alert (OpenCode-half step 4) #1657

Open

Description

@dezren39

Part of the OpenCode-half redesign (design: files/opencode-half-redesign-2026-10-28.md in the keep-the-four-repos-healthy goal workspace; tracking: #1425). Drew's order, 2026-10-28: at least half of fleet tasks execute via OpenCode sessions — this issue makes that a published number.

Scope

Daily lane-share measurement from the assignment ledger + terminal results' execution blocks:

  • Per queue (code, opencode, openchamber, nix) and fleet-wide: tasks completed today by executed lane; assignments by lane; fallbacks by reason; exclusions by reason; rolling 7-day executed share = opencode / (opencode + direct), with exclusions reported alongside (never silently dropped from the denominator view).
  • Output: hidden_files/lane-share.json in the keep-the-four-repos-healthy goal workspace (machine-readable, dated), produced daily with the repo-fleet-monitor's rounds or a small dedicated step in it.
  • Surfacing: a one-line summary in the morning readout's fleet section and in the stewardship cycle log.
  • Alert: rolling 7-day executed share below 50% on two consecutive days → main-chat surface + a comment on Deployed laptop opencode config has drifted from canonical HEAD — claude-code pause (PR #1316) not in effect live #1425 with the miss-reason breakdown.
  • Follow-up (not blocking): fleet-feed collector embeds lane-share.json (the way it embeds orchestration.json) so the dashboard can render the share.

Acceptance criteria

  • lane-share.json is produced daily and its counts reconcile with the ledger for a spot-checked day (100% of terminal tasks accounted: opencode + direct + excluded).
  • The morning readout and stewardship cycle log each carry the current 7-day share line.
  • A simulated two-day below-floor streak fires exactly one alert with the miss breakdown attached.

Activity

  1. developing-today commented on Oct 28, 2026

    @developing-today
    Contributor
  2. added
    priority/normalOrdinary priority (the default)
    effort/mMedium: expected under 1 day of work
    source/humanFiled directly by a human
    area/infraInfrastructure, deployment, and operations
    meta/enrichedIntake review done: acceptance criteria, links, and normalized labels added
    on Oct 28, 2026
  3. dezren39 commented on Oct 28, 2026

    @dezren39
    MemberAuthor

    Intake review

  4. dezren39 commented on Oct 31, 2026

    @dezren39
    MemberAuthor

    Status — owner order 2026-10-28, stalled, re-surfaced 2026-10-31 (supersession check vs #2132).

    Verdict of the owed supersession check, 2026-10-31:

    NOT superseded by #2132. The conductor's success metric (#2132/#2153: the merged job's input tokens per cycle vs the old pair's baseline) is a per-job cost measure. This step is a different measurement — the fleet-wide executed-lane share (opencode vs direct, from the assignment ledger + terminal execution blocks), published daily as lane-share.json with the below-50% two-day alert. #2132 neither produces nor consumes it.

    Queue state, verified by direct read 2026-10-31: live triage task 2621 (repo-health-code-pilot, queued, priority 50, attempts 0/3). No duplicate packet enqueued; the stall is queue position. This is the step that makes Drew's 2026-10-28 "at least half via OpenCode" order a published, alerted number.

  5. added
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed on Nov 1, 2026
  6. 73 remaining items

  7. dezren39 commented on Nov 4, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

    • Agent: fleet monitor (repo-fleet-monitor)
    • Session / ID: task 5031 · repo-fleet-monitor run 2026-11-03 18:12 CST
    • Found via: monitor reconciliation
    • Task: Claim evaporated — task 5031 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.
  8. dezren39 commented on Nov 4, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

    • Agent: fleet monitor (repo-fleet-monitor)
    • Session / ID: task 5031 · repo-fleet-monitor run 2026-11-03 18:12 CST
    • Found via: monitor reconciliation
    • Task: Claim evaporated — task 5031 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
    work/assignedQueue worker lifecycle state
    queue/claimedQueue 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: 5031 (repo-health-code-pilot; worker repo-worker-code; lane 335a5d1f-bfc1-4831-99ea-850c8939a727)
    state: claimed; resumed from the prior implementation checkpoint.
    verified: Fresh GitHub state at 2026-11-04T01:02Z: #1657 is OPEN and assigned to dezren39; no matching open PR is listed for developing-today/code; no hard-stop labels are present. The queue checkpoint records the preserved worktree /home/user/git/fleet/task-5031-hatch, branch queue/5031-1657-lane-share-measurement, with three remaining cron-definition edits and the prior cron-publication blocker.
    next: verify the preserved worktree and whether this session can publish the three definitions; then finish the remaining work or park with an exact resume condition.

  11. added
    queue/blockedQueue or user escalation state
    status/blockedQueue or user escalation state
    and removed
    queue/claimedQueue worker lifecycle state
    work/assignedQueue worker lifecycle state
    on Nov 4, 2026
  12. dezren39 commented on Nov 4, 2026

    @dezren39
    MemberAuthor

    agent-note:v1
    event: blocked
    task: 5031 (repo-health-code-pilot; worker repo-worker-code; OpenChamber scheduled lane 335a5d1f-bfc1-4831-99ea-850c8939a727)
    state: blocked on publication access.
    verified: #1657 remains OPEN; no matching PR exists in developing-today/code or dezren39/hatch-personal; no hard-stop labels. The preserved worktree is /home/user/git/fleet/task-5031-hatch on queue/5031-1657-lane-share-measurement; its three cron-definition edits remain, with git diff --check passing. Two pre-existing backlog/sweep modifications are also present and were not touched, per the scheduled-lane bookkeeping rule. This session has no cron.update tool/namespace and no cron utility under ~/hatch/tools, so the live definitions cannot be published or verified. No files were changed this run.
    resume: In a cron.update-capable session, publish and verify the three existing definitions, then commit/push and open the hatch-personal PR; complete #1657 only after acceptance is live. The primary code clone fetched successfully but its main diverges from origin/main (2 ahead, 46 behind), so the requested fast-forward was safely refused and local commits were preserved.

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

Metadata

Metadata

Assignees

Labels

area/infraInfrastructure, deployment, and operationseffort/mMedium: expected under 1 day of workkind/featureNew feature or capability requestmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedmeta/follow-upFollow-up spun out of earlier workpriority/normalOrdinary priority (the default)queue/blockedQueue or user escalation statesource/humanFiled directly by a humanstatus/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