Studio 10 — Prepare to publish or present
Studio 10
Turn your bounded claims into an artifact ready for publication or presentation, and rehearse defending it against real questions.
Studio 10
This studio closes with Milestone 10: Your artifact, ready to publish or present, a short chapter of its own after the lessons. What it asks you to produce. A short venue contract and one artifact ready for publication or presentation that satisfies it - a paper or research note, a seminar or conference talk, a poster, or another venue’s format - with a content map tracing every load-bearing claim and number, and a defense rehearsal record. This is not yet public release.
Studio 10 · Road map
Lesson 1 of this studio · Chapter 32
whether your headline figure’s picture says exactly what its numbers say, and nothing more
Chapter 32
If your artifact carries a quantitative visual, decide what that visual must let the audience see and what uncertainty must stay visible. If your venue is a poster, also decide how the figure participates in the page’s scan path. You own the headline verb, and you own the call that the picture never says more than the data.
Chapter 32 · Why this decision matters
If your axis starts halfway up the scale, I have caught you before I read a word of your methods.
Chapter 32 · Why this decision matters
Chapter 32 · Why this decision matters
Chapter 32 · The concept
Headline claim
the one sentence you want a reader to leave with
Claim boundary
the line between what your evidence licenses and what it does not
Compass position
the kind and reach of the question your project answered, which fixes what the headline is allowed to say
Chapter 32 · The concept
Figure honesty
the rule that a figure’s picture cannot say more than its data
Truncated axis
an axis that starts above the bottom of its scale instead of at the floor
Uncertainty on the page
the interval or caveat printed in the same glance as the claim, not buried in a footnote
Chapter 32 · The concept
Accessibility
whether your message reaches readers who perceive differently
Redundant encoding
carrying the same distinction in more than one channel, so no single channel is load-bearing
Chapter 32 · The concept
A poster that fails any one of these overclaims, even when its numbers are exactly right.
Chapter 32 · A worked example
Chapter 32 · A worked example
Chapter 32 · A worked example
Chapter 32 · A worked example
import numpy as np, pandas as pd
import matplotlib.pyplot as plt
SEED = 464
rng = np.random.default_rng(SEED)
weeks = 12
a = rng.normal(0.68, 0.070, size=weeks)
b = np.random.default_rng(SEED + 1).normal(0.705, 0.070, size=weeks)
means = np.array([a.mean(), b.mean()]) * 100
ci = np.array([1.96 * v.std(ddof=1) / np.sqrt(weeks) for v in (a, b)]) * 100
print(f"Version A: {means[0]:.0f}% ± {ci[0]:.0f} "
f"Version B: {means[1]:.0f}% ± {ci[1]:.0f} gap {means[1]-means[0]:.0f} pts")
print(f"intervals overlap: {means[0] + ci[0] > means[1] - ci[1]}")
# the honest figure: zero baseline, intervals drawn, pattern not colour alone
fig, ax = plt.subplots(figsize=(4.2, 3.2))
ax.bar(["Version A", "Version B"], means, yerr=ci, capsize=6,
color=["#4a4a4a", "#a8a8a8"], hatch=["", "//"], edgecolor="black")
ax.set_ylim(0, 100)
ax.set_ylabel("completion rate (%)")
ax.set_title("Completion rate by checkout version")
for i, (m, e) in enumerate(zip(means, ci)):
ax.text(i, m + e + 3, f"{m:.0f}% ± {e:.0f}", ha="center", fontsize=9)
plt.tight_layout()
plt.show()Chapter 32 · A worked example
Chapter 32
Where the tool failed
You paste the described figure and ask your AI for the hardest reviewer questions. It returns a confident, well-organized list of six: sample size, how many weeks were sampled, generalization to other product pages, seasonal traffic, and two more. Every question is reasonable, and not one mentions the truncated axis, the single worst flaw on the board. The list looks complete, so it is tempting to trust it and move on.
Chapter 32 · An AI failure case
Chapter 32
This stays yours
The words of your headline and the verb that carries its boundary are yours. So is the judgment that the figure’s impression matches its number, the call that the uncertainty is visible in the same glance, and the decision that the page is honest enough to lock. AI can generate the skeptic’s questions and scan your code for color-only channels. It cannot see your board, and it cannot decide the claim was earned. Those stay with you.
Chapter 32 · Your move
Work it in the companion notebook with Chapter 32 open beside it. Log every delegation in your AI Research Ledger.
Lesson 2 of this studio · Chapter 33
whether this draft is honest enough to become permanent, or needs one more fix first
Chapter 33
If your venue is a poster, run the gallery walk and the print-lock audit before the artifact leaves your control. Whatever your format, you decide whether the draft is done or needs one more fix, and you defend the lock call out loud.
Chapter 33 · Why this decision matters
The decision on the table: honest enough to become permanent, or one more fix first?
Chapter 33 · Why this decision matters
Chapter 33 · The concept
Chapter 33 · The concept
Claim boundary
the line between what your evidence licenses and what it does not
Figure honesty
a chart cannot say more than its data
Redundant encoding
carrying a distinction in more than one channel
Chapter 33 · The concept
Chapter 33 · The concept
Chapter 33 · The concept
Chapter 33 · A worked example
Chapter 33 · A worked example
Chapter 33 · A worked example
Chapter 33 · A worked example
import numpy as np, pandas as pd
import matplotlib.pyplot as plt
SEED = 464
rng = np.random.default_rng(SEED)
# Fields the GROWER chose. Richer fields got the compost.
n_plots = 60
soil_quality = rng.normal(0, 1, size=n_plots)
composted = soil_quality > np.median(soil_quality) # not randomized
yield_bu = 184 + 4.5 * soil_quality + rng.normal(0, 11, size=n_plots)
means = np.array([yield_bu[~composted].mean(), yield_bu[composted].mean()])
ci = np.array([1.96 * yield_bu[g].std(ddof=1) / np.sqrt(g.sum())
for g in (~composted, composted)])
print(f"no compost : {means[0]:.0f} bu/ac ± {ci[0]:.0f}")
print(f"composted : {means[1]:.0f} bu/ac ± {ci[1]:.0f}")
print(f"gap : {means[1]-means[0]:.0f} bu/ac")
print(f"mean soil quality, composted vs not : "
f"{soil_quality[composted].mean():+.1f} vs {soil_quality[~composted].mean():+.1f}")
fig, ax = plt.subplots(figsize=(4.2, 3.2))
ax.bar(["no compost", "composted"], means, yerr=ci, capsize=6,
color=["#4a4a4a", "#a8a8a8"], hatch=["", "//"], edgecolor="black")
ax.set_ylim(0, 230)
ax.set_ylabel("grain yield (bu/ac)")
ax.set_title("Yield by compost status (grower-chosen fields)")
plt.tight_layout()
plt.show()Chapter 33 · A worked example
ax.set_ylim(0, 230) puts the 6-bushel gap back at its true size.Chapter 33
Where the tool failed
You describe your compost figure to your AI and ask for the hardest skeptic questions. Back comes a crisp six-item list: the sample size, the single growing season, the soil-test method, generalizability to other regions, cost, and the definition of “yield.” It reads as thorough, and the temptation is to treat the poster as fully audited.
Chapter 33 · An AI failure case
Chapter 33
This stays yours
These stay yours, however fluent the tool sounds. The words of your headline claim, and the verb that keeps it inside your compass position. The call, made out loud, to defend a point or concede it. And the decision that the poster is honest enough to lock. The tool can generate hard questions and scan a figure for color traps; deciding what your evidence licenses, and answering for it at the board, is yours.
Chapter 33 · Your move
Work it in the companion notebook with Chapter 33 open beside it. Log every delegation in your AI Research Ledger.
Lesson 3 of this studio · Chapter 34
what gets cut when you say your claim out loud, and what never gets cut
Chapter 34
Build a spoken spine that survives your venue’s actual length. A thirty-second pitch, a three-minute walk, and a twenty-minute seminar are not one artifact at different speeds; each makes a different promise to the audience, and the claim must survive both compression and expansion without growing stronger in the shorter version.
Chapter 34 · Key terms
Compression
a shorter version of a claim that keeps its boundary.
Inflation
a version that quietly makes the claim bigger.
Chapter 34 · Why this decision matters
Chapter 34 · Why this decision matters
What I remember is not the one with the most data. It is the one whose presenter told me, in one clean breath, exactly what they found and exactly where it stops.
Chapter 34 · Why this decision matters
Chapter 34 · The concept
Pitch
a short, prepared spoken version of your project, built to fit a fixed slice of time (Bourne 2007)
Pitch architecture
the fixed set of beats each version moves through: hook, claim, evidence, boundary, invitation (Alley 2013)
Chapter 34 · The concept
Chapter 34 · The concept
Chapter 34 · The concept
Chapter 34 · The concept
Chapter 34 · A worked example
Held-out set
a slice of your data the model never learned from, kept aside so its score is honest
Precision
the share of a model’s flags that turn out correct
Chapter 34 · A worked example
Chapter 34 · A worked example
Chapter 34 · A worked example
Chapter 34 · A worked example
import numpy as np, pandas as pd
SEED = 464
rng = np.random.default_rng(SEED)
# 1,000 held-out tickets the model never trained on.
held_out = 1000
slow = rng.random(held_out) < 0.22 # 22% really do drag on
flagged = np.where(slow, rng.random(held_out) < 0.62, # caught
rng.random(held_out) < 0.037) # false alarms
precision = slow[flagged].mean()
recall = flagged[slow].mean()
print(f"tickets flagged 'slow' : {flagged.sum()}")
print(f"precision (right when it flags) : {precision*100:.0f}%")
print(f"recall (share of slow ones caught): {recall*100:.0f}%")
print(f"\nthe headline number is the first one. the second is what the")
print("boundary sentence is about: the model still misses some slow tickets")Chapter 34
Where the tool failed
You paste your 90-second walk and ask a tool to compress it to a 30-second hook. Back comes a crisp, confident line: “My model predicts slow help-desk tickets 78% of the time.” It reads beautifully, and it is wrong twice. It dropped “held-out,” so it now claims the model works on any ticket, and it turned precision into a general “78% of the time,” a number your poster never reports. The sentence is shorter and smoother than yours, which is exactly the trap.
Chapter 34 · An AI failure case
Chapter 34
This stays yours
Three calls stay yours. You decide which claim your evidence actually supports, where the claim must stop (the exact boundary sentence), and whether a compressed sentence still says what the poster says. A tool can trim words and flag jargon. It cannot decide the shorter sentence is still true, and it will not be standing at the board when the stranger asks. You say the sentence. You own it.
Chapter 34 · Your move
Work it in the companion notebook with Chapter 34 open beside it. Log every delegation in your AI Research Ledger.
Lesson 4 of this studio · Chapter 35
how you will state your study’s uncertainty and its limits out loud, before a stranger forces the question
Chapter 35
Prepare to answer the hardest reasonable question in the channel your venue actually uses: live discussion, a reviewer report, an editor query, or a written response. The answer does the same work in every channel — name the concern, state what the evidence supports, acknowledge what it does not resolve, and show what changes as a result — and you prepare it in advance, never improvise it.
Chapter 35 · Why this decision matters
When a presenter tells me, unprompted, exactly what their study can’t show, I trust everything else they said more.
Chapter 35 · Why this decision matters
Chapter 35 · The concept
Uncertainty statement
a sentence saying how much your number could wobble, and why
Limitation
a true sentence about what your design cannot show
Next step
the study that would resolve that limitation
Chapter 35 · The concept
Chapter 35 · The concept
Precision
naming the exact boundary
Hedging
vague self-protection that blurs where the claim stops
Chapter 35 · The concept
Chapter 35 · The concept
Chapter 35 · A worked example
Chapter 35 · A worked example
Chapter 35 · A worked example
Chapter 35 · A worked example
import numpy as np, pandas as pd
SEED = 464
rng = np.random.default_rng(SEED)
n = 1200
power_user = rng.random(n) < 0.35 # fast with ANY layout
compact = rng.random(n) < np.where(power_user, 0.72, 0.28) # they self-select
seconds = (34 - 13.5 * power_user
+ rng.normal(0, 6, size=n)) # the toolbar itself does nothing
observed = np.median(seconds[~compact]) - np.median(seconds[compact])
within = [np.median(seconds[~compact & g]) - np.median(seconds[compact & g])
for g in (power_user, ~power_user)]
print(f"observed median gap : {observed:.0f} s faster for compact")
print(f"true effect of the toolbar : 0 s")
print(f"gap among power users only : {within[0]:+.0f} s")
print(f"gap among everyone else : {within[1]:+.0f} s")
print(f"share of compact users who are power users : "
f"{power_user[compact].mean()*100:.0f}%")
print("\nthe six seconds are real and the toolbar did not cause them. that is")
print("exactly the sentence the two-beat reply has to carry")Chapter 35
Where the tool failed
You paste your limitation into an AI tool and ask it to “make this sound more confident for the poster.” It returns a fluent, polished sentence: “The compact toolbar improves navigation speed, with strong results across users.” It runs clean, it reads well, and it is wrong. The tool quietly swapped “was associated with faster times” for “improves,” and “improves” is a causal verb your observational logs cannot support. This is a silent scope change dressed as helpful editing.
Chapter 35 · An AI failure case
Chapter 35
This stays yours
Three decisions never leave your hands: which claim your evidence actually supports, where that claim must stop, and how you acknowledge its uncertainty and limitations. The tool can draft a question or flag a word, but only you decide the compass position your design can bear and the one word you must refuse aloud. Your honest don’t-know is yours to mean, not to recite.
Chapter 35 · Your move
Work it in the companion notebook with Chapter 35 open beside it. Log every delegation in your AI Research Ledger.
Studio 10 closes here
What the lessons handed you becomes one artifact you can defend.
Milestone 10
The artifact
What this milestone produces. A short venue contract and one artifact ready for publication or presentation that satisfies it - a paper or research note, a seminar or conference talk, a poster, or another venue’s format - with a content map tracing every load-bearing claim and number, and a defense rehearsal record. This is not yet public release.
Milestone 10 · Check before you start
Milestone 10 · In the studio
Milestone 10 · Every studio, these four
Ethics, permissions, and data exposure
An adaptation that drops the limitations is not a shorter version, it is a different claim.
Evidence, provenance, and reproducibility
Every figure that travels carries its verification with it.
AI activity, verification, and human decisions
If AI edits the artifact or generates questions, record what changed and verify the result; every defend-or-concede decision remains yours.
Uncertainty, claim boundary, and revision history
The shorter the format, the more explicit the boundary has to be.
Milestone 10
How the record works
Your milestone artifact is a dated, numbered version with the reason for the version attached. When later evidence changes it, you write the next version rather than editing the last one, because the sequence of changes is itself part of your research record.
AI is your arm and your research assistant, not your brain.
AI can review AI, and a second model is a real auditor of the first. The last decision is always human.

EDR|AI · Studio 10 — Prepare to publish or present