11# Core Pipeline Map
22
3- This map captures the only supported deterministic decision pipeline for
3+ This map captures the only supported deterministic decision Pipeline for
44TradingChassis Core.
55
66## Step-by-step flow
@@ -17,7 +17,7 @@ TradingChassis Core.
1717 in the current slice—see ` ../flows/control-time-and-scheduling.md ` ).
18189 . Runtime can dispatch later and inject further canonical Events (including
1919 ` ControlTimeEvent ` when an obligation is realized); Core does not perform
20- external dispatch or mutate queues outside this pipeline .
20+ external dispatch or mutate Queues outside this Pipeline .
2121
2222## Core APIs
2323
@@ -29,7 +29,7 @@ TradingChassis Core.
2929## Determinism notes
3030
3131- Processing Order monotonicity is enforced by ` ProcessingPosition ` .
32- - Core logic is side-effect-safe apart from deterministic state mutation.
32+ - Core logic is side-effect-safe apart from deterministic State mutation.
3333- Runtime adapters and external dispatch concerns are outside Core.
3434
3535
@@ -44,12 +44,36 @@ Wakeup flow:
4444
45451 . Runtime supplies an ordered batch of ` EventStreamEntry ` values.
46462 . ` run_core_wakeup_reduction ` calls ` process_event_entry ` for each entry in order.
47- 3 . ` CoreWakeupStrategyEvaluator.evaluate ` runs ** once** on the fully reduced state
47+ 3 . ` CoreWakeupStrategyEvaluator.evaluate ` runs ** once** on the fully reduced State
4848 (` CoreWakeupStrategyContext ` carries all entries).
49494 . ` run_core_wakeup_decision ` snapshots queued intents once, combines generated + queued
5050 once, applies dominance/reconciliation once, Policy Admission once, and
51- ExecutionControl plan/apply once.
51+ Execution Control plan/apply once.
52525 . ` CoreStepResult.dispatchable_intents ` is returned; Runtime dispatches later.
5353
5454` run_core_step ` remains single-entry: one reduction, one step-level Strategy evaluation,
5555one decision pass.
56+
57+ ## Internally wired vs externally supplied
58+
59+ ### Internally wired
60+
61+ - Steps 1–3, 5, and 8 in the flow above (reduction, candidates, ` CoreStepResult ` )
62+ - Policy admission ** machinery** when ` CorePolicyAdmissionContext ` is provided
63+ - Execution Control plan/apply ** machinery** when apply context is provided
64+
65+ ### Externally supplied extension points
66+
67+ - ** Strategy** — ` CoreStepStrategyEvaluator ` or ` CoreWakeupStrategyEvaluator `
68+ - ** Policy** — ` PolicyIntentEvaluator ` via ` CorePolicyAdmissionContext `
69+ - ** Execution Control instance** — ` ExecutionControl ` via ` CoreExecutionControlApplyContext `
70+ - ** Configuration** — optional ` CoreConfiguration `
71+ - ** Event bus** — ` StrategyState(event_bus=...) ` ; ` NullEventBus ` for standalone use
72+
73+ ### Convenience implementations
74+
75+ - Risk Engine (` RiskEngine ` ) — optional built-in ` PolicyIntentEvaluator ` (` examples/core_step_with_risk_engine.py ` )
76+ - ` ExecutionControl ` — default queue/rate/inflight behavior (instance still supplied by caller)
77+ - ` NullEventBus ` — no-op bus for tests and examples
78+
79+ See ` ../reference/public-api.md ` and ` ../how-to/use-policy-evaluator.md ` .
0 commit comments