Rule 8 restated for the launcher, when the MCP channel was retired (plan 1, to-do 43). The user's ask stands as it was (message 360 on web-interface): "Maybe everything the user does should just go through the channel when you're idle."

The shape: serve.py calls commandlog.record_web once, for every write the viewer makes, and stamps each entry by: "You". news._did reads that record and news._waiting hands each entry an idle session has not been told about to the launcher's Nudger, which types it into the agent's terminal and marks it told (news._told). So adding a verb to the web API announces itself; nothing has to be remembered per verb. The five kinds that have handlers of their own — message, question, suggestion, comment, plan — are skipped there, because those say more than a log line can, and they mark themselves told.

What this rule forbids: adding a notify call to a controller, or a per-verb branch in news.py or launch.py, when the write already goes through record_web. If a new kind genuinely needs to say more than its Activity line, give it a handler beside the other five in news.py rather than a special case in the generic path.
