Spaces:
Sleeping
Sleeping
| <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> | |