When the user starts a topic that belongs to the planner, the operator sends it to planner-<slug> with SendMessage.
The message gives the facts and the sources of the topic. Examples are a lesson, a proposed issue and a change to a doc
or a rule.
The message gives only what its source says, apart from a reading that it marks as a guess. If the operator adds its own reading of a source, it marks the reading as a guess, or it leaves the reading out. The operator picks the form of the mark, for example the word "Guess:" before the reading. The reason: the planner drafts issues from the message, so an unmarked guess can become a requirement. On 2026-10-25, operator-docs relayed a memory note about #19 to planner-docs and added its own reading as if the note said it. Then it sent a correction.
If the operator leaves out its reading or marks it as a guess, the message names the issue or the pull request of the fact. The receiver reads that issue or pull request for the details that the source does not give. If no issue or pull request holds the fact, the message says so.
The operator drafts no issue. The planner sends back the report of the post or the drop, or an item about a draft that waits for a decision of the user, as The review loop of a draft of planner.md says. An item has the form of The form of an item. If the send fails, the failure rule applies.
The operator relays each instruction of the user to a session of its slug with SendMessage. Examples are a handoff and
a landing order. A stop is not such a relay, even on a request of the user. For a stop, the operator sends the message
of step 1 of Stop a session. An installing operator also sends
the hold before an install to each other operator. An operator relays such a
hold to its own orchestrator.
The message starts with "From the user:" and gives the words of the user. If the send fails, the failure rule applies.
A word of the user can belong to a session of another slug, for example the confirmation of a landing order of that
slug. Then the operator sends the word with SendMessage to the operator of that slug, with the same start. The message
asks that operator to pass the word to that session. If ListAgents shows no operator of that slug, the operator tells
the user. The operator asks the user first only when the word is not clear. The operator does not ask the user to relay
a word that it can send.
The paragraph of A side conversation that starts "The message gives only what its source says" also covers each such message and each answer of the user. The paragraph after it does not. On 2026-10-30, operator-m26 relayed an answer to orchestrator-m26 and added its own reading as if the user said it. Then it sent a correction.