docs(flomni): mark the tomo queue GUI checklist fully validated
CI for csaxs_bec / test (pull_request) Successful in 1m37s
CI for csaxs_bec / test (push) Successful in 3m15s
Read the Docs Deploy Trigger / trigger-rtd-webhook (push) Successful in 4s

Rewrites both status headers (plan doc + GUI test checklist) now that
every item (1-55) has been clicked through live and passes. Fixes two
remaining stale "not yet click-tested" references in section 1 (items
9/10) left over from before sections 6c/6d were tested. No open
checklist items remain; section 7's known limitations are scope cuts,
not bugs, and are the documented starting point for future work.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit was merged in pull request #259.
This commit is contained in:
x01dc
2026-07-14 15:41:56 +02:00
co-authored by Claude Sonnet 5
parent fd5fc84867
commit 9eedfa4d52
2 changed files with 47 additions and 40 deletions
@@ -1,28 +1,32 @@
# Plan: Command Jobs in the FlOMNI Tomo Queue
**Status:** **Step 2 is implemented** in `flomni.py` (schema type-tagging, action
registry, `move` + `optimize_idgap` (stub) actions, `tomo_queue_add_command`,
`tomo_queue_show`/`tomo_queue_execute` branching, `_run_command_job` resume policy,
`tomo_queue_actions` global-var publishing) plus a small additive fix in
`flomni_webpage_generator.py` so a command job renders its step summary instead of a
blank params table. Sim-tested: `omny_e2e_tests/test_tomo_queue_command_jobs.py`,
6/6 passing (see `TOMO_QUEUE_TESTING.md` §4D for what each test covers); real device
movement was exercised against `ftray` (sim-testable stand-in), not `mokev`/`idgap`
(real front-end only — see §10). A CLI-level `tomo_queue_move(index, new_index)` has
since been added alongside `tomo_queue_add`/`_delete`/`_clear`, enforcing the same
running-job floor as §6.4. A curated, session-only `at_each_angle_hook` registry
(§3.4) has been added, sim-validated (CLI side) and now has a GUI dropdown + webpage
display too — see §3.4's "Sim-validated" note and its "GUI widget added"/"Webpage
display added" bullets; the GUI/webpage halves are not yet click-tested against a
live session. **Step 3 (the `TomoQueueDialog` GUI work) has a first
iteration built** — the command-job builder dialog (§6.5), command-job-aware queue
rendering, the status-keyed delete/clear guards from §6.3, a "Sort queue…" mode for
mid-run reorder of pending/incomplete rows (§6.4 — up/down buttons, not drag-and-drop,
see the note under §6.4 for why), and full-detail row tooltips so hovering any cell
shows the untruncated label/steps/params. **Not yet validated against a live
session** — see `TOMO_QUEUE_GUI_TESTING.md` for the manual test checklist and known
first-iteration gaps. Step 1 (executor rework) is implemented and its sim checklist
has passed (`TOMO_QUEUE_TESTING.md` §4, sections AC).
**Status: Steps 13 are implemented and fully validated**, both by sim and by a
live click-through of the entire GUI checklist. **Step 2** (`flomni.py`: schema
type-tagging, action registry, `move` + `optimize_idgap` (stub) actions,
`tomo_queue_add_command`, `tomo_queue_show`/`tomo_queue_execute` branching,
`_run_command_job` resume policy, `tomo_queue_actions` global-var publishing, plus
the matching `flomni_webpage_generator.py` fix) is sim-tested:
`omny_e2e_tests/test_tomo_queue_command_jobs.py`, 6/6 passing (see
`TOMO_QUEUE_TESTING.md` §4D); real device movement exercised against `ftray`
(sim-testable stand-in), not `mokev`/`idgap` (real front-end only — see §10). Since
then: a CLI-level `tomo_queue_move(index, new_index)` alongside
`tomo_queue_add`/`_delete`/`_clear`, enforcing the same running-job floor as §6.4;
and a curated, session-only `at_each_angle_hook` registry (§3.4) with a GUI dropdown
and webpage display, sim-validated (CLI side) and click-tested (GUI side, both green
— see `TOMO_QUEUE_GUI_TESTING.md` sections 6b6f). **Step 3** (the `TomoQueueDialog`
GUI work) — the command-job builder dialog (§6.5), command-job-aware queue
rendering, the status-keyed delete/clear guards from §6.3 (since extended with a
staleness-aware override, see below), a "Sort queue…" mode for mid-run reorder of
pending rows (§6.4 — up/down buttons, not drag-and-drop, see the note under §6.4 for
why), full-detail row tooltips, "Load into editor" (§6.8), and the
live-vs-unsaved-edit warnings on both "Add to queue" surfaces (§6.1) — **has been
fully click-tested against a live session** (`TOMO_QUEUE_GUI_TESTING.md`, items
155, all passing). Two real incidents were found and fixed along the way: a job
stuck at `running` forever with no live process behind it (§6.3's staleness note,
§3.4's declined-confirmation note), and the two-window live-vs-unsaved-edit
confusion (§6.1). Step 1 (executor rework) is implemented and its sim checklist has
passed (`TOMO_QUEUE_TESTING.md` §4, sections AC). Remaining known gaps (scope cuts,
not bugs) are tracked in `TOMO_QUEUE_GUI_TESTING.md` §7.
**Prerequisite (met):** the checklist in `TOMO_QUEUE_TESTING.md` has passed against
the simulated flOMNI. That document is the companion to this one: it covers *what
@@ -5,19 +5,22 @@
building it. Section 8 explains exactly how to hand this off to a new
session/chat.
**Status:** Sections 3 through 6b have now actually been clicked through
against a live session by Mirko and pass, including item 4 against the new
hard-block Submit behaviour. Real-session testing of 6b surfaced several
gaps (all fixed, see section 6c below): a confusing duplicate row-number
column, `tomo_parameters()`/the queue table/scilog/the PDF report/the
progress-ring label not showing an active hook at all, and a clarification
that `unregister_at_each_angle_hook()` doesn't clear `at_each_angle_hook`
(confirmed expected, now documented). **Sections 6c, 6d, and 6e have now also
been clicked through and pass** (3752), including the stale-`running`
delete override, which fixed an actual stuck job found live at session
start. **Section 6f is new and not yet clicked through** — a warning added
after 6e's testing surfaced one more mixed-surface confusion (see below).
Companion docs:
**Status: fully validated.** Every item in sections 3 through 6f (155) has
been clicked through against a live session by Mirko and passes — the
complete GUI checklist for this iteration is green. Along the way, real
testing surfaced and got fixed: the old soft-warn Submit (now a hard
block, item 4/8); a confusing duplicate row-number column, hook visibility
gaps across `tomo_parameters()`/the queue table/scilog/the PDF
report/the progress ring (section 6c, items 3741); a stuck-`running`
job with no live process behind it, caused by a declined confirmation
that used to silently return instead of raising (fixed at the source,
plus a staleness-aware delete/clear override — section 6e, items
4852, confirmed against an actual stuck job found live); and a second
live-vs-unsaved-edit confusion reachable from the separate Queue
control window, not just the params panel (section 6f, items 5355).
No open items remain from this checklist. If new GUI/queue work starts,
extend this document rather than starting a new one — the fixture/setup
sections (1, 2, 8) still apply. Companion docs:
`TOMO_QUEUE_COMMAND_JOBS_PLAN.md` section 6 (the design this implements),
`TOMO_QUEUE_TESTING.md` (Steps 1 & 2, already sim-validated).
@@ -124,7 +127,7 @@ support on top of it:
name, flagged if it isn't currently registered — the scilog entry and
PDF report additionally include the hook's actual source code when it
is still registered, so what a tomogram did is part of the permanent
record. See section 6c below for what's not yet click-tested.
record. Click-tested (section 6c, items 3741) and passing.
11. **"Load into editor."** Select a single tomo job in the queue dialog
(command jobs are excluded — no `params`) and click **"Load into
editor"** to enter edit mode on the params panel populated from that
@@ -132,7 +135,7 @@ support on top of it:
anything itself — Submit/"Add to queue" from there work exactly as
they already do. Confirms before discarding an in-progress edit.
Disabled outside a valid single-tomo-job selection and during sort
mode. See section 6d below — not yet click-tested.
mode. Click-tested (section 6d, items 4247) and passing.
12. **Declined-scan failure + stale "running" recovery.** Two fixes for a
real stuck-queue incident: `tomo_scan_projection()` now raises instead
of silently returning when the "run a fermat scan anyway?" confirmation
@@ -149,8 +152,8 @@ support on top of it:
live-vs-unsaved-edit confusion as item 8 could bite, since it's a
different window from the panel's own (correct) "Add to queue"
button. Now warns and names the correct button before proceeding if
the panel is mid-edit; no warning if it isn't. See section 6f below —
not yet click-tested.
the panel is mid-edit; no warning if it isn't. Click-tested (section
6f, items 5355) and passing.
---