Status correction — 3 October 2026: UNAPPROVED PRELIMINARY MATERIAL. Retained as research input only. Chris has limited the current task to collecting future-planning scope, sources, confirmed decisions and unresolved matters. Actual implementation planning is a separate phase he will initiate. Architecture, sequencing and proposed controls here are not approved or an implementation approval request. Separately recorded owner decisions still apply.
Optional preclinical project setup and template plan¶
Confirmed requested scope: default screening-profile templates, encouragement to start an editable annotation form, ordinary question-library selection and replacement of the existing guided admin setup for standard preclinical reviews. Exact templates/steps/content below are proposals; none has been activated or published. Reuse the implementation sequence and access-policy settings.
Existing machinery and limits¶
FEAT-014 project templates is Draft: its ProjectTemplate aggregate/service and basic/dual/complete/living bundle examples are proposed. Deterministic CreateWithId factories/seeding are foundation, not proof of a usable admin wizard. Do not create a second template aggregate from this proposal or claim FEAT-014 ships. Question-management supplies designer/versioning/impact patterns; its Angular21 wording yields to actual Angular22.1. Question import #3934 is open at 9d6c596cf7c2d47f2dd526ff66664a31803ffd37 with .NET/API, UI and import docs/files; #2781 is open Python guarded foundation at 2d8b071b0f5d9ac0ce0d86ac4bae597301418ae6. Preserve their preview, binding, dependency/validation, transaction/dry-run and rollback contracts, not a parallel copier or unguarded bulk API. Versioned library/catalogue browse may need an adapter; no complete deployed library is verified.
Existing wizard replacement/reuse map — inspected current source¶
ProjectIndexComponent.onProjectCreate opens CreateProjectWizardComponent in a 650px Material dialog. The existing create wizard has Basic Details and Screening steps, project-name async/ whitespace validation, protocol link, description, keywords, required contact email and private visibility default. It dispatches projectDetailActions.create through convertToProjectVm. Living-search and machine-learning groups are disabled in the constructor; preserve feature availability rather than automatically enabling those dormant sections.
The wizard embeds ProjectSetupComponent after creation. That same checklist also appears in project navigation and links to options, screening-settings, create-stage/detail, stage settings, search upload, question design, question assignment and review. It already derives done/next/ todo/locked states and handles accessible collapsed navigation. Some completion tests use first stage/global criteria/current screened statistics; those do not describe profile/form/step readiness.
| Existing part | Replacement / reuse recommendation |
|---|---|
| Project index create entry and authorization/store/service flow | Keep entry point and compatible create action/API; replace its wizard content/model, not add a second wizard |
| Basic details and name validation | Retain all fields, validation, keyword selection, privacy and contact defaults; modernize controls under Angular22 conventions |
| Free-text global criteria screen | Preserve project protocol text as descriptive context; add independent profile-template/config editors, never reinterpret historical prose as structured eligibility answers |
| Post-create checklist/navigation | Replace first-stage/global checklist model with profile/form/step/dependency-aware setup progress; reuse placement, routing/focus/expand interactions and CreateStageService |
| Upload search/design questions/assign questions/review links | Keep useful routes and manual entry; guided replacement orchestrates same editors and persists resumable draft state |
| Disabled living-search/ML areas | Preserve current feature gates/manual capabilities; no new automatic living-review or AI activation |
| CREATE PROJECT completion + handoff | Separate creating basic project from publishing/activating configuration; show preview and normal impact gates; no lost user-entered fields on back/cancel/conflict |
Sources: create wizard, setup checklist and sibling HTML; current project-index entry inspected. Current ReactiveForms wizard is evidence, not a requirement to rewrite all existing forms immediately or to create a parallel form system.
Retirement plan: first extract/reuse basic create command and checklist contracts with regression fixtures; route existing create/setup entry to replacement after parity; retain manual routes and saved drafts; remove obsolete global/first-stage completion heuristics only once replacement is verified. Do not retire backend APIs, existing search upload or standalone question designers as part of wizard replacement. Feature-off fallback must still create a valid project with preserved basic settings. Existing projects get resume/reconfigure, not destructive fresh-project creation.
Proposed replacement setup journey¶
- Choose guided or manual setup. Replacement guided preclinical review is an editable starting point, not enforced eligibility criteria or scientific protocol advice. Existing projects can skip it.
- Screening profiles. Offer title/abstract and full-text starting templates, preview proposed eligibility/exclusion questions, requiredness, agreement/reason policy and source version. Admin edits before publish. Example categories: population/species, disease/model, intervention, eligible design and relevant outcome. Exact content is not approved or automatically exhaustive.
- Initial annotation form. Encourage “Create extraction form” or continue without it. Pick ordinary questions from a category library, preview numbering/conditional children and semantic dependencies; add/edit/remove through the normal question editor. Suggested categories include study descriptors, animal/model details, treatment and outcome measure; templates do not collect actual paper facts during project setup.
- Extraction shape, if enabled. Select legacy-compatible/event-count/project-custom schema. Show series versus observation roles, types/validators/cardinality and single outcome-measure direction. Add required cohort/outcome/experiment system question/type dependencies only for the enabled extraction/export feature. Offer existing disease-model/intervention/treatment templates with verified aliases; do not force all types into every project.
- Stage/step route. Propose title/abstract → full-text → extraction, editable rather than fixed protocol. Cross-stage Collective Include required default, advanced own-Include option, collective Exclude veto; within-stage personal progression normal. Strict within-stage collective policy remains a proposed advanced setting pending design review. Show separate gate and evidence target controls, source/profile/form versions and no cycles.
- Team and reporting. Select editable permission-group bundles using existing membership UI; owner explicitly grants bounded permission administration. Explain blinding/statistics/export grants. Review PRISMA source/retrieval/profile mapping and primary-reason coverage without creating Studies/Citations or claiming a complete diagram from empty configuration.
- Preview and publish deliberately. Display project-owned form/questions, profile-owned eligibility definitions, stage bindings, dependencies and effective settings. Save draft and resume; apply normal publication/usage/impact gates. Existing projects require change preview, not wholesale reset; LC1 approval applies when affecting Completed stages. No setup auto-activation.
Ownership and copying contract¶
Screening templates instantiate independent profile-owned question/rule configuration, not live-linked ordinary study-fact answers. Two copies into distinct profiles do not share decisions or supporting eligibility answers; same profile reused across stages still shares profile authority. Template update never silently rewrites an existing profile. Record source template/version and local edits for provenance; exact clone API should reuse existing import/version engine.
Ordinary question templates instantiate project-owned question definitions with explicit parents, entity targets, conditionals, validators and version bindings. Remap local IDs/reference dependencies in one reviewed import manifest; reject references to another project's private definitions or missing required entity types. Library wording similarity cannot merge questions/answers. Shared ordinary facts follow compatible context/ancestor identity after review data exists, not template identity. Template schemas/concepts/entities remain distinct kinds; no global shared review facts.
Recommend using the existing category designer's Add from library plus preview/import path; the wizard orchestrates those commands. Do not make a wizard-only designer, question-numbering scheme or permission path. Unapproved/unsupported template prerequisites are clearly shown; actionable validation remains server-enforced. Basic ordinary library/form entry can ship with M1; profile templates with M2; complete guided stage/extraction setup follows M4 and schema capability.
Acceptance and review¶
Approve proposed setup steps/content and clone/dependency presentation, not generic existence again. Templates remain optional, editable and versioned. Fixtures: different profile copies stay independent; later template change does not alter published local configuration; parent/lookup imports survive ID remap; cross-project dependency denied; basic privacy/contact/name/keywords/protocol fields survive replacement; old create entry uses new flow without duplicate creation; navigation/manual setup and disabled living/ML behavior preserved; empty project wizard creates no PRISMA records/reports; extraction-off does not add unused mandatory types; interrupted draft setup resumes; publish honors impact gates; ordinary editor/category UI still works without wizard. These are future acceptance tests; no runtime tests or implementation are performed here.