← Commit history

etiquette: drain sweep

John Lauer ·a5eea6b4da ·1mo ago ·parent 1604a08
1 file changed +16
dev-skills/fusion-background-etiquette/SKILL.md+16
@@ -50,6 +50,22 @@ themselves with an on-screen caption first (see the fusion-driving skill's etiqu - Never "fix" a focus problem by foregrounding Fusion. Fix it by making the operation   work in the background - that is always possible with hwnd-targeted capture and UIA. +## The drain-sweep rule (v1.9.11, caught live 2026-08-15)++A modal dialog can pop AT the envelope's deadline and keep the foreground it grabbed+after the watcher dies - the Package3D Save dialog did exactly this during the attach+flow while John watched. Two rules came out of it:++- The watcher never walks away mid-steal: at its deadline it runs a 20s GRACE SWEEP,+  continuing to demote as long as a family window still holds the foreground.+- A multi-minute orchestrator that raises dialogs (attach_3d_package and anything like+  it) arms its OWN long envelope at entry (600s) instead of relying on the dispatch+  envelope, whose duration is sized to the verb timeout, not to when the dialogs appear.++And the answer to "do we need the foreground to drive the UI?" is NO, ever: text+commands, the add-in API, and PrintWindow captures all work on background windows. Any+foreground appearance is a bug in this envelope, not a requirement of the operation.+ ## How regressions get caught  The daily verb test suite (dev-skills/fusion-verb-tests) includes a focus-invariance