exposure -> bias: rename + re-semantize the unsized strategy output #126

Closed
opened 2026-06-23 13:17:08 +02:00 by Brummel · 1 comment
Owner

Per the C10 R-reframe (#117, ledger C10): the strategy's primary output is a bias (unsized direction + conviction, f64 in [-1,+1]), not a position fraction. Rename the Exposure node/type to bias semantics across aura-std (and examples/tests/wiring); the computation (clamp(signal/scale,-1,+1)) is unchanged, the SEMANTICS change (sizing leaves the strategy, moving downstream to the Sizer). Largely a behaviour-preserving rename; the consuming SimBroker/R-evaluator wiring follows in later Stage-1 issues.

Per the C10 R-reframe (#117, ledger C10): the strategy's primary output is a bias (unsized direction + conviction, f64 in [-1,+1]), not a position fraction. Rename the `Exposure` node/type to bias semantics across aura-std (and examples/tests/wiring); the computation (clamp(signal/scale,-1,+1)) is unchanged, the SEMANTICS change (sizing leaves the strategy, moving downstream to the Sizer). Largely a behaviour-preserving rename; the consuming SimBroker/R-evaluator wiring follows in later Stage-1 issues.
Brummel added this to the R-based signal quality (Stage 1) milestone 2026-06-23 13:17:08 +02:00
Brummel added the feature label 2026-06-23 13:17:08 +02:00
Author
Owner

Rename tail remaining (cycle-0065 close audit)

The exposure → bias rename's core landed in cycle 0065 (the Bias node + its output field, replacing Exposure). The tail is deferred (serde-stable / debug-symbol residue), flagged by the close audit as the debt that ages worst if left:

  • the persisted RunMetrics.exposure_sign_flips metric key → rename to bias_sign_flips with #[serde(alias = "exposure_sign_flips")] so historical runs.jsonl still deserialises (this was spec 0065's secondary change (a), never carried out);
  • the SimBroker exposure input slot name, the exposure_scale manifest param key, and the .named("exposure") node instances.

Keeping this issue open until the tail is carried through (the architect's recommended next iteration). Non-load-bearing today — the R layer is functionally complete and milestone-fieldtest-green — but exposure_sign_flips is a serde-stable on-disk key, so do it with the alias for back-compat. Reference: ledger C10 realization note (cycle 0065).

## Rename tail remaining (cycle-0065 close audit) The `exposure → bias` rename's **core landed** in cycle 0065 (the `Bias` node + its output field, replacing `Exposure`). The **tail is deferred** (serde-stable / debug-symbol residue), flagged by the close audit as the debt that ages worst if left: - the persisted `RunMetrics.exposure_sign_flips` metric key → rename to `bias_sign_flips` **with `#[serde(alias = "exposure_sign_flips")]`** so historical `runs.jsonl` still deserialises (this was spec 0065's secondary change (a), never carried out); - the `SimBroker` `exposure` input slot name, the `exposure_scale` manifest param key, and the `.named("exposure")` node instances. Keeping this issue **open** until the tail is carried through (the architect's recommended next iteration). Non-load-bearing today — the R layer is functionally complete and milestone-fieldtest-green — but `exposure_sign_flips` is a serde-stable on-disk key, so do it with the alias for back-compat. Reference: ledger C10 realization note (cycle 0065).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Brummel/Aura#126