Skip to content

fleet binary: fallback verb exists in source + docs but is missing from the installed 0.1.0 build (sandbox and laptop) #6728

Closed

Description

@dezren39

Problem

doc/fleet/queue-fallback-mode.md (Drew's order 2026-11-06, code#6619) declares fallback mode ACTIVE with tooling fleet queue fallback (pkgs/fleet/crates/fleet-queue/src/fallback.rs), and the queue worker instruction §0a routes every backend-down shift through it. But the installed fleet 0.1.0 binary does not contain the verb:

  • Sandbox: fleet queue fallback scan --repo developing-today/code → repo-queue: unknown command "fallback"; fleet queue --help lists only validate, list, enqueue, claim, lane, bind, heartbeat, checkpoint, park, block, cancel, fail, complete, health, signal.
  • Laptop (/.local/bin/fleet, also 0.1.0): identical command list — while fallback.rs IS present in the same clone's source tree (/git/code/pkgs/fleet/crates/fleet-queue/src/fallback.rs on main).

So the fallback system was merged as source + docs but never built/deployed into the binary workers actually run. During the 2026-11-06/07 PostgREST outage (PGRST002, health exit 4 for hours), Lane G (2026-11-06 20:23 CST shift) had to hand-post the doc's claim/heartbeat/release markers via gh to work issue #6716 in fallback mode — workable because the protocol is fully specified in the doc, but every lane must improvise it, and the tool's race re-reads / contested-claim checks (exit 5 semantics) do not exist in the hand-rolled version.

Evidence (verified 2026-11-07 ~03:11-03:15Z)

Acceptance

  • A released fleet build whose fleet queue --help includes fallback, deployed to BOTH the sandbox PATH and the laptop ~/.local/bin/fleet.
  • fleet queue fallback scan --repo developing-today/code returns JSON counts/items against live GitHub state.
  • The deploy path (which build artifact feeds both installs) is documented where the next binary change will find it, so a merged verb cannot silently stay undeployed again.

Activity

  1. added
    kind/bugSomething isn't working (prefixed form of the classic bug label)
    priority/normalOrdinary priority (the default)
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 7, 2026
  2. developing-today commented on Nov 7, 2026

    @developing-today
    Contributor
  3. dezren39 commented on Nov 7, 2026

    @dezren39
    MemberAuthor

    Picked up by repo-worker-code-z (lane code-z, repo-queue-worker-shift-z) in FALLBACK MODE (backend down: fleet queue health HTTP 503 PGRST002 — and the fallback verb itself missing from this binary, which is the subject of this issue). Triage of issue #6728: verify installed-binary verb lists on sandbox + laptop, fallback.rs presence/wiring in source on current main, and locate the binary deploy path; route the build/deploy fix.

    🤖 Agent note · picked up

  4. 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 7, 2026
  5. dezren39 commented on Nov 7, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · done (triage verdict: CONFIRMED for the sandbox half; the laptop half RESOLVED since filing)

    Verdict: PARTIALLY RESOLVED — sandbox install still stale, laptop install fixed after filing

    Fresh verification this shift (2026-11-07 ~03:2xZ):

    • Sandbox (still broken, as filed): fleet → ~/tools/bin/fleet → ~/tools/fleet (Nov 4, root-owned, read-only). fleet version: 0.1.0, source rev 18f0aa1a68d83d3df127cca8523f578f4adb33a3. fleet queue --help lists validate/list/enqueue/claim/lane/bind/heartbeat/checkpoint/park/block/cancel/fail/complete/health/signal — no fallback; fleet queue fallback scan → repo-queue: unknown command "fallback" (reproduced at this shift's start and again now).
    • Laptop (fixed since the filing's 03:11–03:15Z check): ~/.local/bin/fleet rebuilt 2026-11-06 21:21:50 -0600, source rev ff160b996476, and its queue command list now INCLUDES fallback. Verified live: fleet queue fallback scan --repo developing-today/code on the laptop returns JSON items against current GitHub state. So acceptance items 1 (laptop half) and 2 are already satisfied — by a deploy that landed ~03:21Z, after the evidence in the issue body was gathered.
    • Source wiring (current main): pkgs/fleet/crates/fleet-queue/src/lib.rs:31 pub mod fallback;, client.rs usage string includes fallback and dispatch maps "fallback" => crate::fallback::run(...) — the verb is fully wired in source; this was purely a build/deploy gap.
    • Deploy path (for the routing): pkgs/fleet/README.md "Build and smoke" — nix build .#fleet .#fleet-serve .#fleet-connect .#fleet-connect-static + smoke.sh. The laptop install is a plain binary at ~/.local/bin/fleet. The sandbox install is NOT lane-writable: ~/tools/fleet and the ~/tools/bin/{fleet,repo-queue} symlinks are root-owned provisioning artifacts, so the sandbox redeploy belongs to whoever provisions ~/tools, or to a documented re-point of those symlinks at a fresh artifact.

    Routing

    Returned to queue/queued as task/build-deploy + status/triaged. Remaining work, in order: (1) redeploy a current-rev fleet build to the sandbox ~/tools/fleet (provisioning-owned — a lane cannot write it), verifying fleet queue --help lists fallback and a sandbox fallback scan returns JSON; (2) document the two install points + build command where the next binary change will find it (pkgs/fleet/README deploy section or doc/fleet/queue-fallback-mode.md), per acceptance item 3. Until (1) lands, fallback shifts keep hand-posting markers via gh — workable, as this shift's completions show, but without the tool's race/contest checks.

    (Comment repaired in place by its author: the first posting's backtick spans were mangled by a shell heredoc error; the substance is unchanged.)

  6. dezren39 commented on Nov 7, 2026

    @dezren39
    MemberAuthor

    Released free by repo-worker-code-z (lane code-z, FALLBACK MODE): triage of issue #6728 complete — verdict on the issue (sandbox half CONFIRMED stale at rev 18f0aa1; laptop half RESOLVED since filing, new build rev ff160b9 with working fallback scan). Fix routed on the same issue: task/build-deploy + status/triaged + queue/queued (sandbox redeploy is provisioning-owned; deploy-path documentation owed).

  7. 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 7, 2026
  8. 56 remaining items

  9. dezren39 commented on Nov 7, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · done (lane scope) — one acceptance item remains, owned by provisioning

    • Agent: queue worker (repo-worker-code), lane code-i
    • Session / ID: repo-queue-worker-shift-i, 2026-11-06 20:28 CST — FALLBACK MODE (backend outage infra: repo-queue PostgREST timeout: global failures lane-visible again — recurrence after #6450 closed (2026-11-06 21:15-21:31Z) #6619)
    • Result: the build was broken, not just undeployed — and the laptop install now runs the current build with the fallback verb live.
    • What landed: PR #6774 merged 2026-11-07T04:38:32Z (commit 81bdda4): pkgs/fleet/Cargo.lock regenerated (+67/−1) — it predated atlas-core's sha2 0.10 dependency, so nix build .#fleet failed in the vendor step and NO current build could be produced at all; plus a README Deploy-section note naming this lockfile-drift failure and its regeneration step. (The deploy-path documentation itself landed earlier in bc39d0b.)
    • Laptop install — DEPLOYED + VERIFIED: nix build .#fleet from the fixed tree → artifact renamed over ~/.local/bin/fleet (rename, since the running broker holds the old inode; pre-deploy copy at ~/.local/bin/fleet.bak-pre6728). fleet queue --help lists fallback; fleet queue fallback scan --repo developing-today/code returned live JSON, exit 0, at 2026-11-07T04:30:57Z.
    • Sandbox install — STILL STALE, provisioning-owned: ~/tools/fleet reports source rev ff160b996476; current main is 17eb1cbada + the lock fix above (merge 81bdda4). Per the README Deploy section this file is root-owned provisioning and lanes do not redeploy it — both revs are recorded here for the provisioning owner, exactly as that section prescribes. This is the one open acceptance item; the issue stays open and re-queued so it keeps surfacing until the sandbox binary moves.
  10. dezren39 commented on Nov 7, 2026

    @dezren39
    MemberAuthor

    Released by repo-worker-code-i (outcome: free). lane scope complete: Cargo.lock build break fixed + merged (PR #6774), laptop install deployed and verified live (fallback scan exit 0); sandbox install still stale at rev ff160b9 vs main 17eb1cb+fix — root-owned provisioning per README deploy section, revs recorded on the issue; re-queued so it keeps surfacing until provisioning redeploys

  11. 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 7, 2026
  12. dezren39 commented on Nov 7, 2026

    @dezren39
    MemberAuthor

    Picked up by repo-worker-code-a — working this now. (Fleet queue fallback mode: the queue backend is down, so this issue's comments carry the claim. The claim stays live while repo-worker-code-a posts progress markers; after 30 minutes of silence any other worker may pick this up.)

  13. 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 7, 2026
  14. dezren39 commented on Nov 7, 2026

    @dezren39
    MemberAuthor

    Progress from repo-worker-code-a: claimed: verifying fallback verb presence in installed fleet build

  15. dezren39 commented on Nov 7, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · already done — acceptance re-verified live by this lane

    • Agent: queue worker, lane code-a (repo-worker-code-a), FALLBACK MODE
    • Verification (fresh, this shift): fleet binary: fallback verb exists in source + docs but is missing from the installed 0.1.0 build (sandbox and laptop) #6728 is CLOSED (2026-11-07T04:05:41Z). Acceptance re-checked independently: (1) sandbox fleet queue --help lists fallback, and laptop ~/.local/bin/fleet queue --help also lists fallback (fresh laptop read this shift); (2) fleet queue fallback scan returned live JSON, and this lane has run scan/claim/heartbeat/release through the real verb for 20 tasks this shift — the verb is deployed and working, not just present; (3) deploy path documented (PR docs(fleet): document the two live installs + deploy verification (#6728) #6732; README deploy section). Trailing nuance from lane code-i (04:39Z): the sandbox install's rev trails newest main (root-owned provisioning seat) — a rev-currency point, not an acceptance failure; the verb this issue exists to ship is live on both seats.
    • Action: this lane claimed the closed issue on stale labels, did no new work; releasing done (already_done) and removing stale queue/claimed + work/assigned.
  16. dezren39 commented on Nov 7, 2026

    @dezren39
    MemberAuthor

    Released by repo-worker-code-a (outcome: done). Already done (re-verified live): #6728 CLOSED 2026-11-07T04:05:41Z; sandbox and laptop fleet builds both list the fallback verb (fresh reads this shift), fallback scan returns live JSON, and this lane executed 20 fallback claims/releases through it this shift. Deploy path documented (PR #6732). Stale queue/claimed + work/assigned labels removed.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/bugSomething isn't working (prefixed form of the classic bug label)priority/normalOrdinary priority (the default)status:donetask/build-deployQueue packet kind: build and deploy an already-merged artifact

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions