Evaluate a local pre-trade checklist before manual order entry, blocking planless, oversized, revenge-risk, market-regime-blocked, or circuit-breaker-blocked entries while journaling the decision for trader-memory-core review.
pre_trade_discipline_decision artifact and can link that artifact back to the related thesis without changing the thesis review schedule.exposure_decision and circuit_breaker_decisionstate/theses/exposure_decision JSON from market-regime-daily / exposure-coachcircuit_breaker_decision JSON from drawdown-circuit-breakerNO_ACTIONABLE_ORDERS.{
"candidates": [
{
"symbol": "AAPL",
"thesis_id": "th_aapl_gm_20260703_0001",
"order_intent": "ENTRY_READY",
"entry_in_written_plan": true,
"stop_predefined": true,
"size_within_plan": true,
"planned_risk_dollars": 500,
"actual_risk_dollars": 500,
"notes": "Entry matches the journaled breakout plan."
}
]
}
ENTRY_READY, ACTIONABLE, ACTIONABLE_DAY1, and MANUAL_ORDER. Non-actionable intents such as WATCHLIST, DELAYED_EP_WATCH, PEAD_HANDOFF, IGNORE, and REJECTED are recorded but do not create an order permission.python3 skills/pre-trade-discipline-gate/scripts/check_pre_trade_discipline.py \
--answers-file state/manual-entry-checklist.json \
--state-dir state/theses \
--market-regime-decision reports/exposure_decision_latest.json \
--circuit-breaker-decision reports/circuit_breaker_decision_latest.json \
--output-dir reports/pre-trade-discipline \
--journal-dir state/journal/pre-trade-discipline
--as-of for deterministic testing or backfills:python3 skills/pre-trade-discipline-gate/scripts/check_pre_trade_discipline.py \
--answers-file state/manual-entry-checklist.json \
--as-of 2026-07-03T12:00:00-04:00
| Decision | Meaning |
|---|---|
GO | All actionable manual-order candidates passed the checklist and upstream gates |
REVIEW_REQUIRED | Inputs are missing, unknown, or journaling failed; do not place orders until reviewed |
NO_GO | At least one actionable candidate violated a discipline rule |
NO_ACTIONABLE_ORDERS | The file contains no actionable manual orders; nothing should be placed |
0 for every valid decision and exits 1 only for input or runtime errors. Use --fail-on-non-go when a shell pipeline should return 2 for any non-GO decision.actual_risk_dollars exceeds planned_risk_dollarsREDUCE_ONLY or CASH_PRIORITYCOOLDOWN, HALTED, or TRADING_HALTEDREVIEW_REQUIRED for actionable orders. If no actionable order exists, the result remains NO_ACTIONABLE_ORDERS.pre_trade_discipline_decision_YYYY-MM-DD_HHMMSS.json--json-only is setstate/journal/pre-trade-discipline/ when --journal-dir is providedchecklist_answers object with the written-plan, stop, size, risk-dollar, and notes answers used for the decision, so later reviews can audit what was answered at order time.thesis_id and --state-dir is provided, the JSON report is linked into the thesis linked_reports list using trader-memory-core link_report. The skill does not call mark_reviewed and does not change monitoring review dates.scripts/check_pre_trade_discipline.py - Main CLI and rule enginereferences/discipline_gate_framework.md - Rule definitions and integration notesskills/trader-memory-core/schemas/thesis.schema.json - Thesis state schema