Idea to Test Spec
Moves forward when the idea is deduped into a ticket and has a testable hypothesis, market scope, timeframe, venue assumption and risk premise.
Stays blocked when the idea is only a narrative, has no measurable signal, or cannot be tied to a realistic venue.
Test Spec to Strategy Search
Moves forward when the spec can be run repeatably with fixed inputs, cost model assumptions and measurable pass/fail metrics.
Stays blocked when the data source, symbol set, timeframe, cost model or expected trade path is ambiguous.
Strategy Search to Shadow Admission
Moves forward when the search artifact marks the candidate solid_valid, worst-market return, drawdown and profit factor survive the configured gates, and the promoted candidate ledger plus runtime evidence exist.
Stays blocked when a single market carries the result, the candidate is exploratory, the cost model is too optimistic, or required runtime metadata is missing.
Shadow Admission to Shadow Soak
Moves forward when the candidate is paper-only active, has a runtime spec, simulated fills/positions can be tracked, and a fresh Shadow artifact reports its position and status.
Stays blocked when runtime spec, shadow state or data integrity is missing. Those cases fail closed instead of inventing a position.
Shadow Soak to Live Review Gate
Moves forward when the active Shadow candidate passes the exact live-readiness gate below and the backend marks it as review eligible.
Stays blocked when it is retired, stale, not venue-executable, below score/observation thresholds, or has a Shadow/readiness blocker. Missing capital or family-capacity limits block live trading later, not this review gate.
Exact 5m/15m Shadow to Review Rule
5m and 15m currently use the default live-readiness minimum: 30 Shadow days and 15 closed Shadow trades. There is no separate faster 5m shortcut in the current backend.
minimum_shadow_observation_days = 30 and minimum_closed_shadow_trades = 15.
shadow_observation_days >= 30 and closed_shadow_trades >= 15.
live_readiness_score >= 75.
eligible_for_plak_review = true: observation/trades pass, score passes, no readiness blockers.
plak_review_candidate = true: mirrors the strict Review Gate. Open Shadow-soak time keeps the candidate out of Review.
- Retention must be active: no
pending_retirement_at, no retired_at, and shadow_retention_state is active or live_now.
- Live path must be approved for Plak:
live_executable_for_plak = true.
- For the Review page specifically:
approval_eligible = true.
live_gate_bucket explains the later live-allocation state. Missing capital, portfolio exposure and family-correlation capacity do not keep it out of Review.
not_live_ready does not appear as a Plak Review card.
What the retention rule means
This is a health check for the Shadow candidate itself. A candidate may only move to Plak Review when Shadow is not already trying to remove, quarantine or pause it.
pending_retirement_at means an exit rule already fired, but Shadow is waiting for an open simulated position to close before final retirement. That is not reviewable.
retired_at means the candidate already left the active Shadow set. That is not reviewable.
active means normal Shadow tracking. live_now means already promoted/live-tracked. Both are allowed retention states.
watch, degraded, paused_new_entries or retired_final mean Shadow still has a quality, drift, evidence or retirement concern. Those states must stay out of Plak Review even when the score looks high.
Why Review happens before live allocation
The Plak Review page is the Shadow-to-live decision page. It shows candidates where research, Shadow evidence, retention and venue path are good enough for a human decision. Capital allocation is decided after that review.
not_live_ready: still missing observation, score, retention health or live path. It does not appear as a Review card.
ready_but_capital_blocked: reviewable; live trading remains blocked until capital is assigned.
ready_but_risk_or_venue_blocked: reviewable when approval_eligible=true; live trading remains blocked until the listed live-allocation blocker is resolved.
live_ready: reviewable; capital is available, but the backend still must not auto-activate without Plak approval and the separate live activation gate.
Live Review Gate to Live Trading
Moves forward when Plak explicitly approves the candidate, capital allocation and activation parameters are set, backend live gate accepts the candidate, and kill switches plus monitoring are active.
Stays blocked when approval is absent, capital is unset, live queue data is stale, activation side effects are present, or any risk blocker remains.