Skip to content

Instantly share code, notes, and snippets.

@realgenekim
Last active August 10, 2026 21:11
Show Gist options
  • Select an option

  • Save realgenekim/863f20b8ea515ed8858a298f8e470e9d to your computer and use it in GitHub Desktop.

Select an option

Save realgenekim/863f20b8ea515ed8858a298f8e470e9d to your computer and use it in GitHub Desktop.
Kill My SaaS weekend: the coding activity report

Kill My SaaS weekend: the coding activity report

Window: 2026-08-08T18:08:26.995000Z through 2026-08-10T19:01:04.372221Z Anchor: Gene's first recorded Kill My SaaS strategy prompt, Saturday at 11:08:26 AM PDT. Evidence: Codex rollouts, Claude Code project JSONL, 19 real Git repositories observed in agent tool paths, Git, Director telemetry, and Live Dictation delivery receipts.

BLUF

In roughly 48.9 hours, Gene operated 38 main coding conversations plus 25 Claude subagents. Their traces touched 19 real Git repositories. Nine recorded in-window commits. The agents consumed 3,838,765,007 model-usage tokens: 1,837,756,831 in Codex and 2,001,008,176 in Claude Code. Git records 307 commits touching 627 repository-relative files, with +149,059 / −19,992 lines169,051 lines of textual churn—in those repositories.

At the report cutoff, the CFP Killer product itself contained 18,217 lines of runtime source in 70 files, 10,115 lines of tests in 32 files, and 5,530 lines of shipped resources. Its research and product record added 28,111 lines of text documentation plus 318 screenshots, images, PDFs, and video artifacts. Those are the durable dimensions beneath the much larger churn total: an end-to-end conference-program product, a substantial safety net, and the evidence used to build it.

This was not merely a weekend spent building the CFP Killer. The product was the clear center of gravity: 62.5% of measured agent tokens landed in the CFP Killer repository, while 32.7% went into the tools used to build and steer it. The striking result is still a two-level build: the product advanced, and the software-development control plane became dramatically more capable while under load.

Live Dictation became a real input device, not a demo. The Groq-powered service—still named Marvin in its receipts—recorded 397 finalized utterances totaling 85,379 characters, roughly 17,076 spoken words. The Director bridge delivered 389 and suppressed 8 while muted. Independent health telemetry measured at least 4 hours 10 minutes of active recording time during the instrumented window.

2:00 AM demo checkpoint

Here is the demo video that Gene posted, showing where he was at 2:00 AM on Monday, August 10: event and CFP creation, followed by review-committee judging. In the accompanying Discord note, he described the checkpoint as “mostly focused on event and CFP creation, and then review committee judging.” He said the next work would cover acceptance and rejection flows, then return to the rubric and hill-climbing goals.

This is a time-bounded product checkpoint, not a claim that every later feature was already present at 2:00 AM. It gives the report a direct review surface for the product state before the subsequent Monday work.

The weekend in numbers

Measure Codex Claude Code Combined
Main conversations 25 13 38
Subagent conversations 0 25 25
Raw trace user-turn events 525 414 939
Canonical prompt messages 748 414 1,162
Prompts containing Live Dictation 96 87 183
Agent turns 1,466 5,065 6,531
Model-usage tokens 1,837,756,831 2,001,008,176 3,838,765,007

The headline number is model-usage volume, not 3.8 billion newly written words and not a full-price billing estimate. Long-lived coding agents repeatedly read large cached contexts. Those cache reads dominate the total.

Engine Fresh/uncached input Cached input read Cache creation Output Reasoning output
Codex 40,239,237 1,792,861,696 4,655,898 1,786,998
Claude Code 70,154 1,963,476,429 34,731,958 2,729,635 not exposed by Claude Code

Activity over time

LOG-SCALE ACTIVITY · each glyph = one Pacific hour
· = no measured activity · ░ = outside the 49-hour report window

TIME · PACIFIC     12a 3a  6a  9a  12p 3p  6p  9p

