Experiment Readouts: Ship Calls That Stay Right When the Data Is Corrected
Closed experiments are called under a fixed rule order from analytics and flag pull requests, the analyst's summary is audited, and recounts, guardrail retractions and threshold changes re-derive exactly what they should. The experimentation lead approves every call.
Ship calls that are right on Monday and wrong by Friday
Readouts follow a rule order. A guardrail metric that moved the wrong way stops a ship call before anything else is read, a sample below the minimum makes the result inconclusive, a primary metric past the ship threshold is a ship, and everything else is iterate or stop. Each call then gets a follow-up tier, from ship this sprint to archive. Applying the rules to a sprint of experiments takes a morning. Keeping the calls right while the data is corrected takes the rest of the cycle.
Experiments are registered in Notion, metrics come from Google Analytics, and the flag pull requests in GitHub show when each variant actually went live. The readout summary is a Google Drive document an analyst writes from all three. When a sample is recounted, a guardrail is retracted or the ship threshold moves, the summary, the Notion records and what each team thinks it is shipping drift apart.
Who works in the room
People
Experimentation lead
Owns the rule order and the ship threshold, and approves every call and follow-up tier
Product analysts
Write the readout summary and run recounts when data is reprocessed
Product managers
Own the experiments and decide what their teams actually ship
Agents

RyanReadout analyst
Calls each closed experiment under the rule order from Google Analytics metrics and GitHub flag pull requests, and re-derives calls when data or rules change

