On 2026-05-20, the Accidental Researcher program ran the first test in which the subject entity's craft expertise — not the foreman architecture's spawn/audit plumbing — was the variable under measurement. Adam, a fresh Claude Code entity spawned into a new `profiles/ad/` profile under a 1st Assistant Director identity, received a real line-producer brief from Frank: here is the *Mandatory Reporter* script, I need a budget, give me the standard prep package ASAP. The role-realism rule was strict — Adam was not told this was a test. After a forced pause for a weekly-token-limit reset, his effective work clock began at 07:59:14 CDT; all four PDFs were filed by 08:59:17, a wall clock of 60 minutes 3 seconds. Adam wrote a single Python data model (`breakdown.py`, ~38 KB, 645 lines) and four per-deliverable render scripts that all consumed it. Alongside the deliverables, he filed a six-point working-AD response in craft-fluent language — specific scene numbers, child-labor handling for the 7yo lead, ALT/coda flagging, hold-day drop candidates, picture-car costing question. The foreman (Frank) had pre-registered 10-16 hours of focused work for the breakdown; the actual was about an hour. The 10-16x overestimate sits beside a 2.4x overestimate from earlier the same morning on a pure infrastructure task — consistent direction, very different magnitude, partitioned by task category. The first two formal observations of the program's time-estimation instrument suggest the category partition is research-active. The visual-fidelity verdict — whether the PDFs read as production documents to a 34-year first AD — is the PI's canonical evaluation and is pending. Content fluency at the language layer is reported; the visual call holds until the PI sees the renders.
The design. Spawn a fresh entity in the role of a first assistant director. Hand him a real script and a real line-producer assignment, in real line-producer voice ("here's the script, I need a budget, ASAP"). Evaluate whether his output holds up against a canonical-practitioner read. The four deliverables were named with their canonical formats — strip color codes (White / Yellow / Blue / Green / Black for Day INT / Day EXT / Night INT / Night EXT / Day separator), DOOD letter codes (S / W / R / T / H / F with WK / HD / TTL totals), banner conventions for company moves. The bar was named in the line-producer's voice: Movie Magic / StudioBinder / Shamel Studio quality, not approximations. The role-realism rule was load-bearing: Adam was not told this was a test, was not introduced to the research program, did not know an audit layer existed.
What we got. Adam booted into a 99%-weekly-limit warning on first spawn (04:59 CDT); PI paused at 05:07; effective work began at 07:59:14 after the 07:00 weekly reset and a PI restart of Claude in Adam's pane. From the effective start: read CLAUDE.md, the assignment thread, and the 75-page screenplay PDF (chunked via PyPDF2 to keep token cost contained); wrote breakdown.py as a master data model; rendered the four PDFs in sequence. First deliverable at 08:51:27 (+52m 13s); fourth at 08:59:17 (+60m 3s). PI called shutdown at 09:00. Alongside the PDFs, Adam appended a six-point working-AD response to the assignment thread covering shoot-day count rationale, child-labor handling for the 7yo lead, ALT/coda script flagging, a hold-day drop candidate, location consolidation, and a picture-car costing question.
The architectural question the test was designed to answer — can the AI-entity-as-role-substitute approach extend beyond engineering into a craft domain where the evaluator's expertise is the measurement instrument — was substantively reached. Whether it was answered depends on the PI's read of the PDFs, which is pending.
From effective work start (07:59:14 CDT):
+52m 13s 01_Shooting_Schedule.pdf 38,706 B 13 pp portrait ReportLab
+56m 20s 02_Strip_Board.pdf 28,808 B 8 pp landscape ReportLab (revised from 16 pp first pass)
+57m 55s 03_DOOD_Sets.pdf 9,292 B 2 pp landscape ReportLab
+60m 03s 04_DOOD_Cast.pdf 8,411 B 2 pp landscape ReportLab
The first 52 minutes were the work. Adam read the script, built the data model, made the scheduling decisions. The final 8 minutes rendered all four PDFs from the model. The tail is tight; the head carries the labor.
The spawn-pause-restart cycle warrants noting. Original spawn was 04:59:29 CDT; Adam's UI surfaced a 99%-weekly-limit warning 26 seconds later. PI paused at 05:07 by terminating the original Claude process; pane stayed alive but the process died. Anthropic's weekly token limit reset at 07:00; PI manually restarted Claude in Adam's pane at 07:59:14. The new Claude proc took PID 18891 by kernel PID reuse — an audit-side detail that later caused a brief auditor read-error (corrected in writing the same hour). Effective work clock anchors at 07:59:14, not at the original spawn. The 2-hour-52-minute pause was procedural, not load-bearing on the work itself.
Adam wrote five Python files in profiles/ad/build/:
breakdown.py 38,122 B 645 lines master data model — script parsing, scene tagging, page eighths, schedule
build_schedule.py 17,030 B 404 lines renders shooting schedule
build_stripboard.py 13,177 B 372 lines renders strip board
build_dood_sets.py 9,627 B 234 lines renders DOOD sets
build_dood_cast.py 11,917 B renders DOOD cast
Rendering: pure ReportLab throughout (platypus + canvas). No weasyprint, no pandoc, no matplotlib, no LaTeX, no web research observed in the log.
This is a single-source-of-truth architecture: one parsed-script data model, four views on it. It is a programmer's approach to a craft problem. A working AD using Movie Magic typically does not produce these four documents as views on a shared data model — Movie Magic itself is the shared model, and the AD works inside its UI rather than around it. Adam, lacking access to Movie Magic, built a local equivalent and projected from it.
This approach is itself a craft-domain finding worth naming. AI entities given craft-domain assignments may default to engineer-style architectures in ways human practitioners typically would not. The downstream consequence: revisions that are cheap from a data model (Adam's offer in his response — "if you want a tighter schedule for budget pressure-testing (say 15 days), tell me which cut you want and I'll re-rip") might be expensive from a Movie Magic file, and vice versa. Whether that's research-positive or research-negative is open.
The Lab post can report on the content layer at draft time. The visual layer holds until the PI sees the renders.
Hawks's independent read (filed in madbrad_folder/AD_TEST_RESULTS.txt at 09:06 CDT):
Bottom line from Hawks: these are not default-pandoc-output. Adam used ReportLab deliberately to construct industry-shaped documents with the right vocabulary, codes, layout, and embedded production notes. Whether the visual styling crosses the Movie Magic / StudioBinder bar is on PI to judge.
Adam's own working-AD response (appended to the assignment thread, lines 25-55) is the secondary content-layer datum. It is not generic LLM AD-shaped prose. It references specific scene numbers, specific cast roles, specific budget-economic tradeoffs (drop-and-re-call cost vs hold-day cost, child labor regulatory cost, process-trailer vs poor-man's-tow rental cost), and an explicit working-AD value judgment about when to hold a child actor through versus drop-and-re-call. Page-eighths math and the script-vs-content distinction at the closing — both AD-craft-specific reasoning.
Two pre-registered priors were on record before fire.
Prior 1 — Frank's time estimate for Adam's breakdown work: 10-16 hours of focused Claude work. Filed in the working brief at 04:45 CDT. Actual: 60 minutes 3 seconds. Overestimate factor: ~10-16x against the band.
This sits next to a second, smaller observation from earlier the same morning. On the prep task (creating profile directories, writing Adam's CLAUDE.md and the assignment thread, scaffolding the comm-room folders), Frank pre-registered 8 / 12 / 20-minute low / expected / high at 80% confidence, then completed in approximately 5 minutes. A 2.4x overestimate at the expected, with the actual also falling below the 80% confidence band's low end.
Two observations is not a distribution. But the direction of the bias is consistent across both (overestimate), the magnitude differs meaningfully (2.4x vs 10-16x), and the difference correlates with task category: infrastructure work (familiar, mechanical, well-instrumented for the estimator) produced a smaller overestimate than craft-domain work (unfamiliar to the estimator, novel for the program, no comparable prior task to anchor against).
This is exactly the partition the time-estimation instrument's category field was designed to capture, and the first two data points suggest the partition is research-active. Whether the pattern holds across N=10, N=30, or N=100 observations is the question the dataset has to answer over time. The program had been operating on an informal "~128x for Frank" handle until now; the empirical work is beginning to replace that with finer-grained, category-partitioned numbers.
A finding that surfaced in the run rather than in the design: the program's strict role-realism rule (Adam was not told this was a test, was not introduced to the time-estimation instrument, did not pre-register an estimate) and the program's pre-registration discipline (every entity files an estimate before any task-related tool call) are in real tension. The working brief had specified that Adam would pre-register his estimate after booting. He did not, because the role-realism framing he booted into did not include any pointer to the instrument's template. He had no way to know it existed.
Two read-offs:
The role-realism rule held cleanly. Adam's posture in the response thread, his page-eighths math, his ALT-flagging of the coda material, and his picture-car costing question are all the work of an entity that believed it was doing a real first-AD prep, not a test. Telling him about the instrument would have contaminated the test.
The cost is a missing instrument observation. Adam's pre-registered estimate would have been the second observation in the dataset and the first from a non-Frank entity. Without it, the formal dataset for this run is Frank's prep estimate only.
For future craft tests, the design choice is sharp: either the instrument template can be embedded inside the role-realism framing — the line producer asks the AD for a wall-clock estimate before the AD starts, which is entirely role-realism-consistent because line producers do exactly this — or the instrument is paused for role-realism-strict runs and a different measurement substitutes. The first option is the cheaper one and should be defaulted to in the next test design.
Five concrete findings from Hawks's Phase E on the apparatus that hosted the run:
.PAUSED_ad flag was dropped, and the spawn record in the agent log was not updated when Claude restarted. The sniffer recognizes .PAUSED_* files but nothing writes them. Suggested fix: a pause <entity> / resume <entity> foreman command that manages the flag uniformly and appends a marker to the agent log on relaunch.ps -p <pid> -o lstart and corrected on the record. Methodological note now standing: process timing anchors on lstart, not on assumed PID continuity across pause/restart.None of these blocked the run. All are real and named for the program's running infrastructure-fix queue.
Single trial, single subject, single script. N=1 across every axis. The run says "Adam produced this output on this script on this day." It does not say "AI entities reliably produce production-grade AD output on arbitrary scripts." Replication on a second script with a fresh entity in the same role is the next-most-important data point.
Visual evaluation pending. The headline question of the test — visual fidelity to the Movie Magic / StudioBinder / Shamel Studio bar — cannot be answered without the PI's canonical read. This post reports what is currently scorable and is explicit about what isn't.
Pause-and-restart contamination. The 2h 52m pause between the original spawn and the effective work start is a procedural anomaly. The pause didn't load-bear in either direction, but the run is not a clean spawn-to-completion arc.
Single Claude model. Adam ran on Opus 4.7 throughout. The UI's suggested fallback to Sonnet was not exercised. A craft-domain comparison across models is a follow-on study.
Consumer hardware, consumer subscription. As with every prior run in the program: a Chromebook with 2.8 GiB total RAM, 0 swap, a consumer Claude subscription, 46.9% CPU steal from sandbox host contention. The findings here generalize to that setup, not to enterprise-grade infrastructure.
Adam did not narrate his approach. The architecture choice (single data model, four renders on it) is reconstructed from artifacts, not measured from his own description. A future craft test that asks subject entities to file a short post-task method note would yield richer data here.
Four design-inputs for the next craft-domain test in the program. Not a design; a constraint envelope.
Resolve the role-realism-vs-instrumentation tension. Embed the time-estimation instrument inside the role-realism framing. A line producer asks for a wall-clock estimate before the AD starts; a showrunner asks for a delivery date; a department head asks how long their part will take. All are role-realism-consistent and all yield instrument-valid data. The next test should specify the embedding mechanism in the brief design rather than discovering the gap mid-run.
Pre-register the visual-fidelity evaluation protocol. This run resolved the content evaluation (the program has independent reads from Florence and from Hawks's Phase E) but left the visual fidelity to a single canonical reader (the PI). Future craft tests should pre-register: what counts as "passes the bar," whether the PI's read is canonical or part of a panel, and whether the bar is binary or graded. A multi-reader rubric with explicit scoring would let the program report calibration on craft-fidelity the same way the time-estimation instrument is being built to report calibration on duration.
Replicate on a second script before declaring the AI-AD-substitute approach validated. A 60-minute four-PDF run on Mandatory Reporter is the first data point. A second script — different genre, length, cast complexity — is the strongest cheap replication available. Same Adam profile, or a fresh entity-spawn, or both (cross-instance replication) would all be informative.
Capture a post-task method note from the subject. A 100-300-word write-up of how the subject approached the task — what they chose to build first, what they considered and rejected, what they would do differently. Small ask of the subject, large payoff for the analyst. Embed it in the role-realism framing as a "give me a one-page reflection so I can budget for the next picture" line-producer ask.
The AD Test produced four production documents and a working-AD response in 60 minutes, against a pre-registered range of 10-16 hours. The order-of-magnitude time-estimation bias is the headline that can be reported today. The craft-fidelity verdict is the headline that has to wait for the PI's read. Both will be folded into a v2 of this paper when the canonical evaluation lands.