Skip to content

MECE Coverage Matrix — Worker Operations ​

This matrix ensures Mutually Exclusive, Collectively Exhaustive test coverage for Worker Operations requirements (REQ-WORK-001 through REQ-WORK-010).

MECE Dimensions ​

Dimension 1: User Authority ​

Authority TypeDescriptionSign-onLock-offUpdate Competencies
Site Protector (Own)Site Protector assigned to this specific worksite✅ Yes✅ Yes✅ Yes
Site Protector (Other)Site Protector assigned to different worksite in same PWA❌ No❌ No❌ No
RPO (Own)RPO assigned to this specific PWA⚠️ If also acting SP⚠️ If also acting SP⚠️ If also acting SP
RPO (Other)RPO assigned to different PWA (or unassigned)❌ No❌ No❌ No
Worker (Self)Worker being processed (via QR or manual)✅ Via SP✅ Via SP❌ No
AdminSystem Administrator (Admin portal only)❌ No❌ No❌ No

Notes:

  • Site Protector always operates the iPad and performs all actions
  • Workers present their QR code or provide details for manual lock-on/off - they do not operate the app themselves
  • Workers may be manually locked on/off if their QR code doesn't work or they don't have one (e.g. temporary workers or visitor sub-types)
  • Admin can only update user records and site information in Admin system, not perform sign-on/lock-off operations
  • RPO authority over worksites within their PWA needs clarification

Dimension 2: Worker State ​

StateDescriptionCan Lock On?Can Lock Off?Clear Frame?
Not on SiteNo active record on any worksite✅ Yes❌ N/A✅ Yes
Locked On (Active)Currently locked on this worksite❌ No✅ Yes❌ No
Locked On (Returning)Locked off but marked "returning to site later"✅ Yes❌ N/A✅ Yes
Locked On (Different Site)Currently locked on different worksite in PWA⚠️ Block⚠️ Block✅ Yes
Locked On (Different PWA)Currently locked on worksite in different PWA⚠️ Block⚠️ Block✅ Yes
Locked Off (Shift Ended)Shift has ended, not returning✅ New shift❌ N/A✅ Yes

Dimension 3: Plant Assignment Complexity ​

Assignment TypeDescriptionBlocks Lock-off?Warning?
No PlantWorker has no plant assignments❌ No❌ No
Plant Operator (Single)Operator for one piece of plant✅ Yes❌ N/A
Plant Operator (Multiple)Operator for 2+ pieces of plant✅ Yes❌ N/A
MPC (Single)MPC for one piece of plant❌ No⚠️ Yes
MPC (Multiple)MPC for 2+ pieces of plant❌ No⚠️ Yes
Operator + MPC (Same Plant)Same person cannot be both for same plant❌ Invalid❌ Invalid
Operator + MPC (Different Plant)Operator for plant A, MPC for plant B✅ Yes⚠️ Yes

Notes:

  • Plant Operator assignment BLOCKS all lock-off methods until resolved
  • MPC assignment shows WARNING but allows lock-off to proceed
  • Plant must be locked off OR reassigned before Operator can lock off

Dimension 4: Lock-on/Lock-off Method ​

MethodWorker Present?Requires QR?Requires Auth?Offline?
QR Lock-on✅ Yes✅ Yes❌ No✅ Yes
Manual Lock-on✅ Yes❌ No❌ No✅ Yes
On-the-fly Onboarding✅ Yes❌ No❌ No✅ Yes
QR Lock-off✅ Yes✅ Yes❌ No✅ Yes
Manual Lock-off✅ Yes❌ No❌ No✅ Yes
Forced Lock-off❌ No❌ No✅ Yes (NCM)✅ Yes

Notes:

  • Site Protector always operates the iPad for all lock-on/off operations
  • Workers present their QR code to be scanned by the Site Protector, or provide details for manual entry
  • On-the-fly onboarding creates new user record + locks on in one flow (for temporary workers/visitors without QR codes)
  • Forced lock-off requires explicit NCM authorisation confirmation

Dimension 5: Shift Status ​

StatusDescriptionEnds Shift?Continues Tracking Shift?Active Count?
Locked On (Active)Worker currently on site❌ No✅ Yes✅ Yes
Ending ShiftWorker finished for the day (lock-off)✅ Yes❌ No❌ No
Returning to Site LaterWorker temporarily leaving (lock-off)❌ No✅ Yes❌ No

Notes:

  • Locked On (Active): Worker is physically on site, shift tracking active, included in active personnel count
  • Ending Shift: Selected during lock-off, ends shift tracking and removes from all lists
  • Returning to Site Later: Selected during lock-off, continues shift tracking but removes from active count, moved to "Returning" tab

Dimension 6: Connectivity State ​

ConnectivityDescriptionReal-time Sync?Method Allowed?
OnlineDevice has network connection✅ Yes✅ All
OfflineDevice has no network connection❌ No✅ All
Online→OfflineLoses connection during operation⚠️ Interrupted⚠️ Failure handling
Offline→OnlineRegains connection✅ Sync queued✅ All

Notes:

  • ALL worker operations must work offline (critical requirement)
  • Sync occurs automatically when connectivity restored

Dimension 7: Validation/Verification State ​

Validation TypeWhen Applied⚠️ Blocks Operation?
Safety Competency CheckLock-on✅ Yes (must confirm worker is competent and current)
Plant Assignment CheckLock-off✅ Yes (if Operator)
Shift Status ConfirmationLock-off✅ Yes (must select)
Worker Absence VerificationForced lock-off✅ Yes (must confirm)
NCM AuthorisationForced lock-off✅ Yes (must confirm)
QR Code ValidityQR operations✅ Yes (must be valid)

Notes:

  • Safety competency check at lock-on confirms worker is "competent and current/prepared for work"
  • Plant assignment (rather than plant competency) is the critical blocker for lock-off operations

Dimension 8: Competency Management ​

ActionWhenWho Can PerformRequirements
Assign Default CompetencyLock-onSite Protector (Own)Defaults to 'C'
Assign Additional CompetenciesLock-on or during shiftSite Protector (Own)Optional (FA, ESO, RSO, GMO, STMS, etc.)
Update CompetenciesDuring active shiftSite Protector (Own)Worker must be locked on
Persist CompetenciesNext lock-on at same worksiteSystemAuto-selects previous competencies as default

Notes:

  • Competencies are informational only and do not block operations
  • Default competency is 'C' (Competent and Current)
  • Additional competencies include: FA (First Aid), ESO (Electrical Safety Observer), RSO (Rail Safety Observer), GMO (Gas Monitor Observer), STMS (Site Traffic Management Supervisor), and others
  • Site Protector can update worker competencies at any time during the shift via: select worker → "Change competencies" → select/deselect → save
  • System remembers and pre-selects competencies for returning workers at the same worksite (worksite-specific memory)

MECE Test Coverage Matrix ​

Section 1: Worker Sign-on and Lock-on Tests ​

1.1 Standard QR Lock-on (REQ-WORK-001) ​

Test IDAuthorityWorker StateMethodConnectivityValidationExpected ResultStatus - covered?
TC-WORK-SIGNON-001Site Protector (Own)Not on SiteQR Lock-onOnlineValid QR + Safety check✅ Lock-on succeeds⬜
TC-WORK-SIGNON-002Site Protector (Own)Not on SiteQR Lock-onOfflineValid QR + Safety check✅ Lock-on succeeds⬜
TC-WORK-SIGNON-003Site Protector (Own)Locked On (Active)QR Lock-onOnlineValid QR❌ Already locked on⬜
TC-WORK-SIGNON-004Site Protector (Own)Locked On (Different Site)QR Lock-onOnlineValid QR❌ Blocked, must lock off first⬜
TC-WORK-SIGNON-005Site Protector (Own)Locked On (Returning)QR Lock-onOnlineValid QR✅ Re-lock-on succeeds⬜
TC-WORK-SIGNON-006Site Protector (Own)Not on SiteQR Lock-onOnlineInvalid QR❌ QR validation fails⬜
TC-WORK-SIGNON-007Site Protector (Own)Not on SiteQR Lock-onOnlineSafety check incomplete❌ Lock-on button disabled⬜
TC-WORK-SIGNON-008Site Protector (Other)Not on SiteQR Lock-onOnlineValid QR❌ Access denied⬜
TC-WORK-SIGNON-009RPO (Other)Not on SiteQR Lock-onOnlineValid QR❌ Access denied⬜
TC-WORK-SIGNON-010Site Protector (Own)Not on SiteQR Lock-onOnline→OfflineValid QR⚠️ Failure handling⬜
TC-WORK-SIGNON-011Site Protector (Own)Not on SiteQR Lock-onOffline→OnlineValid QR, queued data✅ Sync on reconnect⬜

