Files
Duriin-API/public/admin/pages/autonomy.html
T

138 lines
6.5 KiB
HTML

<!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?v=20260804-2">
<link rel="stylesheet" href="/admin/assets/css/layout.css?v=20260804-2">
<link rel="stylesheet" href="/admin/assets/css/components.css?v=20260804-2">
<link rel="stylesheet" href="/admin/assets/css/autonomy.css?v=20260804-2">
</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?v=20260804-2"></script>
<script src="/admin/assets/js/autonomy.js?v=20260804-2"></script>
</body>
</html>