Skip to content

G0 dossier: plan approval and operating model

Implementation hold (owner, 5 October 2026). Chris has put feature implementation on hold. Passing G0 and lifting the hold are separate decisions (tracker rows T-G0 and T-HOLD in the implementation tracker). Approving this dossier approves the plan and its operating model. It does not lift the hold. Even after G0 passes and the hold lifts, every workstream brief (T-RD-00 to T-DH-00) needs Chris's approval before its work starts. Until then nothing in this dossier authorises implementation, migrations, production activation, notification delivery, closing unrelated or dormant PRs, messaging the design session or building a new prototype. Three things stay distinct: planning approval (Chris's owner decisions); brief approval and implementation authorisation (per gate, D1-04, on hold); and work started, gate passed or production enabled (none). Every work item is at most "Brief drafted".

Owner-session update (5 October 2026). Chris's owner session of 4–5 October (consolidation; owner-session integration; archived bundle in owner-session-2026-10-05/) changes this dossier as follows. The text of 4 October below keeps its content and IDs; annotations added on 5 October are marked "Owner session (5 October)".

  • The G0 inputs remain recorded. D1-01 to D1-09, the Q-03 catalogue subset, the tester names (D1-06), #3987's direction and date (D1-03) and D4-18's mapping part stand as recorded in register §1.13 and §1.14.
  • Answered by the owner session. G0-D2 (D3-14: add missing staging seeds, prefer preserving staging data, allow justified staging changes, never production). G0-D3 (D3-15: Firefox, WebKit and touch coverage). G0-D11 (keep the current tester panel; no external recruitment now, D3-08). S0-4 may therefore seed staging and S0-7's browser projects count as evidence, once G0 passes, the hold lifts and their briefs are approved.
  • Still open for Chris. G0-D1 (confirm the reading of D4-18) and G0 approval itself. D2-09 is the package's one open owner decision. G0 does not need it; it is wanted before F4, and F1a and F4 can freeze with both options carried (RD-AE25).
  • Not authorised. The PR dispositions G0-D4 to G0-D10. No dormant PR is closed, and no harvest-and-close, restack or rebase request goes out under this dossier while the hold lasts.
  • G0-X3 stays. The production statistics date is provisional, and gate (b) failed on latency on the idle host on 3 October (X-STATS-b1). Staging continues.
  • New exceptions G0-X14 to G0-X19 (§4) record what the owner session changes in the G0 ask: the design-prototype handoff T-DH-00 as an early design input, the nine specifications replacing parts of the stream briefs (G0-X8), M0-3's superseded draft lease, the F1a ADR drafts' new content, R6 and R7's new meaning, and R1a's decided catalogue.
  • G0-X13 is met. #4013 merged on 4 October 2026 (3dbe41e61, read from git history on 5 October).
  • Updated: the evidence matrix (§3), the options (§6) and notes on Appendices A to D. Appendix B's PR and issue states are from 3 October and were not re-read for this update.
  • Decision counts with their scope are in integrated plan §11: of the 89 owner decisions open before the session, 63 are resolved, replaced, removed or deferred, 25 are alignment, brief, specialist or engineering-contract entries for the briefs, and one (D2-09) is open.

Temporary planning document, prepared on 4 October 2026. It authorises nothing until Chris approves it. G0 is Chris's approval of the integrated review plan and its operating model (delivery operating model §3.2). Passing it authorises the rows in §1 to be built and merged dark, behind default-off flags, with every merge keeping his /approve (D1-04). It never covers production enablement, production data operations, adoption waves or GitOps production values; those keep their own approvals (§3.6). GitHub states were read with gh between 23:40 and 23:50 UTC on 3 October 2026 (Appendix B). Recheck them before acting. Anything this dossier proposes is PROPOSAL. Owner session (5 October): the authorisation that passing G0 gives also waits for the hold lift and for each row's brief approval (the box at the top).

How to reply. "As recommended", or the G0-D and G0-X IDs you change. Then approve G0, or pick an option in §6. Owner session (5 October): G0-D2, G0-D3 and G0-D11 need no reply; G0-D4 to G0-D10 stay unanswered while the hold lasts; lifting the hold is a separate reply.

1. Ask

Authorise these rows (§3.6; plan §12). The R1a and R1b IDs and every size are PROPOSAL. S, M and L mean under 300, 300 to 800 and over 800 non-generated, non-test changed lines; the 300 boundary is this dossier's, and §11.7 targets about 800 lines or fewer, so an L row (M0-1) splits or declares an exception. The plan gives only family PR counts. Dependencies are in Appendix A. A dash means the row can start at once.

