← Source tree

web_demo/index.html

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="description" content="Offline AI record review with live synthetic inference and unchanged source rows.">
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; script-src 'self'; style-src 'self'; connect-src 'none'; img-src 'none'; object-src 'none'; base-uri 'none'; form-action 'none'">
<title>ReviewQueue — inspect before export</title>
<link rel="stylesheet" href="style.css">
<script defer src="model.js"></script>
<script defer src="inference.js"></script>
<script defer src="fixture.js"></script>
<script defer src="core.js"></script>
<script defer src="app.js"></script>
</head>
<body>
<header><a href="#main" class="brand">RQ<span>ReviewQueue</span></a><span class="tag">OPEN SOURCE · LOCAL AI</span></header>
<main id="main">
<section class="intro"><p class="eyebrow">INSPECT BEFORE EXPORT</p><h1>Your records.<br>Nothing silently changed.</h1>
<p class="lede">Spot unusual records with local AI. Inspect the evidence, keep every original value, and export a traceable review report.</p>
<p class="limit">Try the live synthetic model below, then explore a six-record review workflow. The demo uses fictional USD records. Inputs stay in this page; no API, account or paid service is used by the demo.</p></section>
<section class="workspace live" aria-label="Live synthetic inference">
<p class="eyebrow">01 / TRY LOCAL INFERENCE</p><h2>A model, running in your browser.</h2>
<p class="limit">100 Isolation Forest trees trained in scikit-learn on 40 fictional USD records: quantities of 1 and amounts from 80 to 158. This small model illustrates the workflow; it cannot represent your business.</p>
<div class="presets"><button class="quiet" id="normal">Normal example</button><button class="quiet" id="extreme">Unusual example</button></div>
<div class="input-grid"><div><label for="amount">Synthetic amount (USD)</label><input id="amount" value="119.00" inputmode="decimal" autocomplete="off"></div><div><label for="quantity">Synthetic quantity</label><input id="quantity" value="1" inputmode="decimal" autocomplete="off"></div><button id="score">Run local model</button></div>
<p id="prediction" role="status" aria-live="polite">Choose an example or enter plain decimal numbers, then run the model.</p>
<pre id="prediction-details" hidden></pre>
<p class="hint">Conservative policy: flag only when the forest score is negative and a feature lies outside reference support. This can miss interior anomalies. A score is not an error probability.</p>
</section>
<section class="workspace" aria-label="Review workspace">
<div class="toolbar"><div><p class="eyebrow">02 / INSPECT BEFORE EXPORT</p><h2 id="state">Ready to inspect</h2></div><button id="reset" class="quiet">Reset session</button></div>
<div class="metrics"><div><strong>6</strong><span>records retained</span></div><div><strong>4</strong><span>rows need review</span></div><div><strong>0</strong><span>automatic corrections</span></div></div>
<div class="controls"><button id="review">1 · Review full report</button><button id="confirm" disabled>2 · Confirm demo snapshot</button><button id="export" disabled>3 · Download review JSON</button></div>
<p id="status" role="status" aria-live="polite">Start by reviewing the complete report. No export is available yet.</p>
<label for="digest">SHA-256 of the complete exported report</label><input id="digest" readonly placeholder="Available after review" spellcheck="false">
<p class="hint">This digest identifies the demo report, not a raw source-file hash or a signature.</p>
<div class="scroll"><table><caption>Original synthetic records — preview only; inspect the full JSON below</caption><thead><tr><th scope="col">Row</th><th scope="col">ID</th><th scope="col">Currency</th><th scope="col">Amount</th><th scope="col">Review hints</th></tr></thead><tbody id="rows"></tbody></table></div>
<details id="details"><summary>Complete report, original values and model metadata</summary><pre id="report">Review the report to load this snapshot.</pre></details>
<aside>Review hints are not error probabilities or fraud findings. Rows without a flag may still contain errors. No accounting, legal, payment or automatic cleaning decision is made.</aside>
</section>
<footer>ReviewQueue 0.6 · BSD-3-Clause · <a href="source/index.html">Read the source</a> · <a href="ReviewQueue-0.6.zip" download>Download code</a> · <a href="article.html">Build story &amp; evaluation</a><br>Python CLI analyzes supplied reference data locally. The browser model uses the synthetic reference only. Browser rendering and downloads have not yet been verified in this environment.</footer>
</main>
</body>
</html>