Closed-loop verification for UI/desktop/SSE/routing/startup work that requires visible evidence, deterministic checks, cleanup of opened windows/terminals, and automatic blog + experience logging. Use whenever a task touches frontend pages, browser windows, launchers, gateway startup, or when the user demands a repeatable self-debugging loop.
Run a strict "do -> verify -> evidence -> cleanup -> log" loop and do not stop until the outcome is verified or explicitly approved as failed.
Declare the expected visible outcome
Prepare runtime
/health or the required port is live before opening any UI.Open target UI
Start-Process <url> for the target page.scripts/track-window.ps1 -WindowTitlePattern "<title-part>"Perform the action
Capture evidence (must)
self-debug-closed-loop skill for evidence capture.scripts/ui-click-and-screenshot.mjs --url <url> --click-selector <css> --expect-text <text> --out <path>Classify the outcome
verified: evidence shows expected markersunverified: runtime OK but evidence missing/unclearfailed: evidence shows wrong resultCleanup (always)
scripts/close-tracked-windows.ps1-Force only after asking the user.Log + Experience (always)
myblog-posting skill to append a short post:
experience-manager or memory-lancedb-pro:
memory/YYYY-MM-DD.md.scripts/track-window.ps1
scripts/close-tracked-windows.ps1
-Force only with user approval.scripts/ui-click-and-screenshot.mjs
Tracked windows list is stored at:
%USERPROFILE%\.codex\state\closed-loop-ops\windows.json