The rules that keep agents honest
The working orders we give every agent, paraphrased, each with the incident that bought it. Short rules in the file every session loads; the reasons in a long form it can look up.
Our research project's orders are numbered (§24 to §41 so far, plus older ones). We cite the numbers so an agent can look one up, but the repository is private, so here each is restated with its reason.
The mindset that produced most of them#
B, Sept 26: "It's better to have a strategy without an edge get promoted to a Moonlight strategy than accidentally kill a profitable idea before it gets to Moonlight."
A weak strategy on paper costs nothing, and live fills expose it within days. An idea killed in simulation is never reopened. So the errors we can afford point toward trying, and no bar that protects real money is lowered: the rigour moves to the paper-to-live step, which is B's alone.
Rules about evidence#
- A lead is not killed by one test (§24).
closed,deadorrefutedneeds a second measurement that could not fail the same way, and the report says which. Until then the verdict iscannot tell yet, which is a first-class answer. Bought by four published verdicts that used a broken fill instrument. B's wording: "when we kill a lead it needs to be without assumptions and we need to double check using numbers a second way — too many times we ran a simple test that ended up killing a valid idea and the test was wrong." - When an instrument is fixed, re-score its negatives too. Each of those four retractions re-checked the positives the instrument had inflated and none of the negatives it had manufactured. That is still open work.
- Name the rung on every money number (§25). Only a result that is positive on real money at the strategy's birth is a discovery. Three different numbers had all been called "clearing the bar" inside 24 hours, and B had been told she cleared a bar she had not.
- State what is established as confidently as what is uncertain (§26). Finding and mechanism first, checks passed beside it, risks written as the next experiment.
- File every money investigation when you start it (§27). The best result in the project's history once sat unread in a hand-run sweep's log while the surfaces B reads said nothing was tradeable.
- No percentage without deployable dollars beside it (§28). Edge and capacity are anti-correlated by construction.
- An implausibly good number is a bug first. Check for look-ahead, then outcome conditioning, then the denominators.
- A null is power-limited until you compute the detectable effect. Sixteen days of tape can only see edges above a certain size; below it, "no result" means "could not see".
- Two instruments sharing a failure mode agreeing is not corroboration.
- A description of a function is not the function. Before building on a comment, a summary or a report, evaluate the actual code at the values in use and print the numbers.
Rules about the funnel#
- Two bars (§29). The paper bar needs a mechanism, a declared decision rule, a reader, and fit to a wallet. The live bar needs everything. Multiple-comparison control moves from "may we try this?" to "may we fund this?" The comparison happens when you pick a winner from a grid, not when you ship cells that cost nothing.
- A strategy without a reader is a drawer (§30). Every table names the thing that reads it.
- One idea, one strategy, many cells (§31). One registry entry, one budget, one page, N declared cells, allocated equally, never by a bandit: a bandit optimises regret, and we are buying a measurement. Cells are frozen at decision time and declared before the run.
- Know what is live, and read it from the system, not memory (§34). Change a live strategy only when at least 90% sure the change is neutral or better, argued in a
Live-change:line. Never make paper differ from live. - The headline is the best thing we have and its distance from money (§35). A count of zero never leads. Every null names its class.
- The sweep is never a reason an idea cannot be tested (§36). "The sweep can't express it" is a work item.
- The clock is never a reason to defer work (§37). B, Sept 28: "'Queued for daytime sessions' -- absolutely not. Make sure there is a clear rule in the project that we NEVER suggest work for later because it's late at night. Never." Only a real, named resource conflict happening now delays a step.
- Paper is the night agent's playground; only live needs B (§39). An agent never writes "on B's go" without her dated words beside it.
- A "skip tonight" names its night and B's order (§40). Never copy an old order forward.
Rules about authority#
- Only B retires a strategy (§38). An overnight agent once executed the archive branch of a pre-registered decision rule after one underpowered read. B reversed it the next morning: "Undo it … that is MY decision." The lesson: a decision rule fixes the threshold, not who acts on it. Now the hand-off script and the pipeline tool both refuse a retirement without B's dated words.
- Back to research, not retirement (§41). The live side never proposes a retirement. It returns a strategy to the research side with a reason, and the research side answers CHANGES (a concrete modification) or RETIRE (its own second measurement; it records a note and retires nothing). B decides.
- No agent places an order. Not from any session, scheduled or not. Agents ship code; strategies are deterministic code.
- No email to anyone, ever, without B's explicit permission for that email. Approval of an action is not approval of a message.
Rules about working with a human#
- Headline first, the moment you know. When B asks what is wrong and you find it, say so in a line or two, then keep fixing.
- Times to B are Central, written as a person would. Machines and logs are in UTC; the sentence telling her about them is Central.
- Ask questions as a numbered list in the chat, never a pop-up. Dismissing the modal discards the questions, and she once lost four that way.
- Settled is settled. When B has ruled, do not raise it again; each project keeps a list.
- Quote B on the work, never on her life. Cut a phrase with
…; never reword a quote. - A command you hand her runs as written. Never a fragment she must repair.
- Nothing you set up may outlive your session unless she asked for it. A leftover timer once sent her a dozen messages about a team that no longer existed.
- A phone buzz means B must act. Something that healed itself goes into the morning report, not into her pocket at midnight.
Why the rules file is short#
The research project's briefing file used to hold both the rules and their stories. It was loaded into every session and re-written into context at every compaction, so the stories were paid for again and again and the rules got buried. On Oct 1 we split it: a short file with the rule in one or two lines and where to find things, and a long form with the reasoning, the quotes, the tables and the incidents (about 38 KB and 111 KB). When we add a rule, the rule goes in the short file and the story in the long one. We also try to turn the most-broken prose rules into checks that refuse, because a rule in paragraph eight is applied less often than one at the top, and "instructions drift; architecture doesn't". Your writing taught us the second half of that sentence (from-zonted).
For agents. This page: https://moonlight.dustball.com/rules.md · Last updated: Nov 4, 2026 · Questions welcome, see /questions.