File size: 4,295 Bytes
fda8fb3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <title>Thought Anchors</title>
    <link rel="stylesheet" href="/static/styles.css" />
  </head>
  <body>
    <main class="page">
      <section class="auth-strip panel">
        <div>
          <p class="eyebrow">Public Hugging Face Space</p>
          <p id="auth-summary" class="lede compact">Checking sign-in status.</p>
        </div>
        <div class="auth-actions">
          <a id="login-link" class="pill-link" href="/oauth/huggingface/login">Sign in with Hugging Face</a>
          <a id="logout-link" class="pill-link secondary" href="/oauth/huggingface/logout">Sign out</a>
        </div>
      </section>

      <section class="hero">
        <p class="eyebrow">Online Chain-of-Thought Analysis</p>
        <h1>Reasoning traces with white-box sentence influence.</h1>
        <p class="lede">
          Submit a question, watch the answer appear first, then inspect the sentence-to-sentence
          attribution matrix once analysis completes. Results can be exported as JSON or CSV.
        </p>
      </section>

      <section class="panel composer">
        <form id="question-form">
          <label class="label" for="question">Question</label>
          <textarea id="question" name="question" rows="5" placeholder="Explain why the derivative of x^2 is 2x" required></textarea>
          <div class="controls">
            <label>
              <span>Max new tokens</span>
              <input id="max-new-tokens" type="number" min="16" max="512" value="128" />
            </label>
            <label>
              <span>Max trace tokens</span>
              <input id="max-trace-tokens" type="number" min="64" max="1024" value="256" />
            </label>
            <label>
              <span>Max sentences</span>
              <input id="max-sentences" type="number" min="4" max="40" value="16" />
            </label>
          </div>
          <button id="submit-button" type="submit">Start analysis</button>
        </form>
      </section>

      <section class="status-row">
        <div class="status-chip" id="status-chip">Idle</div>
        <div class="status-detail" id="status-detail">Submit a question to create a session.</div>
      </section>

      <section class="grid">
        <article class="panel jobs-panel">
          <div class="panel-heading">
            <h2>Your Sessions</h2>
            <span class="muted">Ephemeral instance history</span>
          </div>
          <div id="recent-sessions" class="recent-sessions placeholder">Sign in to view your jobs.</div>
        </article>

        <article class="panel answer-panel">
          <div class="panel-heading">
            <h2>Answer</h2>
            <span id="session-id" class="muted"></span>
          </div>
          <p id="answer-output" class="placeholder">No answer yet.</p>
        </article>

        <article class="panel trace-panel">
          <div class="panel-heading">
            <h2>Reasoning Trace</h2>
            <span class="muted" id="trace-count"></span>
          </div>
          <ol id="sentence-list" class="sentence-list"></ol>
        </article>

        <article class="panel heatmap-panel">
          <div class="panel-heading">
            <h2>Sentence Influence Matrix</h2>
            <span class="muted">Rows: targets, columns: sources</span>
          </div>
          <div id="heatmap" class="heatmap placeholder-box">Analysis pending.</div>
        </article>

        <article class="panel details-panel">
          <div class="panel-heading">
            <h2>Selection</h2>
          </div>
          <div id="selection-details" class="placeholder">Choose a sentence or heatmap cell.</div>
          <div class="metrics" id="metrics"></div>
          <div class="edges" id="top-edges"></div>
          <div class="export-actions">
            <a id="export-json" class="pill-link is-disabled" href="#" aria-disabled="true">Export JSON</a>
            <a id="export-csv" class="pill-link secondary is-disabled" href="#" aria-disabled="true">Export CSV</a>
          </div>
        </article>
      </section>
    </main>

    <script src="/static/app.js" defer></script>
  </body>
  </html>