From fa326b42de2299d6bd0e3d1fe123de1f256b3016 Mon Sep 17 00:00:00 2001 From: Dai Ha Date: Thu, 10 Sep 2026 18:57:57 +0700 Subject: [PATCH] Use Cases: invariant 5 states a purpose, not a banned tool Propagates the canonical block change merged in the repo as eccd054 (fleetd #458). Invariant 5 was: Never drive the terminal multiplexer directly (no herdr CLI, no socket). It banned a mechanism. What it is for is banning a control plane, and the two readings pick out the same actions in every project except the bridge's own repo, where the multiplexer is the subject under test. Four contract tests open the herdr socket on purpose, so a worker assigned to herdr code read invariant 5 and found the only action that could finish its task was banned. It now reads: Never move a fleet session, pane or peer except through the bridge. The herdr CLI and its socket stay in the text, as the usual example of the banned route rather than as the ban itself. The sync check in CLAUDE.md prints "in sync: True" against this file. Block size 17557 characters / 17718 bytes. --- 7-Use-Cases.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/7-Use-Cases.md b/7-Use-Cases.md index fd5b078..505d76f 100644 --- a/7-Use-Cases.md +++ b/7-Use-Cases.md @@ -363,8 +363,9 @@ and the sender silently receives nothing. Fail toward the recoverable error. re-send because a call looks slow — the bridge delivers when the peer is `idle`, `blocked` or `done`. A spawned member must **also** have mounted the bridge MCP: until it has, it is not deliverable, and a send waits on that gate for ~60s and then fails without ever reaching its pane. -5. **Never drive the terminal multiplexer directly** (no `herdr` CLI, no socket). The bridge owns - policy; the multiplexer owns PTYs. Going around the bridge bypasses every rule above. +5. **Never move a fleet session, pane or peer except through the bridge.** The bridge owns policy; + the multiplexer owns PTYs. Any route that changes fleet state without the bridge's checks + bypasses every rule above — the `herdr` CLI and its socket are the usual example. ### Primary (lead) — run this on every task, in order