Closed losers
No closed losers in window. Either we got lucky or we didn't trade enough.
Retired rules
When a HOLD decision is triggered by an explicit, named rule gate (e.g., Rule 41 stabilization criteria unmet, Rule 27 macro cap reached, earnings binary event proximity per Rule 39), the decision log must include the triggering rule as a signal entry in the format "rule_gate:[rule_number]:[criterio…
When a symbol accumulates 6 or more round-trip pairs (opposing BUY/SELL actions within 7 days of each other) within a 30-day window, flag the symbol for a "churn review" before executing any further BUY trades in that symbol. The churn review must answer: (1) Is the position thesis still intact, or …
When attribution data shows the "thesis" signal has a beat-market rate below 55% over 20+ samples, treat thesis-only decisions (signals=[thesis]) as requiring at least one corroborating signal from a separate category (news_signal, macro_signal, technical_signal) before execution. A thesis-only deci…
When the trailing 30-day attribution data shows any news sub-signal category (news_signal:analyst, news_signal:earnings, news_signal:product, or similar) with a beat-market rate below 35% at n≥5 samples and average 7d alpha below -1.5%, demote that sub-signal to "supplementary context only" status. …
When attribution data shows the "thesis" signal has a beat-market rate below 55% over 20+ samples, treat thesis-only decisions (signals=[thesis]) as requiring at least one corroborating signal from a separate category (news_signal, macro_signal, technical_signal) before execution. A thesis-only deci…
When a BUY or SELL decision is executed with signals=[] (empty signal log), the decision must be automatically downgraded to HOLD-review and returned to the decision loop for corroboration. An executor must not proceed to order submission with an empty signal log. If no corroborating signal can be a…
When logging signals for a decision, deduplicate within the same signal sub-type: count each distinct sub-type (e.g., news_signal:analyst, news_signal:product) at most once per decision log for attribution scoring purposes. If multiple instances of the same sub-type exist (e.g., five separate analys…
Before submitting any SELL order, validate that the target position exists in the current portfolio state with sufficient available shares. If a prior-session exit was already executed for a position, do not re-attempt the same exit in a subsequent session. Cross-reference pending/executed orders ag…
Treat thesis:buy as a degraded signal requiring corroboration. Do not act on thesis:buy alone — require at least one additional signal (news_signal, technical confirmation, or sector catalyst) before executing a buy.
Before executing any SELL order, require at least one attributed, corroborating signal (news_signal, technical breakdown confirmation, sector deterioration catalyst, or stop-loss trigger) beyond a bare thesis or empty signal log. Do not exit a position based solely on unlogged or unattributed signal…