MODEL USE
Sat Aug 8  Codex   ░░░ ░░░ ░░░ ░░▇ ▆▆▇ ▆▆▆ ·▅▆ ▇▇█
           Claude  ░░░ ░░░ ░░░ ░░▆ ▇▄▆ ▇▇▇ ▇▆▆ ▆▄·
Sun Aug 9  Codex   ▇▅▁ ··· ··▄ ▇▇▇ ▆▆▆ ▅▆▆ ▆▄▅ ▇▇▆
           Claude  ▇▇▆ ··· ·▄▆ ▆▄▆ ▆█▇ ▇██ ███ █▇█
Mon Aug 10 Codex   ▇▇▇ █▇▆ ··· ▇██ ▃░░ ░░░ ░░░ ░░░
           Claude  ▇▇▆ ▄▃· ·▂▆ ·▂▁ ·░░ ░░░ ░░░ ░░░

HUMAN DIRECTIONS
Sat Aug 8  Codex   ░░░ ░░░ ░░░ ░░▆ ▅▃▆ ▅▇▅ ·▆▇ ██▇
           Claude  ░░░ ░░░ ░░░ ░░▆ ▇▃▄ ▅▆▅ ▃▂▂ ▁▁▁
Sun Aug 9  Codex   ▇▄▃ ··· ··▃ ▇█▇ ▃▅▆ ▁▅▇ ▄▂▅ ▇▇▄
           Claude  ▇▁▁ ··· ·▂▅ ▅▃▃ ▅▆▇ ██▆ ▇▇▇ ▆▇█
Mon Aug 10 Codex   ▆▆▇ ▂·· ··· ▆█▇ ▁░░ ░░░ ░░░ ░░░
           Claude  ▆▆▆ ▃▁· ·▁▄ ·▁▁ ·░░ ░░░ ░░░ ░░░

The strips tell the activity story directly: Codex drove Saturday, both engines overlapped heavily on Sunday, Claude carried a sustained Sunday-afternoon/evening run, and Codex returned strongly Monday morning.

The aligned strips reconcile exactly to the bounded ledger above: 1,837,756,831 Codex tokens, 748 Codex prompts, and 25 Codex conversations. They also contain 2,001,008,176 Claude Code tokens, 414 Claude prompts, 13 main Claude conversations, and 25 Claude subagents. Model use deliberately includes cache reads. A long-lived coding session can therefore consume far more model context than the amount of newly written text suggests.

The first draft overstated Codex by 3,004,051,130 tokens, 787 prompts, and one replay-only conversation. Forked and resumed Codex rollouts can append copies of earlier history—and cumulative token receipts—with fresh record timestamps. The repaired scanner recovers original event time from UUIDv7 item identity, treats replayed cumulative receipts as a baseline rather than new use, and excludes pure replay sessions from the conversation count. A separate 175,109-token cutoff race was removed by requiring both record time and original identity time to fall at or before the explicit upper bound. Repeated runs against the printed window now produce identical totals.

Product versus the factory that built it

Category Conversations Subagents Tokens Share Git commits
CFP Killer 12 25 2,399,067,149 62.5% 205
Enabling tools 17 0 1,255,643,975 32.7% 83
Other constellation 9 0 184,053,883 4.8% 19

The enabling-tool category includes Director/code-directory, CLJ-SURGEON, Mothership, Live Dictation, and shared agent skills. This is the work that made parallel CFP1/CFP2/CFP3C operation, exact-session routing, dictation, compact tool cards, token visibility, and persistent flight plans possible.

What the CFP Killer work produced

The CFP Killer's +118,926 / −12,923 lines of weekend churn is an activity measure, not the size of the product. At the report cutoff, commit 2fe339f87700482b16206f226b52e2cab927b5ee contained the following tracked, text-only footprint:

