shreyas-joshi's picture
Add training scripts and utilities for NodeAudit and GraphReview
902cd29
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>GraphReview Results Console</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/styles/github.min.css" />
<link rel="stylesheet" href="/static/css/app.css" />
</head>
<body>
<header>
<h1>GraphReview Results Console</h1>
<nav class="top-nav">
<button class="tab-btn active" data-tab="reportsTab" type="button">Reports</button>
<button class="tab-btn" data-tab="trainingTab" type="button">Training</button>
<button class="tab-btn" data-tab="analysisTab" type="button">Deterministic Analysis</button>
</nav>
<div class="muted" id="status">Loading results...</div>
</header>
<main>
<section id="reportsTab" class="tab-panel active">
<div class="layout">
<section class="panel">
<div class="results-list" id="results"></div>
</section>
<section class="panel viewer-wrap">
<div class="viewer-toolbar">
<strong id="viewerTitle">No report selected</strong>
<a id="reportJsonLink" href="#" target="_blank" rel="noopener">Report JSON</a>
</div>
<iframe id="graphFrame" title="Graph visualization"></iframe>
</section>
<section class="panel details">
<article class="section">
<h3>Connectivity Diagnostics</h3>
<div id="diag"></div>
</article>
<article class="section">
<h3>Schema Columns</h3>
<table>
<thead>
<tr>
<th>Table</th>
<th>Columns</th>
</tr>
</thead>
<tbody id="schemaRows"></tbody>
</table>
</article>
<article class="section">
<h3>Modules in Scope</h3>
<input id="moduleSearch" class="module-search" type="text" placeholder="Search module name..." />
<div class="node-list" id="nodes"></div>
</article>
<article class="section">
<h3>Selected Module Detail</h3>
<div id="moduleDetail" class="muted">Select a module to inspect report fields, findings, and reviews.</div>
<button id="rawJsonBtn" type="button" class="small-btn" style="display:none;">View Raw Module Report JSON</button>
<pre id="moduleRawJson" style="display:none;"></pre>
</article>
<article class="section">
<h3>Raw Code</h3>
<div class="code-wrap">
<pre><code id="rawCode" class="language-python">Select a module to view raw code.</code></pre>
</div>
</article>
</section>
</div>
</section>
<section id="trainingTab" class="tab-panel">
<div class="simple-grid">
<article class="panel section">
<h3>Training Bootstrap</h3>
<p class="muted">Verifies the registered Qwen GGUF weights and compares deterministic findings coverage.</p>
<button id="bootstrapTrainingBtn" type="button">Run Training Bootstrap</button>
<button id="runTrainingBtn" type="button">Run Training Episode</button>
<pre id="trainingOutput">No run yet.</pre>
</article>
<article class="panel section">
<h3>Pipeline Graph</h3>
<div id="pipelineFlow" class="pipeline-flow">
<div class="flow-node">Seed + Parse</div>
<div class="flow-arrow">-></div>
<div class="flow-node">Deterministic Analyzers</div>
<div class="flow-arrow">-></div>
<div class="flow-node">Agent Findings</div>
<div class="flow-arrow">-></div>
<div class="flow-node">Deterministic Grading</div>
<div class="flow-arrow">-></div>
<div class="flow-node">Gemma Explanations</div>
</div>
</article>
<article class="panel section">
<h3>Training Run History</h3>
<button id="refreshTrainingRunsBtn" type="button">Refresh Run History</button>
<div id="trainingRuns" class="training-runs muted">No runs yet.</div>
</article>
<article class="panel section">
<h3>Critical Analysis (Non-Scoring)</h3>
<p class="muted">Pick a run from history, then generate a narrative critique from the judge model. This does not affect rewards.</p>
<div class="run-analysis-controls">
<label for="analysisRunId">Run ID</label>
<input id="analysisRunId" type="text" placeholder="Paste or select a run id..." />
<button id="fetchRunAnalysisBtn" type="button">Generate Critical Analysis</button>
</div>
<pre id="runAnalysisOutput">No analysis yet.</pre>
</article>
</div>
</section>
<section id="analysisTab" class="tab-panel">
<div class="simple-grid">
<article class="panel section">
<h3>Deterministic Analyzer Pipeline</h3>
<p class="muted">Runs pyright strict, pysa taint analysis, bandit, pylint errors-only, radon complexity, and AST logical bug checks, then stores normalized findings in SQLite.</p>
<label for="analysisTimeout">Timeout (seconds)</label>
<input id="analysisTimeout" type="number" min="10" max="300" value="45" />
<button id="runAnalysisBtn" type="button">Run Deterministic Analysis</button>
<pre id="analysisOutput">No run yet.</pre>
</article>
</div>
</section>
</main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/highlight.min.js"></script>
<script src="/static/js/app.js" defer></script>
</body>
</html>