Autonomous agents
The council, the receipts, and a watch loop that decides on a schedule, exits practice positions at stop or target, scores what has matured, and publishes to Telegram or Discord.
A council of agents argues over live RYO market evidence, then stores the call as a receipt that reproduces exactly.
RYO publishes an ATR and an RSI. Nota recomputes both from public candles with Wilder's method and compares them, and it checks RYO's price against the median of three exchanges. When they disagree, the judge refuses to size a trade at all. These figures come from the live receipt of 7 September 2026, and every receipt in the ledger replays identically - including the one recorded on 10 September, when the builder key started answering 401 and all five RYO sections went to error at once. Nothing was patched for it: the council read what was left, the judge refused the trade, and the diff put the collapse at the top of the page.
A market tool is judged on the day its data source fails, not on the day it works. Below is the most recent receipt in this deployment where something did fail, read from the ledger as you load the page - not an illustration of what would happen. Each section carries the status its source returned, a value that could not be fetched stays null instead of becoming zero, and the judge is told what it does not have.
Five RYO tools are read into one evidence pack. A tool that fails becomes a section marked with its error, and the pack is still built.
A macro, a technical and a narrative agent each return a stance, a probability and citations as dotted paths. A citation pointing at absent evidence is dropped in code, and the opinion is downgraded for it.
A fourth agent weighs the three by their own Brier score from past calls, then decides long, short, or no trade.
Pure arithmetic, no model: stop at twice ATR, target at three times, size from one percent of the account. A missing price or ATR blocks the trade rather than assuming a number.
Everything lands in a receipt with each number's RYO path, as_of, data_mode and trace id, so the decision can be replayed and later scored against what the price actually did.
These are the decisions in the shipped ledger. Every mark is generated from that receipt's own evidence hash, and its arc is the probability the judge stated, so two receipts can never draw the same figure and the same receipt can never draw a different one.
The dashboard opens on a thirty second summary: what was decided, what changed most since the previous receipt for that symbol, where the practice position stands, and what happens next. Every receipt is diffed against the one before it and ranked by impact, degraded evidence is announced at the top rather than buried, and the whole page is reachable from the keyboard. Open the dashboard.
The council, the receipts, and a watch loop that decides on a schedule, exits practice positions at stop or target, scores what has matured, and publishes to Telegram or Discord.
Diff first and keyboard first, with replay verification, Open Graph receipt cards, and a public backing leaderboard scored when a call resolves.
Four research skills served on RYO's own /api/skills paths in RYO's envelope, so adding them to RYO is a route registration rather than a port: narrative convergence, news verification, price cross-check and technicals cross-check.
Public reasoning, publicly scored
A call only its author can see costs nothing to make. Every receipt has a permanent link and renders as a card when the link is shared, so the argument travels with the number.
Anyone can back a receipt or disagree with it under a handle, one stance each, before the outcome is known. At the seven day horizon the call is scored against a fresh price and every backer's accuracy moves with it. A no trade is never scored.
The agents are on the same hook: each carries its own Brier score from past calls, and that score is what decides how much the judge listens next time.
/r/<id>.png.