CFP Killer area Tracked artifacts Text artifacts Lines What it represents
src/ 70 70 18,217 Runtime Clojure product code
test/ 32 32 10,115 31 Clojure test files plus one browser fixture
resources/ 72 22 5,530 CSS, client code, migrations, configuration, and templates; 50 additional binary assets
docs/ 388 70 28,111 Product/design/research evidence; 318 additional screenshots, images, PDFs, and video artifacts
bin/ + dev/ + gcp/ 22 22 3,853 Probes, development operations, and deployment machinery
plans/ 5 5 592 Explicit implementation plans

The central product result was therefore 18,217 lines of runtime source, protected by 10,115 lines of tests, plus 5,530 lines of shipped resources—not 131,849 permanent lines of application code. The much larger churn records rapid iteration, replacement, generated evidence, and refactoring.

Those 205 product commits produced an end-to-end conference-program system rather than a collection of screens:

  • conference setup and editable event details, followed by a visual CFP form builder with a live speaker preview;
  • a public CFP and speaker portal with durable drafts, profiles, submission answers, and speaker tasks;
  • a dense review board with tracks, ratings, comments, explicit decision states, sorting, and judge-ready demo populations;
  • schedule construction with conflict detection and deliberate withholding of impossible public schedules;
  • public landing, agenda, session, and speaker surfaces, plus stable exports and an API on both sides of the joins;
  • event-scoped committees, speaker ownership, cross-event authorization fences, API keys, and separate demo/reviewer/speaker identities;
  • append-only event history, replay/time travel, Postgres-backed production durability, GCS recovery, integration sinks, and live Cloud Run deployments.

This is what matters beneath the token and churn totals: CFP Killer now spans the actual operating loop from form → speaker submission → evaluation → decision → schedule → public program. Its tests and authorization boundaries are substantial enough to measure alongside the product code rather than treat as afterthoughts.

For the nerds: stack and workflow

  • Runtime: Clojure 1.12 on http-kit, Ring, and Reitit. Hiccup renders the HTML on the server; Datastar sends reactive signals and server-sent HTML fragments without turning the application into a client-side SPA.
  • State: every mutation is an append-only domain event. Local and judge-demo operation can fold a zero-setup JSONL log into memory. The durable production backend stores the same event model in PostgreSQL through next.jdbc, HoneySQL, and HikariCP, with Cloud SQL IAM authentication.
  • Safety: Malli validates form schemas and server inputs. Guardrails checks function boundaries in tests, and closed records reject invalid key access instead of letting misspelled data become nil.
  • Delivery: a thin JAR becomes a container through Jib and deploys to Cloud Run. Runtime secrets live in Google Secret Manager; production recovery and durable storage use Google Cloud services behind explicit boundaries.
  • Feedback loop: development was REPL-driven through nREPL, with namespace reloads and focused probes against live values. Kaocha and Ring mock tests supplied the fast in-process gate, while Python browser drivers exercised routes, sessions, permissions, and multi-person workflows against a running server.
  • Structural Clojure work: CLJ-SURGEON let agents read exact forms and dependency surfaces instead of loading multi-thousand-line namespaces into context. Hash-fenced transactions then applied complete structural changes, parsed the results, ran verification, and returned compact receipts that Director could render as evidence.

The result was a short feedback cycle with strong boundaries: inspect the live system, change one proven structural surface, run the focused gate, and publish the receipt. That workflow made the large Monday refactor a product-enabling move rather than a pause in product work.

The coding-agent fleet acquired call signs

As the number of simultaneous coding sessions grew, Gene began replacing long workstream and repository names with short operational call signs. CD meant Code Director work, CFP1 and CFP2 distinguished two independently bound agents working in the CFP killer repository, and CLJ-SURGEON named the specialist agent and toolchain working on structural Clojure changes. A later Codex experiment became CFP3C.

This was not cosmetic abbreviation. Live Dictation made the control plane conversational: Gene had to say a destination, switch to it, recognize it in the one-row workstream rail, and confirm that the exact ZMX session received the instruction. The original long CFP workstream title was expensive to speak and difficult to distinguish from a second session in the same repository. “CFP1” and “CFP2” were fast, unmistakable routing handles. The fixed session binding made those names trustworthy: the call sign could change, but the workstream’s ZMX identity could not.