1.2 Competency Assignment Tests (REQ-WORK-002) ​

Test IDAuthorityActionCompetencyExpected ResultStatus - covered?
TC-WORK-COMP-001Site Protector (Own)Assign at lock-onDefault (C)✅ Defaults to 'C' assigned⬜
TC-WORK-COMP-002Site Protector (Own)Assign at lock-onAdditional (FA, ESO)✅ Additional competencies assigned⬜
TC-WORK-COMP-003Site Protector (Own)Update competencyAdd FA during shift✅ Competency updated, logged⬜
TC-WORK-COMP-004Site Protector (Own)Update competencyRemove ESO during shift✅ Competency updated, logged⬜
TC-WORK-COMP-005Site Protector (Other)Update competencyAny competency❌ Access denied⬜
TC-WORK-COMP-006Site Protector (Own)Lock-on returning workerSame worksite✅ Previous competencies pre-selected⬜
TC-WORK-COMP-007Site Protector (Own)Lock-on returning workerDifferent worksite✅ No pre-selection (worksite-specific)⬜
TC-WORK-COMP-008Site Protector (Own)View worker detailsActive shift✅ All assigned competencies displayed⬜

1.3 Manual Lock-on Tests (REQ-WORK-004) ​

Test IDAuthorityWorker StateMethodConnectivityExpected ResultStatus - covered?
TC-WORK-MANUAL-001Site Protector (Own)Not on SiteManual Lock-onOnline✅ Manual lock-on succeeds⬜
TC-WORK-MANUAL-002Site Protector (Own)Not on SiteManual Lock-onOffline✅ Manual lock-on succeeds⬜
TC-WORK-MANUAL-003Site Protector (Own)Locked On (Active)Manual Lock-onOnline❌ Already locked on⬜
TC-WORK-MANUAL-004Site Protector (Own)Not on SiteManual Lock-onOnline✅ Selects existing worker + locks on⬜
TC-WORK-MANUAL-005Site Protector (Other)Not on SiteManual Lock-onOnline❌ Access denied⬜

1.4 Manual Onboarding Tests (REQ-WORK-005) ​

Test IDAuthorityUser Exists?MethodExpected ResultStatus - covered?
TC-WORK-ONBOARD-001Site Protector (Own)No (new worker)Manual✅ Creates user + locks on⬜
TC-WORK-ONBOARD-004Site Protector (Other)No (new worker)On-the-fly❌ Access denied⬜

Section 2: Worker Lock-off Tests ​

2.1 Manual Lock-off Tests (REQ-WORK-006) ​

Test IDAuthorityWorker StatePlant AssignmentShift StatusConnectivityExpected ResultStatus - covered?
TC-WORK-LOCKOFF-001Site Protector (Own)Locked On (Active)No PlantEnding ShiftOnline✅ Lock-off succeeds, shift ends⬜
TC-WORK-LOCKOFF-002Site Protector (Own)Locked On (Active)No PlantReturning LaterOnline✅ Lock-off succeeds, continues tracking⬜
TC-WORK-LOCKOFF-003Site Protector (Own)Locked On (Active)Plant Operator (Single)Ending ShiftOnline❌ Blocked by plant validation⬜
TC-WORK-LOCKOFF-004Site Protector (Own)Locked On (Active)MPC (Single)Ending ShiftOnline⚠️ Warning shown, can proceed⬜
TC-WORK-LOCKOFF-005Site Protector (Own)Locked On (Active)No PlantNo status selectedOnline❌ Lock-off blocked⬜
TC-WORK-LOCKOFF-006Site Protector (Own)Locked On (Active)No PlantEnding ShiftOffline✅ Lock-off succeeds⬜
TC-WORK-LOCKOFF-007Site Protector (Other)Locked On (Active)No PlantEnding ShiftOnline❌ Access denied⬜
TC-WORK-LOCKOFF-008Site Protector (Own)Locked On (Active)Operator + MPC (Different)Ending ShiftOnline❌ Blocked by Operator role⬜
TC-WORK-LOCKOFF-009Site Protector (Own)Locked On (Active)MPC (Multiple)Ending ShiftOnline⚠️ Warning, clears all MPC⬜
TC-WORK-LOCKOFF-010Site Protector (Own)Not on SiteNo PlantEnding ShiftOnline❌ Not locked on⬜
TC-WORK-LOCKOFF-011Site Protector (Own)Locked On (Returning)No PlantEnding ShiftOnline✅ Final lock-off, ends shift⬜

2.2 QR Lock-off Tests (REQ-WORK-010) ​

Test IDAuthorityWorker StatePlant AssignmentQR ValidityConnectivityExpected ResultStatus - covered?
TC-WORK-QR-001Site Protector (Own)Locked On (Active)No PlantValid QROnline✅ QR lock-off succeeds⬜
TC-WORK-QR-002Site Protector (Own)Locked On (Active)No PlantValid QROffline✅ QR lock-off succeeds⬜
TC-WORK-QR-003Site Protector (Own)Locked On (Active)Plant OperatorValid QROnline❌ Blocked by plant validation⬜
TC-WORK-QR-004Site Protector (Own)Locked On (Active)MPC (Single)Valid QROnline⚠️ Warning shown, can proceed⬜
TC-WORK-QR-005Site Protector (Own)Not on SiteNo PlantValid QROnline❌ Not locked on⬜
TC-WORK-QR-006Site Protector (Own)Locked On (Different Site)No PlantValid QROnline❌ Wrong site alert shown⬜
TC-WORK-QR-007Site Protector (Own)Locked On (Active)No PlantInvalid QROnline❌ QR validation fails⬜
TC-WORK-QR-008Site Protector (Own)Locked On (Active)No PlantValid QROnline→Offline⚠️ Failure handling⬜
TC-WORK-QR-009Site Protector (Own)Locked On (Active)No PlantValid QROnline✅ Consecutive scanning works⬜
TC-WORK-QR-010Site Protector (Own)Locked On (Active)No PlantQR scan failsOnline✅ Fallback to manual lock-off offered⬜

Note: Site Protector always operates the iPad and scans worker QR codes. Workers present their QR codes to be scanned.

2.3 Forced Lock-off Tests (REQ-WORK-007) ​

Test IDAuthorityWorker StatePlant AssignmentVerificationAuthorisationConnectivityExpected ResultStatus - covered?
TC-WORK-FORCED-001Site Protector (Own)Locked On (Active)No PlantCompleteNCM confirmedOnline✅ Forced lock-off succeeds⬜
TC-WORK-FORCED-002Site Protector (Own)Locked On (Active)No PlantIncompleteNCM confirmedOnline❌ Blocked, must complete⬜
TC-WORK-FORCED-003Site Protector (Own)Locked On (Active)No PlantCompleteNot confirmedOnline❌ Blocked, need auth⬜
TC-WORK-FORCED-004Site Protector (Own)Locked On (Active)Plant OperatorCompleteNCM confirmedOnline❌ Blocked by plant validation⬜
TC-WORK-FORCED-005Site Protector (Own)Locked On (Active)MPC (Single)CompleteNCM confirmedOnline⚠️ Warning, can proceed⬜
TC-WORK-FORCED-006Site Protector (Own)Locked On (Active)No PlantCompleteNCM confirmedOffline✅ Forced lock-off succeeds⬜
TC-WORK-FORCED-007Site Protector (Other)Locked On (Active)No PlantCompleteNCM confirmedOnline❌ Access denied⬜
TC-WORK-FORCED-008Site Protector (Own)Locked On (Returning)No PlantCompleteNCM confirmedOnline❌ Not applicable to returning⬜
TC-WORK-FORCED-009Site Protector (Own)Locked On (Active)No PlantCompleteNCM confirmedOnline→Offline⚠️ Failure handling⬜

2.4 Shift Status Tests (REQ-WORK-008) ​

Test IDLock-off MethodInitial StateShift Status SelectionPlant AssignmentExpected ResultStatus - covered?
TC-WORK-SHIFT-001Lock-onNot on SiteN/A (lock-on)No Plant✅ Locked On (Active), shift tracking starts, active count +1⬜
TC-WORK-SHIFT-002Manual Lock-offLocked On (Active)Ending ShiftNo Plant✅ Ends shift, removes from all lists, active count -1⬜
TC-WORK-SHIFT-003Manual Lock-offLocked On (Active)Returning LaterNo Plant✅ Continues tracking, moves to "Returning" tab, active count -1⬜
TC-WORK-SHIFT-004QR Lock-offLocked On (Active)Ending ShiftNo Plant✅ Ends shift, removes from all lists, active count -1⬜
TC-WORK-SHIFT-005QR Lock-offLocked On (Active)Returning LaterNo Plant✅ Continues tracking, moves to "Returning" tab, active count -1⬜
TC-WORK-SHIFT-006Lock-onLocked On (Returning)N/A (re-lock-on)No Plant✅ Re-lock-on continues same shift, active count +1⬜
TC-WORK-SHIFT-007Multiple cyclesLocked On (Active)Returning Later (2x)No Plant✅ Multiple lock-off/on maintains single shift⬜
TC-WORK-SHIFT-008Manual Lock-offLocked On (Active)Not selectedNo Plant❌ Blocked until status selected⬜

