File size: 7,626 Bytes
dfb775d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>dcoach — prove a CPU model recalls its training · mindXtrain</title>
  <link rel="stylesheet" href="/coach/static/style.css" />
  <style>
    body { max-width: 1040px; margin: 0 auto; padding: 1.5rem; }
    .dc-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
    .dc-card { border: 1px solid var(--border); border-radius: 8px; padding: 1rem;
      background: var(--card); margin-bottom: 1rem; }
    .dc-card > h3 { margin: 0 0 0.6rem; font-size: 1rem; }
    .dc-row { display: flex; flex-direction: column; gap: 0.25rem; margin-bottom: 0.7rem; }
    .dc-row label { font-size: 0.82rem; color: var(--muted); }
    .dc-row select, .dc-row input[type=text], .dc-row input[type=number] {
      background: var(--bg); color: var(--fg); border: 1px solid var(--border);
      border-radius: 6px; padding: 0.4rem 0.6rem; font-family: inherit; }
    .dc-skills { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 0.3rem; }
    .dc-skills label { display: flex; align-items: center; gap: 0.4rem; font-size: 0.85rem; color: var(--fg); }
    .dc-run { background: var(--accent); color: #111; border: none; border-radius: 6px;
      padding: 0.6rem 1.2rem; font-weight: 600; font-size: 0.95rem; cursor: pointer; }
    .dc-run:disabled { opacity: 0.5; cursor: progress; }
    .dc-phases { font-size: 0.8rem; max-height: 240px; overflow-y: auto; }
    .dc-phase { display: flex; gap: 0.5rem; padding: 0.15rem 0; border-bottom: 1px solid var(--border); }
    .dc-phase .tag { color: var(--accent); min-width: 84px; font-weight: 600; }
    .dc-verdict { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0.6rem; }
    .dc-metric { border: 1px solid var(--border); border-radius: 6px; padding: 0.6rem; text-align: center; }
    .dc-metric .v { font-size: 1.4rem; font-weight: 700; }
    .dc-metric .k { font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.03em; }
    .pass { color: var(--ok); } .fail { color: var(--bad); }
    .dc-net { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 0.7rem; }
    .dc-net-card { border: 1px solid var(--border); border-radius: 8px; padding: 0.8rem; background: var(--bg); }
    .dc-net-card h4 { margin: 0 0 0.4rem; font-size: 0.9rem; color: var(--accent-2); }
    .dc-net-card p { margin: 0.2rem 0; font-size: 0.78rem; line-height: 1.4; }
    .dc-net-card .meta { color: var(--muted); }
    .dc-net-card .fit { color: var(--fg); border-left: 2px solid var(--accent); padding-left: 0.5rem; margin-top: 0.4rem; }
    table.dc-fit { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
    table.dc-fit th, table.dc-fit td { border: 1px solid var(--border); padding: 0.4rem 0.5rem; text-align: left; vertical-align: top; }
    table.dc-fit th { color: var(--accent); }
    .dc-nav a { color: var(--accent-2); margin-right: 1rem; font-size: 0.85rem; }
    .lede { color: var(--muted); }
    .hidden { display: none; }
  </style>
</head>
<body>
  <header>
    <div class="dc-nav">
      <a href="/coach/">&larr; Coach</a>
      <a href="/coach/prompts">Prompt tools</a>
      <a href="/coach/modelfile">Modelfile builder</a>
    </div>
    <h1>dcoach <span class="muted">— prove the training stuck</span></h1>
    <p class="lede">
      Imprint a persona onto a tiny model on <strong>CPU</strong>, then prove the model
      <em>recalls</em> it: the <strong>classroom</strong> measures recall before vs after
      training, the <strong>boardroom</strong> rules success or failure, and the verdict
      feeds the <strong>autotune feedback loop</strong> that tunes the next run. This is
      mindXtrain's first-run proof — and the on-ramp to decentralized training.
    </p>
  </header>

  <main class="dc-grid">
    <section class="dc-card">
      <h3>1 · Imprint &amp; Prove</h3>
      <div class="dc-row">
        <label for="dc-persona">Persona (the voice to imprint)</label>
        <select id="dc-persona"></select>
      </div>
      <div class="dc-row">
        <label>Skills (extra demonstrations, optional)</label>
        <div id="dc-skills" class="dc-skills"></div>
      </div>

      <details>
        <summary class="muted" style="cursor:pointer;font-size:0.85rem;">Advanced parameters</summary>
        <div style="margin-top:0.6rem;">
          <div class="dc-row">
            <label for="dc-base">Base model (the actor)</label>
            <input id="dc-base" type="text" value="HuggingFaceTB/SmolLM2-135M" />
          </div>
          <div class="dc-row">
            <label for="dc-board">Boardroom preset</label>
            <select id="dc-board">
              <option value="classic_triad">classic_triad</option>
              <option value="solo">solo</option>
              <option value="quintet">quintet</option>
            </select>
          </div>
          <div class="dc-row">
            <label for="dc-board-model">Boardroom model (blank = tally classroom verdict)</label>
            <input id="dc-board-model" type="text" placeholder="e.g. qwen3:0.6b" />
          </div>
          <div class="dc-row">
            <label for="dc-tokens">Recall generation length (max_new_tokens)</label>
            <input id="dc-tokens" type="number" value="48" min="8" max="256" />
          </div>
        </div>
      </details>

      <button id="dc-run" class="dc-run">Imprint &amp; Prove</button>
      <span id="dc-status" class="muted" style="margin-left:0.8rem;font-size:0.85rem;"></span>
    </section>

    <section id="dc-live" class="dc-card hidden">
      <h3>2 · Live proof loop</h3>
      <div id="dc-phases" class="dc-phases"></div>
    </section>

    <section id="dc-result" class="dc-card hidden">
      <h3>3 · Verdict</h3>
      <div class="dc-verdict">
        <div class="dc-metric"><div class="v" id="r-before">–</div><div class="k">recall before</div></div>
        <div class="dc-metric"><div class="v" id="r-after">–</div><div class="k">recall after</div></div>
        <div class="dc-metric"><div class="v" id="r-delta">–</div><div class="k">imprint Δ</div></div>
        <div class="dc-metric"><div class="v" id="r-persona">–</div><div class="k">persona kept</div></div>
        <div class="dc-metric"><div class="v" id="r-board">–</div><div class="k">boardroom</div></div>
        <div class="dc-metric"><div class="v" id="r-passed">–</div><div class="k">proof</div></div>
      </div>
      <p id="r-rationale" class="lede" style="margin-top:0.7rem;"></p>
      <p id="r-next" class="muted" style="font-size:0.82rem;"></p>
    </section>

    <section class="dc-card">
      <h3>How mindXtrain fits decentralized training (2026)</h3>
      <p id="dc-thesis" class="lede"></p>
      <table class="dc-fit">
        <thead><tr><th>Primitive</th><th>mindXtrain</th><th>Maps to</th></tr></thead>
        <tbody id="dc-fit-body"></tbody>
      </table>
      <h4 style="margin:1rem 0 0.5rem;font-size:0.9rem;">The networks</h4>
      <div id="dc-net" class="dc-net"></div>
      <p class="muted" style="font-size:0.75rem;margin-top:0.7rem;">
        Read-only. mindXtrain does not mine on these networks — every one is CUDA-first /
        hardware-gated. It exposes a verifiable, payable training surface compatible with
        their verification primitives. Source: <code>docs/decentralized-training-deep-dive-2026.md</code>.
      </p>
    </section>
  </main>

  <script src="/coach/static/dcoach.js"></script>
</body>
</html>