The names also exposed specialization. CD1 was the control-plane workshop, CFP1/2/3C were parallel product builders, and CLJ-SURGEON was the precision instrument. By the end of the weekend, the short labels functioned like radio call signs for a small agent fleet: optimized for speech, rapid switching, and low-cost situational awareness.

Repository ledger

Repository Role Main conversations Subagents Tokens Commits Files + / −
cfp-sched-killer CFP Killer 12 25 2,399,067,149 205 334 +118,926 / −12,923
code-directory-cluster Enabling tools 11 0 739,034,284 36 104 +15,253 / −675
clj-surgeon Enabling tools 5 0 397,349,144 4 45 +4,050 / −175
social-media-writer Other constellation 1 0 182,427,895 18 38 +3,283 / −867
mothership Enabling tools 1 0 119,260,547 17 74 +5,203 / −4,777
unattributed Other constellation 7 0 1,099,469
kiloclaw Other constellation 1 0 526,519 0 0 +0 / −0
marvin-voice-remote Enabling tools 0 0 0 22 19 +1,848 / −561
datastar-helpers Enabling tools 0 0 0 3 7 +106 / −12
datastar-live Enabling tools 0 0 0 1 2 +4 / −2

Live Dictation became part of the programming loop

                                      ┌──────────────────────────────┐
                                      │ Gene                         │
                                      │ speaks, switches, and steers │
                                      └──────────────┬───────────────┘
                                                     │ voice
                                                     ▼
┌─────────────────────────┐       transcript       ┌─────────────────────────┐
│ Live Dictation          │ ─────────────────────▶ │ Director                │
│ Groq · hands-free · OVER│                        │ destination · mode       │
└─────────────────────────┘                        │ mute · clear · copy-last│
                                                   └────────────┬────────────┘
                                                                │ exact, immutable
                                                                │ ZMX binding
                                                                ▼
               ┌────────────────────┬────────────────────┬────────────────────┐
               │ CFP1               │ CFP2               │ CFP3C / CD1        │
               │ Claude Code        │ Claude Code        │ Codex              │
               └─────────┬──────────┴─────────┬──────────┴─────────┬──────────┘
                         │                    │                    │
                         └────────────────────┼────────────────────┘
                                              ▼
                    ┌─────────────────────────────────────────────┐
                    │ Work and evidence                           │
                    │ code · tests · Git · deployments            │
                    └───────┬──────────┬───────────┬──────────────┘
                            │          │           │
              ┌─────────────▼─┐  ┌─────▼─────┐  ┌──▼──────────────┐
              │ CLJ-SURGEON   │  │ Maven     │  │ Mothership      │
              │ exact Clojure │  │ grounded  │  │ durable review  │
              │ transactions  │  │ evidence  │  │ surfaces        │
              └───────────────┘  └───────────┘  └─────────────────┘
                                              │
                                              ▼
                    ┌─────────────────────────────────────────────┐
                    │ Director Progress                           │
                    │ objective · active step · next · evidence   │
                    └─────────────────────┬───────────────────────┘
                                          │ visible flight plan
                                          └──────────────────────▶ Gene

The design goal was unusually specific: no push-to-talk. Gene should be able to speak naturally while coding agents ran, say OVER when the instruction was complete, and have Groq return a transcription without touching the keyboard. The service was still named Marvin internally, but the user-facing capability was Live Dictation.

Its output originally flowed into the Claude Code connector. That made it possible to talk to one running agent, but it did not yet provide a control plane for several simultaneous agents. During this weekend, the same stream was repurposed to inject prepared or immediately submitted text directly into permanently bound Supacode/ZMX sessions. That turned speech into workstream-addressed steering. In use, it was sublime: Gene could move among CFP1, CFP2, CFP3C, and Director, speak a direction, say OVER, and keep moving.

