Skip to content

0.71.0

Auto mode reaches the page: a switch in the header, silent parked cards, and one panel of what waited for you when you are back. /boss answer answers another session’s dialog from pi (never a secret). A cold Windows start no longer waits 41 to 48 s on PowerShell.

Phase 2 of todo #140 (spec docs/specs/2026-11-09-auto-mode.md, section 7 and task 5b): the page can switch auto mode and shows what it left.

  • A header chip holds the switch. It says Auto mode while off and Auto · since 23:10 while on, in the bar under the header (behind the ⋯ on a phone, at 44 px). Starting takes two taps: the first turns the chip into the sentence 「代理不能再問你,正在等你的提問會被取消」 (it lapses after 6 s, and Esc cancels it), the second starts. Ending takes one tap. A staged request from the head tower still waits for its own confirm button.
  • Parked cards are silent. A wait card recorded while auto mode is on reads 「已暫放,等你回來」 / “Parked for your return”, raises no system notification, sound, Zen cue or dock entry, and does not count on the tab’s icon; a parked secret card has no start button. When auto mode ends they are open waits again, but the ones the return panel lists raise no second notice: the panel is their notice (the boss’s decision of 2026-11-10).
  • A return panel opens when you are back. On the next page load, or when this page’s own switch ends auto mode, one panel lists the parked waits first as the same pressable cards the tower’s rows draw, then folds what auto mode cancelled or refused, what a tower answered on its own, and what still waits. Closing it leaves the cards as open waits; it opens once per list on each device, for a list up to three days old. The list comes from a new auto/report route.
  • Both languages, and ?auto=on|back in the demo (?auto=on: three parked cards; ?auto=back: the morning after, with the panel).
  • A cold Windows start no longer waits 41 to 48 s on a PowerShell cmdlet (todo #132). The first cmdlet of a module that a fresh Windows PowerShell 5.1 meets (Get-CimInstance, Get-Acl, New-Object, ConvertTo-Json, Test-Path, …) built its module cache, and on a cold windows-11-arm runner that was most of the 60 s the server has to answer hello (breakaway via=failed … "PowerShell did not answer within 60 s"). The launch and ACL scripts, a process’s start time, and the process table now use .NET calls, [wmisearcher] (0.2 s), and a small JSON writer; the answers have the same shape and the same start-time text. A test fails when a script calls a module cmdlet. Start times are computed from the CIM datetime string (no DST fall-back error). Constrained Language Mode is not supported (the ACL script already refuses it; start-time and process-table reads need FullLanguage).
  • /boss answer answers another session’s open dialog from pi. The page’s Answer was the only way to answer a select, a confirm, or questions that a worker, tower, or ally main waits on without walking to its terminal. /boss answer lists them (choices numbered); /boss answer <name|key> [<choice number | text> | --cancel] answers one through the page’s own sessions/<key>/answer route, after a confirm that only this computer answers, so the server keeps its checks (the digest of the question as shown, one open dialog per session). A paired device’s composer cannot type it, and a tower run or an ally run takes no /boss command. A secret is not answered from pi: a session that waits on secret_drop, or on any dialog the page treats as a secret, is listed as present and refused; it is entered in that session’s terminal. An unattended box’s dialogs are left to the page.