Commit Graph

4 Commits

Author SHA1 Message Date
jgrusewski
7137d62bfa fix(forward): resolve whole-branch review findings (combined migration crash + hash/PIT accuracy)
- CRITICAL: add combined to migration_builders so its anchor is seeded — the pre-branch forward_summary
  row would otherwise trip the lost-anchor guard and crash combined_forward_nav every nightly
- hash accuracy: bybit cost_bps mirrors Settings default (10.0); multistrat instruments derive from
  FUND_INSTRUMENTS (no duplicate) so a return-affecting change actually re-inceptions
- sixtyforty documented as a benchmark exempt from strict PIT (spec §4)
- observed mode: xsfunding consumes the engine's UTC _today; re-inception resets carried book-state

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 10:51:00 +02:00
jgrusewski
9a2859ea88 fix(forward): engine fails loud on lost anchor instead of silently re-inceptioning
Restores the safety invariant the legacy ForwardTracker enforced (raise on state loss rather
than reset the OOS clock to day 0 + discard the record — 3 prod resets "burned real capital").
run_track now raises when there is no active anchor BUT prior forward history exists (lost
anchor row), while a genuine first run still inceptions. Protects the deploy-tier tracks Task 8b
routed onto the engine.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 09:17:09 +02:00
jgrusewski
a224127ab2 fix(forward): engine writes forward_nav as a true derived cache + validates record_mode early
- replace_nav purges stale pre-t0 rows on re-inception (nav cache == current record; fixes
  polluted nav_history / wrong dashboard headline_t0 after a definition change)
- record_mode validated before any anchor mutation (a bad mode no longer persists a broken anchor)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 00:37:22 +02:00
jgrusewski
d07e70b5a5 feat(forward): forward engine — anchor lifecycle + recompute/observed dispatch
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 00:21:19 +02:00