The authoritative Cloud Run outbox finalized 397 distinct utterances (85,379 characters). The bridge prepared 384, submitted 5 immediately, and suppressed 8 while muted. Zero are unreconciled.

The agent traces contain 183 actual prompt messages with 207 Live Dictation segments. One prompt can contain several prepared utterances, and a prepared utterance can be edited or discarded before submission. Across 1,162 canonical human prompt messages, Live Dictation appears in 15.7%.

The best defensible historical audio-time measurement is 4 hours 9 minutes 36 seconds of active recording—rounded to 4 hours 10 minutes. It is a lower bound derived from 12,186 unique two-second health samples, not a fabricated duration inferred from words. Those samples covered 7 hours 26 minutes of the voice session. Gaps, canceled captures, and captures that did not become finalized utterances prevent calling it exact successful-transcription time.

That evidence gap is now closed prospectively. Live Dictation measures audio_duration_ms at each browser and native capture boundary, bounds it on the server, attaches it to the durable Director delivery ID, and emits it in transcript-free structured logs. Commit cb2422f is live in Cloud Run revision marvin-voice-remote-00228-z5v, serving 100% of traffic. Historical receipts cannot be retroactively made exact. New finalized utterances can be summed exactly by duration.

Words per trace-grounded Live Dictation

The 207 explicit Live Dictation segments preserved in Codex and Claude traces contain 9,848 words. The median direction was 34 words. The p75 was 64, the p90 was 97, and the longest was 275. At a reference pace of 150 words per minute, these submitted directions represent about 65.7 minutes of speech. That is a reading-time equivalent, not measured audio. Exact duration begins with the deployed audio_duration_ms contract.

Dictation length Approximate speech at 150 wpm Utterances Share Histogram
1–10 words under 4 s 16 7.7% ██████
11–25 words 4–10 s 53 25.6% ███████████████████
26–50 words 10–20 s 66 31.9% ████████████████████████
51–100 words 20–40 s 52 25.1% ███████████████████
101–200 words 40–80 s 18 8.7% ███████
201+ words over 80 s 2 1.0%

What the dictations asked agents to do

The following is a deterministic primary-theme classification of all 207 content-bearing Live Dictation segments preserved in agent traces. It does not claim access to the text of all 397 finalized utterances: older outbox receipts retain identity, timing, and character counts but not a complete transcript corpus. Each preserved segment is assigned to one dominant request type, so the shares sum to 100%.

