Skip to content

D1101 — Operator-directed text follows the connection kind

Decision. A message that names a cartographer command, a bundled skill as the only way, or the operator's tools is chosen by connection kind: a connection that declared ?provisioned=1 (D1097) and the Atlas get today's text byte for byte; every other connection gets the same facts in words. The doctor nudge (amends D299, and the D358/D704 trigger, "every non-CLI session with write access") reaches only the former. Static texts every connection sees (tool descriptions, lint suggested actions, the conflict guidance) are replaced for everyone: kb_guide (D1100) is the route, the skill is cited only as "where the client has it". A test asserts that a generic connection never receives a cartographer <subcommand> string.

Why. A host that gives the model only tools has no skill, no CLI, and an end user who is not the KB's operator; a message that sends the agent there is a dead end. The server cannot tell the audiences apart except by the marker, which selects wording, never access.

Alternatives rejected. A field on the cached routed view: it is shared by every URL resolving to the same set, and the texts are read in the target KB's server. Branching the static texts too: kb_guide works for a provisioned client as well, so a second wording would only drift. Rewriting GitStatus.LastError: it is compared by prefix, so the neutral identity-rejection text sits beside it.

Consequences. The nudge window is claimed only by a connection that may receive it (the server is stateless over HTTP: one shared bucket). A new message with a CLI command fails TestGenericConnectionIsNeverToldToRunACLICommand, or is written in two renderings. A client not yet re-synced after D1097 is generic until its next sync. ?access=read from a generic client still reads the bridge's sentence (accepted).