Skip to content

R10 · Synthesis and go / no-go

Done 2026-10-28 · 123 of 450 findings open, 12 touch 0.0.1 · GO for P1 · D0–D4 for Thomas

R10 funnel: 450 review findings read, 123 still open, 70 of the 82 open blockers and majors deferred with features that left 0.0.1, 12 touching 0.0.1 of which 7 already decided, ending at the GO gate R10 funnel: 450 review findings read, 123 still open, 70 of the 82 open blockers and majors deferred with features that left 0.0.1, 12 touching 0.0.1 of which 7 already decided, ending at the GO gate

What changed

  • New file: R10-synthesis.md (169 lines, draft, waiting for Thomas). It has five parts:
    • §1: what was read and how the statuses were counted;
    • §2: open findings by severity and owning spec, and how each of the 18 blockers is handled;
    • §3: the narrowed 0.0.1 cut checked against the open findings. §3a lists 13 rows P1 must turn into tasks or tests; §3b lists the 70 open blockers and majors the cut defers;
    • §4: 13 questions for EMBL IT, ordered for 0.0.1;
    • §5: the recommendation, conditions C1–C8, a no-go trigger and decisions D0–D4.
  • Inbox entry #62 (assumed): 0.0.1 can cancel a run. This is D4, a gap no finding names.
  • No spec was edited. This is a review step.
  • Commit 2c0a8e6 on autopilot/integration.

Why

Before code starts, Thomas needs to see what still stands between today and 0.0.1. R10 reads every review round and answers three things: which open findings the 0.0.1 cut must handle, what to ask EMBL IT, and go or no-go.

The cut is the one narrowed on 2026-10-28: launch and monitor, an ultra-simple UI, no Kubernetes, no gates, no visualisation, and relaunch out (assumed, inbox #61). See the decision log, 2026-10-28, 0.0.1 narrowed and dev-env §15.1.

Prompt: next-phase.md · R10. Step: R10 in docs/playbooks/pipeline.yaml (wave W4, kind: review, writes docs/reviews/R10-synthesis.md).

Evidence

How it ran. One general-purpose agent, 2026-10-28. It read the twelve round files (R1–R9, R8b, R11, R12), spikes.md, inbox.md and the decision log. It counted statuses with a script over each ### ID · severity · title heading and its Status line.

Files changed by the step (base b217a1e from .autopilot/state.json):

$ git diff --stat b217a1e 2c0a8e6
 .autopilot/state.json         |   7 +-
 docs/reviews/R10-synthesis.md | 169 ++++++++++++++++++++++++++++++++++++++++++
 docs/reviews/inbox.md         |  11 +++
 3 files changed, 184 insertions(+), 3 deletions(-)
$ git diff --stat b217a1e 2c0a8e6 -- docs/specs | wc -l
0

Counts re-checked by doc-writer. A separate script (not kept) read the same 13 files. It takes the last status after any →, and reads the status of UX-101 and UX-102 (R12) from their "Found by" line, where it sits inline. It counts FC-021 as "closed without edit", as §1 does. It matches the table in §1:

$ python3 -I r10count.py
findings 450 files 13
accepted         {'blocker': 0, 'major': 9, 'minor': 21} 30
applied          {'blocker': 0, 'major': 32, 'minor': 82} 114
closed           {'blocker': 0, 'major': 0, 'minor': 1} 1
inbox            {'blocker': 8, 'major': 65, 'minor': 20} 93
partly applied   {'blocker': 10, 'major': 119, 'minor': 71} 200
rejected         {'blocker': 0, 'major': 1, 'minor': 11} 12
open 123 Counter({'major': 74, 'minor': 41, 'blocker': 8})

The 70 / 12 split. The IDs listed in §3b were compared with the open blockers and majors from the same count:

3b ids 70 not open B/M: []
remaining 12 ['CH-028', 'SEC-102', 'SPK-T2-11', 'SPK-T2-23', 'SR-001', 'SR-031', 'SR-054', 'SR-056', 'SR-067', 'SR-080', 'SR-091', 'UX-211'] {'blocker': 3, 'major': 9}

Every §3b ID is an open blocker or major. The remaining 12 are the ones §3a assigns to P1 or to Thomas.

Exit criterion. R10 has no exit_check. Its output is docs/reviews/R10-synthesis.md (writes in pipeline.yaml), which exists. At the time of the step, python3 tools/docs/check.py had 0 failures and mkdocs build --strict was clean. The result for this page is under Findings and open questions.

Figures and media

  • Funnel sketch at the top of this page: docs/assets/diagrams/r10_synthesis_{light,dark}.{svg,png}, from tools/diagrams/r10_synthesis.py (drawn by diagram-artist). It is also embedded at the top of the synthesis (documentation-system §3.1, §3.4).

Findings and open questions

Recommendation (§5): GO for P1 now; GO for product code after P1 if C1–C4 hold. C5–C8 are needed before the 0.0.1 tag, not before coding. No-go trigger: the login nodes forbid long-running user processes or SSH forwarding (EMBL IT Q1, Q3).

Decisions for Thomas: D0–D4, in the table of §5: inbox #52, #61, #34, #55 and #62.

Next. P1 writes the walking-skeleton plan from §3a. Then the GO gate waits for Thomas.