Primary request type Dictations Share Histogram
Director UX and control plane (“I think this is looking great. The drop-down is great. But we should…”; “Confirm that the session ID binding to the Workstream card is made on…”) 44 21.3% ████████████████████████
Other or unclear (“read this document and then take over the work”; “What else is in our task list? Over”) 28 13.5% ███████████████
General change and design requests (“Okay, please open the treatments in my browser”; “Yeah. Why don't you create like eight browser tabs and just make sure…”) 27 13.0% ███████████████
Diagnosis and incident response (“This is a URL that's taking perfect load. Why”; “I definitely need some more feedback from you about what you're doing…”) 19 9.2% ██████████
Feedback, approval, and course correction (“And that, I think, is perfect. Go”; “uh Thank you. Thank you. Open the views file in Mothership”) 18 8.7% ██████████
Live Dictation operation and reliability (“Testing 1, 2, 3 on the new microphone treatment”; “Mute mic isn't doing anything anymore. Check the logs”) 15 7.2% ████████
CFP product implementation (“Thank you. Please give me one more work stream called CFP3 and here's…”; “What else can we be working on here in parallel? Stage two of creatin…”) 15 7.2% ████████
Verification, deployment, and release (“Tell me when server has been deployed”; “Okay, let's go ahead and get the test suite passing. Do what it takes”) 12 5.8% ███████
Questions and explanations (“Interesting. What does the save button do? Is that save”; “Okay, let us… What is…let's call this work done. What is…what should…”) 12 5.8% ███████
Tooling and refactoring (“Think like Kent Beck and Rich Hickey and convince yourself that this…”; “My goodness, it actually, oh my goodness, it looks actually quite ter…”) 8 3.9% ████
Status, continuation, and coordination (“Is the authentication issue totally fixed now? Status report from oth…”; “Progress report, please. Oh, hey, by the way, I guess just maybe a br…”) 6 2.9% ███
Research, reports, and durable capture (“You are 100% go. Let's document this into docs and go, go, go”; “Oh, that is fantastic. Write that in the CLJ Surgeon Captain's log. I…”) 3 1.4% ██

The clusters show voice acting as an executive control surface. Most directions either shaped Director and Live Dictation themselves, advanced the CFP product through parallel lanes, or diagnosed a live operational failure. Status requests and deployment checks were smaller but recurrent coordination taxes—the exact class of work that persistent flight plans and better receipts are designed to remove.

Finalized utterances by hour (Pacific)

Hour Utterances Histogram Characters
Sun Aug 9, 10 AM 14 █████ 1,890
Sun Aug 9, 1 PM 7 ██ 1,396
Sun Aug 9, 2 PM 20 ███████ 5,452
Sun Aug 9, 5 PM 18 ██████ 3,155
Sun Aug 9, 6 PM 31 ██████████ 5,556
Sun Aug 9, 7 PM 52 █████████████████ 10,180
Sun Aug 9, 8 PM 32 ███████████ 13,090
Sun Aug 9, 9 PM 49 ████████████████ 11,050
Sun Aug 9, 10 PM 44 ███████████████ 10,552
Sun Aug 9, 11 PM 56 ███████████████████ 11,695
Mon Aug 10, 12 AM 54 ██████████████████ 8,187
Mon Aug 10, 1 AM 20 ███████ 3,176

Instrumented Director destinations

Director's later browser telemetry captured 126 draft injections (39,499 characters). This is a destination-attribution subset, not the total voice count. The earlier direct connector ledger recorded 9 deliveries: 5 submitted immediately and 4 prepared for review.

Workstream Repository Operational role Voice drafts Characters
CFP2 cfp-sched-killer Second Claude product lane 42 10,526
CFP1 cfp-sched-killer Primary Claude product lane 33 11,460
Constellation memory × Chief of Staff kiloclaw Chief-of-staff/control-plane lane; later CD1-KC 16 8,786
CFP3C cfp-sched-killer Codex product lane 14 3,443
CFP1 (original lane) cfp-sched-killer Original CFP product lane; later CFP1 11 2,180
CD1-KC kiloclaw Code Director and constellation control plane 8 2,997
code-director2 code-directory-cluster Early Director bridge and routing lane 2 107

The destination subset makes the operating model visible. The four CFP product lanes received 100 of 126 drafts (79.4%). The kiloclaw chief-of-staff/control-plane lane received 24 (19.0%), and the early Director bridge lane received 2 (1.6%). Voice was not merely replacing typing: it was steering a fleet whose lanes had distinct jobs.

What actually changed

The product effort and tool effort reinforced each other. CFP Killer exposed real coordination pain—multiple simultaneous agents, ambiguous ownership, hidden waits, excessive scrolling, cross-session hazards, and a need for fast spoken steering. Those failures directly produced durable improvements in Director and Live Dictation. The tools then returned leverage to the product work within the same weekend.

  • Director made parallel work governable. Repository names were not enough: CFP1, CFP2, and CFP3C shared a repository but had different agents and missions. Director gave each workstream one immutable ZMX binding, a short call sign, reliable switching, top-of-tape navigation, and compact semantic cards. It also surfaced hidden waits, context-window consumption, compaction history, images, and safe links. This directly addressed crossed streams, unexplained idleness, and the hours Gene was losing to scrolling.
  • Live Dictation made the control plane conversational. Groq transcription plus automatic OVER detection removed push-to-talk. The original Claude Code connector became direct, destination-aware Supacode/ZMX injection, with Prepare/Submit, follow-focus, mute, clear, explicit over, and copy-last controls. Speaking was no longer a side channel. It became the fastest way to steer a bound workstream.
  • CLJ-SURGEON made Clojure change safer and more legible. Instead of repeatedly reading huge namespaces and applying opaque text edits, agents could request exact forms, inspect structural dependencies, and execute verified transactions. Its receipts told Director which files and forms were inspected or changed, making tool cards concise without throwing away proof.
  • Mothership made durable artifacts reviewable. Markdown reports, plans, and Captain's Logs had a canonical reader URL instead of becoming terminal paths, fragile tabs, or buried chat output. This report follows that contract. The file is durable, and Mothership is the review surface.
  • Director Progress made execution state survive the transcript. Agents publish an authoritative objective, active step, next action, blocker, evidence, and producer identity against the immutable workstream session. Compaction can erase terminal scrollback, but it cannot erase the flight plan. The revision ledger has already proven that both Codex and Claude can publish exact producer provenance.

By Sunday night, Gene was still scrolling through pages of bubbles to ask each agent what it was doing and why. By Monday morning, the relationship had inverted: the goal and active step stayed visible, exceptions could sort first, and Gene could steer outcomes the way a director of engineering steers teams. The agents reported their flight plans. Gene did not have to reconstruct them.

That inversion changed what the fleet optimized. Once ownership, next action, and evidence were visible, it became easier to invest in code health before it became an emergency: make the system easier to change, then make the product change. Refactoring, structural reads, focused tests, cache-fence repairs, and provenance stopped looking like detours. They became the path to moving sooner, safer, and happier.

That last item changes the next report: future progress revisions can point directly to the exact Codex rollout or Claude project trace that produced them. This report had to reconstruct the join historically. The system now records it prospectively.

Method and honesty boundaries

  • A conversation is one distinct root Codex or Claude session with original user or agent activity after the anchor. A Codex fork containing only replayed history is not fresh activity. Claude subagent JSONLs are reported separately.
  • Codex prompt identity uses UUIDv7 event time when available and requires the durable record itself to exist by the cutoff. This distinguishes an original direction from a copy appended during resume or fork. Raw trace user-turn events and canonical prompt messages are reported separately because runtime wrappers and replay can create records that are not new human directions.
  • Codex token totals use cumulative token_count receipts, but a fork's replayed receipt establishes its opening baseline rather than counting again as new use. Claude usage is deduplicated by exact message ID before summing.
  • Repository attribution uses explicit session CWD and tool workdir/workspace_root evidence. Paths must resolve to real Git repositories. The scanner canonicalizes worktrees and aliases. A long session that touches several repositories is assigned to its dominant repository, so per-repository token allocation is directional rather than billing-grade.
  • Git counts only commits reachable from each canonical repository's current HEAD with commit timestamps inside the window. Additions plus deletions are textual churn from git numstat, not unique logical lines or a proxy for value. A repository touched only through an unmerged or no-longer-reachable branch can therefore appear as read-only in this reconstruction.
  • The Live Dictation service's Cloud Run outbox sequence is the authority for finalized utterances. Exact IDs reconcile those utterances to local bridge outcomes. Browser draft telemetry is used only for later destination attribution.
  • A Live Dictation prompt is a canonical Codex or Claude user message containing the service's exact [From Marvin dictation] provenance marker. A prompt can contain multiple dictation segments.
  • Director destination telemetry begins after the service outbox, so absence from the workstream table is unknown destination, not zero voice use.

The verdict

The weekend's signature is not raw code volume. It is the emergence of a human–multi-agent operating system under contest pressure. Gene used the CFP application as the mission, Live Dictation as the hands-free voice interface, Director as the control plane, CLJ-SURGEON as a precision instrument, and Codex/Claude as a traceable fleet. The factory improved while the product moved through it. The factory can now prove exactly which conversation did what.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment