Release: prompt agent stop + lazy curator polling + build marker + agent in CI #168

Merged
bvandeusen merged 1 commits from dev into main 2026-06-30 21:42:55 -04:00
Owner

Addresses operator reports (Stop never finishes, constant curator polling, stale-cached page mistaken for a failed deploy) and the explicit ask to put the agent through CI.

  • Prompt stop: _running flips before any lock (state can't lag), and _process has a stop/shrink checkpoint after decode that releases the job and bails before the expensive detect+embed.
  • Lazy curator polling: the queue snapshot is fetched only while a browser is watching (a /status hit within a grace window) on a 5s cadence — not a constant background loop. The work loop's lease/submit is curator's only other visitor.
  • Build marker: VERSION is embedded in the page + reported on /status; the UI shows a reload banner when they differ, so a cached page can't be mistaken for a failed deploy (complements no-store).
  • Agent in CI: the lint lane now ruff checks agent/ and compileall-parses it. Fixed the agent's pre-existing UP037/B905 so it passes. Full CI green on dev incl. integration.

🤖 Generated with Claude Code

Addresses operator reports (Stop never finishes, constant curator polling, stale-cached page mistaken for a failed deploy) and the explicit ask to put the agent through CI. - **Prompt stop:** `_running` flips before any lock (state can't lag), and `_process` has a stop/shrink checkpoint after decode that releases the job and bails before the expensive detect+embed. - **Lazy curator polling:** the queue snapshot is fetched only while a browser is watching (a `/status` hit within a grace window) on a 5s cadence — not a constant background loop. The work loop's lease/submit is curator's only other visitor. - **Build marker:** `VERSION` is embedded in the page + reported on `/status`; the UI shows a reload banner when they differ, so a cached page can't be mistaken for a failed deploy (complements no-store). - **Agent in CI:** the lint lane now `ruff check`s `agent/` and compileall-parses it. Fixed the agent's pre-existing UP037/B905 so it passes. Full CI green on dev incl. integration. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
bvandeusen added 1 commit 2026-06-30 21:42:51 -04:00
fix(agent): prompt stop + lazy curator polling + build marker; add agent to CI
CI / lint (push) Successful in 2s
CI / frontend-build (push) Successful in 19s
CI / backend-lint-and-test (push) Successful in 26s
CI / integration (push) Successful in 3m25s
79269da802
Addresses operator reports: Stop never finishes, the agent polls curator
constantly, and stale-cached pages get mistaken for a failed deploy.

- Stop is prompt: flip _running BEFORE any lock so /status + worker loops see
  "stopped" immediately, and add a stop/shrink checkpoint in _process (after
  decode, before the expensive detect+embed) that releases the job and bails —
  so a Stop doesn't wait out heavy GPU work.
- Lazy curator polling: the queue snapshot is fetched only while a browser is
  actually watching (a /status hit within UI_IDLE_GRACE) and on a 5s cadence,
  not a constant background loop. The work loop's own lease/submit is curator's
  only visitor otherwise — nothing polls just to poll.
- Build marker: VERSION is embedded in the page and reported on /status; the UI
  shows a "reload" banner when they differ, so a browser-cached page can't be
  mistaken for "the new image didn't deploy" (complements the no-store header).

CI: the lint lane now also `ruff check`s agent/ and compileall-parses it, so the
GPU agent is linted + syntax-checked before its image builds (build.yml only
`docker build`s it). Fixed the agent's pre-existing UP037/B905 so it passes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ttrj5P7upUTueSfoJcxEqa
bvandeusen merged commit 1ea02ad44c into main 2026-06-30 21:42:55 -04:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: bvandeusen/FabledCurator#168