ID What it is Stream Review tier Size Criteria Gated on
S0-1 Canonical module skeleton A Supervised M AC-S0-01 S0-6
S0-2 Fixture corpus that xUnit and Vitest read alike L17 Delegated M AC-S0-02 —
S0-3 Baseline benchmark arm on the RV-DS tiers A Delegated S AC-S0-03 Bramble window 2 to run
S0-4 Seed-if-absent job A Delegated M AC-S0-06 S0-1; D3-14 to run on staging
S0-5 STATUS, templates, traceability check, ADR block Programme lead Delegated M AC-S0-04, 07 — (first)
S0-6 Kill switches and admission flag, registered once A Supervised S AC-S0-01 — (first)
S0-7 Acceptance tooling, part 1 L17 Delegated M AC-S0-05 D3-15 for browser evidence
S0-8 Barrier and mixed-version harnesses L17 Supervised M AC-S0-05 —
M0-1 Engine spike: head CAS, command ledger, C# fake A Supervised L AC-M0-01, 06, 08 S0-1, S0-2, S0-3, S0-8
M0-2 Study projection through FEAT-024's seam A Supervised M AC-M0-02, 05 M0-1
M0-3 Draft lease consumed by Save; TypeScript fake A, C Supervised M AC-M0-05 M0-1
M0-4 Dark AF2 adapter C Supervised M AC-M0-05 M0-3
M0-5 Export, M0 run, M0 report, storage ADR A, L17 Delegated; ADR supervised M AC-M0-02 to 05, 07 M0-1 to M0-4; Bramble window 4
R1b-1 Read-only Members & groups page C Supervised M AC-R1b-04, 05 U8 visibility passed; S0-7
R1b-2 Members route guard key fix (authorization WP1d) C Supervised S AC-R1b-06 Agreement with #3335
R1a-1 Audit #3934 and #2781 against C4 A Delegated S — —
R1a-2 Question template browse A; C for UI Delegated M AC-R1a-05, 09, 10, 12 R1a-1; U19 passed
R1a-3 Import preview through the import-target port A; C for UI Delegated M AC-R1a-01, 02, 04 R1a-1; U19 passed
W0 U1 (prototype), U3, U8 (visibility), U9 (ordinary), U13, U14, U15, U19, U24, U26, U27 (navigation), U28, U31, U32, U34, U35 (panel), U38, U39, U42, U43; the baseline study C, programme lead Delegated; U43 by Chris S each AC-UX-01, 02 (UX §11) Tester panel; G0-X1
ADR-F1a F1a contract ADR drafts A, B Supervised M each F1a exit S0-5; final only after M0 go
ADR-F1b C10 and C11 ADR drafts L8, D Supervised M each F1b exit S0-5
ADR-F1c C17 and Dockview amendment drafts C Supervised M each F1c exit S0-5
ADR-C15 C15 v2 ADR draft D, notification programme Supervised M F1b exit S0-5; A-33
RT-27 Tracking-contract docs refresh Presence owner Delegated S F1a entry —

S0-5 and S0-6 can start before the stream briefs are approved (G0-X8). Until S0-5 creates STATUS, claims go on each slice issue's claimed-by: line only (PROPOSAL). G0-X9 and G0-X10 would add four rows (Appendix A).

Owner session (5 October): what changes in the ask. Every row above starts only after G0 passes, the hold lifts and the row's brief is approved (the box at the top). Row by row:

  • S0-4. D3-14 is decided, so the seed job may run on staging: add only missing data, prefer preserving staging data, never production.
  • S0-7. D3-15 is decided, so the Firefox, WebKit and touch projects count as evidence; AC-R1a-12 is no longer blocked on it.
  • M0-3. The draft lease is superseded by D2-07 and D2-08: a diff-based draft change log with base-version checks, one shared session and place across tabs and devices, and a form-owned inactivity timeout (G0-X16; review domain specification).
  • R1a-2. D2-15 is decided-amended: one application-wide CAMARADES catalogue with versioned copies and publication requests, so "project-scoped templates only until D2-15" no longer applies; SYRCLE, CAMARADES and ARRIVE content waits for specialist input T-SI-03 (G0-X19).
  • W0. The tester panel question is closed (G0-D11; G0-X1). The design-prototype handoff (T-DH-00) is an input to U1 and the other W0 prototypes (G0-X14).
  • ADR-F1a. The drafts carry the owner-session outcomes for D2-01 to D2-16 and the C20 envelope for structured history events (G0-X17).
  • Every other row is unchanged in scope.

2. Decisions needed now

ID Question Recommendation Until answered
G0-D1 D4-18: confirm the recorded reading of "independent of funders" (register §1.14) Confirm. The plan maps the NC3Rs and SSI RSMF deliverables itself (methodology coverage §15) and does not wait for the funders; the GA audit (AC-GA-08) stays. Alternative: drop the mapping and keep the audit Reading stays PROPOSAL
G0-D2 D3-14: seed-if-absent job on preview and staging? Yes, as recommended Seeds reach preview only. Owner session (5 October): answered. D3-14 decided: add missing staging seeds, prefer preserving staging data, allow justified staging changes, never production
G0-D3 D3-15: Firefox and WebKit smoke, touch drag, CDK drag only? Yes, now: R1a builds in W0 and AC-R1a-12 needs it Chromium only; AC-R1a-12 blocked. Owner session (5 October): answered. D3-15 decided: Firefox, WebKit and touch coverage
G0-D4 QM v2, #2572 to #2575 and #2461 (Q-08): who closes them, and when? Stream A's lead, after M0's harvest-and-avoid table (AC-M0-04) and before the M0 go/no-go Open; untouched. Owner session (5 October): not authorised; no closure while the hold lasts. The harvest map (5 October) gives this PR group's harvest entries and closure-note draft
G0-D5 #2224 (Q-09): who closes it, and when? The programme lead, in W0, with a harvest note that credits the author; R1c cites it. Alternative: keep it open until R1c Open; untouched. Owner session (5 October): not authorised; no closure while the hold lasts. The harvest map (5 October) gives this PR group's harvest entries and closure-note draft
G0-D6 #2986 schema-v0 answer validation Deviation from plan §8: keep it open, outside this programme, for normal triage. It fixes today's legacy writes, which R2a will not cover. Alternative: harvest its fixtures and rule codes into the F1a E23 corpus (T-RD-01, harvest map), then close Open; untouched. Owner session (5 October): not authorised. Universal baseline conversion means legacy writes end at R7, not "for years"; the deviation's premise is weaker but the PR stays untouched. The harvest map (5 October) gives this PR group's harvest entries and closure-note draft
G0-D7 #2987, #2629 and #2812 Close each with a harvest note into the F1a C4 draft (and C14 for #2812's units and metadata types; its response modes go to C4 and E37, per the harvest map). None can merge as it stands: their ADR numbers collide with ADRs on main Open; untouched. Owner session (5 October): not authorised; no closure while the hold lasts. The harvest map (5 October) gives this PR group's harvest entries and closure-note draft
G0-D8 #2621 screening-profile prototypes Close with a harvest note; the UI coverage comparison already compares them Open; untouched. Owner session (5 October): not authorised; no closure while the hold lasts
G0-D9 #2469 stage overview chart refactor Close with a harvest note: it conflicts with SF2 and is partly superseded (plan §8) Open; untouched. Owner session (5 October): not authorised; no closure while the hold lasts
G0-D10 Notification merge train (§11.9, D1-09) Keep the order. In W0 the programme lead asks the stack owner to regenerate #3932, rebase #3941 over #3964 and answer A-33 #3965 stays on #3947 (D1-09's fallback). Owner session (5 October): not authorised; no request goes to the stack owner and no notification is delivered while the hold lasts
G0-D11 Optional: add external SyRF users to the tester panel? Yes: name two before the W0 baseline study (UX §9) CAMARADES panel only. Owner session (5 October): answered. Keep the current tester panel; no external recruitment now (D3-08)

Live states. #2572, #2461, #2224, #2812, #2621, #2469 and #3932 are conflicting. #2573 to #2575,

2986, #2987 and #2629 are mergeable. #3938, #3941, #3942, #3943, #3944, #3945, #3947 and #3965 are clean within the stack. Every

notification head matches the package's snapshot (programme integration §8; Appendix B). This dossier changes no PR. Each close happens after approval, done by the session named. Owner session (5 October): these states were not re-read, and no close happens while the hold lasts.

Next sitting (preview only). Batch D2 (D2-01 to D2-16) is needed before F1a (open questions, D2; Appendix C). Owner session (5 October): the session decided, amended or replaced the other ten D2 questions. D2-09 stays an open owner decision; D2-10 and D2-13 are brief items; D2-03, D2-04 and D2-06 are engineering contracts with no owner question.

3. Evidence matrix

G0 item (§3.2) State Evidence
Entry: step 0 merged Met #3617, f5318074d
D1-01 carried out Met #3964, 85e6facf7; #3969 closed
D1-02 to D1-09 answered Met Register §1.13
Q-03 catalogue subset Met Register §1.14
D4-18 mapping part Met; reading pending approval Register §1.14; G0-D1
Tester panel named Met for the CAMARADES panel; no external users. Owner session (5 October): met; the current panel stays and no external recruitment is needed now Register §1.14; G0-X1; D3-08 (G0-D11)
Joint sequencing with #3961 Met D1-02; DOM §15
#3987 direction and date Met; production is a target. Owner session (5 October): staging continues; the production date stays provisional D1-03; register §1.14; G0-X3
D3-14 and D3-15 Optional; pending approval. Owner session (5 October): met, both decided G0-D2, G0-D3; consolidation
PR dispositions Pending approval. Owner session (5 October): not authorised; no PR is closed while the hold lasts §2; Appendix B
Freezes: package, operating model, calendar Met once #4013, which adds the G0 inputs and this dossier, merges. Owner session (5 October): met; #4013 merged on 4 October 2026 (3dbe41e61). The owner-session integration amends the package on PR #4045, in review #4013; G0-X13; owner-session integration
Freeze: five stream briefs Not met. Owner session (5 October): still not met; the nine specifications supply much of their content, and the ten brief rows T-RD-00 to T-DH-00 are at most "Brief drafted" G0-X8, G0-X15; implementation tracker
G0 dossier Met: a fresh verifier checked every link and claim on 4 October (no Blockers; one Major quote attribution fixed). Owner session (5 October): this update has had no fresh verifier pass yet G0-X5
Chris's approval Pending approval —
Owner-session decisions integrated (added 5 October) In review on PR #4045 Owner-session integration; specifications
Implementation hold lifted, T-HOLD (added 5 October) Not met: the hold has applied since 5 October; it is a separate decision from G0 The box at the top of this dossier
Brief approvals, T-RD-00 to T-DH-00 (added 5 October) Not met: no brief is approved Implementation tracker

4. Exceptions

Evidence for each row is in Appendix D, except G0-X2, whose evidence is G0-D1 and register §1.14.

ID Exception Recommendation
G0-X1 No external testers named Accept with follow-up: G0-D11, then D3-08 at sitting 3. Owner session (5 October): closed. D3-08 keeps the current panel with no external recruitment now
G0-X2 D4-18 reading unconfirmed Fix before passing: G0-D1. Owner session (5 October): still open
G0-X3 The production statistics date is a target, and gate (b) failed on latency on the idle host on 3 October (X-STATS-b1) Accept with follow-up: staging from 5 October stands; the FEAT-024 owner re-forecasts production. Owner session (5 October): stays. The production date is provisional, and no suggested date is a commitment
G0-X4 No STATUS home or dossier template before S0-5 Accept: S0-5 links this file from STATUS
G0-X5 No programme-owner checklists at G0 (they start at F1a) Accept: §2.7's link and evidence check has run (evidence matrix). Owner session (5 October): the check has not run on this update
G0-X6 The notification stack needs rebasing after #3964 Accept with follow-up: the stack owner (G0-D10). Owner session (5 October): the follow-up waits for the hold lift
G0-X7 A-33: the stack owner has not been consulted Accept with follow-up: consult in W0. Owner session (5 October): the consultation waits for the hold lift
G0-X8 The five stream briefs do not exist Accept with follow-up: Chris approves each brief by summary read before its stream's first claim. S0-5 and S0-6 are scaffolding and exempt (PROPOSAL), so they can start at once. Owner session (5 October): the owner said each workstream needs an approved detailed brief before implementation, which conflicts with the S0-5 and S0-6 exemption. Options: (a) keep the exemption, so both start at G0 plus the hold lift; (b) cover both with a one-page scaffolding brief approved with G0. Recommendation: (b), because it matches the owner's words at little cost. See also G0-X15
G0-X9 Legacy apply, filtered options, the excluded specs and the debug text sit under no gate Fix before passing: authorise them as R1a-4 to R1a-6
G0-X10 Plan §12 lists the seed-project design; DOM §3.6 omits it Fix before passing: a docs-only design in S0-4's brief
G0-X11 FEAT-024 STATUS is stale (R11 asked for a fix before G0) Accept with follow-up: fix before F1a's FEAT-024 checklist
G0-X12 #3987 has no record of D1-03 and no ADR Accept with follow-up: the architecture-review session writes it
G0-X13 The G0 inputs and this dossier are only on #4013 Fix before the first claim: merge #4013, this dossier's own PR. Owner session (5 October): met; #4013 merged on 4 October 2026 (3dbe41e61)
G0-X14 Added 5 October. The design-prototype handoff (T-DH-00, OS-A30) is a new early design input that the original ask did not list Accept: it is a document, ready now as an input to U1, the other W0 prototypes and F1c. Whether and when to hand it to the Claude Design session that made SyRF Prototype v10 is Chris's decision; this package has messaged no design session and builds no new prototype
G0-X15 Added 5 October. The nine specifications now supply the scope, rules, storage proposals and acceptance evidence that parts of the five stream briefs (G0-X8) would have carried Accept with follow-up: each brief cites the specifications for its area and adds the slice list, owners and sequencing; the implementation tracker holds the ten brief rows T-RD-00 to T-DH-00; Chris approves each brief by summary read before its first claim. Mapping specifications to streams (PROPOSAL): A takes RD and BC; B takes SP and TI; C takes UX and the design handoff; D takes RS and AC; E takes RI and DM
G0-X16 Added 5 October. M0-3's "draft lease consumed by Save" conflicts with the decided D2-07 and D2-08 Fix before passing: M0-3's brief re-scopes it to the review domain specification's drafts model (a diff-based change log with base-version checks, one shared session and place across tabs and devices, a form-owned inactivity timeout); a take-over presentation stays optional for small screens
G0-X17 Added 5 October. The F1a ADR drafts (ADR-F1a) were scoped before the owner session Accept with follow-up: the drafts carry generated session versions (D2-01 amended), the standard target inside the form version (D2-05 amended, OS-A12), the D2-07 and D2-08 decisions, D2-09 parameterised, and the C20 envelope for structured history events. C21 (duplicate consolidation) drafts at F-P and C22 (external and AI-model screening) with its lane; neither is a G0 row
G0-X18 Added 5 October. R6 and R7 change meaning: R6 becomes universal faithful baseline conversion waves after staging trials and production pilots, and R7 becomes legacy-writer retirement, its own verified milestone (baseline conversion specification) Accept: no G0 row changes; no inventory of production data, dry run, conversion or retirement is authorised by G0 or by the owner session
G0-X19 Added 5 October. R1a-2's catalogue rule changed: D2-15 is decided-amended (one application-wide CAMARADES catalogue, versioned copies with provenance, publication requests) Accept with follow-up: R1a-2's brief follows the access specification; copying between projects outside the catalogue awaits that specification's ambiguity B5; curated SYRCLE, CAMARADES and ARRIVE templates wait for T-SI-03. Collaborative question drafts with presence stay out of R1a (recommendation in integrated plan §5.3 and the rollout plan's R-AMB-04)

5. Joins, risks and capacity

RAG (PROPOSAL): red means a step has failed or blocks a G0 row; amber means not met and needed later (F1a or after).

Chain Needed by Live (UTC, 3 October) RAG
X-ARCH-a: #3985, #3973 F1a Open; no PR found at 23:41 Amber
#3987 ADR F1a Open; no comments Amber
X-STATS-b1, gate (b) on an idle host Production statistics; GA Failed on latency, 22:38 to 23:01 (#3510) Red; no G0 row depends on it
X-STATS-b2 soak (#3952) Production statistics Not started; driver session online at 22:36 Amber
FEAT-024 source-write seam M0-2 Not checked; a test double is allowed (DOM §4.3) Amber
X-AUTH-WP9 and WP1d (#3335) R1b Not met; R1b ships without explanations Amber
Notification stack: #3932, #3938, #3941 to #3945, #3947 and #3965 Notices only #3932 conflicting; X-NOTIF not met Amber

No G0 row needs these, and none is met: X-STATS-a, b3 to b7 and c (programme integration §12); X-AUTH-RESOLVER (#3251, last updated 22 September); X-IMPORT (#2612, a docs-only plan); X-PDFTOOLS (unscheduled).

  • Juniper (23:44 UTC): load per thread 0.37, 0.65 and 0.71 over 1, 5 and 15 minutes; the cap drops after an hour above 0.8 (§10.6). Root disk 79% used. Cap (PROPOSAL in DOM §10.6, approved with the operating model at G0): eight implementer sessions and two heavy local runs.
  • Bramble (§10.5): window 1 (gate (b)) was used on 3 October. Window 2 is S0-3's baseline, window 3 the soak (a benchmark window pauses it) and window 4 M0-5. One exclusive window a week, started by Chris.
  • WIP (§5.4; its limits are PROPOSALs that G0 approves with the operating model): stream A holds S0-1, S0-3, S0-4, S0-6, most of M0 and the F1a drafts, so it reaches four open PRs first. R1a's UI goes to stream C. Supervised summaries are staggered to stay under eight items waiting on Chris and within A-35's four hours a week. The T1 panel includes the approver, which adds to that load.

Owner session (5 October): the live states above were not re-read. Other programmes keep their own approvals; the owner session notes that statistics staging continues and that the production date stays provisional (G0-X3). The capacity figures matter only once the hold lifts.

6. If not passed

Options (PROPOSAL; every gate is a re-plan point, §5.6):

  1. Pass with conditions, for example G0-X8 and G0-X13 met before the first claim.
  2. Pass a reduced list (S0, R1b, RT-27 and the ADR drafts), holding M0, R1a and W0.
  3. Hold, and re-plan the slice list, the WIP limits and A-35.

Meanwhile nothing is built (D1-04), and no programme flag exists yet. #3964's fix stays live. Other programmes run under their own approvals, and every open PR stays untouched.

Owner session (5 October): the options under the hold (PROPOSAL). Passing G0 no longer starts work by itself, because the hold and the brief approvals are separate decisions. The three options above still apply, read with that in mind, and option 1's conditions change: G0-X13 is met, and G0-X16 (M0-3's re-scope) joins G0-X8 and G0-X15 as conditions before the first claim. A fourth option follows from the hold:

  1. Pass G0 and keep the hold. Chris answers G0-D1, approves the plan and the operating model, and leaves the hold in place. During the hold he answers D2-09 and the owner-visible confirm items, the specialist inputs T-SI-01 to T-SI-05 are requested, and the briefs are drafted for approval. When he lifts the hold, the first approved brief (scaffolding: S0-5 and S0-6 under G0-X8 option (b)) can start at once.

Recommendation: option 4. It records the approvals that are ready, keeps every implementation decision with Chris, and starts nothing until he lifts the hold. Option 3 also fits the hold, but it leaves the operating model unapproved and re-opens planning that the owner session has just settled.

Appendix A. Slice list with dependencies and criteria

DOM §4.3 assigns AC-M0-01 to 08 to M0 as a whole and lists no dependencies between M0 slices; the per-slice criteria mapping and the M0 dependencies below are PROPOSAL. Sources: DOM §4.2, §4.3, §5.3, plan §5 (R1a, R1b), acceptance criteria §4.1, §4.2, §4.4 and §4.5.

ID Slice in full Depends on Criteria Flag, host and notes
S0-5 STATUS ledger; release-brief, slice-brief, gate-dossier and acceptance-record templates; the traceability file and its docs-CI check; the PR template's programme section; the ADR block Nothing AC-S0-04, AC-S0-07 Home docs/features/integrated-review/; opens the ADR-030 to 069 block and the claim table
S0-6 Five stream kill switches and R0's admission flag, default off, with regenerated outputs and manifest entries Nothing AC-S0-01 Generated outputs regenerated, never hand-merged (§11.2)
S0-1 Explicit DI module in the API and PM hosts; placeholders answering the typed "feature unavailable" result; singleton-identity and architecture tests S0-6 AC-S0-01 No convention scan (#3961's direction); new projects in today's dependency maps
S0-4 Seed-if-absent job keyed by fixed GUIDs S0-1 AC-S0-06 (pending-D3-14) Preview only until D3-14 (G0-D2). Owner session (5 October): D3-14 decided; staging allowed, add-only, never production
S0-2 Versioned JSON corpus with schema check; xUnit and Vitest loaders; differential runner; FX-PRISMA-01 to 08 Nothing AC-S0-02 In parallel from the start
S0-3 Environment-gated arm: session submit and screening save; 1, 2, 5 and 10 reviewers; 50, 340 and 2,023 questions Nothing AC-S0-03 Runs in Bramble window 2; Chris reads the report
S0-7 Personas; axe and screenshot helpers; excluded-spec check; Firefox and WebKit projects; native-drag guard Nothing AC-S0-05 Browser projects count as evidence only with D3-15. Owner session (5 October): D3-15 decided; touch journeys join them
S0-8 Named-point barrier harness on the replica-set fixture; mixed-version harness skeleton Nothing AC-S0-05 In parallel from the start
M0-1 OrdinaryAnswer and ScreeningDecision through one handler, head CAS and the command ledger; conformance suite and C# fake S0-1, S0-2, S0-3, S0-8 AC-M0-01, 06, 08; AC-M0-CONF Stream A kill switch; spike code may be discarded
M0-2 Study projection in transactional and fold modes; command-budget test M0-1 AC-M0-02 (commit shape), 05 FEAT-024 checklist; seam or test double, as the M0 report says
M0-3 Draft record with lease and etag consumed by Save; TypeScript fake behind AF2's persistence port M0-1 AC-M0-05 Owner session (5 October): re-scope to a diff-based draft change log with base-version checks and one shared session across tabs and devices (G0-X16)
M0-4 Dark AF2 adapter renders a 200-question form and saves through the API M0-3; S0-6 AC-M0-05 Stream C kill switch
M0-5 Export of current and previous versions; benchmark run; M0 report; storage ADR (docs-only PR) M0-1 to M0-4 AC-M0-02 (measures), 03, 04, 05, 07 Bramble window 4; thresholds per §4.4 (D1-08 start values); AC-M0-04 includes the QM v2 harvest (G0-D4)
R1b-1 Read-only Members & groups page over existing groups, members and grants (no schema dependency) U8 (visibility); S0-7 AC-R1b-04, 05; 08 when X-AUTH-WP9 lands T2, three testers; stream C kill switch or its own flag; AC-R1b-01 to 03, 07 and 09 are evidenced from #3964 at the ship gate
R1b-2 Members route guard uses the correct permission key, with a spec WP1d agreement with #3335 AC-R1b-06 Authorization PRs are supervised (DOM §7.2)
R1a-1 Audit #3934 and #2781 against C4, and #2387 for reuse; rebase and split plan Nothing Input to AC-R1a-CONF (C4-T04) Also settles #3655's count: the issue says 18 specs, AC-R1a-07 says 17
R1a-2 Question template browse R1a-1; U19; S0-7's drag guard AC-R1a-05 (browse), 09 (pending-D4-06), 10 (pending-D2-15), 12 (pending-D3-15) Until D2-15 (sitting 2), project-scoped templates only. Owner session (5 October): D2-15 and D3-15 decided; AC-R1a-09 waits for T-SI-03 (G0-X19)
R1a-3 Import preview through the import-target port, legacy adapter R1a-1; U19 AC-R1a-01 (preview half), 02, 04 Canonical apply stays in R2a (DS-20)
R1a-4 (G0-X9) Legacy apply R1a-3 AC-R1a-01 (apply half), 03, 05 (copy), 08 PROPOSAL
R1a-5 (G0-X9) Filtered-options authoring in the new editor R1a-1 AC-R1a-06 PROPOSAL
R1a-6 (G0-X9) Restore the excluded question-management specs; remove the debug text R1a-1 AC-R1a-07 PROPOSAL
SEED-D (G0-X10) Docs-only design of the first seed projects S0-4's brief Inputs to AC-S0-06 PROPOSAL
W0 The U validations listed in §1, the baseline study and the terminology card sort Tester panel AC-UX-01 and 02 per U U19 and U8 (visibility) run first, then the R1a and R1b UI (UX §11's documented exception); U43 also needs D3-02. Owner session (5 October): the current panel, no external recruitment (D3-08); D3-02 is a brief item; the design-prototype handoff is an input (G0-X14)
ADR drafts F1a (the main drafts; the full freeze list is DOM §3.3): C1 to C3, C5, C16, C18, C19, C4's definitions part, C7 identity and claim contract v2, glossary, context map. F1b: C10, C11. F1c: C17, Dockview. C15 v2 S0-5 Gate exit evidence F1a drafts become final only after M0 go; C15 v2 also needs A-33. Owner session (5 October): F1a adds the C20 envelope and the decided D2 outcomes (G0-X17)
RT-27 Presence owner's refresh of the tracking contract Nothing F1a entry Baseline for the presence checklist (§2.5)

Appendix B. PR and issue states

All read with gh pr view or gh api by this dossier's author on 3 October 2026, between 23:40 and 23:50 UTC. "Clean" and "dirty" are GitHub's merge-state values. Stacked PRs report against their stack base, not main. Owner session (5 October): these states were not re-read for the update; only #4013's merge was checked, in git history. Every disposition below waits for the hold lift.

Item State, head, base Last updated (UTC) Disposition
#3617 step 0 Merged 21:42:55, f5318074d 3 Oct 21:42 G0 entry, met
#3964 ownership fix Merged 19:27:18, 85e6facf7; head 16788f9cb 3 Oct 19:27 D1-01 done
#3969 duplicate fix Closed (draft) 3 Oct 22:10 D1-01 done
#4013 G0 inputs and dossier Open, mergeable; head at reading 3a046d580 (moves with each push). Owner session (5 October): merged on 4 October 2026, merge commit 3dbe41e61 3 Oct 23:35 G0-X13 (met)
#2572 QM v2 PR-A Open, conflicting (dirty); af5136696 → main 1 Sep G0-D4
#2573 QM v2 PR-B Open, clean; 271290115 → feat/qm-v2-a-domain 17 Apr G0-D4
#2574 QM v2 PR-C Open, mergeable (unstable), 604 files; 1b93cbbc4 24 Apr G0-D4
#2575 QM v2 PR-D Open, mergeable (unstable), 544 files; 098330759 24 Apr G0-D4
#2461 QM v2 umbrella Draft, conflicting (dirty); 1ca9f5def 22 Sep G0-D4
#2224 custom groups (author nurikarakaya) Open, conflicting (dirty), 47 files; fff8385ac 22 Sep G0-D5
#2986 schema-v0 validation Open, mergeable (blocked), 8 files, +1,306; 1c6799b00 1 Sep G0-D6
#2987 schema and profile ADR Open, mergeable (blocked), 1 file; efd4b96ba 1 Sep G0-D7
#2629 FEAT-027 scoping Open, mergeable (blocked), 1 file; d761ca442 1 Sep G0-D7
#2812 response-mode contract Open, conflicting (dirty), 39 files; 1c3869224 1 Sep G0-D7
#2621 screening-profile prototypes Draft, conflicting (dirty), 282 files; 105bdc09e 1 Sep G0-D8
#2469 chart refactor Open, conflicting (dirty), 122 files; 2488a1f92 22 Sep G0-D9
#3932 inbox Open, conflicting (dirty); 2ddd96fb0 → main 3 Oct 00:31 Train step 1
#3938, #3941, #3942, #3943 Open, clean in the stack; 180f0d1bb, eb72c886d, 75f89b33d, d75fd81b9 2 to 3 Oct Train steps 2 to 5 (X-NOTIF)
#3944, #3945, #3947 Open, clean in the stack; 59ab32e7b, 25b364da3, ae3c6749d 3 Oct Train steps 6 to 8
#3965 private conversations Open, clean on #3947's branch; 986b1cdc2 3 Oct 18:47 Restack per A-33 (G0-D10)
#3934, #2781, #2387 Open, all conflicting (dirty); 9d6c596cf, 2d8b071b0, c81426c44 2 Oct; 1 Sep; 1 Sep R1a-1 audits them
#2612 staged import plan Open, mergeable (blocked), 1 file 1 Sep X-IMPORT input
#3961 architecture review Draft, mergeable (blocked); e843ab373 3 Oct 22:58 D1-02
Issues #3985, #3973, #3986, #3975, #3979, #3980, #3987 Open; none has a comment; no PR references #3985, #3973 or #3975 3 Oct 06:21 X-ARCH-a to d; #3987 per G0-X12
Issues #3510, #3952 Open; gate (b) result posted 23:04; soak session online 22:36 3 Oct 23:04; 22:36 G0-X3
Issues #3251, #3524, #3655, #3335 Open 22 Sep; 15 Sep; 24 Sep; 13 Sep Joins; R1a-1 (#3655)

Appendix C. The next two decision sittings

From the decision calendar. Questions and recommendations are in open questions, Batch D.

Sitting Held before Question IDs Other entry items for that gate
2 F1a D2-01 to D2-16; Q-27 (R2a's Save effects); D1-08 (confirm the start thresholds from M0 evidence); D3-14 (unless G0-D2 answers it); D3-16 (contract part: the claim contract fields and route seam); D3-17; D4-06 (R1a catalogue part); D4-12 (observation markers in C3) M0 go; X-ARCH-a; RT-27 merged; #3987 decided (met, with G0-X12)
3 F1b and F1c D3-01 to D3-04, D3-06, D3-08, D3-15 (unless G0-D3 answers it), D3-20 F1b: the Q-03 catalogue subset (met at G0). F1c: the U validations UX §11 lists for F1c, passed

Owner session (5 October): the session answered most of both sittings. Sitting 2: D2-01, D2-02, D2-05, D2-07, D2-08, D2-11, D2-12, D2-14, D2-15 and D2-16 are decided, amended or replaced; D2-09 is open; D2-10 and D2-13 are brief items; D2-03, D2-04 and D2-06 are engineering contracts; Q-27 is decided; D3-14 is decided; D3-16 and D3-17 are brief items; D4-06 and D4-12 are specialist inputs (T-SI-03, T-SI-02); D1-08's confirmation from M0 evidence still waits for M0. Sitting 3: D3-03, D3-04, D3-06, D3-08 and D3-15 are decided; D3-01, D3-02 and D3-20 are brief items. What remains for a sitting before F1a is D2-09, D1-08's confirmation and the owner-visible confirm items in the specifications.

Appendix D. Evidence for the exceptions and deviations

  • G0-X1. Register §1.14 names no external SyRF users. UX §9 asks for at least two in the W0 baseline study and in each formative pack. D3-08 (participants and telemetry) sits at sitting 3.
  • G0-X3. The FEAT-024 gate (b) rerun ran on idle Bramble from 22:38 to 23:01 UTC on 3 October, on main c45648aeb. It failed on latency in every contended cell, with zero statistics-caused or fold-caused conflicts; exhaustion equality also failed in the contended cells (the fold arm usually exhausted fewer). The design owner's decision on the pre-write mode re-read comes next (#3510, comment at 23:04 UTC). The package recorded a provisional fail with the rerun pending until #4013 corrected it (plan §8, programme integration §2 and §7.1; DOM §6.2). Production "the following week" (register §1.14) needs X-STATS-b1 to b7, and GA needs the whole chain (D1-03). A slip of more than two weeks fires a re-plan trigger (§5.6).
  • G0-X4. docs/features/integrated-review/ does not exist in this worktree (checked at about 23:45 UTC on 3 October). DOM §2.7 places dossiers under the STATUS home that S0-5 creates (§14.1).
  • G0-X5. DOM §2.5 checklists first run at F1a (E79). §2.7 asks a fresh verifier to check every evidence link before Chris sees the dossier. This file was validated with validate-docs.sh --skip-indexes --skip-links.
  • G0-X6. #3932 is conflicting against main. Both #3941 and the merged #3964 change src/services/api/SyRF.API.Endpoint/Controllers/ProjectController.cs (gh pr view --json files, 23:41 UTC). §11.9 step 3 already asks for #3941 to be rebased on the ownership fix.
  • G0-X7. A-33 (open questions §4): "the owner has not yet been consulted".
  • G0-X8. DOM §2.4 says each stream brief is "approved at G0", and §3.2 freezes them. Plan §12 step 2 says this dossier carries them. No brief exists in docs/planning/. Until they are approved, the supervised-tier list in DOM §9.3 applies.
  • G0-X9. DOM §3.6 gives G0 "R1a's audit, browse and preview" and F1c "R1a's default-entry slice". R1a's MVP in plan §5 and DOM §13.5 also ships legacy apply, filtered-options authoring, the restored specs (#3655) and the removal of the debug text. No gate lists those. AC-R1a-01, 03 and 05 need apply, and the R1a header gives G0 as its freeze.
  • G0-X10. Plan §12 step 3 ends with "the design of the first seed projects"; DOM §3.2 and §3.6 do not list it.
  • G0-X11. docs/features/materialized-project-statistics/STATUS.md on main shows slice 7 as "In review" (line 386) and says "the fold flag is off in every environment" (lines 372 to 374). Programme integration §7.3 R11 schedules that correction "before G0". DOM §2.5 says a checklist cannot pass against a stale baseline.
  • G0-X12. #3987 has no comments (gh api, 23:41 UTC), and no ADR on main records D1-03. DOM §11.8 leaves ADR-021 to 029 free for #3986 and #3987.
  • G0-X13. The register §1.14 record and this dossier reach main only when #4013 merges. D1-05 put the package on main because every agent session starts from main (DS-17).
  • G0-D6 (deviation). Plan §8 says to harvest #2986 into R2a validation. #2986's own description calls it the "smallest backend integrity slice" for today's annotation writes (ownership, membership, option membership), and #2987's description says "#2986 is the schema-v0 backend integrity MVP and does not depend on a QM-v2 revival". Legacy projects stay on legacy paths for years (D3-06's premise), so an R2a harvest would not replace it. Owner session (5 October): every project now converts to a faithful baseline and legacy writers retire at R7, so the "for years" premise is weaker; the PR stays untouched while the hold lasts. Harvest audit (5 October): #2986 validates no write today. Nothing outside its tests calls its validator, and its wiring waited on #2467, which merged on 30 August (audit B). Legacy writes still last until R7, which has no date, and each invalid legacy answer becomes a conversion finding at R6. Recommendation for Chris: keep the deviation (open, outside the programme), with this corrected rationale, and treat the wiring as a legacy-integrity fix that could be authorised separately from the feature-implementation hold (harvest map). Nothing is authorised by this note.
  • G0-D7 and G0-D8. docs/decisions/ on main already holds ADR-013-sidenav-fork-retirement, ADR-014-integrated-study-pdf-viewer, ADR-016-preview-tls-certificate-and-readiness and ADR-017-bulk-pdf-notifier-authority-deactivation. #2621 drafts ADR-013 to ADR-016, #2987 adds ADR-016 and #2812 adds ADR-017. #2987's description says that it and #2986 supersede #2629 once both successors are review-ready.
  • Owner-session evidence (5 October). The decisions cited in the owner-session update and in G0-X14 to G0-X19 come from the archived consolidation and register ("Decisions already fixed for this review": "Keep the current tester panel. Add missing staging seeds, prefer preserving staging data, allow genuinely justified staging changes, and do not extend that permission to production. Firefox/WebKit and touch coverage are agreed. Statistics staging continues; production date remains provisional.").
  • G0-X13 (5 October). git log --merges --grep='#4013' in this worktree shows merge commit 3dbe41e61, "Merge pull request #4013 from camaradesuk/codex/planning-g0-inputs-and-dossier", dated 4 October 2026 at 01:43 BST.
  • G0-X14. The design-handoff addendum asks for the handoff and says: "This request is to generate the handoff, not to message or operate the design session. Feature implementation remains on hold."
  • G0-X15. The condensed packages say: "Each workstream still needs an approved detailed brief before implementation." The nine specifications are listed in the specifications overview.
  • G0-X16. The register's "Decisions already fixed" says autosave "uses increasing draft versions and base-version checks"; D2-07 and D2-08 are decided in the consolidation (§1, §4); the review domain specification replaces the draft lease with the diff change log (§13) and marks the read-only second tab as superseded (§14).
  • G0-X17. Review domain specification §2 (D2 statuses) and the stage pools specification §10.1 (the HistoryEvent envelope is a contract at F1a).
  • G0-X18. Consolidation §5 ("Universal baseline conversion (R4)": "No migration execution is authorized now") and the baseline conversion specification §10.1 and §13.
  • G0-X19. The register's "Decisions already fixed" (the MVP catalogue) and the access specification §2 and §12.5 (ambiguity B5).