Section 3: Plant Assignment Validation Tests (REQ-WORK-009) ​

Test IDPlant AssignmentLock-off MethodAuthorityExpected ResultStatus - covered?
TC-WORK-PLANT-001Plant Operator (Single)Manual Lock-offSite Protector (Own)❌ Blocked with guidance⬜
TC-WORK-PLANT-002Plant Operator (Multiple)Manual Lock-offSite Protector (Own)❌ Blocked until all resolved⬜
TC-WORK-PLANT-003MPC (Single)Manual Lock-offSite Protector (Own)⚠️ Warning, can proceed⬜
TC-WORK-PLANT-004MPC (Multiple)Manual Lock-offSite Protector (Own)⚠️ Warning, clears all on proceed⬜
TC-WORK-PLANT-005Operator + MPC (Different)Manual Lock-offSite Protector (Own)❌ Blocked by Operator, warning for MPC⬜
TC-WORK-PLANT-006Plant Operator (Single)QR Lock-offSite Protector (Own)❌ Blocked with guidance⬜
TC-WORK-PLANT-007Plant Operator (Single)Forced Lock-offSite Protector (Own)❌ Blocked, must reassign first⬜
TC-WORK-PLANT-008MPC (Single)Forced Lock-offSite Protector (Own)⚠️ Warning, can proceed⬜
TC-WORK-PLANT-009No PlantAll methodsSite Protector (Own)✅ No validation blocking⬜
TC-WORK-PLANT-010Plant Operator (Single)All methodsSite Protector (Own)❌ Consistent blocking across methods⬜
TC-WORK-PLANT-011Plant Operator (Single)Manual Lock-offSite Protector (Own)✅ Plant locked off first, then worker can lock off⬜
TC-WORK-PLANT-012Plant Operator (Single)Manual Lock-offSite Protector (Own)✅ Plant handed over first, then worker can lock off⬜

Section 4: Multi-Worker and Edge Case Tests ​

4.1 Viewing Workers Tests (REQ-WORK-003) ​

Test IDWorker StatesExpected DisplayStatus - covered?
TC-WORK-VIEW-0015 workers Locked On (Active)✅ All shown in active list with count⬜
TC-WORK-VIEW-0023 Locked On (Active), 2 Locked On (Returning)✅ Separate tabs/sections shown⬜
TC-WORK-VIEW-003Active worker has Plant Operator✅ Plant assignment visible⬜
TC-WORK-VIEW-004Active worker has MPC✅ MPC assignment visible⬜
TC-WORK-VIEW-005Worker competencies displayed✅ All assigned competencies visible (C, FA, ESO, etc.)⬜
TC-WORK-VIEW-006Real-time updates (online)✅ List updates as changes occur⬜

4.2 Consecutive Operations Tests ​

Test IDOperation SequenceExpected ResultStatus - covered?
TC-WORK-CONSEC-001Lock on 10 workers consecutively via QR✅ Streamlined workflow, SP scans each worker⬜
TC-WORK-CONSEC-002Lock off 10 workers consecutively via QR✅ Rapid scanning workflow, SP scans each worker⬜
TC-WORK-CONSEC-003Lock on worker A, immediately lock on worker B✅ No interference⬜
TC-WORK-CONSEC-004Lock on worker, assign competencies, update competencies, lock off✅ Full lifecycle works⬜

4.3 Offline-Online Transition Tests ​

Test IDScenarioExpected ResultStatus - covered?
TC-WORK-OFFLINE-001Lock on 5 workers offline✅ All operations queued⬜
TC-WORK-OFFLINE-002Go online, sync occurs✅ All 5 workers synced⬜
TC-WORK-OFFLINE-003Lock off 3 workers offline, go online✅ Lock-offs synced correctly⬜
TC-WORK-OFFLINE-004Role updates offline, sync✅ Role changes synced⬜
TC-WORK-OFFLINE-005Forced lock-off offline, sync✅ Audit trail synced⬜
TC-WORK-OFFLINE-006Multiple SP devices offline✅ Conflict resolution⬜

