live/campaign sample 5s ago · Aug 8, 2026 · 3:23:30 AM EDT
transcript/history sample 2m ago · Aug 8, 2026 · 3:21:32 AM EDT
Reason-eval re-grade
Graduation complete
The persisted _grad_transcript.md and _grad_graduation.json confirm the terminal graduation state; no active exam process is expected after completion.
Graduate transcript board
Advanced Offensive Security
PASSDefensive Security & Operations
PASSGraduate Computer Systems
PASSApplied Mathematics for AI, CS, and Cryptography
PASSSystems Engineering & Self-Hosting
PASSCreative Writing & Editing
PASSMusic Theory & Composition
PASSPedagogy
PASSLaw
PASSMedicine
PASSRemediation
History
Undergrad transcript and graduation state are retained as a dated prior-era record; curriculum bodies stay private.
Paired .json/.md reports, including retake_N files. Latest inventory sample from the Holt cache:
Terminus A/B scoreboard
Grok
53%Codex
36%Antigravity (agy)
usage-capped mid-run 2026-07-21Holt
pendingSecurity subset — Holt vs the frontier
Full per-task notes live in _terminus-eval/results/AB_SCOREBOARD.md and HOLT_AB_HANDOFF.md.
data sample 2m ago · Aug 8, 2026 · 3:21:32 AM EDT
QA bank · RAG corpus
The embedding vectors are intentionally not read or rendered.
Answer routing mix
Curricula and progress files
curriculum.json
undergraduate curriculum source
531KB · Jul 15, 2026 · 12:36:49 PM EDT · mode 600live metadatagrad_curriculum.json
graduate curriculum source
784KB · Jul 16, 2026 · 1:03:06 PM EDT · mode 600live metadataeducate_progress.json
undergraduate teaching progress
19KB · Jul 16, 2026 · 1:50:07 PM EDT · mode 600live metadatagrad_progress.json
graduate teaching progress
24KB · Jul 18, 2026 · 3:58:43 AM EDT · mode 600live metadatafriends.json
friend/answer routing registry
99B · Jul 15, 2026 · 2:56:39 PM EDT · mode 600live metadataw01fie_care.log
care/routing log · root-owned on inventory
7KB · Aug 7, 2026 · 8:00:03 PM EDT · mode 644 · root-ownedroot-owned · content unreadableconversations/ directory: present
data sample 2m ago · Aug 8, 2026 · 3:21:32 AM EDT
Brain layout
/srv/nvme/holt-brain/education/corpus root · live tree4KB · Jul 24, 2026 · 10:52:45 PM EDT · mode 755transcript/directory · live presence and entries12KB · Jul 23, 2026 · 6:32:29 PM EDT · mode 755conversations/directory · live presence and entries4KB · Jul 16, 2026 · 7:18:03 PM EDT · mode 755qa_bank.jsonlRAG corpus · 6,436 JSONL entries · embeddings withheld107.7MB · Jul 26, 2026 · 1:05:56 AM EDT · mode 600curriculum.jsonundergraduate curriculum source531KB · Jul 15, 2026 · 12:36:49 PM EDT · mode 600grad_curriculum.jsongraduate curriculum source784KB · Jul 16, 2026 · 1:03:06 PM EDT · mode 600educate_progress.jsonundergraduate teaching progress19KB · Jul 16, 2026 · 1:50:07 PM EDT · mode 600grad_progress.jsongraduate teaching progress24KB · Jul 18, 2026 · 3:58:43 AM EDT · mode 600friends.jsonfriend/answer routing registry99B · Jul 15, 2026 · 2:56:39 PM EDT · mode 600w01fie_care.logcare/routing log · root-owned on inventory7KB · Aug 7, 2026 · 8:00:03 PM EDT · mode 644 · root-owned
Toolchain · ~/holt-terminal
grad_graduate.pyexam harness40KB · Jul 23, 2026 · 6:55:04 PM EDT · mode 644grad_educate.pycurriculum teacher6KB · Jul 16, 2026 · 3:25:42 PM EDT · mode 644grad_remediate.pyweak-question deep remediation8KB · Jul 22, 2026 · 6:44:40 PM EDT · mode 644assess_brain.pysitting/grading engine · A+–F GPA table6KB · Jul 15, 2026 · 3:47:58 PM EDT · mode 644educate_brain.pyundergraduate education engine11KB · Jul 15, 2026 · 2:31:25 PM EDT · mode 644seed_brain.pyquestion/answer seed loader6KB · Jul 15, 2026 · 10:48:03 AM EDT · mode 644seed_identity_family.pyidentity/family seeds5KB · Jul 15, 2026 · 3:09:57 PM EDT · mode 644finish_undergrad.pyundergraduate completion harness1KB · Jul 16, 2026 · 12:28:17 PM EDT · mode 644holt_brain.pybudget and stats owner41KB · Jul 26, 2026 · 8:09:48 PM EDT · mode 644holt_server.pyvoice terminal server · :889943KB · Jul 19, 2026 · 2:20:33 PM EDT · mode 644Server surface · holt_server.py :8899
- GET / · chat/voice UI · kiosk TALK-only mode
- GET /launch · WOLFPLEX menu
- GET /budget · budget JSON
- GET /stats · routing stats JSON
- GET /ask?text= · text converse
- POST /listen · mic converse
- POST /listen_audio · posted audio
- POST /ask · JSON text converse
- POST /speak · TTS
This list is a curated summary. The Commands tab parses the same file's real dispatch live, including the voice-fx and case-hardware trigger phrases this list omits.
Abilities
CASE_FAN_MODES → set-fan-mode / set-fan-led; RGB/OLED via the Pironman case service.
gpt-oss:20b on the Mac over SSH at 100.65.130.13 when teacher models refuse or under-produce.
7 Ollama models; qwen3:8b is pinned for exams.
Cross-links
command stat sample 2m ago · Aug 8, 2026 · 3:21:32 AM EDT
Commands
Every row below is parsed live from ~/holt-terminal/holt_server.py
on the Pi — route dispatch, then the voice-fx and Pironman-case trigger-phrase branches, then the
free-form fallback into holt_brain.py. A future edit to that file changes this table
on its next mtime-triggered re-parse; nothing here is hand-maintained.
| trigger / command | what it does | handler | line |
|---|---|---|---|
| whisper | sets the voice fx; replies "Whispering now." | handle_voice_command | 153 |
| louder, speak up, turn (it , yourself )?up, too quiet, volume up | sets the voice fx; replies "Speaking up." | handle_voice_command | 155 |
| quieter, softer, quiet down, turn (it , yourself )?down, too loud, volume down | sets the voice fx; replies "I'll keep it down." | handle_voice_command | 157 |
| faster, speed up, quicker, too slow | sets the voice fx; replies "Picking up the pace." | handle_voice_command | 159 |
| slower, slow down, too fast | sets the voice fx; replies "Slowing down." | handle_voice_command | 161 |
| higher, higher voice, higher pitch, raise your (voice, pitch | sets the voice fx; replies "Raising my pitch." | handle_voice_command | 163 |
| lower, deeper, deepen, drop your voice, lower (voice, pitch | sets the voice fx; replies "Dropping lower." | handle_voice_command | 165 |
| normal voice, reset (your )?voice, normal volume, regular voice | sets the voice fx; replies "Back to my normal voice." | handle_voice_command | 167 |
| lights?, rgb, leds? | POSTs "set-rgb-enable" {"enable": lights_state} to the Pironman case API (:34001) | handle_case_command | 214 |
| red, green, blue, purple, pink, white, orange, yellow, cyan (said with "lights?, rgb, leds?") | POSTs "set-rgb-color" {"color": CASE_COLORS[color_said]} to the Pironman case API (:34001) | handle_case_command | 217 |
| rainbow, breathing, pulsing, solid, flowing, flow, hue cycle (said with "lights?, rgb, leds?") | POSTs "set-rgb-style" {"style": CASE_STYLES[style_said]} to the Pironman case API (:34001) | handle_case_command | 220 |
| brighten, lights? up, brighter / lights?, rgb, leds? | POSTs "set-rgb-brightness" {"brightness": 90} to the Pironman case API (:34001) | handle_case_command | 223 |
| dim, lights? down, dimmer / lights?, rgb, leds? | POSTs "set-rgb-brightness" {"brightness": 20} to the Pironman case API (:34001) | handle_case_command | 226 |
| always on, full speed, max, performance, cool, cooling, balance, balanced, silent, quiet (said with "fan") | POSTs "set-fan-mode" {"fan_mode": CASE_FAN_MODES[fan_mode_said]} to the Pironman case API (:34001) | handle_case_command | 229 |
| turn on fan (said with "fan") | POSTs "set-fan-mode" {"fan_mode": 0} to the Pironman case API (:34001) | handle_case_command | 232 |
| turn off fan (said with "fan") | POSTs "set-fan-mode" {"fan_mode": 4} to the Pironman case API (:34001) | handle_case_command | 235 |
| oled, screen, display | POSTs "set-oled-enable" {"enable": display_state} to the Pironman case API (:34001) | handle_case_command | 238 |
| show everything, reset the display, all (the )?pages / oled, screen, display | POSTs "set-oled-pages" {"pages": ["mix", "performance", "ips", "disk"]} to the Pironman case API (:34001) | handle_case_command | 241 |
| anything else (free-form question) | falls through to brain.think() in holt_brain.py — the Q&A brain that owns further intent routing (including the “Allow me to introduce myself” friend-register phrase and budget/status/exam/care Q&A). That companion module is imported, not part of this file, so it is confirmed by one-time manual review, not re-parsed every cycle. | converse_from_text/mic/audio | 311 |
| GET / | serves chat/voice kiosk page (text/html) | do_GET | 750 |
| GET /launch | serves WOLFPLEX launcher menu (text/html) | do_GET | 752 |
| GET /budget | returns brain.load_budget() as JSON | do_GET | 754 |
| GET /stats | returns brain.stats_summary() as JSON | do_GET | 756 |
| GET /ask | answers via converse_from_text() as JSON | do_GET | 758 |
| POST /listen | answers via converse_from_mic() as JSON | do_POST | 766 |
| POST /listen_audio | answers via converse_from_audio() as JSON | do_POST | 768 |
| POST /ask | answers via converse_from_text() as JSON | do_POST | 772 |
| POST /speak | speaks the given text aloud (piper TTS) | do_POST | 776 |
corpus metadata sample 2m ago · Aug 8, 2026 · 3:21:32 AM EDT
Questions
WHAT THIS IS Every taught question since the start of Holt's
education (undergraduate + graduate), read from qa_bank.jsonl and paginated
server-side — the 98MB source is never loaded whole or shipped to the browser.
Phase/course come from matching each question against the curricula; entries
that don't match (chat, identity, or reworded remediation questions) are labeled honestly as
unlabeled rather than guessed. There is no per-answer source/model field in
qa_bank.jsonl — see the Corpus tab's routing-mix panel for the aggregate breakdown.
| index | date | phase | course | question |
|---|---|---|---|---|
| loading… | ||||