Files
hq/01-RESEARCH/028-the-meshs-output-channel/00-overview.md
T

3.5 KiB

status, initiated, touches, became
status initiated touches became
active 2026-10-04
04-ISSUES/187-the-mesh-tells-nobody-when-it-stops-working/00-report.md
04-ISSUES/229-a-rollout-cannot-be-followed-through-the-meshs-tools/00-report.md
04-ISSUES/230-a-host-that-hands-over-to-a-newer-one-loses-its-report-and-a-plan-waits-for-ever/00-report.md
04-ISSUES/233-a-host-without-its-package-managers-configuration-refuses-the-declaration-that-would-restore-it/00-report.md
02-DECISIONS/0126-a-module-declares-its-own-seats.md
02-DECISIONS/0208-the-graphical-session-is-one-module-per-piece-on-the-meshs-seats.md
02-DECISIONS/0210-a-tools-configuration-is-its-seat-holders-and-every-other-module-extends-it-through-the-seat.md
03-DESIGN/01-to-be/32-what-a-module-declares.md

028 — The mesh's output channel

What

How the mesh tells its operator what it noticed. The operator's framing: sending notifications is an output channel for the mesh. The mesh already knows when a machine stops answering, when a failure repeats and will not fix itself, when a rollout waits for ever. Today it keeps that to itself until someone asks.

The effort looks at:

  • the seat: one, held once for the mesh, that every other part uses to say something to the operator;
  • the channels, each a module: a desktop notification on the machine the operator is at, Telegram, a phone push service, chat, mail and others (see 02);
  • the routing, by severity and by where the operator is;
  • the life of a message: deduplicated while it holds, resolved when it stops, acknowledged or silenced by the operator;
  • the watcher's watcher: who tells the operator when the parts that would tell them are the ones that failed.

Why

Issue 187 is the class: the mesh tells nobody when it stops working. 01 counts it.

  • 15 of the 236 issue reports say the fault was found because a person happened to look.
  • 74 describe something failing silently.

On the day this effort opened, the mesh knew three things and told nobody:

  • a workstation had refused every declaration for ninety minutes;
  • the same workstation had been out of touch for ten minutes after an upgrade;
  • one failure on the laptop had repeated thirteen times.

Every one of them was in status, for whoever asked.

The pieces exist. To-be 32 already uses a telegram-sender seat as its worked example of a work queue with retention. ADR 0208 made a machine's desktop notifier a node seat with a send verb. What is missing is a seat that speaks for the mesh, sources that call it, and channels that deliver.

What it touches

  • The controller, which would become the first source of what it already computes for status.
  • The node-notifier seat, which would become one channel among several.
  • Issues 187, 229, 230 and 233, each of which ends in "and nothing said so".
  • ADR 0210, because a channel extends the output seat through a contribution, and therefore depends on it.

Documents

  1. What the mesh already knows: the evidence, and the events that exist.
  2. The channels: the candidates, Telegram first, weighed on the same questions.
  3. Open questions: the seat, routing, life of a message, the watcher's watcher, what may leave the mesh.