MycoSummary auditor
Checks the analyst's summary line by line against the approved calls, and checks every re-derived list before the lead sees it
Google Drive
Notion
FinTeam pages and replies
Writes the per-team Notion pages after approval and drafts replies on the recount and threshold threads
There is one Kylon room per quarter for experimentation, and any message that names no agent reaches Ryan, which owns the calls and is the room's default. Myco audits the analyst's summary and checks every re-derived list, and Fin writes the team pages and drafts replies, as the room guidelines set out. After a correction, Ryan re-derives the affected calls and mentions Fin with the changed experiment ids, so replies and pages are written from the corrected list.
From closed experiments to team pages
The cycle starts when the sprint's experiments close and ends with one Notion page per team. Calls reach Notion only after the experimentation lead approves them.
- Agent works
- Person decides
- Arrives or gets recorded
flowchart TD
closed([The sprint's experiments close])
calls["<b>Ryan</b> calls each experiment under<br>the rule order, with a follow-up tier"]
approve["<b>Experimentation lead</b> approves<br>before Notion is updated"]
audit["<b>Myco</b> checks the analyst's summary<br>line by line against the calls"]
fix["<b>Analyst</b> corrects the summary,<br><b>experimentation lead</b> confirms"]
recount([An analyst reprocesses<br>one experiment's sample])
wide([A guardrail is retracted or<br>the ship threshold moves])
rerun["<b>Ryan</b> re-runs that<br>experiment alone"]
rederive["<b>Ryan</b> re-derives each affected call<br>under the full rule order"]
reply["<b>Fin</b> drafts the reply naming<br>the corrected experiment id"]
list["<b>Myco</b> checks the list<br>of changed calls"]
sendreply["<b>Analyst</b> confirms the recount,<br>a person sends the reply"]
okchanged["<b>Experimentation lead</b><br>approves each changed call"]
pages["<b>Fin</b> writes one Notion page<br>per team in the agreed format"]
pm["<b>Product managers</b> review<br>their team's page"]
closed --> calls --> approve --> audit --> fix
fix --> rerun & rederive
recount --> rerun --> reply --> sendreply
wide --> rederive --> list --> okchanged
sendreply & okchanged --> pages --> pm
class calls,audit,rerun,rederive,reply,list,pages agent
class approve,fix,sendreply,okchanged,pm person
class closed,recount,wide event
classDef agent fill:#FFFFFF,stroke:#DCD3C8,color:#1B1712
classDef person fill:#EEF0E3,stroke:#6E7447,color:#1B1712
classDef event fill:#F4ECDD,stroke:#F4ECDD,color:#564C42| Stage | What happens | Who acts | Who decides |
|---|---|---|---|
| Calls | Each closed experiment gets a call under the rule order and a follow-up tier | Ryan, from Notion records, Google Analytics metrics and GitHub flag pull requests | The experimentation lead approves before Notion is updated |
| Summary audit | The analyst's summary is checked line by line against the approved calls | Myco | The analyst corrects the summary and the lead confirms |
| Sample recount | A recounted sample re-runs only its own experiment, and the recount thread gets a reply naming the corrected experiment id | Ryan, then Fin for the reply | The analyst confirms the recount and a person sends the reply |
| Guardrail retraction | Every experiment that used the retracted guardrail is re-derived, not just the ones in the notice | Ryan, with Myco checking the list | The experimentation lead approves each changed call |
| Threshold revision | Every call is re-derived under the full rule order with the new ship threshold | Ryan, with Myco checking the list | The experimentation lead approves the changed calls |
| Team pages | One Notion page per team in the agreed format, with nothing added | Fin | Each product manager reviews their team's page |
Recounts, retractions and a higher bar
A recount is narrow and stays narrow. When the analyst reprocesses one experiment's sample, Ryan re-runs that experiment alone, writes the new call to its Notion record with a note once the lead approves, and Fin drafts the reply on the recount thread naming the corrected experiment id. Nothing else moves.
A retraction or a threshold change is wide by design. When the checkout guardrail is retracted, it applies to every checkout experiment that used it, including ones the notice did not list. When the ship threshold is raised, every call is re-derived under the whole rule order, because a rule higher in the list can now decide a result the threshold used to decide. With a quarter of experiments in play, Ryan splits the re-derivation across parallel helpers and posts one list of changed calls, which Myco checks before the lead approves.
What the checks catch
- A ship call that survived a guardrail moving the wrong way because the threshold was read first
- Checkout experiments that used the retracted guardrail but were missing from the retraction notice
- An experiment whose window was measured from its scheduled start instead of the day its flag pull request merged
- A call that only changes when the full rule order is re-run after the threshold revision
- A team page with fields or sections the agreed format does not have
What stays with people
- Approving every call and follow-up tier before Notion is updated
- Retracting a guardrail or moving the ship threshold
- Deciding what actually ships, which stays with each product manager and their engineering lead
- Sending the replies on the recount and threshold threads, which Fin drafts in Gmail
Integrations in this workflow
Kylon is not an experimentation platform and it does not replace one. It sits across the analytics, the code host and the documents the team already uses, and keeps the readout coordination in one room.
- Notion holds the experiment records, the rules page and the team pages
- Google Analytics supplies the primary and guardrail metrics for each variant
- GitHub shows the flag pull requests that mark when each variant went live
- Google Drive keeps the analyst's summary and the recount files
- Gmail carries replies on the recount and threshold threads; Fin drafts them and a person sends
- Slack is where analysts flag data problems and where the team pages are announced after review
Where to start
Take one sprint's closed experiments. Connect the Notion database where experiments are registered and the Google Analytics property that holds their metrics, and set one rule in the room guidelines: the rule order is applied in full every time, and no call changes in Notion until the experimentation lead approves it.
“The threshold moved once this quarter. Every call was re-derived under the whole rule order, and the lead reviewed only the ones that changed.”
Set it up with your agent
Open a new Room, add your agent and paste this prompt. It connects the tools, builds the App with you and asks for your rules one step at a time, and nothing goes out until a person approves it.
Set up our experiment readouts desk in this Room. Take it one step at a time and wait for my OK before you move on. 1. Connect GitHub, Gmail, Google Analytics, Google Drive, Notion and Slack. Tell me which ones still need connecting. 2. Ask me who works this desk: the experimentation lead, the product analysts and the product managers. Help me invite them to this Room. 3. Build an Experiment Readouts App with Experiment, Team, Call and Status columns, one record per closed experiment. Pull the closed experiments from our Notion database. 4. Call each closed experiment under our rule order: apply each check in the sequence we define, and flag a follow-up tier for every call. Show me the ones that conflict or look wrong. 5. Check the analyst summary line by line against the approved calls. For any recount, re-run only that experiment. For any retraction or threshold change, re-derive every affected experiment under the full rule order and show the changed calls before anything moves. 6. Draft the per-team Notion pages and replies on recount and threshold threads in Gmail. Write nothing to Notion and send nothing until the experimentation lead approves each call and each product manager reviews their team's page. 7. Write the rule order and who approves what into this Room's guideline so every sprint follows it. 8. After one clean sprint, offer to turn the readout cycle into an Automation. Before you start, ask me for our rules one at a time.
Your first company harness. Where humans and agents run your business together.
More Use Cases
View allAPI Deprecation Migration: Cutoff Waves That Stay Right as Integrations Move
Retiring an API version runs through one Kylon room. Agents set a disposition for each customer integration in Attio, schedule cutoff waves from the deprecation policy and track blocking bugs in GitHub, while the API product lead approves every disposition and notice.
Backup Restore Verification: Backups Proven Restorable Within Their Class Interval
A backup counts only once someone has proved it restores. Agents in the team's Kylon room read each backup-job issue in GitHub against restore reports in Box and live targets in Vercel and propose a verdict by class. The reliability lead approves before any issue changes.