4.4 Cross-Site and Cross-PWA Tests ​

Test IDScenarioExpected ResultStatus - covered?
TC-WORK-CROSS-001Worker locked on Site A, try lock on Site B (same PWA)❌ Must lock off Site A first⬜
TC-WORK-CROSS-002Worker locked on Site A (PWA 1), try lock on Site B (PWA 2)❌ Must lock off Site A first⬜
TC-WORK-CROSS-003Worker locked on Site A, locks off "returning", locks on Site B✅ Move between sites works⬜
TC-WORK-CROSS-004Worker scans QR at wrong site❌ Must return to locked-on site⬜

4.5 Audit Trail Tests ​

Test IDOperationExpected Audit RecordStatus - covered?
TC-WORK-AUDIT-001Lock on via QR✅ Timestamp, worker ID, SP ID, method, competencies assigned⬜
TC-WORK-AUDIT-002Lock off via manual✅ Shift status, plant warnings, timestamp⬜
TC-WORK-AUDIT-003Forced lock-off✅ NCM auth, verification details, distinct flag⬜
TC-WORK-AUDIT-004Competency assignment/update✅ Old competencies, new competencies, timestamp⬜
TC-WORK-AUDIT-005MPC warning proceed✅ Warning acknowledged logged⬜

MECE Completeness Checklist ​

✅ Dimensions Defined ​

  • [x] User Authority (6 types: SP Own/Other, RPO Own/Other, Worker Self, Admin)
  • [x] Worker State (6 types)
  • [x] Plant Assignment Complexity (7 combinations)
  • [x] Lock-on/Lock-off Method (6 types)
  • [x] Shift Status (3 types: Locked On Active, Ending Shift, Returning Later)
  • [x] Connectivity State (4 types)
  • [x] Validation/Verification State (6 types, competencies optional)
  • [x] Competency Management (4 actions)

⬜ Coverage Assessment ​

  • Total Dimensions: 8
  • Theoretical Combinations: ~12,000 (6×6×7×6×3×4×6)
  • Business-Valid Combinations: Estimated 80-120
  • Test Scenarios Mapped: 115
  • Currently Covered: ??
  • Coverage: ??% → Target: 100%

⬜ Critical Scenarios to Cover ​

Must Cover - Core Functionality ​

  1. Happy path for each lock-on method (QR, Manual, On-the-fly)
  2. Happy path for each lock-off method (QR, Manual, Forced)
  3. Temporary workers/visitors using manual lock-on (no QR code)
  4. Plant Operator blocking across all lock-off methods
  5. MPC warning across all lock-off methods
  6. Shift status selection for all lock-off methods (Locked On Active, Ending Shift, Returning Later)
  7. Offline operations for all methods
  8. Competency assignment (default to 'C')

Must Cover - Permission Boundaries ​

  1. Site Protector (Own) vs Site Protector (Other)
  2. RPO (Own) vs RPO (Other) authority boundaries
  3. Cross-worksite and cross-PWA blocking

Must Cover - State Transitions ​

  1. Not on Site → Locked On (Active) → Locked Off (Shift Ended)
  2. Locked On (Active) → Locked Off (Returning) → Re-locked On (Active)
  3. Multiple lock-off/on cycles maintaining shift continuity and tracking
  4. Active count increments/decrements correctly with state changes

Must Cover - Validation Chains ​

  1. Plant Operator blocking + resolution paths (lock off plant OR handover)
  2. MPC warning + clearing on lock-off
  3. Safety competency check (defaults to 'C', additional competencies optional)
  4. NCM authorisation + worker absence verification (forced lock-off only)
  5. Shift status confirmation requirement (must select Ending Shift or Returning Later)

Must Cover - Error Handling ​

  1. Invalid QR codes
  2. Expired QR codes
  3. Worker locked on different site/PWA
  4. Incomplete verifications/validations
  5. Connectivity loss during operation
  6. Multiple plant assignments

Should Cover - Edge Cases ​

  1. Consecutive scanning workflows (SP scanning multiple workers rapidly)
  2. Multiple workers with plant assignments
  3. Plant handover enabling worker lock-off
  4. Returning workers re-locking on different site within PWA
  5. Offline sync after multiple operations
  6. Competency updates during active shift
  7. Competency persistence across shifts (worksite-specific memory)

Internal use only