WAYS OF WORKING · DEMO 04 NINO CHAVEZ
Every agent session leaves a transcript. Mine them, and your own history becomes training data for how you work: reusable prompts, your correction patterns as standing priors, and an honest ledger of what the agent built that actually survived.
$ python3 artifact-miner.py --out artifact-mine.json $ jq '.corpus' artifact-mine.json { "files": 2747, "lines": 527394 }
→ or scroll to advance · ← to go back
02 THE EXHAUST
Coding agents log everything: every command, every file read, every correction you typed at them. Across one machine's history that's a real dataset — and it accumulates whether or not you ever look at it.
The survival ledger inside it is the honest part: of the workspace artifacts agents created, 2,013 are gone and 961 still exist. Most of what an agent builds is scaffolding — knowing which parts survived is where the signal is.
03 THE CONFESSION
The mining tool's own docstring tells the origin story better than any slide could — quoted verbatim:
Before this script existed, one-off variants of it were rebuilt in throwaway
sessions at least 12 times (mine_sessions.py, mine_failures_v3.py,
friction_mining_v2.py, ...) — hence the durable home.
The evidence, from its own output
A fresh mining run finds its own ancestors in the ephemeral graveyard: mine_sessions.py, mine_transcripts.py, mine_corrections.py, mine_failures.py, _v2, _v3, friction_mining.py, _v2, deep_friction_scan.py, detailed_analysis.py — all written once, used once, gone.
Across all sessions: 313 ephemeral scripts gone, 12 kept.
The promotion
The twelfth rebuild became the durable one — with the rule written into the tool itself: if you're about to write a new session miner, extend this one instead.
The method: notice the throwaway you keep re-forking. Promote it once. Encode "extend, don't re-fork" where the next session will read it.
04 YIELD 1 · AUDITS
The mechanical guards in demo 03 weren't designed from intuition. Each one's origin audit was a mining pass over this corpus:
122 pkills
Mined from Bash-call signatures across 16 projects → the preview and q helpers.
50% re-reads
A 60-day Read-pattern audit (worst case: one file read 184×) → the read-guard hook.
553 hesitations
Ask-then-told-"go" exchanges mined from user turns → the three-layer anti-hesitation fold.
You can't build guards from vibes. The corpus turns "I feel like the agent wastes context" into a number you can act on — and a baseline you can re-measure against.
05 YIELD 2 · PRIORS
User turns get mined into a character stack — 1,411 signals across 74 projects, regenerated after each ingest — and injected as priors when a new prompt matches an old pattern. Two priors that fired in the session that built this very deck:
correction / over-engineered · injected as prior
"the playbook and deck have too much fluff. consider what are appropriate comms approach"
Effect: this deck shipped without a stat-card scoreboard — the correction resurfaced before the mistake recurred.
preference / i-prefer · injected as prior
"no. i want interactive html demos, not mp4s, for all use cases."
Effect: the series' whole format — interactive HTML decks, not videos — matches a preference stated months earlier in a different project.
The stack also carries a quantitative voice card — median sentence length 12 words, hedge rate 11.9%, cheerleading rate 1.4% — so "write it the way I would" is a measured target, not a vibe. The standing rule: priors, never commands. The live conversation always wins.
06 YIELD 3 · GRADES
Each ingested session gets scored — instruction compliance, thrash ratio, session shape, commits produced. The distribution, straight from the database:
What the shapes say
The most common productive shape is research-then-build (382 sessions, 5.4 commits on average). But the data resists a tidy story: extended-discussion sessions average more commits (6.1) — long conversations aren't waste when they're converging on something.
Where the lessons live
The 126 D and F sessions are the valuable ones — high-thrash transcripts are where corrections, tool misuse, and abandoned work concentrate. Grading isn't a report card; it's an index into which transcripts to mine next.
07 THE LOOP
This isn't hypothetical — the loop produced the thing you're reading. This demo series' roadmap was selected by mining this corpus. Demo 03's numbers were re-derived by a fresh mining run during authoring. The voice stack regenerated the same day. The corpus is upstream of everything on this site.
08 HONEST LIMITS
The scrub gate is mandatory
Sessions contain everything ever typed: client names, private paths, the occasional secret pasted in error. Nothing mined goes public without a sanitization pass. This deck went through one — some of the corpus's best stories stayed behind because of it.
Mined signals are hypotheses
Regex over transcripts is crude. During this series' research, one suggested pattern — a supposedly recurring creative workflow — turned out to be mostly false positives on closer verification. Mined claims get re-derived before they're repeated. Same discipline as any other source.
The stack is frozen in time
A prior distilled from last month can contradict what you want today. The rule baked into the stack's own preamble: if the live conversation contradicts a stored signal, trust the conversation. Preferences evolve; the corpus lags.
09 YOUR VERSION OF THIS
If you never touch code
Your correction history is the most valuable thing you produce with an AI. When you correct the same thing twice, save the correction somewhere the next session will see it — that's the whole loop, manually.
If you're technical
Your agent's transcripts are on disk right now. Grep them for your own name-brand waste — repeated commands, re-reads, re-built scripts — before building anything. One counted number beats a platform.
If you build systems
Mine user turns and agent actions separately — corrections become priors, actions become audits. Make the miner durable with an extend-don't-re-fork rule, and gate every public output behind a scrub pass.