Round-2 review resolution matrix¶
Temporary planning record. It shows how every finding from the second round of independent reviews was handled, which decisions now need Chris, and what was checked afterwards. Planning only; no finding authorised implementation. The first round's matrix is review-resolution-matrix.md.
1. Process¶
- Why a second round. On 3 October 2026 Chris asked for "a set of fable and opus agents" to adversarially review the full plan for data consistency, domain-driven design, the versioning model, acceptance criteria, coverage of the past year's planning and the whole application's UI and UX. He then added that the in-flight programmes (study allocation, pool partitioning, active reviewer tracking, materialised statistics, the notification service) must be reviewed too, with their integration taken into account and changes to them strategically suggested.
- Reviewers. Thirteen independent, read-only reviewers (Plan agents), each with one dimension, plus a fresh-context verifier of the three documents added after round 1. All reports are preserved verbatim in this folder; only front matter and a provenance note were added.
| Report | Model | Dimension | Findings | Blocker | Major | Minor | Note |
|---|---|---|---|---|---|---|---|
| V2 | Opus | Consistency of acceptance criteria, PRISMA amendments and domain model | 26 | 0 | 9 | 16 | 1 |
| VA | Fable | Versioning model, conceptual soundness | 25 | 2 | 13 | 7 | 3 |
| VB | Opus | Versioning model, implementation, data and migration | 20 | 1 | 12 | 5 | 2 |
| DC | Opus | Data consistency and concurrency | 23 | 2 | 15 | 4 | 2 |
| DD | Fable | Domain-driven design | 26 | 0 | 13 | 12 | 1 |
| AC | Opus | Acceptance criteria and testability | 35 | 1 | 24 | 10 | 0 |
| PH | Opus | Coverage of the past year's planning | 35 | 0 | 13 | 15 | 7 |
| UX | Fable | UI and UX across the whole application | 22 | 2 | 11 | 6 | 3 |
| DS | Opus | Delivery strategy and implementation efficiency | 25 | 2 | 17 | 6 | 0 |
| SR | Fable | Systematic-review methodology and product completeness | 25 | 0 | 12 | 12 | 1 |
| AP | Fable | Allocation, pool partitioning and progressive batches | 23 | 1 | 10 | 9 | 3 |
| MS | Fable | Materialised statistics (FEAT-024) | 24 | 0 | 12 | 10 | 2 |
| RT | Opus | Active reviewer tracking, claims and presence | 27 | 1 | 14 | 9 | 3 |
| NS | Opus | Notification service | 26 | 0 | 11 | 13 | 2 |
| Total | 362 | 12 | 186 | 134 | 30 |
- Re-verification before adopting reviewer claims. Load-bearing code claims were checked directly
on
mainbefore the documents changed. All held, including: the persisted computed getters on Study (SessionTalliesandScreeningInfoaggregates recomputed from embedded data on every save); the per-reviewer pool predicates;featureFlagsdelivered to the API host only; option answers stored as value strings with schema-v0 option IDs kept only by value match; system questions rebuilt from code per read; ADR-019's measured 399 of 1,000 exhausted submissions; un-awaited domain-event dispatch; no axe tooling in the e2e package; the app breakpoints; debugger panels on reviewer routes; FEAT-011's terminalFullTextNotRetrievedstate; the CSV wizard mapping screening columns to investigators; binary screening decisions; FEAT-012's merge scenarios and pool-exclusion list; the staging seeder skipping non-empty databases. One nuance was added: the theme toggle is off by default but on in staging, so dark-mode evidence is reachable there. - How the findings were resolved. One orchestrating session wrote a resolution brief that settled every cross-cutting question once (§2), then eight drafters wrote new or revised documents from it in the scratchpad. The orchestrator reviewed each draft and integrated it; patch-applier agents merged the drafters' patch files into existing documents, and the orchestrator read every diff. The drafts' per-finding resolution records were merged into §4.
- Where a row cites "patches". Drafters wrote their changes to existing documents as patch sections in working files, which were merged into the package and are not kept in it. "Patches C7" therefore means the change now in contracts C7, "patches inventory §6" the source and status inventory §6, "patches notifications §5" notifications integration §5, and so on; the row's other links name the same documents.
- Resolution categories: Corrected (the plan was wrong or inconsistent and now says the right
thing); Adopted (an improvement accepted, labelled
PROPOSALwhere it is a design choice); Question (needs Chris; listed in Batch D with a recommendation); Follow-up (recorded in the backlog, outside this plan's scope); Noted (no change needed, with the reason). No finding was rejected outright.
2. Cross-cutting decisions taken in the resolution¶
The resolution brief settled each cross-cutting question once, so the drafts agree. Two places where reviewers disagreed were settled on technical merit, and both remain proposals for Chris:
| Topic | Reviewers' positions | Resolution (PROPOSAL) |
Chris's decision |
|---|---|---|---|
| What a publication writes | VA-03: nothing; effects derived when read. DD-10: real session versions written in batches | Publication writes no evidence (no session versions or answer revisions; SL3 stays literally true). Effects are derived for canonical readers; query-path projections are rewritten by a resumable operation, and admission for that form pauses until it finishes. Q-34 option mapping is the only derived-revision writer | D2-01 |
| Whether a draft holds a reviewer's place | PH-03: never. RT-09: yes, until Save/Complete, discard or 14 days | Held while the reviewer is active, under today's idle and disconnect timers; released when they lapse with the draft kept; Complete still allowed as an extra contribution unless an optional capacity cap applies | D2-07 |
Other cross-cutting resolutions (each detailed in the companion documents):
- Consistency. No per-project document in any interactive transaction (DD-02, MS-12, PH-01, DC-01, VB-12 agreed). Per-study serialisation through the Study document; ordering by per-aggregate versions plus a hybrid logical clock; a canonical command ledger replaces the reuse of FEAT-024 receipts (DC-03, MS-05, VB-04); per-document ownership markers plus a registered write guard (DC-04, DD-13, VB-07, DS-10); three classes of post-commit effect (DC-10, DD-03); a transaction admission contract (DC-11). New contracts C18 and C19. See consistency model.
- The Study summary. The legacy tallies on Study are computed getters recomputed from embedded
data on every save (verified on
main), so canonical counts live in a separateStudy.CanonicalSummary, keyed by form and profile with per-reviewer membership facts, that R0's floor merges into the legacy getters and pool predicates (DC-02, VB-01, AP-01, RT-06, RT-07, MS-13). - Versioning. One rulebook: compatibility declared per question version and immutable once pinned, with classes and a separate per-answer validity check; the class in the answer key; stable option IDs; requirement versions separated from operational settings; full pin maps; an explicit Upgrade; the reconciliation task keyed by study and form (RE4 already decided it; the round-1 "compatibility class" key was a contradiction). See versioning model.
- Domain design. A bounded-context map with relationship types, the
ReviewerStudyEvidenceaggregate, outcome facets with one writer, merge as an alias, one canonicalStageaggregate, a glossary resolving ten term collisions, event and command catalogues and a hosting rule. See domain model. - In-flight programmes. Claims and capacity guards exist only when active reviewer tracking is on, which it is nowhere deployed, so Q-25's premise was corrected and the production route returned to Chris (D3-16); a reconciliation-task editor claim replaces "tracking enabled" for RA1 (X-RECLAIM, RT-01); FEAT-024's production readiness is a seven-step chain and Q-31(b) is the designed first pilot path; a C15 v2 notification capture contract; one membership-facts seam, one claim contract, one admission record. See programme integration.
- Delivery. A single-approver operating model with per-gate authorisation, F1 split into F1a/F1b/F1c, S0 scaffolding and M0 as a walking skeleton, a ready queue with WIP limits, release tiers, review tiers, a CI and host budget, and joint sequencing with the architecture review (#3961). See delivery operating model.
- UX. A research plan with real reviewers, measurable UX criteria, reviewer efficiency in scope, a copy deck, a design system of record, an accessibility harness, "My work" and two-tier design QA. See UX strategy.
- Methodology. A capability map against a high-quality systematic review, an agreement observation basis, retrieval and report linkage (new amendments M, N, O), extraction quality, risk of bias templates and exports for synthesis, with the product choices put to Chris. See methodology coverage and PRISMA amendments.
3. Corrections of fact found in round 2¶
- FEAT-024 fold in staging. Review MS reported the fold flag absent from every GitOps values file.
The live cluster-gitops repository has
materializedProjectStatisticsFold: trueon staging's API and project management services ("staging pilot only (Chris, 2026-10-01)"). The reviewer had read a local checkout 55 commits behind. Programme integration and the inventory carry the corrected fact. - Dark mode in staging. Review UX said dark mode is unreachable;
themeToggleis off by default but on in staging, so dark-mode evidence can be gathered there. - Stored owner-reserved grants. A read-only count by the orchestrating session on 3 October found no project in production or staging storing a grant of ChangeOwner, AssignPermissions or Delete, so #3964 needs no data migration and evaluator hardening became follow-up #3997.
- Architecture-test style.
StudyWriteLockArchitectureTestsis a source-scanning test, not a reflection test; the fitness tests in the domain model extend it as such.
4. Finding-by-finding resolution¶
One row per finding, in each report's own numbering. "Where" links the companion document and section that now carries the resolution; where several drafts resolved the same finding, each is listed. Review AC's IDs (AC-01 to AC-35) are review finding IDs, not acceptance-criterion IDs. "Patches §n" in a Where cell means the drafter's patch text for that file, since applied to the package file named.
4.1 Verifier V2¶
| Finding | Severity | Resolution | Where | Note |
|---|---|---|---|---|
| V2-01 | Major | Adopted | methodology coverage §10.2; patches amendment N, AC-P2-12; acceptance criteria AC-P1-12; C12-T08 | Link record; Citation never rewritten Amendment N criterion. PROPOSAL. |
| V2-02 | Major | Corrected; Adopted; Question (D2-12) | methodology coverage §9.1; patches L; acceptance criteria AC-P2-05; C1-T18 | Alias merge; scenarios by form and profile; E33 restated Merge as an alias. |
| V2-03 | Major | Corrected; Adopted | methodology coverage §9.4; patches L.6, AC-P2-11, fixture 8a; acceptance criteria AC-P2-15; FX-PRISMA-08a | Privacy rule; enrichment events; as-of basis Publication privacy; the cross-project fixture part moves to P2. |
| V2-04 | Major | Corrected; Corrected; Question (Q-37, D4-11) | methodology coverage §11.2; patches K, AC-R5b-07; acceptance criteria AC-R5b-07, 12, 17 | Entry-phase rule; per-box rules; box 1 via D4-11; under Q-37 Entry-phase rule, per-box rules, box 1. |
| V2-05 | Major | Corrected | acceptance criteria §1.2; Status column; UI-8; AC-R4a-05, 28 | Recommendations marked pending; A-24 cited; Q-36 caveat. |
| V2-06 | Major | Corrected | acceptance criteria AC-R2a-20 to 25, 31; AC-R3a-11 to 13, 17, 19, 23; AC-R4a-14, 16, 17, 19, 20, 44; AC-R5b-10, 12 to 14; AC-P2-10, 16 | MVP-boundary items have rows. |
| V2-07 | Major | Corrected | acceptance criteria §7.2; AC-R3c-15; AC-R4p-07 | Fixtures 3 and 4 split by release. |
| V2-08 | Major | Corrected | acceptance criteria AC-R3a-09; C10-T08; patches file | Monitor holders may see votes; reviewer-facing warnings never do. Plan and C10 wording aligned in the patches file. |
| V2-09 | Major | Corrected; Question (D3-14) | acceptance criteria AC-S0-06; §6.2; §6.3 | A seed mechanism exists; the versioned-forms seed is split; testers use their own accounts. |
| V2-10 | Minor | Corrected; Adopted | methodology coverage patches G; acceptance criteria AC-R6-18 | Lines 279–280; MIG-13 and MIG-14 covered MIG-13 per project. |
| V2-11 | Minor | Corrected | methodology coverage patches H | All three placeholders amended; Imported added |
| V2-12 | Minor | Corrected | methodology coverage §9.1, §9.5; patches L, AC-P2-04, AC-P2-06, AC-P2-01; acceptance criteria AC-P2-01r, 04, 06r | Scenario 2 change listed; exclusion list extended; criteria fixed Scenario 3 sets Merged; reversal restores Citation links; pilot-data parity; full exclusion list. |
| V2-13 | Minor | Corrected | methodology coverage §9.6, §11.2; patches K; acceptance criteria AC-P2-07; AC-P1-15; AC-R5b-16 | K.2 and K.3 agree; #31–#34 never reported; FEAT-012 §11 in Amends; §11.2 over SyRF-held Citations; other step types assigned; withdrawn searches |
| V2-14 | Minor | Corrected | methodology coverage patches preamble | Freeze timing and Q-37 cited |
| V2-15 | Minor | Corrected; Adopted | consistency model §6.5; domain model §3; acceptance criteria AC-M0-03 | Bulk PDF upload, ADR-020 bulk update and the M5b run store added to the writer inventory; the "today" table corrections are in the domain model StudyPdfCorrection and pmStudyPdfCorrection (verified through the generic repository); NumberOfStudies; roots at the Model root and inside ProjectAggregate/; ADR-020, M5b and outbox stores; writer inventory note Missing Study writers added to the inventory. |
| V2-16 | Minor | Corrected; Adopted; Question (D2-15) | consistency model §3.6; domain model §1.5, §4.5, §12; acceptance criteria AC-R1a-08, 10 | R1a adds no embedded Project field before the floor: copy provenance lives on the template's own copy record (domain model §4.5); any later embedded addition first proves capture (AC-R0-07) System-scoped definitions allowed with their own authorization; R1a keeps copy provenance on the template, so no Project field before R0 Copy provenance with an N-1 test; system-scoped templates. |
| V2-17 | Minor | Corrected | consistency model §3.3; domain model §4.2, §4.4, §4.7, §5 | One screeningOutcomes[] array, inside the summary; naming and lifecycle-mode ownership in the domain model ScreeningOutcomeSummary on Study is FEAT-011's one screeningOutcomes[] array; lifecycle mode owned by the lifecycle part only; pmDedupAuditLedger versus FEAT-012's pmDedupAuditLog; pmDedupBatch listed |
| V2-18 | Minor | Adopted; container PROPOSAL; Corrected; Adopted | versioning model §7.1, §7.6, §9.7; domain model §4.1, §4.2, §10; acceptance criteria AC-R4p-01; AC-R2a-06 | Candidate key stays (study, form, reviewer); reconciler session on the task; adjudications are revisions; ReviewSession generalisation for screening-only steps at F3/F5 Author scope in the session key through DefinitionOwner and separate reconciliation sessions; ProfileAdjudication versioned; conflict copy for the losing tab; ProfileSession as the screening container (PROPOSAL, fixed at F3/F5) Versioned adjudication; where the losing tab's draft lives. |
| V2-19 | Minor | Corrected | consistency model §4.2, §4.3 | Full table: ledger record, Study write, HLC, statistics half, capture mode, draft consumption, settings publication on a Completed stage, legacy capture, pool-entry writers, approval committing the underlying change |
| V2-20 | Minor | Corrected | domain model §12 | Rows for M0, R2d, R3d, R4c, R5a, O2, R6, GA; Project in R2a; profile-version usage at F5 |
| V2-21 | Minor | Corrected | acceptance criteria AC-ALL-04, 11; AC-R0-01 | Scoped by tier; subject corrected. |
| V2-22 | Minor | Corrected; Corrected; Question (D3-01) | UX strategy patches UI-6, UI-8, §14; acceptance criteria UI-3; UI-6; UI-8 | 925px added; A-24 cited and rewritten; UI1 reading put to Chris in D3-01 925 px added; A-24 cited; the UI1 reading put to Chris. |
| V2-23 | Minor | Corrected | acceptance criteria §5.1; AC-R4a-03, 07; AC-O2-04; AC-R6-05; AC-R3b-04; AC-R4c-03; AC-C1-03, 04; AC-R4a-13 | Methods added; bundled rows split; non-observable rows rewritten. |
| V2-24 | Minor | Corrected | acceptance criteria AC-R3d-06, 07; AC-R3c-08; AC-R4b-07, 11; AC-R4p-05; AC-R5c-05; AC-C1-07, 08, 10; AC-M0-04, 05, 07; AC-R6-08, 13; AC-R1c-09; AC-R2d-09 | |
| V2-25 | Minor | Corrected | UX strategy patches §5; acceptance criteria §5.3 | Acceptance criteria §5.3 now has user-testing tasks for R2d, R3c, R4b, R4p, R5c, P2 and C2 (and for R2b and P1); O2's operations are covered by U40 in the UX strategy |
| V2-26 | Note | Corrected | domain model §13, §14 | Zero-or-one relations; ExternalStepLedger to Project and search; StudyAlias; claims; every gate listed |
4.2 Review VA (versioning, concept)¶
| Finding | Severity | Resolution | Where | Note |
|---|---|---|---|---|
| VA-01 | Blocker | Adopted; Question (D2-02) | versioning model §3.5, §3.6; acceptance criteria AC-R2c-21; C4-T07 | One definition: declared at commit, immutable once pinned, classes as an equivalence relation with classSeq; validity separate; per-decision usage table; D2-02 |
| VA-02 | Blocker | Adopted; Question (D2-02) | versioning model §6.1; acceptance criteria AC-R2d-11; C2-T07 | classSeq in the head key; one head per context and class; the shared-compatible-version consequence stated |
| VA-03 | Major | Corrected; Question (D2-01) | versioning model §7.3, §7.5, §8.1, §8.4, §8.9; acceptance criteria AC-R2c-02; AC-R2d-12; C4-T13 | Derived model chosen; "policy transition" deleted from C5; mapping is the only derived writer; D2-01 The FV4 row (AC-R2d-06) stays confirmed. |
| VA-04 | Major | Corrected; Question (D2-02) | versioning model §9.1, §9.2; acceptance criteria AC-R4a-33; C9-T19 | Task key study × form (RE4 already decides); held per question |
| VA-05 | Major | Adopted | versioning model §3.3, §11; acceptance criteria AC-R2c-22; C4-T08 | Stable optionId; answers store IDs; rename compatible, retire incompatible; adoption reuses OptionInfo.Id |
| VA-06 | Major | Adopted | versioning model §4.2; acceptance criteria AC-R2a-24; C4-T09 | Composition validity against pinned parent versions; graph stored |
| VA-07 | Major | Question; Question (D2-05) | versioning model §4.4; acceptance criteria AC-R2a-14, 33 | Requirement version versus form settings; D2-05 |
| VA-08 | Major | Question; Question (D2-04, D2-05) | versioning model §5.3, §5.4; acceptance criteria AC-R2b-15 | (a) allocation, batches, expiry outside the stage settings version (D2-05); (b) binding meaning D2-04 |
| VA-09 | Major | Question; Question (D2-06) | versioning model §3.7; acceptance criteria AC-R2a-23; C4-T12 | System questions as data, (guid, SystemQuestionVersion) identity, opt-in adoption; D2-06 |
| VA-10 | Major | Adopted | versioning model §7.3, §8.8; acceptance criteria AC-R2c-20; C5-T10 | Upgrade transition; late Save pinned to the declared version |
| VA-11 | Major | Adopted; © Question; Adopted; Question (D2-09) | versioning model §9.3, §9.4, §9.5; acceptance criteria AC-R4a-34, 43; C9-T16 | (a) gold re-reconciliation derived; (b) publication de-qualification joins drift triggers; © D2-09 |
| VA-12 | Minor | Adopted; Corrected; Question (D2-08) | versioning model §7.6; acceptance criteria AC-R2a-06 | One draft record with conflict copies (brief §1.8); D2-08 for the UX |
| VA-13 | Minor | Adopted | versioning model §3.8; acceptance criteria AC-R2a-14; C4-T10 | "In use" defined per container; published versions immutable regardless of sessions |
| VA-14 | Major | Adopted | versioning model §8.2; acceptance criteria AC-R2c-18; C4-T11 | added, removed, changedCompatible, changedIncompatible, mapped with treatments and defaults |
| VA-15 | Minor | Adopted; Corrected | versioning model §3.8; acceptance criteria AC-R2a-10, 32 | Published, retired, removable from forms, discardable when unreferenced |
| VA-16 | Major | Question; Question (D2-03) | versioning model §3.1; acceptance criteria AC-R2c-26; C4-T19 | Both options presented; recommendation incompatible version; D2-03 |
| VA-17 | Minor | Adopted | versioning model §10.1, §10.2; acceptance criteria AC-R2a-43; AC-R5a-07; AC-R5c-08; C8-T05 | Per-cell version, class and option IDs; wide exports per form version or class; usage from revisions versus session versions |
| VA-18 | Note | Adopted | versioning model §11; acceptance criteria AC-R6-12 | Verified(v1) versus Unknown from Annotation.Question; code verified |
| VA-19 | Major | Adopted; Question (D2-05) | versioning model §5.1; acceptance criteria AC-R3b-05 | Profile criteria version versus profile settings; Q-26 applies to criteria versions only |
| VA-20 | Note | Adopted | versioning model §2 table, §9.7; acceptance criteria AC-R3a-32 | Outcome is a rebuildable projection with its vector; mechanics in the consistency model |
| VA-21 | Note | Adopted | versioning model §10.5; acceptance criteria C11-T01 | Transaction time only; observedAt and legacy timestamps never order |
| VA-22 | Major | Adopted | versioning model §7.2; acceptance criteria C5-T09; AC-R2a-26 | Full pin map per session version; storage may delta-encode |
| VA-23 | Minor | Adopted | versioning model §9.6; acceptance criteria AC-R4b-02; C9-T10 | Query target = reconciled revision ID; QY9 comparison defined |
| VA-25 | Minor | Adopted | versioning model §3.1; acceptance criteria AC-C1-08 | Entity-type ID is the structural property; category string is a display alias |
| VA-27 | Minor | Adopted | versioning model §7.4; acceptance criteria AC-R2d-13; C5-T11 | Eight per-answer states (six asked plus NeedsAnswering and Conflicted); session standing in §7.5 |
4.3 Review VB (versioning, implementation)¶
| Finding | Severity | Resolution | Where | Note |
|---|---|---|---|---|
| VB-01 | Blocker | Corrected | consistency model §3.3–§3.5; acceptance criteria AC-R0-09 | Floor for meaning (getter and pipeline merge); the stub alternative compared with decision evidence; AC-R0-06 |
| VB-02 | Major | Corrected | consistency model §3.6; acceptance criteria AC-R0-01, 06 | Capture on every extended type; no fields inside computed collections; schema-conditional serialisation audited; AC-R0-07 |
| VB-03 | Major | Adopted | consistency model §17; acceptance criteria AC-R2c-13 | Existing kinds through the projection or intents; protocol 5 later; the pending index as an R2c prerequisite; VB-R2c-1 |
| VB-04 | Major | Corrected | consistency model §5; acceptance criteria AC-R2a-07 | The command-bearing record is the receipt |
| VB-05 | Major | Adopted | versioning model §6.2; acceptance criteria C2-T08 | Key hash, scalar unique indexes, partial per kind; fixture FX-VM-18 |
| VB-06 | Major | Adopted; Corrected; Question (D2-10, D2-11) | versioning model §8.5, §8.8, §8.10; acceptance criteria AC-R2c-05, 06, 14, 15 | Versioning rules stated (late Save pin, one active publication, FV4 generation CAS); protocol in the consistency model §4 and §7 |
| VB-07 | Major | Adopted; Corrected | consistency model §6.2–§6.4; acceptance criteria AC-R0-02, 08; AC-R6-05 | Scope-aware markers, composite IAggregateWriteGuard, every pmStudy UpdateMany inventoried, ADR-020 cutover; AC-R6-05 restated |
| VB-08 | Major | Adopted | versioning model §4.3, §12.5; acceptance criteria AC-R2a-38; AC-R2c-16 | Versioned data source, Needs-updating presenter, renderability at publication, no AF1 fallback; one VB citation UNVERIFIED |
| VB-09 | Major | Adopted | versioning model §6.5; acceptance criteria AC-R2a-39; AC-R2d-14 | Instance identity, rename, delete as withdrawal, duplicate with provenance, population attribute |
| VB-10 | Major | Adopted | versioning model §12.1, §12.2, §12.3; acceptance criteria C1-T16 | Append-only repository and test, explicit names, digests, no TTL |
| VB-11 | Major | Adopted | versioning model §3.7, §12.4; acceptance criteria AC-R2a-10, 44; §7.4 | Record GUID _id with unique natural key; global system store; I1 to I6; checker in R2a |
| VB-12 | Major | Corrected | consistency model §2 CR-2, §4.6, §18; acceptance criteria AC-R2a-19, 22; §6.1 | No per-project counter; ADR-019's arms; three tiers; one bulk command per collection; D1-08 |
| VB-13 | Major | Adopted | versioning model §6.6, §11; acceptance criteria AC-R6-10, 11 | Conflicted head, AuthoredUnder union, display-only ancestors, v0/v1 mapping, LegacyIdAlias |
| VB-14 | Minor | Adopted; Corrected | consistency model §12; acceptance criteria AC-R2a-17 | Bounded Study log moved by a worker; every writer named |
| VB-15 | Minor | Adopted | versioning model §7.6; acceptance criteria AC-R2d-10; AC-R3c-16 | No TTL, audited discard, patches with E28 cap, cross-form draft conflict fixture |
| VB-16 | Minor | Adopted | versioning model §12.3; acceptance criteria AC-R2a-21; C5-T12 | Deterministic IDs for natural keys; client-proposed validated IDs for revisions and instances |
| VB-17 | Minor | Adopted | versioning model §12.6; acceptance criteria AC-M0-04 | Harvest and avoid table for versioning; AC-M0-04 wording goes to the acceptance drafter |
| VB-18 | Minor | Adopted | consistency model §10.5; acceptance criteria AC-R0-14 | New pmStudy indexes through the operator route, partial where possible |
| VB-19 | Note | Adopted; Adopted; Question (D2-14) | consistency model §11.5; acceptance criteria AC-R2a-30 | Opaque GUIDs only, with a schema check; D2-14 |
| VB-20 | Note | Adopted; Adopted; Question (D2-13) | consistency model §13.1; acceptance criteria AC-R2a-29 | Isolated-database restore plus manifest-driven recovery; checker after every rehearsal; D2-13 |
4.4 Review DC (data consistency)¶
| Finding | Severity | Resolution | Where | Note |
|---|---|---|---|---|
| DC-01 | Blocker | Corrected | consistency model §2 CR-2, §11; acceptance criteria AC-R2a-20; AC-M0-07 | No per-project counter on the interactive path; ordering by per-aggregate versions plus HLC; the fence-and-drain replaces the "high-water mark" (patches to C8, C11, E25) No per-project document in interactive commits. |
| DC-02 | Blocker | Corrected | consistency model §3.3–§3.5; acceptance criteria AC-R0-09; AC-R2a-12 | Study.CanonicalSummary separate from the computed getters, with R0's getter and pipeline merge; AC-DC-05, AC-DC-06 Study.CanonicalSummary behavioural floor. |
| DC-03 | Major | Corrected | consistency model §5; acceptance criteria AC-R2a-07 | Canonical command ledger replaces E35; FEAT-024 receipts correlate by OperationId only Command ledger. |
| DC-04 | Major | Corrected | consistency model §6; acceptance criteria AC-R0-02, 08, 11 | Markers on Study and Project, aggregate-method checks, composite guard, ADR-020 cutover; AC-DC-07 Markers, guard, race test. |
| DC-05 | Major | Adopted; Corrected | consistency model §7.6, §2 CR-2; programme integration §5.2; R9; §12 X-ELIG; acceptance criteria AC-R3a-27 | Canonical admission writes no per-project document; settings changes fence and drain; X-ELIG prerequisite. The pause needs D2-10 extended (orchestrator) No per-project document per admission; StageSettings-version default |
| DC-06 | Major | Adopted; Corrected | versioning model §8.5, §8.6; consistency model §7.3, §7.4; acceptance criteria AC-R2c-05, 06 | Phase-1 O(1), drain, digest re-check, manifest after commit, predicate sweep; mechanics in the consistency model Phase 1 fence, drain, digest check, O(1) commit; phase 2 is an operation that rewrites projections; AC-R2c-05 restated |
| DC-07 | Major | Adopted; Corrected | versioning model §7.6; consistency model §4.4; acceptance criteria AC-R2a-06; C5-T08 | Brief §1.8 model restated as rules Lease, etag, write sequence, conflict copy, consumption by Save, upsert on the natural key; product choice D2-08 |
| DC-08 | Major | Adopted | versioning model §7.5, §8.4, §9.7, §10.4; consistency model §8.1–§8.3; acceptance criteria AC-R3a-31; AC-R2c-15 | Derived records carry their version vector; readers fail closed; mechanics in the consistency model §8 Input-version vectors, fail-closed gates, predicate sweeps, race fixtures |
| DC-09 | Major | Corrected; Adopted; Question (D2-10) | consistency model §7.5; acceptance criteria AC-R3c-13 | Two-step completion; E29 rewritten |
| DC-10 | Major | Corrected; Adopted | consistency model §9; acceptance criteria C19-T01 to T05 | Three effect classes; durable intents through the outbox pattern; E30 rewritten |
| DC-11 | Major | Adopted | consistency model §10; acceptance criteria AC-ALL-10; C18-T10, T11 | C18 transaction admission; E46 |
| DC-12 | Major | Adopted | consistency model §10.4; acceptance criteria AC-ALL-03; C18-T06, T09 | Cache rule; AC-ALL-03 restated; AC-DC-11 |
| DC-13 | Major | Corrected | consistency model §11; acceptance criteria AC-R2a-20; AC-R5a-02r, 04, 08; C11-T01 | HLC stamps, watermark rule, causal closure, dataset classes, erasure in manifests; AC-R5a-02 restated |
| DC-14 | Major | Corrected | consistency model §12; acceptance criteria AC-R2a-17; AC-R3a-10 | Capture inside the aggregate; every writer named; pool-entry writers enumerated |
| DC-15 | Major | Adopted | consistency model §4.2, §4.5, §15; acceptance criteria AC-R4a-22, 27, 39; AC-R4b-10; C18-T08 | Base snapshot and input etag at Complete; Study write load-bearing; editor claim generation; assignment.started CAS; query target carried. These belong at F4, not R4b |
| DC-16 | Major | Corrected; Corrected; Question (D1-08) | consistency model §18; acceptance criteria AC-M0-01, 02, 06; AC-ALL-26; AC-R2a-19 | AC-M0-01/02 and AC-R2a-19 restated; AC-DC-01, -02, -04; budgets per D1-08 A13 and A14 run on synthetic claims in M0, as the consistency model asks, and again as journeys in R2a and R2b (C1-T06, T07). |
| DC-17 | Major | Adopted; Adopted; Question (D2-13) | consistency model §13.1; acceptance criteria AC-R2a-29; AC-R5a-11; AC-R7-02 | Whole-database PITR into an isolated database, discontinuity record, scheduled-state reconciliation; decision D2-13 |
| DC-18 | Minor | Corrected | consistency model §3.6; acceptance criteria AC-R0-01 | Capture, never ignore-only; top-level fields only |
| DC-19 | Minor | Adopted; Corrected | consistency model §7.8; acceptance criteria AC-P2-05, 07 | Merge as alias through an operation; AC-P2-07 restated; D2-12 |
| DC-20 | Minor | Adopted | consistency model §8.5; acceptance criteria AC-R4a-19; C3-T09 | Exposure in payloads, late events keyed by draft etag, class derived on read |
| DC-21 | Minor | Adopted; Corrected | consistency model §4.3, §17.2; programme integration §7.2; patches C8, C16; acceptance criteria AC-R0-12 | Enrolled projects never in transactional point mode; refused at enrolment, mode change and command time Admission refuses transactional point mode |
| DC-22 | Note | Noted | consistency model §1.3 | Baseline refreshed to de3e98c59; nothing on the canonical path changed since 0f5c61073 |
| DC-23 | Note | Corrected | consistency model Patches (domain model principle 4, §5) | Principle aligned with the transaction table |
4.5 Review DD (domain-driven design)¶
| Finding | Severity | Resolution | Where | Note |
|---|---|---|---|---|
| DD-01 | Major | Adopted; Adopted (PROPOSAL) |
consistency model §3.1; domain model §1.1, §4.1, §9 | ReviewerStudyEvidence as the logical boundary (PROPOSAL); invariants materialised without a root document ReviewerStudyEvidence = (project, study, author scope); heads and revisions are entities; the F1a storage ADR decides documents within VB's four constraints |
| DD-02 | Major | Corrected | consistency model §2 CR-2, §11; domain model §1.3, §10, §13 | Per-study ordering plus HLC; a project sequence only for fenced definition operations ProjectCommitSequence deleted; Study version plus clock stamp; E25 settled at F1a (brief §1.2) |
| DD-03 | Major | Adopted | consistency model §9; domain model §6.2, §13 | Effect classes and carriers (C19); the event catalogue stays in the domain model Event catalogue with the brief's three effect classes; C19 by the consistency drafter |
| DD-04 | Major | Adopted | consistency model §4.3 (host column), §10.6; domain model §6.1, §6.3; E59; acceptance criteria AC-R0-16 | Commands hosted in API or PM through one handler; the hosting rule is the domain model's §6.1 Command catalogue and hosting rule; PM capture capability as an R0 item PM capture capability is an R0 item (E59). |
| DD-05 | Major | Adopted | domain model §2 | Context map with relationship types; LegacyReviewDataAdapter named; shared kernels listed |
| DD-06 | Major | Adopted (PROPOSAL, shape F1a, freeze F3) |
domain model §4.2, §7.1 | Facets and CollectiveOutcomePolicy as single writer; the 25 September precedence rule is recorded as RECOVERED (research lines 818–823, re-verified by the consistency and versioning drafters; corrected after V3-20) |
| DD-07 | Major | Corrected | versioning model §7.1, §9.1; domain model §4.3, §13; E63 | Task keyed (study, form); versions as state; reconciler session an entity of the task Task keyed by study × form; ReconciliationSession is a task entity; the compatibility class leaves the F4 decision list |
| DD-08 | Major | Adopted (PROPOSAL); Corrected |
domain model §4.7, §5, §9; methodology coverage §9.1; patches L | Merge as alias; AliasResolutionPolicy; presentation is D2-12 Alias merge; "primary Study" |
| DD-09 | Major | Adopted (PROPOSAL at F3) |
domain model §4.4; E62 | One Stage aggregate; Active derived; Completed refuses settings publication except via an approved change request |
| DD-10 | Major | Corrected; Corrected (per brief §1.1) | versioning model §8.4, §13; domain model §4.1, §4.5, §6.2 | The two designs collapsed to derived effects per brief §1.1; DD-10's materialised alternative recorded and not chosen; D2-01 Not batched materialisation of real versions: effects are derived on read and query-path projections are rewritten by an operation; "evaluate lazily on read" survives only as derivation for canonical readers; D2-01 |
| DD-11 | Major | Adopted | domain model §8; UX strategy §5.2 | Glossary with the renames; user-facing terms pending D3-03 User-facing terms aligned with the DD glossary; internal names unchanged |
| DD-12 | Major | Adopted | versioning model §3.1; domain model §4.5, §4.6, §7.2, §13 | System entity-type IDs (EntityTypeId) minted at F1a; E14's identity part moves to F1a; O1 depends on them |
| DD-13 | Major | Adopted | consistency model §6; domain model §1.7, §4.9, §5 | Marker on the documents writers already CAS; a filter miss is the refusal Per-document CanonicalScopes marker in the existing write filter, scope-aware per VB-07 |
| DD-14 | Minor | Adopted | domain model §7.1; E60 | Policy catalogue, each a pure Core service with a fixture suite |
| DD-15 | Minor | Adopted | versioning model §7.1; domain model §4.1, §10 | Deterministic SessionId; FormSession created on first autosave Deterministic session IDs; the FormSession document is created on first autosave without touching Study |
| DD-16 | Minor | Adopted | domain model §2, §5; A-30; acceptance criteria AC-M0-02 | Project named as the Membership root, conformist to #3335; embedded jobs an explicit non-goal before R7; AC-M0-02 Project-contention line for the acceptance drafter Project-document contention arm. |
| DD-17 | Minor | Adopted | consistency model §3.3; domain model §1.9, §5 | CanonicalSummary is labelled a coexistence adapter, retired at R7 |
| DD-18 | Minor | Adopted | consistency model §11.1; domain model §1.8, §4.2, §4.7, §4.9 | Ledgers ordered by per-study sequence and HLC, one writer each; naming in the domain model Ledger renames; one writer; ordering key |
| DD-19 | Minor | Adopted | domain model §7.2; E61 | Value-object list with equality rules and shared-kernel ownership |
| DD-20 | Minor | Adopted | domain model §4.8, §7.1 | Mapping stays project-level; StudyLifecyclePolicy in the outcome transaction |
| DD-21 | Minor | Adopted | consistency model §14; domain model §1.9; patches (C17) | Every read model declares a regime and freshness marker; gates read only R, F or current T Every read model declares its regime and freshness marker |
| DD-22 | Minor | Adopted | consistency model §2, §6.3, §11.1; domain model §11; E58; acceptance criteria AC-M0-08 | Fitness tests on the StudyWriteLockArchitectureTests precedent: CR-1, ownership, stamp collector, append-only (module boundaries in the domain model) Namespaces per context, internal default, fitness tests Fitness tests (E58). |
| DD-23 | Note | Noted; Adopted | consistency model §10.6; domain model §6.1 | platform-architecture.md is corrected in the F1a docs PR (domain model §6.1) |
| DD-24 | Minor | Adopted | domain model §4.6, §10 | Default population derived; aggregate only when C1 enables classification |
| DD-25 | Minor | Question | domain model §1.5, §4.5 | D2-15 (system catalogue plus copy from administered projects); principle 5 amended on that basis |
| DD-26 | Minor | Adopted | versioning model §3.1, §6.4; domain model §7.2; patches (C1/C2); acceptance criteria C1-T09 | definitionOwner versus owningParent; "a candidate child never attaches to a reconciled parent" is a C1 conformance test |
4.6 Review AC (acceptance criteria; review IDs)¶
| Finding | Severity | Resolution | Where | Note |
|---|---|---|---|---|
| AC-01 | Blocker | Corrected | acceptance criteria §1.2; CONF rows; §7.5; §9.3 | Source and Status on every row; a conformance row per release naming test IDs; coverage table. New rows for PV1 (AC-R2a-26), VS1 (AC-R3a-15, AC-R4a-42), RE1 (AC-R4a-16), NT1 (AC-R4a-17), TC1 (AC-R3d-06, AC-C1-07), QY5 (AC-R4b-07), RE4 (AC-R4a-15), Q-10 (AC-R4a-21), Q-13 (UI-11) and amendment H (AC-R3a-18). |
| AC-02 | Major | Corrected | acceptance criteria §1.2; pending rows | Pending rows are concrete recommended answers that can't pass until answered: AC-R1c-08, AC-R1d-05, AC-R2d-08, AC-R3a-07, 21, AC-R3b-05, AC-R3c-07, 08, AC-R4a-12, 28, 30, 31, AC-R5c-03, 06. Q-32 (AC-R4p-06), E1 (AC-R2c-02, 20) and E11 (AC-R3b-10) now have rows. |
| AC-03 | Major | Adopted | acceptance criteria §1.3; §2.1; §2.2; §8.2 | Merge criteria versus activation criteria on a recorded candidate commit and image SHAs; acceptance record. PROPOSAL. |
| AC-04 | Major | Adopted; Corrected | methodology coverage patches fixtures FX-PRISMA-01..09; acceptance criteria §7.1; §7.2 | Versioned data with per-release evidence assertions; splits by release Fixtures as versioned data with per-release parts and authoring dates. |
| AC-05 | Major | Corrected | acceptance criteria AC-R3a-14; AC-R3c-08 to 10; AC-R3d-06, 07; §7.3 | Access-policy, lifecycle and setup fixtures are rows and fixture families. |
| AC-06 | Major | Corrected | acceptance criteria AC-R3a-11 to 41 | Every proposed R3a row, plus other reviews' additions. |
| AC-07 | Major | Corrected | acceptance criteria AC-R2a-20 to 31 | Proposed IDs kept; AC-R2a-20 now states the consistency model's ordering (HLC plus per-aggregate versions) instead of a per-project commit sequence. |
| AC-08 | Major | Corrected | acceptance criteria AC-R4a-14 to 22 (and 23 to 49) | Negative cases and the missing decisions. |
| AC-09 | Major | Adopted | acceptance criteria §10 (L17-01 to 17); §1.2 | Dated tooling with "needed by" releases; rows whose tooling doesn't exist can't pass. |
| AC-10 | Major | Adopted | acceptance criteria §6.2; AC-ALL-03 | Persona set; SyrfAdmin only for application-admin paths. |
| AC-11 | Major | Adopted; Question (D3-14) | acceptance criteria AC-S0-06; §6.1; §6.4 | Seed-if-absent job; data tiers. |
| AC-12 | Major | Adopted | acceptance criteria §1.4; L17-05; C18 | Barrier harness and the interleaving rule. |
| AC-13 | Major | Corrected | acceptance criteria AC-R0-01, 06, 07 | Subject is the recorded minimum image; capture, never ignore-only. |
| AC-14 | Major | Corrected; Question (D2-08) | acceptance criteria AC-R2a-06, 28 | Lease model with a conflict copy; durability and draft-changes indicator. |
| AC-15 | Major | Corrected | acceptance criteria AC-ALL-15; AC-R1a-07 | Both exclusion lists checked (verified: 45 angular.json entries; vitest.config.ts excludes question-management/**). |
| AC-16 | Major | Corrected | acceptance criteria PE-01, 02, 04r, 06, 07; AC-ALL-20, 21; §5.2 | Measurable exit, minimum exposure, severity, entry rows. |
| AC-17 | Major | Corrected; Corrected; Question (D3-01) | UX strategy §14, patches UI-3, UI-9; acceptance criteria UI-3; UI-9 | UI-3 statically checkable; routes registered; D3-01 Statically checkable UI-3; route matrix registration. |
| AC-18 | Major | Corrected | acceptance criteria §6.1; AC-ALL-09; AC-M0-02; AC-R2a-19; AC-R2c-06, 13; AC-R4a-13 | Named datasets on FEAT-024's harness, iteration counts, same-host baselines, AF2 gate reuse. |
| AC-19 | Major | Adopted; Corrected; Question (D3-15) | UX strategy §8, patches AC-ALL-07; acceptance criteria AC-ALL-07; UI-6; AC-R4a-32; L17-04 | Live regions, focus, forced colours, 400% reflow, short height, touch targets, screen-reader matrix, Firefox and WebKit; one width list FEAT-023 accessibility matrix; one width list; CDK drag; Firefox and WebKit smoke. |
| AC-20 | Major | Adopted; Corrected | methodology coverage patches AC-P1-09.., AC-P2-10.., AC-R3a-11.., AC-R5b-08.., AC-C1-06; acceptance criteria AC-P1-09, 10, 17; AC-P2-10, 14; AC-R3a-18, 19; AC-R5b-08; AC-C1-06; §9.5 | FEAT-011 MUSTs as criteria; validation procedures reused FEAT-011 MUSTs as rows. |
| AC-21 | Major | Adopted; Corrected; Question (D4-21) | methodology coverage §9.3; patches AC-P2-01, AC-P2-06, AC-P2-13..17; acceptance criteria AC-P2-01r, 06r, 11 to 14 | Metric per D4-21; datasets and licences UNVERIFIED Parity made computable; exclusion list completed. |
| AC-22 | Major | Adopted | acceptance criteria AC-ALL-17; §8.2 | Fail-closed surfaces; supported-flag matrix in each brief. |
| AC-23 | Major | Adopted | acceptance criteria AC-ALL-18; AC-ALL-04 | Containment row; rehearsal scoped by tier. |
| AC-24 | Major | Adopted | acceptance criteria AC-ALL-19; C10-T05 | Disclosure-matrix probe suite (matrix produced at F1b). |
| AC-25 | Major | Adopted; Question (D3-02, D1-06) | acceptance criteria §8.3; UI-8 | Tiers merged with DS-11's gate weights. |
| AC-26 | Minor | Adopted | acceptance criteria §1.4; AC-ALL-14; §8.2 | Persisted-state rows carry I or C; briefs list spec sets and e2e minutes. |
| AC-27 | Minor | Adopted | UX strategy patches UI-10; acceptance criteria UI-10 | Literal-colour guard spec over programme folders (no stylelint exists) Literal-colour guard spec. |
| AC-28 | Minor | Adopted | UX strategy §4.3, §13.3, patches UI-2, UI-5, UI-8; acceptance criteria UI-2; UI-5; UI-8 | Pattern checklist, handoff linked, "materially changed" defined Pattern inventory, handoff link, "materially changed" defined. |
| AC-29 | Minor | Adopted | UX strategy §11, patches §5; acceptance criteria §5.3; §5.4 | Tasks for every release, explain rubric, pass bar per U Tasks for every user-facing release, with rubrics and pass bars. |
| AC-30 | Minor | Adopted | acceptance criteria §7.4 | INV-01 to 12. |
| AC-31 | Minor | Adopted | acceptance criteria §7.1; E99 | Corpus location, format and cross-language harness. |
| AC-32 | Minor | Adopted | acceptance criteria AC-ALL-22; C15-T01 to T11 | Notifications-on criteria. |
| AC-33 | Minor | Question (D1-07) | acceptance criteria AC-GA-06 | Production opt-in pilot per family before GA. |
| AC-34 | Minor | Corrected | acceptance criteria AC-R5a-02r; AC-R2a-09, 10, 32; AC-R3a-07; AC-R1b-08; AC-R2c-10; AC-O2-01r; AC-R3d-01 | Each precision defect fixed. |
| AC-35 | Minor | Corrected | acceptance criteria AC-M0-01; §9.4 | Research cases mapped. |
4.7 Review PH (past-year planning)¶
| Finding | Severity | Resolution | Where | Note |
|---|---|---|---|---|
| PH-01 | Major | Corrected; Corrected; Question (D1-08) | consistency model §2 CR-2, §18; acceptance criteria AC-ALL-26; AC-R2a-19; AC-M0-02 | No in-transaction counter; ADR-019 gate (b) shape in AC-M0-02 and AC-R2a-19; storage-ADR rule "no per-project document in the source transaction" |
| PH-02 | Major | Question; Question (D3-12) | programme integration §11; §12 X-DEL; acceptance criteria AC-P1-16 | D3-12 |
| PH-03 | Major | Question (D2-07) | acceptance criteria AC-R2a-37 | |
| PH-04 | Major | Question | programme integration §5.2 | D3-09 (D8 mapping); truth table extended |
| PH-05 | Major | Adopted | acceptance criteria AC-R3a-37 | Every existing per-stage setting has a stated home. |
| PH-06 | Major | Adopted | versioning model §3.4, §10.2 | Response modes and metadata in version content; suppressed answers preserved; exports resolve suppression; frozen versions settle the open question |
| PH-07 | Major | Adopted | acceptance criteria FX-APPLIC | FEAT-020's specification and fixtures seed the applicability corpus. |
| PH-08 | Minor | Adopted | open questions Q-35; programme integration §11 | An aggregate-only production count of legacy reconciled sessions runs off-peak before F4 (a first read-only attempt on 3 October timed out on an unindexed scan); if the count is near zero, Q-35 shrinks to a fail-closed refusal. |
| PH-09 | Major | Adopted | programme integration §11; §12 X-IMPORT; acceptance criteria AC-P1-19 | #2612 verified as a plan document only Import scale with Citation capture on. |
| PH-10 | Major | Question; Question (D4-14) | methodology coverage §13.1; acceptance criteria §4.36 | D4-14; inventory label correction for the orchestrator Lane floors stated; criteria follow if approved. |
| PH-11 | Major | Adopted | delivery operating model §4.6, §13.1; patch §10 | Walking-skeleton rule; cap on fake-only building; risk row |
| PH-12 | Major | Question | methodology coverage §15, §3.8 | D4-18 and D4-19; traceability table provided; AC-ALL-07 wording in patches |
| PH-13 | Major | Adopted; Adopted; Question (D3-15) | UX strategy §8.3, E85; acceptance criteria AC-R1a-12; AC-R4a-32 | Browser and device matrix; CDK drag for the question tree and the browser floor as R1a preconditions |
| PH-14 | Minor | Adopted | programme integration §11; E75 | R0 admission is P7's domain enrolment |
| PH-15 | Minor | Adopted | programme integration §11; patches C16 | M5/P9 classification and broker rules |
| PH-16 | Minor | Corrected | domain model §7.2; patches (register §2) | FEAT-001 D28, D49, D50-revised, D57 supersession rows; EntityPath element kinds |
| PH-17 | Minor | Question (D4-17) | acceptance criteria AC-R2d-15 | |
| PH-18 | Minor | Adopted | versioning model §3.5, §7.2, §8.2, §8.6 | Transitivity as classes; resolved question set stored per session version; FEAT-003 categories in the manifest and the four-step U6 flow |
| PH-19 | Minor | Adopted | UX strategy §5.2 | Four-state vocabulary and "Save progress" reused; a distinct term per kind of draft |
| PH-20 | Major | Adopted | programme integration §11; §12 X-PDFTOOLS | Or O1 states the gap |
| PH-21 | Minor | Corrected | decision register §2 | Supersession rows added for the product roadmap, the release-⅔ migration drafts, the FEAT-006 user-guide draft and the AF2 README draft model. |
| PH-22 | Minor | Question (D4-20) | acceptance criteria AC-R2a-45 | |
| PH-23 | Minor | Question; Adopted; Follow-up | methodology coverage §13.3, §13.6; acceptance criteria AC-R3a-26; AC-R3b-16; AC-R6-17 (D4-16) | D4-16; metrics as acceptance inputs FEAT-007's "80% fewer multi-project workarounds" is a post-GA outcome measure, left to the UX research plan as a follow-up. |
| PH-24 | Minor | Adopted | methodology coverage §13.6 | FEAT-009 settings and truncation as inputs to E and Q-22 |
| PH-25 | Minor | Adopted | acceptance criteria AC-ALL-19 | Blinded export columns are in the disclosure probes. |
| PH-26 | Minor | Corrected | decision register §2 | FEAT-006 D12, D15, D19–D27, D33 and D35 recorded as superseded (from the domain-model revision). |
| PH-27 | Minor | Question; Question (D2-15) | domain model §4.5; acceptance criteria AC-R1a-10 | D2-15 |
| PH-28 | Note | Adopted (PROPOSAL at F5) |
domain model §4.5, §13 | Keyword lists as a profile operational setting; project-level list legacy-only; no owner question needed |
| PH-29 | Minor | Adopted | consistency model §3.4 item 6, patches (C16); acceptance criteria AC-R0-15 | ServiceVersionFloor, ADR-019's tripwire and ADR-011's precedent reused Reuses ServiceVersionFloor and ADR-019's tripwire. |
| PH-30 | Note | Adopted | domain model §6.1, §13; acceptance criteria AC-R4a-40 | ADR-009 cited for the hosting rule; ADR-008 for every new timer |
| PH-31 | Note | Adopted | domain model §2.1; UX strategy §3 | New identification, dedup and adoption surfaces placed with the Study Management owner (Library, Searches, Processing). |
| PH-32 | Note | Corrected | acceptance criteria AC-R4a-13; AC-ALL-09 | |
| PH-33 | Note | Adopted; disposition Question | versioning model §3.9, §7.6 | No autosave trail (brief §1.8); multi-admin editing via pending-edit leases; training rounds D4-04 |
| PH-34 | Note | Corrected | source and status inventory §4; programme integration §1 | Live state refreshed on 3 October (main de3e98c59/eb93caffa; PR states re-read). |
| PH-35 | Note | Adopted | UX strategy §6.1, U17, U33 | One-key decisions reconciled with DP3 and DP5 |
4.8 Review UX (whole-application UI and UX)¶
| Finding | Severity | Resolution | Where | Note |
|---|---|---|---|---|
| UX-01 | Blocker | Adopted | UX strategy §9, §10, patches §5; acceptance criteria §2.3; §5.3; §6.3 | Research plan with baseline, formative, summative, diaries, card sort; AC-UX-01..09 replace PE-05; participants and telemetry pending D1-06, D3-08 Baseline study and realistic-content seed. |
| UX-02 | Blocker | Adopted | UX strategy §6.1 to §6.3, §10, E87, patches integrated-plan R3a/R3b; acceptance criteria AC-ALL-24, 25; AC-R3a-28; AC-UX-03, 04 | Keyboard path and live completeness moved into R3a/R3b scope; AC-UX-03/04; AF2 parity exit set named in the integrated plan §8 (corrected after V3-21) |
| UX-03 | Major | Corrected | UX strategy §11, patches §6.1 and §7 | Every U placed one window before its build; gate exit evidence lists U's |
| UX-04 | Major | Adopted | UX strategy §6.4, §6.5, E82, U31; acceptance criteria AC-R2a-46 | State machine, local copy, conflict screens; QM v2 §14 harvested; drafts model per brief §1.8 |
| UX-05 | Major | Adopted; Question (D3-03) | UX strategy §5, E83, U42, patches C17; acceptance criteria UI-11; C17-T01 | Copy deck at F1c with typed constants, guard spec and glossary parity; terms pending D3-03 |
| UX-06 | Major | Adopted | UX strategy §8.2, E85; acceptance criteria AC-ALL-07; L17-02 | Accessibility harness in W0; screen-reader matrix; checklist per release |
| UX-07 | Major | Adopted; Question (D3-04) | UX strategy §4, U43, E84; acceptance criteria UI-2; UI-5 | Design system of record, pattern inventory, handoff template; button and type language pending D3-04 |
| UX-08 | Major | Adopted; Question (D3-07) | UX strategy §3.1, E86, U30; acceptance criteria AC-R3c-11; AC-R4a-47; C17-T06 | Project-level My work in R3c/R4a plus NS-07's badge, tab and banner; global landing post-GA; pending D3-07 |
| UX-09 | Major | Adopted | UX strategy §12; acceptance criteria AC-ALL-27; AC-GA-04 | Three bundles; "What changed" panel from R2a (AC-ALL-06 extended); tour at R3a; help links |
| UX-10 | Major | Adopted | UX strategy §7.4, U6 revised; acceptance criteria §5.3 (R2c pass bar per category) | Staged flow with preview and dry-run; comprehension in AC-UX-02 |
| UX-11 | Major | Adopted; Question (D3-06) | UX strategy §3.3, §3.4, U32, U45; acceptance criteria AC-GA-03, 09; C17-T05 | Shared chrome, workflow version badge, explainer; legacy restyle pending D3-06 |
| UX-12 | Major | Question; Question (D3-01) | UX strategy §14, A-37; acceptance criteria UI-3; UI-4; UI-7 | D3-01; dark evidence by token checks plus staging themeToggle Dark evidence from staging, where themeToggle is on (verified). |
| UX-13 | Major | Adopted; Question (D3-02) | delivery operating model §9.6; patch A-24; UX strategy §13; acceptance criteria UI-8 | Two-tier design QA; UX strategy §13 owns the checklist; cadence is D3-02 Two-tier design QA; "materially changed" defined; cadence pending D3-02 |
| UX-14 | Minor | Adopted | UX strategy §7.3, U36, U16 wording; acceptance criteria AC-R4a-42, 45 | Journey map, narrow layout, VS2 disclosure copy, next-task rule as PROPOSAL |
| UX-15 | Minor | Corrected; Corrected; Question (D3-05) | UX strategy §8.2, patches UI-6; acceptance criteria UI-6; AC-ALL-07; AC-R3a-29 | Widths from break-points.ts edges plus 320, 390, 925; touch targets; phone screening pending D3-05 Widths aligned with break-points.ts (verified). |
| UX-16 | Minor | Adopted | UX strategy §4.3, U40, patches UI-2; acceptance criteria UI-2 | Shells and StatusView mandatory; long-running operations mapped to the job language |
| UX-17 | Minor | Adopted | UX strategy §5.5, U31; acceptance criteria AC-UX-06 | Error and recovery copy per typed outcome; AC-UX-06 |
| UX-18 | Minor | Adopted | UX strategy §3.3, U32 | Workflow version panel and containment banner |
| UX-19 | Minor | Adopted | UX strategy §7.7, U39, U11 moved to W1; acceptance criteria AC-R3d-08; AC-UX-07 | Interim checklist at R2a; AC-UX-07 |
| UX-20 | Note | Adopted | UX strategy patches UI-2; acceptance criteria AC-ALL-28 | No debug components on reviewer-reachable routes unless the debug flag is on; review-completed page in R2b's revision |
| UX-21 | Note | Question; Question (D3-08) | UX strategy §9; acceptance criteria AC-ALL-25 | D3-08; LogRocket and GA never used for UX metrics |
| UX-22 | Note | Adopted | UX strategy §5.3 | Reviewer progress vocabulary in the deck and R2b's progress-list revision |
4.9 Review DS (delivery strategy)¶
| Finding | Severity | Resolution | Where | Note |
|---|---|---|---|---|
| DS-01 | Blocker | Corrected | delivery operating model §2.1 to §2.9, §3.2, §16.2; patches §4, §12 and A-10 | Single approver; streams replace lane owners; checklists replace sign-offs; G0 exit changed; per-gate authorisation is D1-04; approver budget added |
| DS-02 | Blocker | Corrected | programme integration §10; §12 X-ARCH-a–d; patches §8, §10; delivery operating model §15, §16.4; patches §10 and §12 | Programme added; sequencing via D1-02, D1-03; D1-01 decided Joint sequencing with #3961 (X-ARCH-a to d); precedence D1-02; #3987 is D1-03; #3964 against #3969 decided (D1-01); the plan §8 row and platform risks sit in programme integration |
| DS-03 | Major | Corrected | delivery operating model §6.1 to §6.6; patch §6.4 | GA path is the latest of six chains, including R2d, R3c, R3d and R4p; binding constraint named; R0 soak per environment; R3c's readiness source decided at F3 |
| DS-04 | Major | Adopted; Corrected | programme integration §11; §12 X-AF2, X-SHELL; delivery operating model §5.3, §6.3, §8.6; patch §6.4; acceptance criteria AC-R2a-42; §4.34 | Plan-owned per-project admission slices; D1-07 X-AF2, X-SHELL and eligibility admission are plan-owned slices (content in programme integration §11); a production enablement step per release, including R1a's default editor |
| DS-05 | Major | Corrected | delivery operating model §5; patch §7 | Ready queue; windows kept as illustration; brackets added |
| DS-06 | Major | Adopted | delivery operating model §3.3; patch §6.1 | F1a, F1b and F1c; the Q-03 catalogue subset moved to the G0 sitting (PROPOSAL) |
| DS-07 | Major | Adopted | delivery operating model §12, §13, §14; acceptance criteria AC-S0-07; §8.1 | DoR and DoD; release briefs in the async-fold format; agent brief template; PR template section (S0-5) |
| DS-08 | Major | Corrected; Adopted | delivery operating model §4; patches §6.1 and §12; acceptance criteria §4.1; AC-M0-05 | S0 (eight slices) and M0 as a merged walking skeleton with thresholds (D1-08); the scratch-worktree contradiction removed |
| DS-09 | Major | Adopted | delivery operating model §11.1 to §11.4; acceptance criteria AC-S0-01 | Hot-file register re-measured; generated-file protocol; single shell-writer stream; flags registered once |
| DS-10 | Major | Adopted; Corrected | consistency model §6.3; delivery operating model §13.2, §13.5; acceptance criteria AC-R0-08 | Ownership as a second, composed IAggregateWriteGuard; architecture test; project-wide pre-checks Refusal built on the write-guard choke point (R0-4); design text with the contracts drafter (C16, brief §1.5) |
| DS-11 | Major | Adopted | delivery operating model §7, §8.5; patch §9; acceptance criteria §8.3; AC-ALL-04 | Tiers with per-tier requirements aligned to the acceptance criteria; recorded candidates; promotion-pause windows; the mixed-version harness replaces preview rehearsals |
| DS-12 | Major | Corrected; Adopted | delivery operating model §10.5; patch §9; acceptance criteria AC-ALL-09 | Bramble calendar with gate (b) first; benchmarks limited to named hot paths; baseline in S0 |
| DS-13 | Major | Adopted | delivery operating model §9; patch §9; acceptance criteria AC-ALL-13; §8.3 | Supervised and delegated tiers; stack depth two; retarget before review; ship-gate verifier (AC-ALL-13) |
| DS-14 | Major | Adopted | delivery operating model §10; patch §10 | Budget rules; e2e strategy; start-delay tracking; Juniper session cap |
| DS-15 | Major | Adopted | delivery operating model §5.4 | WIP limits per stream and programme-wide; weekly rebase or close |
| DS-16 | Major | Adopted; Question (D1-06) | delivery operating model §2.6, §7.3, §9.6, §16.2; acceptance criteria §5.3; PI-ALL-02 | Tester tiers and monthly rounds (D1-06); release-level acceptance (D3-02); "materially changed" per UX strategy §13.3 Standing tester panel and batched sessions. |
| DS-17 | Major | Question | delivery operating model §2.1, §3.2; patches §12 and README | D1-05: step 0 merges the ledger, package and inputs to main |
| DS-18 | Major | Adopted | delivery operating model §14 | STATUS ledger, one issue per slice, weekly digest (E76) |
| DS-19 | Major | Adopted | delivery operating model §11.5, §11.6, §11.9 | Claim step; cleanup within 24 hours; pruning; D1-01 decided by Chris |
| DS-20 | Minor | Adopted | delivery operating model §5.3, §13.5; consequential patch to plan §5.3 | Import-target port; canonical apply moves to R2a |
| DS-21 | Minor | Adopted | delivery operating model §3.3, §13.5; consequential patch to plan §5.4 | StageSettingsVersion envelope frozen at F1a |
| DS-22 | Minor | Corrected | delivery operating model §3.4, §6.3, §13.5; consequential patch to plan §5.6 | Conversations leave R4a's gate; rebound only after #3944 and #3965 merge |
| DS-23 | Minor | Adopted | delivery operating model §11.7 | About 800 changed non-generated, non-test lines; exceptions declared; counter in E81 |
| DS-24 | Minor | Adopted | delivery operating model §11.8 | ADR-030 to ADR-069 reserved in STATUS; one C16 compatibility ledger |
| DS-25 | Minor | Adopted | delivery operating model §8.6, §12.2 | User-guide drafts under target markers, published at enablement (the acceptance draft's AC-ALL-06 already says so) |
4.10 Review SR (methodology)¶
| Finding | Severity | Resolution | Where | Note |
|---|---|---|---|---|
| SR-01 | Major | Adopted; Adopted; Question (D4-12) | methodology coverage §4.1–§4.3, §16.2 E88; patches C3, R5c, AC-R5c-05..; acceptance criteria AC-R3a-38; AC-R3b-17; AC-R5c-06, 10; C3-T06, T07 | IRR observation basis in C3 (PROPOSAL); screening IRR per profile in R5c; methods under D4-12 |
| SR-02 | Major | Adopted; Question (D4-07) | methodology coverage §8; patches amendment M, P1 row, AC-P1-09; acceptance criteria AC-P1-11; AC-R5b-18; C12-T09 | Human retrieval workflow; actors and PDF suggestion are D4-07 |
| SR-03 | Major | Adopted | methodology coverage §3.6; patches C3, H authority list; acceptance criteria AC-R3a-30; C3-T08 | authority = Imported, independence declaration; K no-double-count |
| SR-04 | Major | Question; Question (D4-05) | methodology coverage §7; D4-05; acceptance criteria AC-P1-14; AC-R3b-15 | Search fields in P1 and the protocol record adopted as PROPOSAL pending D4-05 |
| SR-05 | Major | Question; Question (D4-06) | methodology coverage §6; D4-06, D2-15; acceptance criteria AC-R1a-09, 11 | Template rules and AC-R1a-08 proposed |
| SR-06 | Major | Adopted; Adopted; Question (D4-10) | methodology coverage §5.1–§5.5; patches C14, O1 row, AC-O1-06..; acceptance criteria AC-O1-10, 11 | Graph digitiser decision is D4-10 |
| SR-07 | Major | Question; Question (D4-08) | methodology coverage §10.1; patches amendment O; acceptance criteria AC-R5b-15 | D4-08; fixture 9 |
| SR-08 | Major | Question; Question (D4-09) | methodology coverage §12.1; patches lane X1 row, AC-X1; acceptance criteria AC-X1-01 to 03 | D4-09 |
| SR-09 | Major | Adopted | methodology coverage §11.1; patches C12, AC-R5b-08..; acceptance criteria AC-R5b-09, 25; FX-PRISMA-08b | Also Corrected: FEAT-011 #32 omits Other records (I2) |
| SR-10 | Major | Question; Question (D4-13) | methodology coverage §3.5; patches AC-R3b-09; acceptance criteria AC-R3b-13 | D4-13 |
| SR-11 | Major | Question; Question (D4-04) | methodology coverage §3.4; acceptance criteria AC-R3c-18; AC-R5c-11 | D4-04; C12 rule and C6 hook |
| SR-12 | Major | Question; Question (D4-03) | methodology coverage §5.8; acceptance criteria AC-R4a-49 | D4-03 |
| SR-13 | Minor | Question; Question (D4-01) | methodology coverage §3.2; acceptance criteria AC-R3b-14 | D4-01 |
| SR-14 | Minor | Corrected; Question (D4-11) | methodology coverage §11.4; patches R5b scope, K, AC-R5b-07; acceptance criteria AC-R5b-12 | R5b and K were inconsistent; box 1 from K per D4-11 |
| SR-15 | Minor | Corrected; Corrected; Question (D4-07) | methodology coverage §8.1–§8.2; patches amendment M, summary table; acceptance criteria AC-R5b-18; C12-T09 | Lifecycle precedence superseded; recorded for register §2 Resolved by amendment M. |
| SR-16 | Minor | Adopted | versioning model §3.5, §8.2, §8.3, §10.2; methodology coverage §12.1 (codebook columns); acceptance criteria AC-R2c-28; AC-X1-03 | autoUpdate only within a class with valid values; one-to-one mappings only; rationale stored; qualificationPolicy and answeredUnderVersion exported Compatibility guards themselves are decided in versioning-model.md (brief §1.9) The recovered autoUpdate choice is kept, with guards. |
| SR-17 | Minor | Adopted | methodology coverage §12.2; patches AC-R5a-07; acceptance criteria AC-R5a-10; C11-T07 | Default by collective outcome; surplus labelling |
| SR-18 | Minor | Adopted | methodology coverage §4.5, §12.4; acceptance criteria AC-R5c-12 | Override count and export column RE1 is not reopened. |
| SR-19 | Minor | Adopted | methodology coverage §9.2; patches L, AC-P2-13..14; acceptance criteria AC-P2-17 | QC sample, reviewer flag, manifest fields |
| SR-20 | Minor | Adopted | methodology coverage §12.3; patches R5b scope; acceptance criteria AC-R5b-23 | Owner L12, R5b; capability placeholder |
| SR-21 | Minor | Adopted | methodology coverage §3.1; acceptance criteria AC-R3d-09 | PROPOSAL template defaults; depends on D4-01, D4-02, D4-13 |
| SR-22 | Minor | Question; Question (D4-21) | methodology coverage §9.3; patches AC-P2-01; acceptance criteria AC-P2-01r | D4-21 as Chris stated, with divergent-pair listing and the 0.5 pp tolerance as test design SR-22's tolerance (sensitivity and specificity within 0.5 percentage points) is recorded in the row for D4-21 to decide. |
| SR-23 | Minor | Question; Question (D4-02) | methodology coverage §3.3; acceptance criteria AC-R4p-08 | D4-02 |
| SR-24 | Minor | Adopted | methodology coverage §7.3; patches P1 row; acceptance criteria AC-P1-18 | Minimal search rounds now |
| SR-25 | Note | Adopted | UX strategy §4.3, U44; methodology coverage §3.7; acceptance criteria AC-R3b-20 | Bibliographic blinding placeholder as a per-profile option, PROPOSAL, default off; provenance records it Per-profile option, default off |
4.11 Review AP (allocation, pools, batches)¶
| Finding | Severity | Resolution | Where | Note |
|---|---|---|---|---|
| AP-01 | Blocker | Corrected | consistency model §3.3, §3.4; programme integration §3.2; §2.2; E64; patches C7, open questions E20 note; acceptance criteria AC-R0-10; C7-T01; AC-R2a-12 | Per-reviewer membership markers keyed by form and profile; IReviewMembershipFacts with the truth table as its suite E20 is a per-form, per-reviewer membership projection carried by CanonicalSummary (consistency model); seam and truth-table parity in AC-M0-04 |
| AP-02 | Major | Adopted; Question (D3-13) | programme integration §3.2; §9; §12 X-AUTH-RESOLVER; acceptance criteria AC-R3a-09; AC-AL1-05 | New join; D3-13d for the interim pool-level Monitor |
| AP-03 | Major | Question; Question (D3-13) | programme integration §3.2; E66; acceptance criteria AC-R4a-38; C7-T09 | D3-13c; requestedReview claim design ready |
| AP-04 | Major | Corrected | programme integration §4.2; E67; patches C7, AC-R3c-05; acceptance criteria AC-R3c-05 | X-BATCH rewritten; evidence seam; pool-entry denominator |
| AP-05 | Major | Corrected; Adopted | programme integration §4.2; E67; patches C7; acceptance criteria AC-R3a-10; AC-R3c-17 | Durable CAS opening with pool-entry events; status read-only; performance gate |
| AP-06 | Major | Question; Question (D3-13) | programme integration §3.2; E65; patches C7, A-09; acceptance criteria AC-R2a-41; AC-AL1-06 | D3-13a; refusal guard recommended |
| AP-07 | Major | Adopted | consistency model §4.5, §17.3; programme integration §5.2; §6.2; E68 | Claim consistency rules on the final key; reservation kinds in protocol 5. The single reservation migration is in programme integration One migration with S4-B; consumer inventory |
| AP-08 | Major | Adopted; Question (D3-09) | programme integration §5.2; E75; patches inventory §5; acceptance criteria AC-R3a-33 | Flags to both hosts with an agreement check |
| AP-09 | Major | Corrected | programme integration §5.2; §12 X-ELIG | X-ELIG enumerated; absorption per D3-09 |
| AP-10 | Major | Adopted | programme integration §3.2; E65; acceptance criteria AC-AL1-07 | AL1 after allocation Phase 2, before Phase 3; regime schema v2 and floor |
| AP-11 | Major | Adopted | domain model §4.4, §5; programme integration §3.2; §4.2 | Settings versions reference regime and batch plan by ID; embedded fields legacy-only Settings reference regime and plan by ID (PROPOSAL at F3) |
| AP-12 | Minor | Question; Question (D3-13) | programme integration §4.2; acceptance criteria AC-R3c-19 | D3-13b; #3939's text stays PROPOSAL until recorded |
| AP-13 | Minor | Adopted | programme integration §3.2; patches AC-R6-08; acceptance criteria AC-R6-14 | Adoption rows for target, threshold and enabled regimes |
| AP-14 | Minor | Corrected; Adopted | programme integration §7.2; E71; §12 X-STATS-c; acceptance criteria AC-R2b-13 | FEAT-024-owned prerequisite with reconciliation plan |
| AP-15 | Minor | Adopted | programme integration §3.2; E65; acceptance criteria AC-AL1-09 | Read APIs refuse canonical stages until AL1 |
| AP-16 | Minor | Adopted | programme integration patches §7 AC-AL1-04..08; acceptance criteria AC-AL1-04 to 08 | — |
| AP-17 | Minor | Adopted | programme integration §3.2; patches AC-R3a-13; acceptance criteria AC-R3a-26 | Selection p95 400 ms PROPOSAL; sampling at F3 |
| AP-18 | Minor | Adopted | programme integration §4.2; patches inventory §6 | Two supersession rows |
| AP-19 | Minor | Corrected; Adopted | programme integration §4.2; §12; acceptance criteria AC-R3c-17 | X-ELIG before X-BATCH activation |
| AP-20 | Minor | Adopted | programme integration §3.2; change A7 | Route retired in the first L16 PR |
| AP-21 | Note | Corrected | programme integration §3.1; patches inventory | Refreshed; owner asked to update STATUS (A6) |
| AP-22 | Note | Adopted | programme integration §3.2; E75 | One evaluation per request, with a test |
| AP-23 | Note | Adopted | programme integration §3.2; change A9; acceptance criteria AC-AL1-10 | #3269 checklist before F-A |
4.12 Review MS (materialised statistics)¶
| Finding | Severity | Resolution | Where | Note |
|---|---|---|---|---|
| MS-01 | Major | Corrected; Adopted | programme integration §7.2; §12; delivery operating model §6.2; patch §6.4; acceptance criteria AC-R2c-08; §4.33 | X-STATS-b chain; Q-31(b) designed first pilot path Statistics chain b1 to b7 on the GA path; Q-31(b) as the designed first pilot path (chain owned by programme integration) X-STATS-b1 to b7 and X-STATS-a. |
| MS-02 | Major | Corrected | programme integration §7.2; E72; patches C8 | New families and scope kinds by amendment |
| MS-03 | Major | Adopted; Corrected | versioning model §8.6, §10.1; programme integration §7.2; patches C8, AC-STAT-06; acceptance criteria AC-R2c-01, 25; C8-T01 | draft_only counted from pmSessionDraft; usage family over explicit versions only Drafts counted authoritatively |
| MS-04 | Major | Corrected; Question (D3-10) | programme integration §7.2; patches C8, A-08; acceptance criteria AC-R2c-04; C8-T02 | Fence read and scoped rebuild API; D3-10a confirms the reading |
| MS-05 | Major | Corrected; Adopted | consistency model §5.4; programme integration §7.2; acceptance criteria AC-R2a-07 | Canonical receipt authority; the CommandId reused as FEAT-024's OperationId with the same digest Command ledger (consistency model); FEAT-024 reuses CommandId |
| MS-06 | Major | Adopted; Corrected | consistency model §17.1, §4.3; programme integration §7.2; R1; acceptance criteria AC-M0-05 | The engine writes Study only through FEAT-024's seam; the statistics half per path Source-write seam (mechanics in consistency model) |
| MS-07 | Major | Corrected; Adopted | programme integration §7.2; E71; acceptance criteria AC-R2b-13; AC-R3a-06 | Named FEAT-024 change; three sites |
| MS-08 | Major | Question; Question (D3-10) | programme integration §7.2; acceptance criteria AC-R3a-34; AC-R3b-12 | D3-10c; R3a default profile projected exactly |
| MS-09 | Major | Corrected | consistency model §17.4; programme integration §7.2; patches C8, C16 | Three compatibility mechanisms named (patches to C8 and C16) Three mechanisms named |
| MS-10 | Major | Adopted; Question (D3-10) | programme integration §7.2; §12 X-STATS-a; acceptance criteria AC-R2c-08, 17; PI-R2a-05 | D3-10b, D3-10d; staging fold flag noted |
| MS-11 | Major | Corrected; Adopted | programme integration §7.2; patches C8, AC-P1-07; methodology coverage §11.3; patches C12, AC-P1-07; acceptance criteria AC-P1-07; AC-R5b-19 | PRISMA from authoritative records only Authoritative-only snapshots; AC-P1-07 reworded |
| MS-12 | Major | Corrected; Adopted | consistency model §2 CR-2, §11; programme integration §7.2; R10; acceptance criteria AC-R2a-20; AC-S0-03 | E25 settled at F1a on M0 evidence; default without a hot document Per-project sequence removed (brief §1.2; consistency model) |
| MS-13 | Minor | Adopted; Corrected | consistency model §3.3; programme integration §3.2; §6.2 | Summary fields, write rule and the allocation tally invariant Projection fields and write rules in the consistency model |
| MS-14 | Minor | Adopted | programme integration §7.2; R3; acceptance criteria C8-T06 | Onboarding contract before F2 |
| MS-15 | Minor | Adopted | programme integration §7.2; R6 | Protocol 5 once, after gate (b) |
| MS-16 | Minor | Adopted | consistency model §17.6; programme integration §7.2; patches AC-STAT-07; acceptance criteria AC-ALL-04 © | FEAT-024 rollback order in rehearsals; AC-ALL-04 restated FEAT-024 rollback order in AC-ALL-04 |
| MS-17 | Minor | Adopted | consistency model §7.7; programme integration §7.2; acceptance criteria AC-R6-04 | Staged fences during shadow and cutover, rebuild after; AC-R6-04 restated Adoption fences and rebuild; #3845 or manual label |
| MS-18 | Minor | Adopted | programme integration §7.2; patches C8 | Canonical designer reads question-version answers |
| MS-19 | Minor | Adopted | programme integration §5.2; R9; acceptance criteria AC-R3a-27 | StageSettings version replaces the Project token |
| MS-20 | Minor | Question; Question (D3-11) | programme integration §7.2; acceptance criteria AC-R5c-09 | D3-11 |
| MS-21 | Minor | Adopted | programme integration §7.2 | Overview fields extend existing queries |
| MS-22 | Note | Adopted | programme integration §7.2; patches C8; acceptance criteria C11-T08; AC-R5b-19 | History never an as-of input |
| MS-23 | Note | Corrected | programme integration §7.1; R11; patches inventory | Refreshed; staging fold flag pinned on (new) |
| MS-24 | Minor | Adopted | consistency model §17.5; programme integration §7.2; R8; patches C16; acceptance criteria AC-R0-13 | Enrolment is never the statistics allowlist; #3524 after C16 #3524 after C16; admission record is not the allowlist |
4.13 Review RT (active reviewer tracking)¶
| Finding | Severity | Resolution | Where | Note |
|---|---|---|---|---|
| RT-01 | Blocker | Adopted; Corrected | consistency model §4.5, §15; programme integration §6.2; §12 X-RECLAIM; patches C7, E6, AC-R4a-14..17; delivery operating model §3.4, §6.1, §6.3; patches §6.1 and §6.4; acceptance criteria AC-R4a-36, 37; C9-T07; §4.33 | Editor claim as the conflict document for "two reconcilers never edit one task"; the X-TRACK replacement is in programme integration X-TRACK replaced; E6 "always" X-RECLAIM internal to R4a and frozen at F4; E6 applies always X-RECLAIM replaces X-TRACK as R4a's route. |
| RT-02 | Major | Corrected; Corrected; Question (D3-16) | programme integration §6.2; patches Q-25 note; delivery operating model §6.3, §5.3; acceptance criteria AC-ALL-12; AC-R2b-14; AC-T-09 | Q-25 premise corrected; route is D3-16 X-CLAIMS production chain for R2b and R3a; Q-25's tracking line corrected; route is D3-16 |
| RT-03 | Major | Adopted; Corrected | consistency model §17.5; programme integration §6.2; §12 X-CLAIMS; E69; delivery operating model §6.3; acceptance criteria AC-R2b-14; AC-T-09 | Enabling tracking is FEAT-024's M15 mode transition; X-CLAIMS evidence; D3-16 Joint ownership with FEAT-024 X-CLAIMS owned jointly by the presence and FEAT-024 owners, with load, failover and backstop evidence |
| RT-04 | Major | Adopted | programme integration §6.2; T11; patches AC-T-09; delivery operating model §10.4, §7.3; acceptance criteria AC-ALL-01, 23; L17-11 | E2E in both modes Both tracking modes (AC-ALL-23), budgeted at about eight minutes per release |
| RT-05 | Major | Corrected; Adopted | consistency model §3.3, §4.2, §4.5; programme integration §6.2; E70; patches A-21, AC-R2a-20..23; delivery operating model §3.3; acceptance criteria AC-R2a-35, 36 | Own-place detection from summary markers; claim release and presence replacement on the first explicit Save in the canonical transaction R2a adapter Gate part only: the presence checklist covers R2a's tracking adapter at F1a |
| RT-06 | Major | Corrected; Adopted | consistency model §3.3; programme integration §3.2; §6.2; patches C7; delivery operating model §3.3; acceptance criteria AC-R2a-12; AC-R0-09 | Summary keyed by form and profile with per-reviewer markers; stage values only in the projection Projection keyed by form with per-reviewer markers Gate part only: the form-keyed projection with per-reviewer markers freezes at F1a |
| RT-07 | Major | Corrected | consistency model §3.4 items 1–2; programme integration §6.2; E70; patches AC-R0-06; acceptance criteria AC-R0-09; AC-T-05 | Tally merge in R0's floor, getter and claim pipeline; AC-R0-06 Floor reader logic (mechanics in consistency model) |
| RT-08 | Major | Corrected | consistency model §6.5; programme integration §6.2; patches C16; acceptance criteria AC-R0-02; AC-M0-03 | Tracking writers and readers are in the inventory, with one test each |
| RT-09 | Major | Question; Question (D2-07) | consistency model §4.5; programme integration §6.2; acceptance criteria AC-R2a-37 | Draft-aware release mechanics adopted; the product rule is D2-07 D2-07 middle ground |
| RT-10 | Major | Adopted | consistency model §4.4; programme integration §6.2; T7; E70; delivery operating model §3.3; UX strategy §6.5, E82; acceptance criteria AC-R2a-06 | Lease on a stable client tab ID shared with ReviewSessionConnection; REST heartbeat; works untracked Lease on stable tab ID; take-over per D2-08 Gate part only: the draft lease on a stable tab ID freezes at F1a Lease by stable tab ID, take-over UI, works untracked; D2-08 |
| RT-11 | Major | Adopted | consistency model §4.5, §15; domain model §4.11, §5; programme integration §6.2; E68; patches C7; delivery operating model §3.3; acceptance criteria AC-R2b-12; C7-T03 | Claim contract v2 consistency rules: capacity claims on Study, editor claims on their aggregates, uniqueness, last-page release; the claim contract v2 and hub, DTO and command versioning freeze at F1a |
| RT-12 | Major | Question; Question (D3-18) | programme integration §6.2; patches Q-28; acceptance criteria AC-R2b-10 | D3-18 |
| RT-13 | Major | Question; Question (D3-17, D3-13) | programme integration §6.2; E66; acceptance criteria AC-R2b-16; AC-R4a-38 | D3-17 (cap) with D3-13c (requested review) |
| RT-14 | Major | Question; Adopted; Question (D3-20) | programme integration §6.2; §9; UX strategy §5.4, §4.3 (presence chip); acceptance criteria AC-T-08; AC-ALL-19 | D3-20; C10 channel listing adopted Counts and own place only; names with the Monitor capability; D3-20 |
| RT-15 | Major | Corrected; Adopted | consistency model §4.2, §4.3, §4.6; domain model §9; programme integration §6.2; acceptance criteria AC-R2a-36 | Claim, release, expiry, editor-claim and assignment rows; budget tests named Rows summarised here; the table itself is consistency-model §4 Transaction rows supplied to the consistency model |
| RT-16 | Minor | Corrected | programme integration §6.2; patches AC-R2b-03; acceptance criteria AC-R2b-03 | Rewritten |
| RT-17 | Minor | Adopted | programme integration §6.2; patches Q-20 | Dependency recorded; minimal version drops the warning |
| RT-18 | Minor | Adopted | programme integration §6.2; patches AC-R3c-08; acceptance criteria AC-R3c-14 | Completion withdraws claims through the outbox |
| RT-19 | Minor | Adopted | programme integration §6.2; patches AC-R2c-10; acceptance criteria AC-R2c-19 | Target reduction through D6's flow |
| RT-20 | Minor | Adopted | programme integration §6.2; patches AC-R1c-08; acceptance criteria AC-R1c-10 | Revocation releases claims |
| RT-21 | Minor | Adopted; Adopted; Question (D2-14) | programme integration §6.2; patches E32; acceptance criteria AC-R2a-30 | Presence and connection retention |
| RT-22 | Minor | Adopted | programme integration §6.2; UX strategy §5.4 | Slot vocabulary in the copy deck (UX strategy) Slot vocabulary and the D2-07 rule copy in the deck; slot states in U38 (extends U13) |
| RT-23 | Minor | Adopted; Adopted; Question (Q-24) | programme integration §5.2; A-32; patches AC-R3a-11; acceptance criteria AC-R3a-24 | Count-only check; eligibility before tracking |
| RT-24 | Minor | Adopted | consistency model §4.5, §16; programme integration §6.2; T9; patches AC-T-06; delivery operating model §6.3; acceptance criteria AC-T-06; C7-T11 | Lease expiry plus a bounded backstop sweep before X-CLAIMS Backstop before X-CLAIMS Gate part only: the orphan-claim backstop is X-CLAIMS evidence |
| RT-25 | Note | Adopted | programme integration §6.2; patches C15 | No per-claim notices; scope-keyed revocation events |
| RT-26 | Note | Adopted | consistency model §8.5; programme integration §6.2; acceptance criteria AC-R4a-19 | Exposure in REST payloads only, never over the hub Exposure in REST payloads only Exposure travels in REST payloads, never hub calls. |
| RT-27 | Note | Adopted | programme integration §6.3 T1; delivery operating model §2.5, §3.2, §3.3 | Docs PR before F1a The presence owner's docs PR is authorised at G0 and is an F1a entry condition |
4.14 Review NS (notification service)¶
| Finding | Severity | Resolution | Where | Note |
|---|---|---|---|---|
| NS-01 | Major | Corrected; Adopted | consistency model §9.3; programme integration §8.2; E73; patches C15; delivery operating model §3.3, §3.4; acceptance criteria AC-R2c-07; AC-R4a-40 | Inline and recorded fan-out modes; scheduler markers; "no second notification store" Two capture modes; "no outbox" wording replaced Gate part only: C15 v2 freezes at F1b; recorded fan-out before R2c's notices Recorded fan-out; scheduler markers. |
| NS-02 | Major | Adopted | programme integration §8.2; N1; E74; acceptance criteria C15-T06, T10 | Before #3942 merges |
| NS-03 | Major | Adopted | domain model §4.10; programme integration §8.2; N4; E73; delivery operating model §3.3; acceptance criteria AC-ALL-22; C15-T03 | Generic Source, kind registry, one capture service Kind registry and single capture service Gate part only: the kind registry and disclosure hook freeze at F1b |
| NS-04 | Major | Adopted; Question (D3-21) | programme integration §8.2; N3; E74; §12 G-NOTIF; delivery operating model §3.5; acceptance criteria AC-ALL-29; PI-ALL-05 | D3-21 sets the enablement policy G-NOTIF per environment and kind family; D3-21 |
| NS-05 | Major | Question; Adopted; Question (D1-09) | programme integration §8.2; N2; delivery operating model §11.9; acceptance criteria AC-R2a-40; AC-R4a-21; PI-R4a-02 | D1-09; #3965 local commits noted; cross-stage rule outstanding D1-09: merge order and #3965's restack |
| NS-06 | Major | Adopted | consistency model §8.5; programme integration §8.2; patches AC-R5c-05; methodology coverage §4.1; patches C3, AC-R5c-07; acceptance criteria AC-R4a-35; AC-R5c-07; C3-T05 | "Questioned in reconciliation" makes later versions informed, derived on read C3 exposure kind "Questioned in reconciliation" exposure kind; R5c, C11 and R6 consume it; D3-25 |
| NS-07 | Major | Adopted; Question (D3-07) | programme integration §8.2; patches AC-R3c-09, AC-R4a-18; UX strategy §3.1, E86, U30; acceptance criteria AC-R3c-11; AC-R4a-47 | D3-07 for placement Flag-independent badge, cross-project tab and admin banner merged with UX-08 |
| NS-08 | Major | Corrected; Adopted | programme integration §8.2; N9; patches C16; acceptance criteria AC-M0-03; AC-R0-02; AC-P1-03, 13 | Two stack Study writers added |
| NS-09 | Major | Corrected | programme integration §8.2; N7; patches AC-R1c-04; delivery operating model §5.3, §6.3; acceptance criteria AC-R1c-04 | X-NOTIF for R1c; dashed edges Join part only: R1c needs #3941; X-NOTIF edges to R1c, R2c, R3c and R4a Conditional on X-NOTIF. |
| NS-10 | Major | Question; Adopted; Noted | programme integration §8.2; N8; UX strategy §7.9, §14, U37; acceptance criteria AC-ALL-08 | D3-01 Stack screens meet UI1 before testers; M3 inbox redesign before R2c; timing D3-01 The stack's screens fall under UI1 like any updated screen; timing is D3-01. |
| NS-11 | Major | Adopted | programme integration §8.2; patches AC-C15-01..10; acceptance criteria AC-ALL-22 | — |
| NS-12 | Minor | Corrected; Adopted | consistency model §5.5; programme integration §8.2; patches C15; acceptance criteria C15-T02 | Deterministic SourceId and row IDs; $setOnInsert upserts Deterministic SourceId; wrong precedent removed |
| NS-13 | Minor | Adopted | programme integration §8.2; N8; delivery operating model §3.5; UX strategy §7.9, U37 | Before R2c Gate part only: flood controls in place before publication notices are enabled Flood controls before R2c; resolved items per D3-23 |
| NS-14 | Minor | Adopted; Question (Q-20) | programme integration §8.2; patches Q-20; acceptance criteria AC-R2d-08 | PROPOSAL narrowing |
| NS-15 | Minor | Adopted | programme integration §8.2; patches notifications §3; acceptance criteria AC-R2c-07 | Rows and taxonomy |
| NS-16 | Minor | Adopted | programme integration §8.2; E74 | Live-on-merge list |
| NS-17 | Minor | Adopted | programme integration §8.2; N12; delivery operating model §6.3, §11.9 | Merge protocol; X-NOTIF definition; ADR X-NOTIF is met at #3943; the merge protocol |
| NS-18 | Minor | Corrected; Adopted | domain model §4.10, §5; programme integration §8.2; N10; acceptance criteria AC-R2a-40 | #3944 removed from the projection's readers; conversations refuse canonical scopes until R4a #3944 out of the projection's readers |
| NS-19 | Minor | Adopted | domain model §2, §4.10; programme integration §8.2; §11 | Ownership split: capture, inbox, email, digests stay with the programme; StudyConversation to L6 at R4a; issues and checked PDFs to Study Management and PDF Ownership transfers |
| NS-20 | Minor | Adopted | programme integration §8.2; §9; acceptance criteria AC-R1c-11; C10-T09 | Capabilities in C10 |
| NS-21 | Minor | Adopted; Adopted; Question (D2-14) | programme integration §8.2; patches E32; acceptance criteria AC-R2a-30 | Stores beyond the inbox |
| NS-22 | Minor | Corrected | programme integration §8.2; patches notifications §5 | Items marked untracked |
| NS-23 | Minor | Corrected; Adopted | consistency model §4.3; programme integration §8.2 | Capture mode per operation; capture is counted in the budget and benchmark (AC-DC-02) Capture modes per operation (consistency model) |
| NS-24 | Minor | Adopted | programme integration §8.2; acceptance criteria AC-R4b-12 | Issues never carry answer disputes after R4b |
| NS-25 | Note | Follow-up | programme integration §8.2 | Stack backlog: remove projectInvitation from email categories |
| NS-26 | Note | Adopted | programme integration §8.2; E73; acceptance criteria C15-T11; AC-ALL-04 (d) | Unknown kind leaves the row ready, one deploy ahead |
5. Decisions now with Chris¶
The decisions the reviews raised are Batch D in
open questions:
nine before G0 (D1), sixteen before the F1a engine freeze (D2), twenty-five before F1c and F3 (D3)
and twenty-one before F4–F6 and the lanes (D4), each with a recommendation. All nine D1 questions
are answered: D1-01, keep #3964 over #3969 (recorded in the
decision register §1.12),
and D1-02 to D1-09, approved as recommended on the evening of 3 October (recorded in the
decision register §1.13,
with what G0 still needs). Late that evening Chris answered D4-18 ("independent of funders"; its
recorded reading is PROPOSAL until he confirms it in the G0 dossier) with
the other G0 inputs (decision register §1.14).
The other 61 (D2, D3 and the rest of D4) are open.
6. Follow-up backlog¶
Items outside this plan's scope, recorded rather than built:
| Item | Owner suggestion | Tracking |
|---|---|---|
| Owner-reserved activities owner-only inside both authority evaluators (defence in depth) | Authorization | #3997 |
E2E run-local.sh cleanup leaves the Quartz host running |
E2E infrastructure | #3998 |
| Audited support path to reassign a project whose owner is unavailable | Authorization / support | #3999 |
| #3964 nits: user-guide census sentence; pin the web owner-reserved list | Authorization | #4000 |
| Duplicate invitation email when invitation email and notification email are both on (NS-25) | Notification programme | To file with the stack owner |
| Defect quick wins from the inventory (flagged OnlyCompleted export fix, reconcile-payload identity leak, export unmasking) for Chris's triage (DS) | Chris | Inventory §7 |
7. Verification of the resolutions¶
A fresh-context, read-only verifier (V3, Opus) checked the whole package against this matrix and the
fourteen reports at about 20:25 BST, on planning commit aac4debcd. Its report is preserved verbatim
as verifier V3.
What it confirmed.
- All 12 Blocker resolutions are present at the cited locations and resolve their findings.
- The matrix totals and every row's severity match the source reports.
- Every cited AC, contract test, fixture, E, U, A and Batch D ID resolves, and no relative link or anchor is broken.
- No capability, release, lane, question or decision record was lost against the pre-round-2 snapshot.
- Every release and lane has numbered criteria with a method, source and status.
- The core rules agree across documents: the task key, the command ledger, no per-project document on the interactive path, D2-07 and the claim contract.
It raised 33 findings about cross-document drift: 0 Blockers, 6 Major and 27 Minor. All were fixed
in the documents named below. Fixes that align gates or wording are PROPOSAL-level and change no
owner decision.
The two alignments that change what an implementer reads are:
- Decision deadlines (V3-04). One deadline per Batch D question or part. Each sits in the decision-calendar sitting before that gate, and each gate's entry criteria name the decisions its freezes depend on. Several decisions or parts moved to earlier sittings:
- D3-16's contract part, D3-17, and the F1a parts of D4-06 and D4-12 moved to F1a;
- D3-06 moved to F1c;
- D4-04 and D4-19 moved to F3, and D3-23 moved there from G-NOTIF;
- D3-25 moved to F4.
- C15 v2 and the C10 additions freeze at F1b (V3-03), not F1a.
| Finding | Severity | Resolution | Where |
|---|---|---|---|
| V3-01 | Major | Corrected: Study carries the consistency model's member states (placeHeld, savedIncomplete, completed, withdrawn plus standing); draft_only is read from pmFormSession/pmSessionDraft and never written to Study |
contracts C1 and the E20 row; domain model §5; programme integration §3.2 |
| V3-02 | Major | Corrected: "a publication autoUpdate" removed as a cause of "contains outdated annotations" (D2-01 writes no revision) |
Q-20; AC-R2d-08; programme integration §8.2; notifications integration catalogue |
| V3-03 | Major | Corrected: C15 v2 and the C10 additions freeze at F1b | programme integration §8.2–§9, N4, N6; E73; D3-20 |
| V3-04 | Major | Corrected: one deadline per Batch D question or part, sittings aligned, gate entry criteria name the decisions (see above); also D1-03, D1-08, D3-14, D3-15, D3-21, D3-23 and D4-05 aligned | open questions Batch D; delivery operating model §2.8, §3.3, §17.1; plan §6.1 and §11 |
| V3-05 | Major | Corrected: plan §6.1 and UX §11 list the same U items per gate; U4's Fix part moves to F2 | plan §6.1 (F2–F5); UX strategy §11 |
| V3-06 | Major | Corrected: every pointer to a drafter patch file replaced by the package section that holds the text; resolution records explain "patches" | methodology coverage; UX strategy; versioning model; programme integration; delivery operating model, consistency model and domain model resolution records; acceptance criteria V2-08; matrix §1 |
| V3-07 | Minor | Corrected: compatibility declaration and option-ID validity accepted in R2c | plan R2a item 11 and R2c |
| V3-08 | Minor | Corrected: pmLegacyWriteLedger |
AC-R2a-17 |
| V3-09 | Minor | Corrected: P2 cites FX-PRISMA-07a; C1, O1 cite 06a, 06b; C2 gains FX-PRISMA-06c and AC-C2-06 | acceptance criteria P2, C1, C2, O1 |
| V3-10 | Minor | Corrected: each PRISMA fixture part is written by the freeze gate of its first release | acceptance criteria §7.1 |
| V3-11 | Minor | Corrected: amendment O freezes at F-P | prisma-amendments preamble; plan F-P |
| V3-12 | Minor | Corrected: X1, R5c and P1 entry criteria match the plan | acceptance criteria X1, R5c, P1 headers |
| V3-13 | Minor | Corrected: R4b added to X-NOTIF's notice consumers | acceptance criteria joins; delivery operating model; programme integration |
| V3-14 | Minor | Corrected: bare "F1" replaced by F1a, F1b or F1c (definitional uses of the old gate kept) | open questions; decision register; delivery operating model; methodology; versioning model; domain model; consistency model; inventory |
| V3-15 | Minor | Corrected: one state for #3964 (merged 3 October, 85e6facf7; #3969 closed) and #3965 (open, 10 commits at 986b1cdc2, waiting for the stack; its legacy cross-stage refusal already in place) |
inventory; notifications integration; programme integration §1 re-check row; plan §3, §8 |
| V3-16 | Minor | Corrected: the ledger and package are committed on the PR #3617 branch, not on main |
D1-05; plan §8; inventory; delivery operating model |
| V3-17 | Minor | Corrected: 71 Batch D questions, 70 open, eight D1 before G0 (62 open, no D1, once Batch D1 was answered later that evening) | README; plan §1, §11; delivery operating model |
| V3-18 | Minor | Corrected: round-1 scope stated; round 2 recorded in a new section | validation evidence §8 |
| V3-19 | Minor | Corrected: PH-08's off-peak count added to Q-35 | open questions Q-35 |
| V3-20 | Minor | Corrected: DD-06 note says RECOVERED |
this matrix §4 |
| V3-21 | Minor | Corrected: UX-02 points to the plan §8 | this matrix §4 |
| V3-22 | Minor | Corrected: the two read-only queries attributed to the orchestrating session; drafters' "no reads" statements scoped | this matrix §3; programme integration §1; consistency model |
| V3-23 | Minor | Corrected: "owners sign" replaced by fresh-context checklists with Chris ruling on exceptions; AC-M0-04 marked PROPOSAL (Q-08 part confirmed) |
plan M0, R2b, R2c, R3a, AL1; AC-M0-04; domain model §13; programme integration |
| V3-24 | Minor | Corrected: Q-31's condition restored; the X-STATS-a clause marked PROPOSAL |
AC-R2c-08 |
| V3-25 | Minor | Corrected: the Q-03 catalogue subset is answered at G0 | Q-03; plan §11 and F1b |
| V3-26 | Minor | Corrected: R2a enters after R0's staging rehearsal; production pilots need R0's production soak | acceptance criteria R2a header |
| V3-27 | Minor | Corrected: R3c's readiness source decided at F3; X-BATCH only if batches are used | plan R3c |
| V3-28 | Minor | Corrected: allocation refused on every canonical stage from R0 (E65); AL1 lifts it | plan R2b, AL1, §5.12 |
| V3-29 | Minor | Corrected: A7 and A11 added | plan M0 |
| V3-30 | Minor | Corrected: "per D2-09 (open)" | decision register |
| V3-31 | Minor | Corrected: IssuePolicyRecord embedded in FormVersionIssue; both collection maps list pmFormVersionIssue and pmFormVersionIssueChunk |
versioning model §11; domain model collection list |
| V3-32 | Minor | Corrected: E44 is F1c (seam), R2a | E44; versioning model |
| V3-33 | Minor | Corrected: StudyEnteredPool in StudyPoolLedger (FEAT-011's pool-entry event) |
acceptance criteria; programme integration; domain model; contracts C17; prisma-amendments A; methodology coverage |
While fixing these, the matrix's merged notes for V2-25, DD-12, DD-17, DD-23, DD-26, RT-08 and RT-11 (two drafters' notes run together) were cleaned. The resolution brief behind the documents' "brief §n" references was added to this folder as round-2-resolution-brief.md.
8. Validation after resolution¶
Recorded in validation evidence §8.4. In summary, after the V3 fixes the validator passes with exit 0 and no errors. All of its warnings predate this package. Every anchored link in the package resolves.