feat: overhaul Duriin autonomy console
This commit is contained in:
@@ -0,0 +1,137 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="theme-color" content="#090b0a">
|
||||
<title>Duriin — Autonomy</title>
|
||||
<link rel="stylesheet" href="/admin/assets/css/base.css">
|
||||
<link rel="stylesheet" href="/admin/assets/css/layout.css">
|
||||
<link rel="stylesheet" href="/admin/assets/css/components.css">
|
||||
<link rel="stylesheet" href="/admin/assets/css/autonomy.css">
|
||||
</head>
|
||||
<body class="page-autonomy">
|
||||
|
||||
<header class="app-header">
|
||||
<h1>Duriin</h1>
|
||||
<nav class="tabs">
|
||||
<a href="/admin/autonomy" class="active">Autonomy</a>
|
||||
<a href="/admin/ingest">Ingest</a>
|
||||
<a href="/admin/intelligence">Intelligence</a>
|
||||
<a href="/admin/stats">Stats</a>
|
||||
<a href="/admin/sql">SQL</a>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="autonomy-shell">
|
||||
<section class="autonomy-hero">
|
||||
<div class="hero-copy">
|
||||
<div class="eyebrow"><span class="pulse"></span><span id="runtime-state">Autonomy runtime</span></div>
|
||||
<h2 id="hero-title">Duriin is observing.</h2>
|
||||
<p id="hero-description">Building evidence-backed hypotheses from the archive and measuring them against the market.</p>
|
||||
</div>
|
||||
<div class="hero-mode">
|
||||
<span class="mode-label">Execution authority</span>
|
||||
<strong id="execution-mode">—</strong>
|
||||
<span id="broker-state">Connecting to broker state…</span>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="metric-strip" aria-label="Autonomy summary">
|
||||
<article class="metric-block">
|
||||
<span class="metric-kicker">Open hypotheses</span>
|
||||
<strong id="metric-open">—</strong>
|
||||
<small id="metric-resolved">— resolved</small>
|
||||
</article>
|
||||
<article class="metric-block">
|
||||
<span class="metric-kicker">Directional accuracy</span>
|
||||
<strong id="metric-accuracy">—</strong>
|
||||
<small id="metric-sample">Waiting for outcomes</small>
|
||||
</article>
|
||||
<article class="metric-block">
|
||||
<span class="metric-kicker">Average excess return</span>
|
||||
<strong id="metric-alpha">—</strong>
|
||||
<small>Against SPY benchmark</small>
|
||||
</article>
|
||||
<article class="metric-block">
|
||||
<span class="metric-kicker">Tradable universe</span>
|
||||
<strong id="metric-universe">—</strong>
|
||||
<small>Verified Alpaca instruments</small>
|
||||
</article>
|
||||
</section>
|
||||
|
||||
<section class="pipeline-section panel">
|
||||
<div class="section-head">
|
||||
<div><span class="section-index">01</span><h3>Learning loop</h3></div>
|
||||
<span class="freshness" id="freshness">Updating…</span>
|
||||
</div>
|
||||
<div class="pipeline" id="pipeline">
|
||||
<div class="pipeline-step"><span class="step-number">01</span><strong>Observe</strong><small>Archive events</small><b id="pipe-observe">—</b></div>
|
||||
<div class="pipeline-arrow">→</div>
|
||||
<div class="pipeline-step"><span class="step-number">02</span><strong>Propose</strong><small>Evidence hypotheses</small><b id="pipe-propose">—</b></div>
|
||||
<div class="pipeline-arrow">→</div>
|
||||
<div class="pipeline-step"><span class="step-number">03</span><strong>Measure</strong><small>Market outcomes</small><b id="pipe-measure">—</b></div>
|
||||
<div class="pipeline-arrow">→</div>
|
||||
<div class="pipeline-step"><span class="step-number">04</span><strong>Calibrate</strong><small>Empirical confidence</small><b id="pipe-calibrate">—</b></div>
|
||||
<div class="pipeline-arrow">→</div>
|
||||
<div class="pipeline-step"><span class="step-number">05</span><strong>Act</strong><small>Policy decisions</small><b id="pipe-act">—</b></div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<div class="autonomy-grid">
|
||||
<section class="panel hypotheses-panel">
|
||||
<div class="section-head">
|
||||
<div><span class="section-index">02</span><h3>Latest hypotheses</h3></div>
|
||||
<a href="/admin/intelligence/predictions" class="text-link">Legacy intelligence ↗</a>
|
||||
</div>
|
||||
<div id="hypothesis-list" class="hypothesis-list"><div class="loading-line"></div></div>
|
||||
</section>
|
||||
|
||||
<aside class="panel performance-panel">
|
||||
<div class="section-head"><div><span class="section-index">03</span><h3>Measured performance</h3></div></div>
|
||||
<div class="accuracy-orbit" id="accuracy-orbit">
|
||||
<div><strong id="orbit-value">—</strong><span>correct</span></div>
|
||||
</div>
|
||||
<div class="performance-facts">
|
||||
<div><span>Resolved</span><strong id="perf-resolved">0</strong></div>
|
||||
<div><span>Correct</span><strong id="perf-correct">0</strong></div>
|
||||
<div><span>Calibration cohorts</span><strong id="perf-cohorts">0</strong></div>
|
||||
</div>
|
||||
<p class="performance-note" id="performance-note">Duriin will only claim an edge after predictions mature and are measured out of sample.</p>
|
||||
</aside>
|
||||
</div>
|
||||
|
||||
<div class="autonomy-grid lower-grid">
|
||||
<section class="panel ledger-panel">
|
||||
<div class="section-head"><div><span class="section-index">04</span><h3>Decision ledger</h3></div><span class="mode-pill" id="ledger-mode">Shadow</span></div>
|
||||
<div class="table-wrap ledger-table">
|
||||
<table>
|
||||
<thead><tr><th>Instrument</th><th>Decision</th><th>Direction</th><th>Calibration</th><th>Horizon</th><th>Created</th></tr></thead>
|
||||
<tbody id="decision-ledger"><tr><td colspan="6" class="empty-state">Waiting for calibrated decisions.</td></tr></tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<aside class="panel runtime-panel">
|
||||
<div class="section-head"><div><span class="section-index">05</span><h3>Runtime</h3></div></div>
|
||||
<div class="runtime-list">
|
||||
<div><span><i class="status-light ok"></i>Coordinator</span><strong id="runtime-coordinator">Active</strong></div>
|
||||
<div><span><i class="status-light ok"></i>Outcome resolver</span><strong>Active</strong></div>
|
||||
<div><span><i class="status-light ok"></i>Calibration</span><strong>Active</strong></div>
|
||||
<div><span><i class="status-light ok"></i>Execution</span><strong id="runtime-execution">Shadow</strong></div>
|
||||
<div><span><i class="status-light"></i>Historical queue</span><strong id="runtime-queue">—</strong></div>
|
||||
</div>
|
||||
<div class="account-card" id="account-card">
|
||||
<span>Paper account</span>
|
||||
<strong id="account-equity">Not sampled in shadow mode</strong>
|
||||
<small id="account-meta">Alpaca Paper connected</small>
|
||||
</div>
|
||||
</aside>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div id="toast"><span class="toast-dot"></span><span id="toast-msg"></span></div>
|
||||
<script src="/admin/assets/js/app.js"></script>
|
||||
<script src="/admin/assets/js/autonomy.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user