Selectors
A selector is a named, versioned rule that produces the day's coins. A portfolio follows one, in backtest, in paper and in live, and the rule's own screen is where you read, preview and write them.
The rule cards
Every selector is a card that reads as a sentence, such as picking the top ten coins by seven-day volatility, lowest first. Under the sentence sits its coverage: how many days of history are filled, how many are missing, and which portfolios follow this rule. The code is one click away for anyone who wants to read the rule rather than the sentence.
The built-in rules have plain descriptions. Older pre-fix samples sit in their own fold, because they are data rather than rules: a portfolio following one follows that stored history, and nothing regenerates it. Model-backed selectors show their shape first, meaning the kind of model, how many trees and inputs, so a card cannot look like a rule when it is a fitted model.
Previewing
Preview a rule and the result appears inside its own card. Change the day and run it again. The builder and the expression editor have their own preview buttons. Progress is named rather than a spinner: starting the research engine, reading every coin's daily data, which is the slow part, and scoring, each with an elapsed time. The first preview takes one to three minutes, and about a minute once the engine is warm.
Writing your own
The expression editor starts from a worked example when you ask for one, and each example passes the editor's own check: momentum minus the index, the calmest coins that still move, or a coin near its twenty-day high with volatility rising. The reference panel has a search box, one plain line and one worked example per field and operator, and a click inserts the example where the cursor is.
The editor tells you when a line runs past its box, and the check button reports what a rule would produce before a portfolio is pointed at it.
Filling history
A new rule has no history, so a backtest that spans years cannot follow it yet. Fill history shows what is already filled and starts where the history stops, up to yesterday. A fill that cannot start names the job holding the machine.
One rule per portfolio
A portfolio's selector is set in that portfolio's own create or edit dialog, and each selector keeps its own picks table, so following one can never overwrite another's history. The daily pass runs each portfolio's selector producer, and a preserved sample has none, which is why nothing regenerates it.
A backtest records what it read: the selector with its version beside the picks table, and the engine refuses a body that names a selector which does not produce the table it asked for. A report can therefore never claim one rule and mean another.
Both scores from the same screening pass are kept. Composite and volatility are two ways to rank the same day's coins, and neither replaces the other.
What a selector is not
A preview produces picks you can look at and no run, so nothing about it reaches the history. Point a portfolio at the rule and run it to get a result you can compare.