You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Monday currently has three overlapping search-control implementations:
alpha-harness/engine runs a real Formula MCTS loop with budget, observation, checkpoint, and resume.
ploy-research/prediction_loop.rs owns a second mission budget/checkpoint/feedback loop, but its candidates are proposed by an LLM rather than selected by MCTS.
ploy-research/alpha_search.rs builds a separate MCTS-shaped state and expansion plan, but the official monday-prediction-research runner does not restore that state into its next iteration.
This creates the appearance of one MCTS research architecture while the production research entrypoints actually use different controllers. New evaluator features such as the BTC 5m Markov report can compile without being reachable from the official runner.
Outcome
Create one domain-neutral MCTS search kernel for both continuous-contract and prediction-market research. The kernel owns deterministic UCT selection/backpropagation, budgets, checkpoint/resume, iteration ledger, and terminal outcomes. Each research lane supplies a domain adapter for candidate expansion and evaluation.
The continuous lane keeps Formula candidates and purged walk-forward IC/return evaluation. The prediction lane keeps event episodes, official settlement labels, event-disjoint folds, separate Up/Down execution evidence, and prediction-specific metrics. These evaluators must not be merged.
Target interface
The shared module exposes one small search interface:
stable candidate identity and serialized candidate payload;
root candidate and bounded expansion actions;
finite scalar search reward derived by the domain adapter from typed evaluation evidence;
deterministic budget and checkpoint inputs;
immutable search outcome and checkpoint outputs.
The kernel must not know Formula AST fields, Polymarket market IDs, labels, Brier score, IC, trading fees, OSS, LLM providers, or execution authority.
Two real adapters satisfy the seam:
Continuous Formula adapter: Formula grammar plus the existing causal time-series evaluator.
Prediction adapter: typed probability/model candidates plus the existing event-disjoint settlement evaluator and separate token-side execution evidence.
An LLM may propose bounded expansion candidates, but MCTS owns selection, backpropagation, budget, checkpoint, and resume. Markov is an evaluator/model choice, not a search controller.
Migration rules
Preserve existing continuous Formula MCTS behavior and checkpoints before migrating prediction research.
Keep alpha-harness as the Monday research entrypoint and outer transport/evidence owner.
Convert monday-prediction-research into the prediction adapter/runner behind the shared search contract.
Retire the duplicate prediction LoopRun state machine only after checkpoint parity is proven.
Convert alpha_search.rs into a read-only artifact projection of the shared checkpoint, then remove its private UCT/backprop state.
Do not change collectors, evidence compilation, cohort construction, ResearchSnapshot semantics, evaluator metrics, promotion, runtime, or execution.
Combining time-series and event-settlement evaluators.
15m/1h coverage, full-tick microstructure, Paper/Live, OMS, RiskGate, or promotion.
Merging the two Cargo workspaces as part of this change.
Rollout
Migrate in independently revertible PRs. Each PR must stay below the repository scope guardrail unless an explicitly reviewed atomic exception is documented. The old controller remains read-only during parity and is deleted only after the new path produces equivalent checkpoint and result evidence.
Problem
Monday currently has three overlapping search-control implementations:
alpha-harness/engineruns a real Formula MCTS loop with budget, observation, checkpoint, and resume.ploy-research/prediction_loop.rsowns a second mission budget/checkpoint/feedback loop, but its candidates are proposed by an LLM rather than selected by MCTS.ploy-research/alpha_search.rsbuilds a separate MCTS-shaped state and expansion plan, but the officialmonday-prediction-researchrunner does not restore that state into its next iteration.This creates the appearance of one MCTS research architecture while the production research entrypoints actually use different controllers. New evaluator features such as the BTC 5m Markov report can compile without being reachable from the official runner.
Outcome
Create one domain-neutral MCTS search kernel for both continuous-contract and prediction-market research. The kernel owns deterministic UCT selection/backpropagation, budgets, checkpoint/resume, iteration ledger, and terminal outcomes. Each research lane supplies a domain adapter for candidate expansion and evaluation.
The continuous lane keeps Formula candidates and purged walk-forward IC/return evaluation. The prediction lane keeps event episodes, official settlement labels, event-disjoint folds, separate Up/Down execution evidence, and prediction-specific metrics. These evaluators must not be merged.
Target interface
The shared module exposes one small search interface:
The kernel must not know Formula AST fields, Polymarket market IDs, labels, Brier score, IC, trading fees, OSS, LLM providers, or execution authority.
Two real adapters satisfy the seam:
An LLM may propose bounded expansion candidates, but MCTS owns selection, backpropagation, budget, checkpoint, and resume. Markov is an evaluator/model choice, not a search controller.
Migration rules
alpha-harnessas the Monday research entrypoint and outer transport/evidence owner.monday-prediction-researchinto the prediction adapter/runner behind the shared search contract.alpha_search.rsinto a read-only artifact projection of the shared checkpoint, then remove its private UCT/backprop state.Acceptance criteria
Out of scope
Rollout
Migrate in independently revertible PRs. Each PR must stay below the repository scope guardrail unless an explicitly reviewed atomic exception is documented. The old controller remains read-only during parity and is deleted only after the new path produces equivalent checkpoint and result evidence.