3.7 KiB
Console service: the unit script takes --send (2026-10-12)
Status: written by Sage, lead. It follows docs/plans/BRIEF-TEMPLATE.md.
Issue #1576. A cutover row (lead decisions 94, 95 and 101), so the
decision 94 hold doesn't apply.
The unit script takes --send
Problem
scripts/webui-service.sh (row 75, #1569) renders and installs the
Console's systemd user unit. It takes the preview set (--public-host,
--auth-header, --allow-user) but not --send, and
packages/webui/README.md says so: "The script takes no --send, so a
unit it installs is read-only." Row 76 (#1570, c45b948d) added --send
to serve, and the cutover needs it: Jason's Q95 yes is for sending a
human message to a role from the Console. Today the only way to get a
sending unit is to hand-edit the installed file, which nothing reviews
and the next install overwrites.
Owner and reviewer
- Owner: Dewey.
- Reviewers: Darkwing and Filbert. The flag widens what the installed service can do, so it gets two reviewers like row 76.
Files owned
scripts/webui-service.shpackages/webui/tests/service.test.mjspackages/webui/README.md, only the paragraph that starts "To run the Console as a systemd user unit" and the--sendparagraph under "Message a role" if it needs a pointer to the unitdocs/TOOLS.md, the "Console service" section onlyagents/dewey/work/queue-<row>/
What ships
renderandinstalltake--send. It is accepted only with all three preview flags. Without them the script refuses before writing anything, with exit 1 and a message naming the preview flags, the wayserverefuses (--send needs the preview mode ...).- With
--send, the rendered ExecStart ends with--sendafter the preview flags. Nothing else in the unit changes. - Without
--send,renderoutput is byte-identical to the base for every flag combination the current tests cover. uninstallandstatusdon't change.statusmay print whether the installed unit sends, if that's a small change; otherwise leave it.- The README paragraph and TOOLS.md say the script takes
--sendonly with the preview set, and that the Console then needs the system config at start (--send needs the bus configured). - The start wording (added 2026-10-12, lead decision 102). The script's header comment and its install message, the TOOLS.md "Console service" section and the README service paragraph say that an agent starting the Console works around the human proof, and that Jason starts it. Each should now say Jason or Mos starts and restarts it under decision 102, which accepts that sends then enter the trail as Jason. Any other agent starting it still works around the human proof. The script still has no start, stop or restart verb.
- Tests:
render --sendwith the preview set;--sendalone;--sendwith one or two preview flags;install --sendinto a test--dirwith--no-reload; a no---sendrender compared byte for byte with the base. Mutants that drop the preview requirement or the ExecStart append survive on the base and are killed on the candidate.
Out of scope
- Starting, restarting or enabling the unit. Jason or Mos does that (decisions 94 and 102). No test starts a real user unit.
- The script checking the system config or the bus. The Console's own start check covers it.
- The allowed-user switch from username to uid (decision 101). That is an operator reinstall with this script after the cutover, not code.
- Row 77's service hardening notes (#1571).
Gate
Darkwing and Filbert each approve on #1576 naming the candidate
manifest. The webui node suite and every scripts/test-*.sh green on
Sage's gate rerun. Round 1 is wanted by 2026-10-12T15:00Z so it can land
before the cutover at about 21:30Z.