Files
smom-dbis-138/services/token-aggregation/public/gru-vault-controls.html
2026-07-12 15:34:15 -07:00

126 lines
4.6 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="omnl-api-base" content="auto" />
<title>GRU Smart Vault Controls</title>
<link rel="stylesheet" href="/omnl/static/gru-vault-controls.css" />
</head>
<body>
<div class="shell">
<header class="hero">
<div>
<p class="eyebrow">Operator dashboard</p>
<h1>GRU Smart Vault Controls</h1>
<p class="sub">
Runtime policy knobs for the smart vault layer. The ladder remains fixed at
<code>1 M00 = 5 M0 = 25 M1</code>.
</p>
</div>
<div class="toolbar">
<button id="btn-refresh" type="button" class="primary">Refresh</button>
<button id="btn-save" type="button">Save</button>
<button id="btn-reset" type="button">Reset defaults</button>
<button id="btn-raw" type="button">Raw JSON</button>
<a class="btn" href="/reserve">Reserve dashboard</a>
<a class="btn" href="/omnl/compliance">Compliance console</a>
</div>
</header>
<div id="status" class="banner loading">Initializing…</div>
<p id="updated-at" class="sub"></p>
<div class="grid">
<section class="card">
<h2>Canonical ladder</h2>
<div class="kv">
<div><span>Expression</span><strong>1 M00 = 5 M0 = 25 M1</strong></div>
<div><span>M00 → M0</span><strong>5x fixed</strong></div>
<div><span>M0 → M1</span><strong>5x fixed</strong></div>
</div>
<p class="note">
The dashboard can tune runtime policy references and component selections, but the canonical
ratio is hard-coded and cannot be changed here.
</p>
</section>
<section class="card">
<h2>Profile</h2>
<label>
<span>Runtime profile</span>
<select id="profile">
<option value="live">Live</option>
<option value="conservative">Conservative</option>
<option value="expanded">Expanded</option>
<option value="emergency">Emergency</option>
</select>
</label>
<label class="switch">
<input id="cstar-enabled" type="checkbox" />
<span>c* settlement tier enabled</span>
</label>
<label class="switch">
<input id="expanded-enabled" type="checkbox" />
<span>Expanded asset classes enabled</span>
</label>
<label class="switch">
<input id="bond-enabled" type="checkbox" />
<span>Approved bond basket enabled</span>
</label>
</section>
</div>
<section class="card">
<h2>Operational tuning</h2>
<div class="form-grid">
<label>
<span>LiXAU withdrawal fraction</span>
<input id="withdraw-fraction" type="number" min="0.05" max="0.5" step="0.01" />
<small>Default 0.20. Display and policy hint only.</small>
</label>
<label>
<span>Reserve reference multiplier</span>
<input id="reserve-multiplier" type="number" min="0.5" max="5" step="0.01" />
<small>Controls reserve reference presentation; archival formula reference remains explicit.</small>
</label>
<label>
<span>Refresh interval (seconds)</span>
<input id="refresh-interval" type="number" min="5" max="300" step="1" />
<small>Dashboard polling interval for the operator page.</small>
</label>
</div>
</section>
<section class="card">
<h2>Component families</h2>
<div class="form-grid">
<label>
<span>M00 Li* base components</span>
<textarea id="li-components" rows="4" spellcheck="false"></textarea>
<small>Comma or newline separated. Example: LiXAU, LiPMG, LiBMG1, LiBMG2, LiBMG3.</small>
</label>
<label>
<span>Approved bond components</span>
<textarea id="bond-components" rows="4" spellcheck="false"></textarea>
<small>Editable bundle for approved bond rows when policy needs to change without redeploy.</small>
</label>
<label>
<span>Expanded asset components</span>
<textarea id="expanded-components" rows="4" spellcheck="false"></textarea>
<small>Future or registry-only classes such as LiCARB / LiRES*.</small>
</label>
</div>
</section>
<section id="raw-section" class="card hidden">
<h2>Raw snapshot</h2>
<pre id="raw-json">{}</pre>
</section>
</div>
<script src="/omnl/static/omnl-api-base.js"></script>
<script src="/omnl/static/gru-vault-controls.js"></script>
</body>
</html>