audit(0081): cycle close — drift-clean (code); ledger C10 realization note + stale-broker doc sync (refs #148)
Cycle 0081 (cost-model graph, cycle 1) closes drift-clean against C10: the architect review confirmed ConstantCost + the net-R seam realize the contract at its floor (C9 cost node; net_r_equity a C8/C18 sink; R-pure; one home for cost, subsuming the retired scalar round_trip_cost; pure feed-forward C1), and the no-cost baseline is byte-identical (C18 golden held). Regression gate green and unchanged: full workspace suite 0-fail, clippy --workspace --all-targets -D warnings clean. No baseline moved -> no ratify. Ledger sync (docs/design/INDEX.md): added the C10 cycle-0081 realization note (ConstantCost node + net_r_equity seam shipped; scalar round_trip_cost retired; run-path-scoped; later-cycle deferrals named). Drift swept (cycle-adjacent + cheap one-liners): - crates/aura-analysis/src/lib.rs net_expectancy_r doc: the removed in-fold mechanic (mean(R - round_trip_cost/latched_dist)) -> the cost-stream fold. - crates/aura-std/src/lib.rs module doc: "realistic broker profiles" (retired by #116) -> the legacy SimBroker pip yardstick + cost-model nodes. Backlogged (pre-existing, broader, predates this cycle): the docs/project-layout.md backtest worked example is stale on #117 (exposure->bias) and #116 (realistic broker); a proper rewrite is filed as #151, not folded here. Architect-accepted: the #[allow(dead_code)] on r_col::ENTRY_PRICE/STOP_PRICE (their production reader legitimately removed when summarize_r stopped recovering latched_dist; still the layout contract + exercised by test fixtures). Spec + plan ephemera removed (git rm docs/specs/0081, docs/plans/0081). refs #148
This commit is contained in:
@@ -714,6 +714,25 @@ yardstick, not to be expanded. (Terminology note: with Stage 2 gone, the
|
||||
only as a historical cycle / identifier name, like the `exposure` → `bias` on-disk
|
||||
alias, denoting the shipped feed-forward R chain.)
|
||||
|
||||
**Realization (cycle 0081 — cost-model graph, cycle 1, #148).** The first concrete
|
||||
cost node + the net-R seam shipped. `ConstantCost` (`aura-std`) is an ordinary
|
||||
downstream node (C9) emitting a 3-field cost-in-R record `{cost_in_r, cum_cost_in_r,
|
||||
open_cost_in_r}` isomorphic to `PositionManagement`'s R-triple; R-pure
|
||||
(`cost_per_trade / |entry − stop|`, notional cancels, no equity held). The scalar
|
||||
`round_trip_cost` argument of `summarize_r` is **retired**: `summarize_r` folds a
|
||||
co-temporal cost stream (positional 1:1 join — `cost[i]` is `record[i]`'s cycle) into
|
||||
`net_expectancy_r`, one home for cost / no double-count, byte-identical to the old
|
||||
cost = 0 baseline on an empty stream. The headline sink is **`net_r_equity`** =
|
||||
`LinComb(4)[cum_realized_r, unrealized_r, −cum_cost_in_r, −open_cost_in_r]` → Recorder
|
||||
(C8/C18), a sibling of `r_equity`, emitted only when a cost is authored. Wired on the
|
||||
**run path** via `--cost-per-trade` (`stage1_r_graph`); sweep / walk-forward / mc pass
|
||||
`None` (cost on the reduce-mode sweep path and cost in OOS pooling deferred — the
|
||||
positional join holds only while one cost node fires in lockstep with PM). Deferred to
|
||||
later milestone cycles: the general `CostNode` trait + multi-node cost-graph
|
||||
composite-builder, data-grounded factors (realized-vol → slippage, recorded-rate →
|
||||
swap), per-cycle-held accrual (carry / funding), and the conviction-weighting
|
||||
R-aggregation axis. Decision log: #148.
|
||||
|
||||
**Reframe (2026-06-23, #117 — exposure → bias, R as the signal-quality unit).**
|
||||
[HISTORY — its R spine survives into the 2026-06-28 contract; its Stage-2 currency /
|
||||
realistic-broker / register / flat-1R-vs-compounding portions are SUPERSEDED by that
|
||||
|
||||
Reference in New Issue
Block a user