Skip to content

Commit c92502f

Browse files
committed
Preserve dashboard view across data refreshes
1 parent 907df40 commit c92502f

6 files changed

Lines changed: 28 additions & 20 deletions

File tree

docs/LIVE_FORWARD_MONITOR.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,11 @@ The newest frozen portfolios remain available in the selector with a `Pending` l
5959
session closes. Experiment history defaults to the newest evaluation date and can be filtered by
6060
evaluation date or selected model, limited to a compact number of rows, and sorted by any column.
6161

62+
The dashboard does not automatically reload on a timer because public data changes only after a
63+
pipeline publication. Use **Refresh data** when a new deployment is expected. Date ranges,
64+
stock/model choices, history filters, row limits, and table sorting are stored in the browser and
65+
restored after a manual reload, so checking for new data does not reset the analyst's view.
66+
6267
## Selection-stability metrics
6368

6469
All dashboard insights are deterministic calculations; no LLM API is required.

site/assets/dashboard.js

Lines changed: 7 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

site/data/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"schema_version": 1,
3-
"generated_at_utc": "2026-07-23T21:19:53.915157+00:00",
3+
"generated_at_utc": "2026-07-23T21:43:50.818488+00:00",
44
"latest_decision_date": "2026-07-23",
55
"snapshot_count": 9,
66
"evaluation_count": 7,

site/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
<!doctype html>
2-
<html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><meta http-equiv="refresh" content="60">
2+
<html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
33
<title>Live Forward Research Monitor</title>
44
<link rel="stylesheet" href="./assets/dashboard.css"></head><body>
55
<header><div class="eyebrow">AI Portfolio Research</div><h1>Live Forward Monitor</h1><p>Out-of-sample model portfolios tracked against SPY. Every session uses the portfolio frozen before its evaluation window.</p></header>
66
<main>
7-
<div class="toolbar panel"><div class="toolbar-group"><label>Start date<input id="startDate" type="date"></label><label>End date<input id="endDate" type="date"></label><div class="segmented"><button data-range="latest">Latest session</button><button data-range="5">5 sessions</button><button data-range="all" class="active">All available</button></div></div><div class="status" id="dataStatus">Frozen evidence loaded</div></div>
7+
<div class="toolbar panel"><div class="toolbar-group"><label>Start date<input id="startDate" type="date"></label><label>End date<input id="endDate" type="date"></label><div class="segmented"><button data-range="latest">Latest session</button><button data-range="5">5 sessions</button><button data-range="all" class="active">All available</button></div></div><div class="toolbar-group"><button id="refreshData" title="Reload deployed dashboard data">Refresh data</button><div class="status" id="dataStatus">Frozen evidence loaded</div></div></div>
88
<section class="pending-panel panel" id="nextSession"></section>
99
<div class="kpi-grid" id="kpis"></div>
1010
<section class="section panel"><div class="section-head"><div><h2>Portfolio vs Benchmark</h2><p>Compounded return across selected live sessions. Daily top-40 holdings may change; all models share the SPY baseline.</p></div><div class="legend" id="legend"></div></div><div id="chart"></div></section>

0 commit comments

Comments
 (0)