UI coverage comparison¶
Temporary planning document; planning only. As the planning brief requires, this records what each older and newer design covers, what the current implementation actually does, what the owner decisions require, and for every surface whether the plan retains, revises or must newly design it. No single asset is adopted wholesale. Prototype behaviour is design evidence, never proof of shipped behaviour. Release names follow the integrated plan §5.
1. Assets compared¶
A read-only sub-agent searched the workspace, all 191 PR worktrees, .worktrees, agents,
scratch, handover, syrf.old, other repositories, ~/.codex, ~/.claude uploads,
~/buzz-agents, ~/Downloads, ~/Documents, /tmp, git history on every ref, and the whole
filesystem by filename. Review C then found assets the first pass had missed; they are added below
and marked. Hashes are SHA-256.
| ID | Asset | Location | Date | Question-interface coverage | Reviewed here |
|---|---|---|---|---|---|
| A | QM v2 prototype (3,890-line HTML, 032fe56e…a999a) |
docs/features/question-management/prototype.html on branches of #2461 (draft, conflicting) and #2575 (open); local copy in main/.local/qm-designer-handover/05-prototype/ (gitignored) |
2026-03-30 | Design tree editor, six fixed category tabs, properties panel, Assign per stage, Preview, reviewer form, a four-step publish wizard (Review Changes → Confirm Impact → Answer Handling → Review & Publish) with a reserved step for conflicting per-question decisions within one session that was never prototyped, Impact & Mapping, per-question and project version history | Screen inventory (sub-agent and review C, line references) |
| A2 | QM v2 designer specification pack | main/.local/qm-designer-handover/01..06/ (UI specification, publishing/versioning UX, Impact & Mapping brief, Figma index) |
2026-04-25 | Specifications only | Headings via sub-agent |
| A3 | QM v2 Angular scaffolds (code) | #2575 branch: project-admin/question-management-v2/** (design, properties, impact mapping, assign, publish wizard, preview) |
2026-04-17 | As A, never wired to the API | Via the QM v2 implementation history; present in #2575's tree (review C) |
| B1 | Redesign prototype v7 (React; components-qm-v6.jsx plus v7 rationale, profiles, stage settings, reconciler) |
main/docs/features/redesign-prototype/ (merged with #2398; Draft) |
2026-05-04 | Lifecycle icons (draft / published / published with edits), autosave and draft restore, Impact & Mapping, version timeline and diff, Assign with stage history, a three-step "Publish to stage" wizard, Preview, Rationale tab, Profiles, Stage settings in three layouts, Reconciler (side-by-side / diff / table) | Component and heading inventory (me and sub-agent) |
| B2/B3 | Redesign working copies v1–v9 and zip | /home/chris/workspace/syrf/prototype/, /home/chris/workspace/syrf/SyRF Redesign v9/ |
2026-04-26 / 05-04 | Same QM as B1; v8–v9 change only the dashboard | Hash comparison (sub-agent) |
| C | #2621 landing-page prototypes, all seven plus README: screening profiles (criteria, rationale questions, version history, "used by", and a "migration policy for stages where existing screening data exists": keep on the old version, re-screen under the new one, or archive the stage and start fresh), stage settings, study review, reconciler, PRISMA workflows (workflow templates, stages in a workflow, PRISMA box mappings, template lineage, diagram export), study state (a study-state inspector with per-profile screening-outcome version chains, the annotation reconciliation chain and a worked FT-v1 → FT-v2 re-screen example) and dashboard (the authenticated landing page across projects) | docs/features/landing-page/*.html on #2621 (draft, conflicting) |
2026-05-02..05 | Profile-owned rationale questions, profile versions and their migration policy; PRISMA workflow mapping; study state | The first four by sub-agent section inventory; PRISMA workflows, study state and dashboard found by review C, with headings checked directly; not re-read in full by the plan author |
| D | Codex classification / entity-annotation prototypes | ~/.codex/visualizations/2026/09/23/01a0cbec-0c32-7103-ab5a-bfc05665deb7/syrf-entity-annotations.html and about 25 intermediates; snapshot in /tmp/syrf-design-handover-2026-09-28/ |
2026-09-24..28 | Entity types, numbered question tree (add beneath parent), per-stage question selection, concepts & rules, populations, cohorts | Section inventory (sub-agent) |
| D2 | Classification site (local build with git history) | ~/.codex/visualizations/2026/09/23/01a0cbec-0c32-7103-ab5a-bfc05665deb7/classification-site/dist/index.html |
2026-09-27 | Classification concepts | Found, not reviewed (found by review C) |
| E | v10 pack (SyRF Prototype v10.dc.html, Review Page/Form v10 (byte-identical), Reconciliation Exploration) |
Handoff package source/design_handoff_syrf_v10/prototype/ |
2026-10-02 | Questions & entity types (c2), screening profiles with screening questions (r1), annotation forms with versions and publish prompt (r6), stage designer with lifecycle, steps and reconciliation (r2), selection preview (r3), history (r5), outcome schema catalogue (o1) | Documents read in full; prototype scene and label inventory (me and sub-agent); navigation code checked directly |
| RP4 | Review Prototype v4 and mockups (the stage-review specification) | /home/chris/workspace/syrf/handover/2026-09-21-stage-review-design/design_handoff_stage_review_page/ |
2026-09-21 | Reviewer page only; no question authoring | Handoff README read in full (identical to v10's reference copy); prototype via sub-agent |
| RP1–2 / RB | Review Prototype v1/v2 (Dockview); Repeatable Branch Pattern | handover/2026-09-08-af2-revision2/…; handover/design-return-repeatable-branch/… |
2026-08/09 | Reviewer page and branches | Listed only |
| — | Current implementation | main (78c6d097d, unchanged in these areas at 2949ca3a7): project-admin/question-management/ (new editor), project-admin/annotation-question-designer/ (legacy), stage/review/reconcile/overview/settings, membership, data export |
— | See the inventory | Code verification (sub-agent, reviews) |
Correction to earlier research: COMPARISON.md line 107 calls Review Prototype v4 "absent". It exists in the 21 September stage-review handover folder above; only the v10 pack omits it.
Not found (not reviewed, and not claimed to be):
- Review Prototype v5 (referenced by v10 RECONCILIATION.md line 90 and the exploration file).
- Review Prototype v3.
- A distinct embedded "Review Form v10" (it is a byte copy of the Review Page).
- The Figma file "SyRF Design v2" (cloud only).
- The remote classification site (the local build D2 exists but wasn't reviewed).
- The "UI mockups for form screens" zip inside the repository (it exists only as Claude uploads).
- A QM-only prototype on
main. - A "PR-E" of the QM v2 stack.
- QM v2 version-diff, mobile and training-round designs (never prototyped).
- Any question-interface prototype newer than 2 October.
- Anything design-related in
~/Downloadsor~/Documents.
2. Surface-by-surface comparison¶
Key: Retain = keep the current implementation or an asset's design; Revise = keep the core but change it to fit the decisions; New = no asset or implementation covers it.
2.1 Question and definition management¶
| Surface | Current main |
Older (A/A3, B, C, D) | v10 (E) | Decisions | Disposition |
|---|---|---|---|---|---|
| Question tree and editor | New Design/Assign/Preview editor on the legacy API; answered questions locked; same-parent drag only; seven fixed category tabs; legacy editor is the default path | A: tree + properties panel, focus view, inline add, broken-conditional marker, parent-answer mapping grid. B: lifecycle icons, autosaved draft snapshots. D: numbering identical to the reviewer form | c2: tree per entity type with Settings/Preview, system-locked wording vs configurable wording, semantic roles, exceptional answers | FV1, VU1–VU3, DP4 (same editor for profile questions), TC1 | Retain the current new editor as the base (move filtered-options authoring in; remove debug text). Making it the default is a PROPOSAL tied to its two modes (legacy API for legacy projects, canonical for admitted projects; C17). Revise: lifecycle indicators from B once publication exists (R2c); numbering identical to the reviewer page (D/v10); semantic-role display for system questions (v10); locks replaced by versions for canonical forms. Admin draft autosave (B/QM v2 D002) is optional and must never be confused with reviewer drafts. |
| Version history and diff | None | A: per-question and project version history with restore. B: version timeline and diff rows | Version list on forms only; no per-question diff | FV1–FV4, VU2, EX1 | Retain the A/B history and diff (only they cover it). Revise: "restore" creates a new draft from an old version and never rewrites history; show "Why it changed" and "What reviewers need to do differently" per version (R2a, R2c). |
| Publication and impact | None (edits apply immediately) | A: four-step wizard with Impact & Mapping and a reserved, unprototyped within-session conflict step; A3/QM v2 M004: impact service, transition service, reviewer version-transition alert. B: three-step "Publish to stage" wizard | r6: "Publish v3?" per-question Compatible/Not compatible prompt; incompatible answers held in the pool | FV2/FV3 (all prior versions, admin choice), recovered requireReanswer/autoUpdate/doNothing, PS1–PS3, VU3, FV4 | Revise into one dialog combining: per-question impact choice (A/QM v2), per-category treatment for completed, saved-incomplete and draft-only sessions across all prior versions and all bound stages (New), usage-evidence freshness state (New, PS), missing-reason warning (VU3), conflicting per-question decisions within one session (New, the step A reserved), and compatibility classification feeding held reconciliation work (v10). Vocabulary mapping: QM v2 "does not affect / may affect" is the impact classification; its "keep" maps to doNothing, "re-answer" to requireReanswer, and "map answers to updated options" is a data transformation that is only an approved form of autoUpdate if Q-34 says so. Reuse the GuardedReviewSettings conflict and "Apply anyway" patterns. Validate as U6 (R2c). |
| Question templates and import | None on main; #3934 adds an import dialog in the new Design tab (open, conflicting, flag annotationQuestionImport) |
None (library sharing in reconciliation D27/D36 is reference-based) | None | SET1, DP4 (copies only) | New design on the #3934/#2781 contracts: template browse, preview, dependency remapping, copy into the project or into a profile (R1a for project questions; R3b for profile templates). Called "question templates", not a library, because Study Management uses "Library" (Q-13). Validate as U19. |
| Question selection and form composition | Assign tab: two trees per stage; stage-settings question-selection page | A: Assign per stage with ancestors and pending publish. D: per-stage selection | c3 superseded by r6: questions chosen per form ("Included as ancestor", "Required by data extraction"); stages bind forms | SF1/SF2, TC1 | Revise: compose form versions with the existing two-tree interaction (full answer-set membership, ancestors and repeated-entity dependencies shown), then bind forms to stages (R2a) and steps (R3a). The stage question-selection page becomes legacy-only. Validate as U14. |
| Preview | Preview tab uses AF2 preview mode (v1 fallback) | A: published vs pending, simulation, change markers, "Shown because…" | — | FV1 | Retain the AF2-based preview. Revise: published vs pending version comparison, change markers and conditional explanations from A (R2c). |
| Categories and guidance | Seven hard-coded categories; project guidance with per-stage override | A/B: same categories | c2: entity types with capabilities replace categories; system templates | TC1, classification decisions | Retain categories through R2 and R3. Revise in C1: entity types with legacy categories as system templates (verify names, E14), with a designed transition from category tabs to entity types. Guidance stays stage presentation text (A-15). |
| Profile-owned eligibility questions | None (criteria are project text) | B: Rationale tab (per-profile question set). C: rationale questions with profile versions, "used by", but a cross-profile rationale library (ADR-013) | r1: screening questions inside the profile editor, presentation order, decision from answers, agreement and resolution rows | DP4, DP3, DP5, RX1 | Retain v10 r1's structure (profile editor embedding its own question tree through the shared editor component) plus C's version history and "used by". Revise the "rationale" framing into eligibility questions and reasons. Reject the shared cross-profile rationale library (conflicts with DP4) (R3b, U9, U17). |
| Screening profiles page | Project-level screening settings (method, criteria text, keywords) | B: profiles and rationale page. C: list and detail, with a per-stage migration policy for new profile versions | r1 | DP4, DP5, PV2 | Retain v10 r1 + C. Revise C's migration policy (keep on old version / re-screen / archive stage) from per stage to per profile under DP4, with "archive stage" reconciled against LC1 and PV2; the choice itself is Q-26 (R3b). |
| Entity types, templates, concepts and rules | None | D: entity types, concepts, populations; D2 not reviewed | c1/c2 | TC1, classification research | Retain v10 c1/c2 for C1. Revise: template defaults use verified legacy identities ("Disease Model Induction" vs Chris's "disease-model intervention", E14) (C1). |
| Outcome schemas and measures | AF2 outcome matrix, cell editor, spreadsheet, graph assignment | D: outcome workflow intermediates | o1 catalogue with an Add-schema dialog; o2 entry (redirected to the reviewer page) | OC1, ODIR1, RD16 | Retain the current entry pattern (RD16) and the v10 o1 catalogue for project-level schemas. New: project custom-schema authoring beyond the catalogue dialog; series vs observation field roles; and, in the reviewer form, reviewer-created outcome measures with one versioned direction across cohorts in the paper (v10 stores direction nowhere, OD11). Measures are created by reviewers from the paper, never predefined by admins (A-20) (O1, U24). |
| Annotation forms page | None | — | r6: guidance, target, version list, publish prompt, reconciliation settings, questions, extraction toggle | SF1/SF2, FV, PS, BL1, RE2, UA1 | Retain v10 r6 as the forms page. Revise: the publish prompt becomes the combined dialog above; remove blinding from forms (BL1 is stage-owned); remove "confirm each" (RE2), with bulk approve pending Q-11; matching weights shown as read-only defaults (A-12); the extraction toggle appears only once O1 exists; add the gold-completeness setting if Q-04 approves (R2a, R4a, U14). |
2.2 Stages, steps and project administration¶
| Surface | Current main |
Older | v10 | Decisions | Disposition |
|---|---|---|---|---|---|
| Stage designer and settings | Settings page: Enable, review settings (with guarded conflict prompts), mock study filters, allocation, question selection, upload, mock permissions; 3-step create dialog; Enable is the only lifecycle control | B: stage settings in one-page/tabbed/wizard layouts (profile, activities, resolution, rationale reconciliation, filter set, correction policy). C: stage configuration | r2: stage list, lifecycle (complete/reopen, automatic/manual), Setup tab with the review-steps editor (dependencies separate from order, terminal, compulsory, collective satisfaction, target shown from the form, existing-work policy), Overview tab, Reconciliation | PV2, DP6, DP7, EW1, VS1, BL1, RX2/LC1, RA1 | Retain v10 r2's steps editor and lifecycle controls, in a tabbed layout (B's tabbed variant, as v10 does). New: incoming cross-stage policy control on the destination stage (Collective Include default, own Include advanced), versioned settings publish with impact preview, EW1 stage default with step override, VS1 step policy, BL1 stage setting, assignment expiry default, extra-vote admission (Allow/Stop). Strict within-stage mode only if Q-01 approves. Revise: keep GuardedReviewSettings prompts; replace the mock filters (amended FEAT-008) and the mock permissions page (Members & groups). v10's step-level "who reconciles, per part" is replaced by stage grants (contracts, C9) (R3a, R3c, U12). |
| Study selection preview / "Who is offered what" | None | — | r3 (designer view explains absent work) and the Monitor entry | C6 admission; OD5 | Retain r3 as an admin/designer view backed by the real admission service and its reasons, behind its own capability because it can reveal personal votes; never shown to reviewers (R3a). |
| Stage overview / monitor | Stage overview with materialized-statistics switch-overs, allocation progress, member progress dialogs | — | Overview tab: progress by step, reviewers, activity | C7, C17 | Retain the current overview and route SignalStores. Revise: bound forms, targets, steps, gates, readiness and batch frontier from form-unique derivations; no stage-wide presence (not supported). Coordinate with #2469's conflicting chart refactor (R2b, R3a). |
| Project overview and setup | Stages list repeats project-wide criteria under every stage; 8-task checklist in the navigation footer (first stage only, legacy links); CreateProjectWizard (basic details, criteria) | C: dashboard is the authenticated cross-project landing page, not a project overview | Overview with setup checklist and ownership table | SET1, SET2, 21 Sep "Project setup stays" | Revise: project overview shows study, form and profile populations separately and stops repeating criteria; the checklist model is replaced with profile/form/step readiness while keeping its navigation-footer placement and its done/next/to-do/locked interaction. New: the guided setup wizard (no asset designs it) (R3d, U11). C's dashboard is reference material for a later landing page, outside this plan's scope. |
| Members & groups and permissions | Administrator/Reviewer only; broken unused CreateProjectGroupComponent; working group×activity PermissionsDialogComponent used only for chart visibility; mock stage permissions |
QM v2 PGRP; #2224 incomplete frontend; authorization programme WP9 (explanations) and WP11 (generalised dialog) planned | Not designed (RD8; RECONCILIATION §8) | PM1, PM2, Q-03 | New design (U8), delivered with the authorization programme: read-only visibility first (R1b), with "why can or can't I" explanations once its WP9 lands; the generalised dialog and group CRUD after its gates (R1c, its WP11); delegation (R1d). ChangeOwner never appears as grantable; AssignPermissions only within R1d's envelope. |
2.3 Reviewer and reconciler surfaces¶
| Surface | Current main |
Older | v10 | Decisions | Disposition |
|---|---|---|---|---|---|
| Reviewer page | AF2 (default off) with the redesigned shell and Dockview (flagged); legacy grid default; equal-weight decision card; no autosave; no Complete anyway | RP4 (Review Prototype v4): three cards, corrections 1–11, efficiency features (the agreed specification). B: study review with an activities switcher | p1: one card per step with a task strip; r4: one form area driven by the selected step | SL1–SL3, DP3, EW1, VS1/VS2, RC6, RC8 | Retain AF2, Dockview and v4 parity (owned by the AF2 programme). Revise: step strip plus one form area (Q-12, U7); the screening card gains profile eligibility questions and derived-decision reasoning, which needs AF2 admission for screening steps or a dedicated renderer (F5, U17); draft/saved copy must distinguish an autosaved draft from an explicit Save (v4's "All changes saved" and v10's "Save draft" would now mislead); history panel (U15); Needs updating; outdated flags and Fix; population chip (U3). New panels and step kinds need the Dockview layout-contract amendment (C17) (R2a–R3b, C1). |
| Destructive reviewer actions | Hard session delete (reviewer endpoint); v4's "Remove all annotations…" menu item | — | — | SL2, GS1 | Revise: no hard delete for canonical sessions; replace with an explicit versioned clear or a draft discard, and an append-only withdrawal (R2a). |
| Reviewer history and correction | None | C: study-state inspector shows per-profile outcome version chains | r5: submissions, correction drafts, pinned revisions, pending updates, surplus assessments | SL3, SF5/SF6, DP2 | Retain r5's structure; use C's study-state chains as reference for an admin/support inspector. Revise to SL3 semantics. New: detail for the Fix flow (U4) and DP2 correction (U18) (R2a, R2d, R3b). |
| Reviewer progress lists | My studies, incomplete studies, the no-work page (#2412), StageReviewerProgressStore, all keyed by stage |
— | — | SF1/SF2 | Revise: a session saved through stage A shows consistently in stage B without double counting (R2b). |
| Reconciliation pool | None (route only, no navigation) | B: reconciler lists (rationale / extraction / re-screen). C: reconciler | r2 Reconcile page: KPI cards, Start reconciling (random, assigned first), open a specific study / Assign, "Assigned by hand" with Release, Held and Corrections banners, step table, bulk approve, Agreement tab | RA1–RA5, RE4, AG1, Q-11, FV (held when incompatible) | Retain v10's pool structure. Revise: one Reconcile entry per study × form task, even when several stages reach it (RE4), plus a profile part (RX1, R4p); unstarted-only expiry and release/reacquire (RA3/RA4); a Request an additional review action (RA5); Agreement gets its own navigation place and capability rather than living only inside Reconcile (AG1); bulk approve only if Q-11 approves; random start and assigned-first ordering are PROPOSAL. New: a queries queue (R4b). Validate as U20 (R4a). |
| Reconciliation workspace | Read-only candidate cards (any number, two per row); no reconciler form; AF2 reconcile host read-only by rule | B: two-reviewer side-by-side / diff / table. C: reconciler | 4a form: reviewer pills, agreement icon, dashed-outline prefill with per-field CONFIRM, Unresolved only, N to resolve, 4-column side-by-side; 3a matching: aligned pairs, own trees, drag/pick, scoring panel, "Suggest again" discards pairings; 4.5 outcome matrix and two-sided dialog; 4.1 screening decision first | SF4/RE3, RE2, RE5, NT1, BL1, MG1, RE1, UA1, VS2 | Retain the 4a form-based approach (RD17 recommendation) on AF2 controls, which needs a new editable reconcile host (F4). Revise: pills and side-by-side scale to N candidates with overflow or a candidate selector, never fixed columns, and a selector never hides a disagreeing candidate (U1, New); remove per-field CONFIRM and keep the dashed outline as an autofill marker with provenance (RE2); add exposure tracking with the unseen-control warning and Complete anyway (New); matching groups span all candidates, drag-pairing has a keyboard alternative, and "Suggest again" keeps prior pairings in history (COMPARISON F7, PROPOSAL); the screening part shows must-agree answers and reason reconciliation (RX1/DP5, R4p); outcome reconciliation compares N series (R4c, after AF2 Phase 4 PR 9). |
| Gold history and queries | None | C: annotation reconciliation chain in the study-state inspector | 4.4 gold-history timeline with pinned inputs and "Inputs changed · re-check" | GS1, QY1–QY9 | Retain 4.4's timeline (GS1). v10's "EDIT RECONCILIATION reopens it" is replaced by the query or new-snapshot route. New: query UI (raise from an accepted answer, one work item per answer version, per-concern outcomes, pending flag, private resolution notices, "my concerns and outcomes") (R4b, U21). |
| Agreement view | None | QM v2 RECON-13..15 | Agreement tab inside Reconcile (percent agreement, κ, compared counts, "Revise in next version") | AG1–AG3, VS2, Q-04, Q-16 | Retain v10's content. Revise: separate capability with its own navigation place; independent vs informed split; missing-state reporting; compatible-version flags; κ only after method approval (R5c, U29). |
| Data export and history | Export page: formats, blinding level open to any ExportData holder ("UNMASK DATA"), "completed sessions only" (forwarded but not honoured by writers) | QM v2 EXP-* | Data export navigation only | EX1, EX2, BL1, VS1 | Retain the export page. Revise: unmasking follows the export disclosure contract (who may unmask, candidate vs gold separation, BL1, audit; U26). New: Current / Previous versions (R2a) / As of date (R5a) selector, manifest download, coverage labels (U22). The "completed sessions only" fix ships behind a flag. |
| PRISMA views | None | C: PRISMA workflows prototype (workflow templates, stage and profile mapping to boxes, diagram export) | — | PR1, FEAT-011 | Revise C's mapping into report views over C12: profile-to-phase mapping per project (R3b), frozen report snapshots and coverage (R5b). Reconcile its box mappings with FEAT-011 amendments A–J; several versioned workflows per project would need a separate decision (U23). |
| Notifications, inbox, study attention | Not on main; live banners only |
— | — | 3 October scope addition | Retain the notification stack's behaviour (owned by its programme); its inbox and preferences screens meet UI-1 to UI-11 before testers see them, and its conversation, issue and PDF screens before production (NS-10, pending D3-01), through a Material 3 inbox redesign PR before R2c with the flood controls in UX strategy §7.9. Review-workflow kinds are added per C15, with feature-owned queues as the source of truth; inbox rendering (action labels, deep links respecting task identity and aliases) is validated jointly (U25, U37); #3944 per Q-10 (notifications integration). |
3. Retained, revised and uncovered: summary lists¶
Retained (kept largely as designed or implemented):
- The current new question editor as the base.
- Version history and diff from QM v2 (A) and redesign v7 (B).
- AF2-based preview.
- v10 profile editor (r1), forms page (r6), steps editor and lifecycle (r2), selection preview (r3), history structure (r5), pool structure, 4a form-based reconciliation, 4.4 gold timeline, agreement content, entity types and concepts (c1/c2) and the outcome catalogue (o1).
-
2621's profile version history and "used by" (C).¶
- The shipped outcome entry pattern (RD16).
- AF2, Dockview and Review Prototype v4 parity.
- The current stage overview.
GuardedReviewSettingsprompts and the setup checklist's interaction pattern and placement.- The notification stack UI.
Revised (core kept, changed to fit the decisions):
- Publication dialog: all prior versions, three session categories, freshness gate, warnings, within-session conflicts, vocabulary mapped to the recovered transitions.
- Question selection moves from per stage to per form.
- Reviewer page: steps, drafts vs saves, eligibility reasoning, Needs updating, Fix, no hard delete.
- Reconciliation workspace: N candidates, no per-field confirmation, exposure warning, editable host.
- Matching: N-way groups, history-preserving re-suggestion, keyboard pairing.
- Forms page: no blinding or confirm-each settings.
- Profiles: eligibility rather than rationale framing; no shared library; migration policy per profile.
- Stage settings: tabbed, versioned, DP7 control; stage grants instead of "who reconciles".
- Project overview: separate populations.
- Lifecycle indicators added to the question tree.
- Export page: disclosure contract for unmasking.
- PRISMA workflow mapping (C) reconciled with FEAT-011 and C12.
Gaps that need design before their release (each with its validation):
- Question templates and import UI (R1a, U19; R3b for profile templates).
- Publication impact for the three session categories across all prior versions and bound stages, with statistics freshness (R2c, U6).
- Profile-version publication impact on decisions: partly designed by #2621's per-stage migration policy and its study-state re-screen example, which must become per profile (R3b, Q-26).
- The incoming cross-stage route policy control (DP7) and its effective-policy preview (R3a, U12).
- Members & groups with scoped grants and delegation (R1b–R1d, U8).
- The guided setup wizard (R3d, U11).
- The completed-stage change-approval dialog (R3c, U10).
- Reconciliation with three or more candidates across answers, matching and outcomes (R4a, U1).
- Exposure-based unseen-control warning with Complete anyway (R4a, U4).
- Assignment expiry, release and reacquire controls, and Request an additional review (R4a, U20).
- The accepted-answer query UI and queue (R4b, U21).
- As-of export with manifests and coverage labels (R5a, U22).
- PRISMA report views: partly designed by #2621's PRISMA workflows prototype (R5b, U23).
- Outcome-measure creation with versioned direction, and custom schema authoring (O1, U24).
- Notification item views for review-workflow events (per release, U25).
- Reviewer states: autosave vs Save vs Complete vs current version (R2a, U13); forms page and stage binding (R2a, U14); history panel (R2a, U15).
- VS1 accepted-answer display with exposure capture (R4a, U16).
- Profile eligibility questions and decision reasoning on the screening renderer (R3b, U17); DP2 correction from history (R3b, U18).
- Export disclosure (R2a, U26); coexistence navigation (R2a/GA, U27); pilot rollback to read-only (R2a, U28).
- The agreement view's own capability-gated place and its independent/informed split (R5c, U29).
4. Recommended information architecture¶
Recommended navigation (Q-13). Correction: v10's default navigation mode is "steps", whose Setup section runs 1 · Concepts & rules, 2 · Entity types & questions, 3 · Outcome data schemas, 4 · Annotation forms, then profiles and stages, followed by Monitor and Data. "Library" is v10's alternate navigation mode (checked in the v10 prototype's navigation code). This proposal follows the alternate mode's grouping, with stages kept separate, and doesn't reuse its "Library" label:
- Overview: project dashboard with setup progress. The Project setup checklist stays in the navigation footer (21 September decision), with readiness-based content.
- My work (
PROPOSAL, pending D3-07): the reviewer's and reconciler's landing inside a project, listing every actionable item by role with the four feature-owned queues as filters and the inbox as history; a flag-independent global badge, a cross-project "My work" tab beside "Pending Projects" and an admin banner for pending change requests (R3c, R4a, R4b; UX strategy §3.1). - Workflow version: a badge in the overview and rail and a panel in Project settings (admitted or classic, read-only containment, who and when; the admission action) (R0, R2a).
- Review: per-stage review entry.
- Reconcile: one entry per study × form task, with the profile part alongside, so a shared form's task isn't listed under several stages (RE4).
- Design: Questions, Entity types (C1), Concepts & rules (C1), Outcome schemas (O1), Forms, Screening profiles. The reusable collection is "question templates".
- Stages: per stage: Overview, Steps & settings, Monitor ("Who is offered what", behind its capability).
- Members & groups: Members, Groups, Permissions.
- Data: Export (current, previous versions, as of), History, Agreement (behind AG1), PRISMA.
- Project settings: general project settings keep their place.
- Study Management keeps "Library" (
/studies), along with its Searches and Processing pages. - Coexistence: legacy projects keep today's Studies and Screening sections until adopted; the navigation branches per project mode (C17, U27).
- Join: the M3 navigation owner, who rebuilt the rail and checklist footer in September, is an L16 join for every IA change.
5. Cross-cutting UI requirements¶
- Material 3 for every new and updated screen (Chris, 3 October, UI1): consistent, modern and built with Material 3 under FEAT-023's semantic contract, so it renders correctly before and after that programme's atomic cutover. Criteria UI-1 to UI-11 are in acceptance criteria §3; the sequencing question is D3-01. Older assets (QM v2, redesign v7, #2621, v10) are design inputs; where their styling predates Material 3, the retained structure is rebuilt with Material 3 components and roles, in sentence case (D3-04).
- Design system of record and pattern inventory: FEAT-023's emitted token contract plus the shared Angular components; every new pattern is specified once (states, tokens, keyboard model, narrow behaviour, copy keys), built once and shown on a flagged gallery route, with a handoff on the UX strategy's template (UX strategy §4).
- Width matrix from
break-points.tsplus 320, 390 and 925 px, 200% zoom, 400% reflow and a short-height layout (acceptance criteria §3.1); touch targets at least 44 px below 600 px; phone screening for title and abstract steps pending D3-05. - Accessibility for every new surface: the harness and screen-reader matrix in UX strategy §8 (axe in journey states, keyboard alternatives for drag-pairing and the step strip, screen-reader meaning for candidate pills, agreement icons and the step strip, contrast of the autofill outline in both themes, forced colours, reflow); Firefox and WebKit smoke journeys and CDK pointer-based drag, never native HTML5 drag (D3-15).
- Reviewer efficiency: the keyboard screening path (decide, next, skip; at most two actions per decision) and live completeness are in R3a/R3b scope; input latency under autosave is budgeted (AC-UX-03, AC-UX-04).
- Copy deck (C17) before any R2a copy: typed message constants, a guard spec and user-guide glossary parity; terms pending D3-03.
- Coexistence chrome: the minimum shared chrome identical in both project modes, the workflow version badge and panel, the legacy explainer, and the legacy restyle under D3-06 (UX strategy §3.3 and §3.4).
- Narrow screens and performance budgets for the reconciliation workspace (candidate selector
plus single column below
lt_md; a selector never hides a disagreeing candidate) and the stage designer; AF2's bounded rendering assumes one form instance, so N-candidate reconciliation needs its own budget. - Today's screening-reconciliation path and how R4p retires it are documented before F4.
- Pilot operations UX: the workflow version panel is the admit or remove screen; the read-only containment banner is what reviewers see after a rollback (U28, U32).
- Help and change communication: at most three reviewer-visible change bundles before GA; the "What changed" panel from R2a; the anchored tour from R3a; contextual help on every new screen through the user-guide URL pipe; user-guide pages drafted under target markers.
- Design QA: tier 1 per PR by agents (theme guards, screenshot matrix, axe, keyboard transcript, copy-deck compliance, a second agent against the handoff); tier 2 by Chris per release on staging, plus per-PR acceptance for new shared patterns and five high-risk surfaces (pending D3-02).
- Research with real users: a baseline study before the R2a build, formative sessions per freeze gate, summative sessions per release, pilot diaries and a terminology card sort (UX strategy §9); the tester panel's shape was approved under D1-06 on 3 October and Chris named the panel that night (decision register §1.14); no external SyRF users are named yet, and external participants and telemetry are pending D3-08.