Day 70 — 'the factory grew a face, a conscience, and a memory.'
If Day 69 turned the machine into a store you compose from, Day 70 gave that store a body. The marketplace got a real workbench — load a model, snap on packs, extend it, and talk to it live, wrapped in a terracotta/paper redesign wired to the actual API. The offline reader grew a conscience: it now abstains instead of bluffing when a question's subject isn't in its library, and answers instead of parroting the question back. Four Wellbeing domains landed (nutrition, first-aid, meditation, emotional-intelligence), the scattered persona work collapsed into one composable personality pack, and `werbos scan` learned to crawl a folder into a small grounded memory of what it is — the first brick of a tree of little models. Underneath it all, a two-lane data engine started minting the conversation corpus that will grow the talk model toward GPT-2 size: a GPU box bursting high-quality turns while the homelab drips fresh ones 24/7, both into one deduped file. And a blueprint went on the shelf: Minting-as-a-Service, mapped seam by seam.
“a factory isn’t just the machine. it’s the machine, the counter you order from, and the honesty to tell you when it can’t build what you asked.”
Day 69 made werbos a store you compose from. Day 70 gave the store a body — a face to order from, a conscience about what it doesn’t know, and the beginnings of a memory of the world outside itself.
The workbench
The marketplace needed a surface you could actually touch. So the weld dashboard became a
Compose Workbench: load an existing model, snap on packs (skills / knowledge / a voice),
extend it, and talk to it live — all in one screen, wired to the real resolve() API, not
a mock. The look came with it — a terracotta-on-paper redesign, dark-mode aware, that makes
the factory feel like a place instead of a form. (60907cb, 895e460)
A conscience
The honest-abstain moat only holds if the offline reader holds it too. It didn’t, quite — ask it “the capital of France” with a fishing library loaded and it would reach for a marlin card rather than say “I don’t have that.” Fixed: when the subject of a question isn’t in the library, the reader abstains instead of bluffing; and it returns the answer, never the question echoed back. Small fixes, but they’re the whole product — a model that makes things up is worse than no model. (abdaa01, and tests a0b174d / d16ec73)
New senses
Three ways the model got wider:
- Wellbeing landed — nutrition, first-aid, meditation, emotional-intelligence, minted and graded clean, then wired into the library, the graph, and the compose picker. (81c2983)
- A voice, unified — the persona work (mirror-slider, roster capsules, honest restyle) had grown three heads. They collapsed into one composable personality pack applied through a single call that preserves fact and citation verbatim — style on top, never underneath. (bfd40a9)
werbos scan— point it at a folder and get a grounded silhouette card (kind · languages · structure · key files · a 2–3 sentence summary) without ingesting the contents. Deterministic, no model, no bluff. It’s the cheap summary tier — and the first brick of a tree of little models, one per project folder. (f9f1739)
The data engine
The talk model trains on ~770 templated pairs today; GPT-2 size needs tens of thousands of natural ones. So a conversation-corpus minter started generating them from teacher models — open weights used as factory tools, never shipped. Then it went two-lane: a GPU box (14B) bursting high-quality turns on the core everyday topics, while the homelab (3B, CPU) drips a disjoint fresh topic set 24/7 as a systemd service — both appending to one deduped corpus the trainer already reads. Two teachers tiling different ground, compounding overnight. (e323813, 51611bd, dd8cd83)
The blueprint
And a piece of the future got pinned to the wall: Minting-as-a-Service — login → mint → walk away with a model that’s yours, small enough to actually download and run offline. Mapped seam by seam: what’s already owned (the whole mint pipeline, auth, the tiny signable models) and the honest 20% that isn’t (per-tenant isolation, a job queue, the offload bundle). No build — just the map, ready for the day it’s worth building.
The through-line of the day: the pieces stayed modular. Every one of these snapped into a seam that already existed — the workbench into the pack system, scan into the tree, the voice into the compose stack, a second teacher into the corpus lane. Nothing fought the whole. That’s the moat showing up as architecture: you keep adding without breaking.
Shipped:
- Compose Workbench — load / add packs / extend / talk live (60907cb)
- Terracotta/paper dashboard redesign, wired to the real API (895e460)
- Offline reader: abstain on out-of-library subjects, answer not question (abdaa01, a0b174d, d16ec73)
- Wellbeing realm — nutrition, first-aid, meditation, emotional-intelligence (81c2983)
- Persona → one composable personality pack (bfd40a9)
werbos scan <path>— folder → small grounded memory card (f9f1739)- Conversation-corpus minter + two-lane generation (
--topics/--timeout) (e323813, 51611bd, dd8cd83) - Housekeeping: untrack regenerable grade artifacts (c4179e2)
- Blueprint: Minting-as-a-Service spec (docs/ideas/minting-as-a-service.md)