Software Requirements: Read-Acknowledgement & Questionnaires¶
Introduced in requirements baseline v1.2 (GAP-16, ADR-0022). A focused capability (read / acknowledge / simple questionnaire / role training requirement) — not full training management (no competence matrices, course catalogs, exam engines, or training-program scheduling).
| ID | Requirement | Trace |
|---|---|---|
| REQ-TRN-001 | Authorized users shall be able to define which roles must be trained on (acknowledge) a given document or document type. | STR-025; ADR-0022, ADR-0004 |
| REQ-TRN-002 | The system shall record that a user has read a specific document version. | STR-025; ADR-0022 |
| REQ-TRN-003 | A user shall be able to acknowledge a specific document version (read & understood); the acknowledgement (user, version, timestamp, optional questionnaire result) is a controlled record subject to retention. | STR-025, STR-009; ADR-0022, ADR-0016 |
| REQ-TRN-004 | A document (its type or a specific version) may carry a simple questionnaire (e.g. multiple-choice / true-false) that must be completed to acknowledge; the questions, the user's answers, and the pass/fail result shall be recorded. (refined by ADR-0070: multiple-choice/true-false, AUTO-SCORED against a per-questionnaire pass threshold (no manual grading), authored in the draft and FROZEN at release, questions carry stable ids surviving revision, every attempt — pass or fail — is a retained record (user, version, question ids, answers, score, timestamp) with unlimited retries.) | STR-025; ADR-0022, ADR-0070 |
| REQ-TRN-005 | On release of a version whose document requires acknowledgement, holders of the required roles shall receive an acknowledgement task with reminders. | STR-025, STR-023; ADR-0022, ADR-0019 |
| REQ-TRN-006 | Acknowledgement and questionnaire status shall be reportable per document, role, and scope (e.g. who still needs to acknowledge). | STR-025; ADR-0022 |
| REQ-TRN-007 | The acknowledgement policy shall carry a training mode per (scope, type) — NONE, ACKNOWLEDGE, or QUESTIONNAIRE (defaults: SOP/WI → QUESTIONNAIRE, RECORD → NONE) — overridable per document; a version whose effective mode is QUESTIONNAIRE shall not be releasable without a questionnaire (release gate TRAINING_QUESTIONNAIRE_MISSING), the gate guarding both explicit and automatic release. |
STR-025, STR-002; ADR-0070, ADR-0053 |
| REQ-TRN-008 | Each release shall carry a training-relevant flag: when set, training tasks shall fan out to all addressees, each completing the release's FULL questionnaire, and completion of a training task shall require a passing attempt (a pass also recording the acknowledgement — one evidence trail, not two); when unset, no re-training occurs and each addressee's prior pass carries forward. The system shall record which version each user is trained to, so a training-neutral release keeps the prior version's pass as the valid evidence. | STR-025, STR-009; ADR-0070, ADR-0052 |
| REQ-TRN-009 | The system shall record external trainings and certifications as first-class per-user, per-scope entries {user, scope, kind (TRAINING\|CERTIFICATION), title, provider/issuer, completed/issued date, valid-until (null = non-expiring), evidence, notes, recorded-by}, following a self-record + attestation model: a user records their own entries (including PLANNED ones, which convert to RECORDED on completion), and a MANAGE_TRAINING holder other than the subject CONFIRMS them (four-eyes attestation — the subject can never self-confirm). Entries are immutable records with narrow correction-by-supersession (a Correct creates a replacement chained to the original, which remains visible); evidence attaches as FILE-class, download-only blobs; entries are RLS-scoped and retained like other QMS records (access narrowing, not deletion, on offboarding). |
STR-025, STR-009; ADR-0071, ADR-0069, ADR-0016 |
| REQ-TRN-010 | The system shall present a per-user, per-scope training plan that joins, without duplication, the user's DERIVED document-training obligations (addressee policies × the user's roles × the acknowledgement/questionnaire ledger → status) with their external entries (REQ-TRN-009) and expiry state. A certification with a valid-until date shall raise a renewal task/notification to the user and the scope's MANAGE_TRAINING holders at a configurable lead time (default 90 days), exactly once and idempotently on re-run. Plan visibility is restricted to the subject and MANAGE_TRAINING holders in the scope. |
STR-025, STR-023; ADR-0071, ADR-0019 |
| REQ-TRN-011 | The acknowledgement policy shall carry an optional training due-window per (scope, type) (training_due_days; null = no objective deadline). An obligation shall be reported OVERDUE when it is pending AND now > effective_from(current effective training-relevant version) + training_due_days; a training-neutral re-release (REQ-TRN-008) shall never reset this clock. A MANAGE_TRAINING compliance view shall roll up, per training-relevant document, {addressees, trained, pending, overdue, oldest-pending days} worst-first, plus a per-scope summary (on-time rate = share of obligations not currently overdue), an oldest-first aging list, and expiring certifications; the roll-up shall derive from the same sources as the fan-out so it cannot drift from enforcement. |
STR-025, STR-011; ADR-0071, ADR-0070 |