Skip to main content

Work Order QMS Module — Validation Protocol Templates (IQ/OQ/PQ)

Classification: Compliance — Validation Engineering
Date: 2026-02-13
Artifact: 70 of WO System Series
Status: Proposed
Regulatory Alignment: FDA 21 CFR Part 11, GAMP 5, ISPE Baseline Guide Vol. 5
Source Artifacts: 20-regulatory-compliance-matrix.md, 65-testing-strategy.md §5, 17-e-signature-architecture.md, 69-versioning-evolution-strategy.md §6


1. Validation Lifecycle Overview

1.1 V-Model Mapping

              REQUIREMENTS ──────────────────── PQ (Performance Qualification)
↓ ↑
FUNCTIONAL SPEC ─────────────── OQ (Operational Qualification)
↓ ↑
DESIGN SPEC ────────────── IQ (Installation Qualification)
↓ ↑
BUILD ─────── Unit/Integration Tests

Each qualification level validates against a different specification level, forming a traceable chain from requirements through evidence.

1.2 Qualification Matrix

QualificationValidates AgainstQuestion AnsweredAutomation TargetEvidence Owner
IQDesign Specification + TDD §3"Is the system installed correctly?"100% automatedSRE / DevOps
OQFunctional Specification + SDD"Does the system operate correctly?"95% automatedQA Engineering
PQUser Requirements + Business Case"Does the system perform as needed in the real world?"80% automatedQA + Compliance

1.3 Execution Triggers

TriggerQualification RequiredScope
Initial deployment (new tenant)Full IQ + OQ + PQAll components
Major release (API version bump)Full IQ + OQ + PQAll affected components
Minor release (feature behind flag)IQ + targeted OQChanged components only
Patch release (bug fix)IQ + regression OQFix scope + regression
Infrastructure change (GKE upgrade, DB migration)IQInfrastructure only
Configuration change (tenant config)Targeted OQChanged configuration scope
Disaster recovery eventIQ + targeted OQRestored components

2. IQ Protocol Template

2.1 Protocol Header

# Installation Qualification Protocol
# CODITECT WO System — [Tenant Name]

Document ID: IQ-WO-[TENANT]-[VERSION]-[DATE]
Version: 1.0
Status: ☐ Draft ☐ Approved for Execution ☐ Executed ☐ Approved
System: CODITECT Work Order QMS Module v[VERSION]
Environment: ☐ Staging ☐ Production
Prepared by: [Name, Role, Date]
Reviewed by: [Name, Role, Date]
Approved by: [Name, Role, Date]

Change History:
| Version | Date | Author | Description |
|---------|------|--------|-------------|
| 1.0 | [Date] | [Author] | Initial protocol |

2.2 IQ Test Catalog

Test IDCategoryVerificationMethodPass CriteriaRegulatory Trace
IQ-001SchemaDatabase schema matches expected hashprisma migrate status + schema hash comparisonZero pending migrations, hash matches release manifest§11.10(h) data input validation
IQ-002RLSAll 22+ tables have active RLS policiesSELECT * FROM pg_policies cross-referenced against entity list100% coverage, zero missing policies§11.10(d) access control
IQ-003AuditAudit trail trigger prevents UPDATE/DELETEAttempt UPDATE on audit_trail → expect rejectionUPDATE fails with trigger error§11.10(e) audit trails
IQ-004AuditAudit trail trigger prevents DELETEAttempt DELETE on audit_trail → expect rejectionDELETE fails with trigger error§11.10(c) record protection
IQ-005ConnectivityAll service health checks passGET /api/health on each serviceAll dependencies report "connected"System availability
IQ-006TLSTLS 1.3 enforced on all public endpointstestssl.sh scan against API gatewayNo protocol < TLS 1.3 accepted§164.312(e)(1) transmission security
IQ-007VaultService retrieves test secret from VaultVault health check + test secret retrievalSecret retrieved, latency < 500ms§11.10(d) access control
IQ-008EventsNATS publish/subscribe functionalPublish test event, verify receipt by subscriberRound-trip < 100msSystem connectivity
IQ-009VersionsApplication version matches release manifestGET /api/version compared to deployment configExact version matchConfiguration control
IQ-010ConfigTenant configuration loaded correctlyVerify tenant-specific config against expected valuesAll config keys match§11.10(a) system validation
IQ-011SignaturesE-signature service reachable and key availableSign test payload, verify signatureSignature verifies correctly§11.50, §11.70
IQ-012TimeServer time synchronized via NTPCompare server timestamp to NTP referenceDrift < 1 second§11.10(e) timestamps
IQ-013BackupsBackup job configured and last run successfulCheck backup job status and last completionLast backup < 24 hours old§11.10(c) data protection
IQ-014MonitoringObservability stack receiving metricsVerify Prometheus scrape targets, Grafana data sourcesAll targets up, data flowingOperational readiness

2.3 IQ Execution Record

## IQ Execution Record

Execution Date: [Date]
Executed by: [Name, Role]
Environment: [URL, Region, Instance ID]
Release Version: [Semantic version + commit hash]

| Test ID | Result | Evidence Reference | Deviation? | Notes |
|---------|--------|-------------------|-----------|-------|
| IQ-001 | ☐ Pass ☐ Fail | [Link to schema diff output] | ☐ Yes ☐ No | |
| IQ-002 | ☐ Pass ☐ Fail | [Link to pg_policies query result] | ☐ Yes ☐ No | |
| ... | | | | |

Summary:
Total tests: 14
Passed: [N]
Failed: [N]
Deviations: [N] (see Deviation Log §2.5)

Overall Result: ☐ PASS ☐ PASS WITH DEVIATIONS ☐ FAIL

Signatures:
Executed by: _________________________ Date: _________
Reviewed by: _________________________ Date: _________
Approved by: _________________________ Date: _________

2.4 IQ Automation Script

#!/bin/bash
# iq-runner.sh — Automated IQ execution
# Generates evidence package in /evidence/iq-[date]/

set -euo pipefail
EVIDENCE_DIR="./evidence/iq-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$EVIDENCE_DIR"

echo "=== IQ-001: Schema Verification ==="
npx prisma migrate status > "$EVIDENCE_DIR/iq-001-schema-status.txt" 2>&1
SCHEMA_HASH=$(npx prisma migrate diff --from-schema-datamodel prisma/schema.prisma --to-schema-datasource prisma/schema.prisma --script | sha256sum | cut -d' ' -f1)
echo "Schema hash: $SCHEMA_HASH" >> "$EVIDENCE_DIR/iq-001-schema-hash.txt"
echo "$SCHEMA_HASH" | diff - expected-schema-hash.txt > "$EVIDENCE_DIR/iq-001-hash-diff.txt" && echo "PASS" || echo "FAIL"

echo "=== IQ-002: RLS Policy Verification ==="
psql "$DATABASE_URL" -c "SELECT schemaname, tablename, policyname FROM pg_policies ORDER BY tablename;" > "$EVIDENCE_DIR/iq-002-rls-policies.txt"
POLICY_COUNT=$(psql "$DATABASE_URL" -t -c "SELECT COUNT(DISTINCT tablename) FROM pg_policies;")
echo "Tables with RLS: $POLICY_COUNT" >> "$EVIDENCE_DIR/iq-002-rls-count.txt"

echo "=== IQ-003: Audit Trail Immutability ==="
psql "$DATABASE_URL" -c "UPDATE audit_trail SET action='TAMPER_TEST' WHERE id='nonexistent';" > "$EVIDENCE_DIR/iq-003-update-test.txt" 2>&1 || echo "PASS: UPDATE blocked" >> "$EVIDENCE_DIR/iq-003-result.txt"

echo "=== IQ-005: Health Check ==="
curl -s "$API_URL/api/health" | jq '.' > "$EVIDENCE_DIR/iq-005-health.json"

echo "=== IQ-006: TLS Scan ==="
testssl.sh --json "$API_URL" > "$EVIDENCE_DIR/iq-006-tls-scan.json" 2>/dev/null

echo "=== IQ-012: Time Sync ==="
SERVER_TIME=$(curl -s "$API_URL/api/health" | jq -r '.timestamp')
NTP_TIME=$(ntpdate -q pool.ntp.org 2>/dev/null | tail -1)
echo "Server: $SERVER_TIME, NTP: $NTP_TIME" > "$EVIDENCE_DIR/iq-012-time-sync.txt"

# Generate evidence package manifest
echo "=== Evidence Package Manifest ===" > "$EVIDENCE_DIR/MANIFEST.txt"
ls -la "$EVIDENCE_DIR" >> "$EVIDENCE_DIR/MANIFEST.txt"
sha256sum "$EVIDENCE_DIR"/* >> "$EVIDENCE_DIR/MANIFEST.txt"

echo "Evidence package: $EVIDENCE_DIR"

3. OQ Protocol Template

3.1 Protocol Header

# Operational Qualification Protocol
# CODITECT WO System — [Tenant Name]

Document ID: OQ-WO-[TENANT]-[VERSION]-[DATE]
Version: 1.0
Status: ☐ Draft ☐ Approved for Execution ☐ Executed ☐ Approved
System: CODITECT Work Order QMS Module v[VERSION]
Prerequisite: IQ-WO-[TENANT]-[VERSION]-[DATE] APPROVED
Prepared by: [Name, Role, Date]
Reviewed by: [Name, Role, Date]
Approved by: [Name, Role, Date]

3.2 OQ Test Catalog

3.2.1 State Machine Verification

Test IDScenarioStepsExpected ResultRegulatory Trace
OQ-SM-001Happy path: DRAFT → CLOSEDCreate WO → Plan → Approve (SO + QA) → Assign → Start → Complete → CloseAll transitions succeed, audit trail complete§11.10(f) sequencing
OQ-SM-002Invalid transition rejectionAttempt DRAFT → COMPLETED (skipping intermediate states)422 error with valid transitions listed§11.10(f) sequencing
OQ-SM-003Blocked/unblocked cycleIN_PROGRESS → BLOCKED (with reason) → IN_PROGRESS (with resolution)Both transitions succeed, reason/resolution in audit trail§11.10(e) audit
OQ-SM-004Cancellation from any cancelable stateCancel from DRAFT, PLANNED, APPROVED, ASSIGNEDAll succeed; states BLOCKED, IN_PROGRESS, COMPLETED reject cancel§11.10(f) sequencing
OQ-SM-005Regulatory WO requires dual approvalCreate regulatory WO → submit → only SO approves → attempt assignBlocked: QA approval still required§11.10(g) authority checks
OQ-SM-006Non-regulatory WO with SO-only approvalCreate non-regulatory WO → submit → SO approves → assignSucceeds with single approvalBusiness rule

3.2.2 RBAC Verification

Test IDScenarioActorExpected ResultRegulatory Trace
OQ-RBAC-001Originator creates WOORIGINATOR roleWO created in DRAFT§11.10(d) access
OQ-RBAC-002Assignee cannot create WOASSIGNEE role403 Forbidden§11.10(d) access
OQ-RBAC-003Vendor sees only assigned WOsVENDOR roleList returns only WOs assigned to this vendor§11.10(d) access
OQ-RBAC-004Auditor has read-only accessAUDITOR roleCan view all WOs and audit trails; all write operations return 403§11.10(d) access
OQ-RBAC-005SOD: originator cannot approve own WOORIGINATOR who is also SYSTEM_OWNERApproval rejected on own WOSOC 2 CC6.1
OQ-RBAC-006Cross-tenant isolationTenant A userCannot see/access Tenant B WOs, even by direct ID§11.10(d) access, multi-tenancy

3.2.3 E-Signature Verification

Test IDScenarioExpected ResultRegulatory Trace
OQ-SIG-001Valid signature with re-authenticationSignature created with signer ID, timestamp, meaning, hash§11.50, §11.70
OQ-SIG-002Signature without re-auth rejected401 Unauthorized — re-authentication required§11.100(b) identity verification
OQ-SIG-003Signature bound to specific WO versionModify WO after signature → verify original signature still references original content§11.70 signature linking
OQ-SIG-004Signature immutabilityAttempt to modify existing signature record → reject§11.70 no excision
OQ-SIG-005Delegation with audit trailDelegated approval succeeds; delegation chain visible in audit§11.10(e) audit

3.2.4 Audit Trail Verification

Test IDScenarioExpected ResultRegulatory Trace
OQ-AUDIT-001Every transition generates entryExecute all valid transitions → verify 1:1 audit entry mapping§11.10(e)
OQ-AUDIT-002Audit entry captures required fieldsVerify: entity type, entity ID, action, performed_by, timestamp, previous_value, new_value§11.10(e)
OQ-AUDIT-003Server-side timestampsVerify audit timestamp is server-generated, not client-supplied§11.10(e) secure timestamps
OQ-AUDIT-004Audit entries immutableVerify UPDATE/DELETE blocked by trigger§11.10(c) record protection
OQ-AUDIT-005Audit trail searchable and exportableQuery by date range, entity, actor → export as JSON/CSV§11.10(b) retrieval
OQ-AUDIT-006Hash chain integrityVerify each entry's hash includes previous entry's hash§11.70 (extended)

3.2.5 Agent Orchestration Verification

Test IDScenarioExpected ResultRegulatory Trace
OQ-AGENT-001Agent creates WO with audit trailAgent-created WO has agent_session_id in auditAgent accountability
OQ-AGENT-002Agent respects RBAC boundariesAgent cannot approve (requires human e-signature)§11.100 human signatures
OQ-AGENT-003Agent token budget enforcementAgent exceeding budget → circuit breaker activatesCost control
OQ-AGENT-004Agent checkpoint escalationAgent reaches architecture decision → pauses for human reviewCheckpoint framework
OQ-AGENT-005Agent failure isolationKill agent worker → WO transitions to BLOCKED, not corruptedFault tolerance

3.3 OQ Execution Record

## OQ Execution Record

Execution Date: [Date]
IQ Prerequisite: IQ-WO-[TENANT]-[VERSION]-[DATE] — APPROVED
Executed by: [Name, Role]
Environment: [URL, Version]

| Test ID | Result | Evidence File | Deviation? | Notes |
|---------|--------|--------------|-----------|-------|
| OQ-SM-001 | ☐ Pass ☐ Fail | oq-sm-001-happy-path.json | ☐ Yes ☐ No | |
| OQ-SM-002 | ☐ Pass ☐ Fail | oq-sm-002-invalid-transition.json | ☐ Yes ☐ No | |
| ... | | | | |

Summary:
Total tests: [N] | Passed: [N] | Failed: [N] | Deviations: [N]

Overall Result: ☐ PASS ☐ PASS WITH DEVIATIONS ☐ FAIL

4. PQ Protocol Template

4.1 Protocol Header

# Performance Qualification Protocol
# CODITECT WO System — [Tenant Name]

Document ID: PQ-WO-[TENANT]-[VERSION]-[DATE]
Prerequisite: OQ-WO-[TENANT]-[VERSION]-[DATE] APPROVED

4.2 PQ Test Catalog

Test IDCategoryScenarioLoad ProfilePass CriteriaEvidence
PQ-PERF-001API ThroughputSustained WO operations100 concurrent users, 50 WO transitions/sec for 30 minP95 < 500ms, 0% errorsk6 report
PQ-PERF-002Audit WriteSustained audit trail writes200 writes/sec for 30 minP95 < 50ms, 0% lost entriesk6 report + audit count verification
PQ-PERF-003Agent DispatchAgent orchestration under load20 concurrent agent sessions, 5 WOs eachAll agents complete, no deadlocksAgent execution report
PQ-PERF-004Database CapacityQuery performance at data volume500K WOs, 5M audit entries pre-seededQuery P95 < 100mspg_stat_statements
PQ-PERF-005Multi-Tenant IsolationCross-tenant query isolation10 tenants, concurrent operationsZero cross-tenant data leakageRLS verification + query logs
PQ-PERF-006Failover RecoveryDatabase failover under loadActive transactions during failoverRecovery < 120s, zero data loss, audit chain intactFailover log + audit verification
PQ-SLA-00124-hour SoakNormal operation over extended periodRealistic traffic profile for 24 hoursSLA targets met, no memory leaks, no connection leaksGrafana snapshots
PQ-SLA-002Peak LoadBlack Friday-equivalent spike5× normal traffic for 1 hourGraceful degradation, no data lossk6 report + error rate
PQ-USER-001End-to-End JourneyFull WO lifecycle with real user timing5 users complete Sam's Journey (68-user-experience-journeys.md §1.2)TTFV targets met per personaJourney timing report
PQ-USER-002Compliance WorkflowFDA-ready WO with all checkpointsRegulatory WO with dual approval, evidence, audit packageAll compliance artifacts generated correctlyEvidence package review

5. Traceability Matrix

The traceability matrix connects requirements → tests → evidence, providing auditors a single document to verify coverage.

5.1 Matrix Structure

Requirement IDRequirement SourceRequirement DescriptionIQ TestsOQ TestsPQ TestsEvidenceStatus
FDA-11.10(c)20-regulatory-compliance-matrix §1Protection of records for accuracy and integrityIQ-003, IQ-004OQ-AUDIT-004Trigger test log, UPDATE rejection log
FDA-11.10(d)20-regulatory-compliance-matrix §1System access limited to authorized individualsIQ-002OQ-RBAC-001 through OQ-RBAC-006PQ-PERF-005RLS policy dump, RBAC test results, isolation test
FDA-11.10(e)20-regulatory-compliance-matrix §1Audit trail documentationIQ-003, IQ-012OQ-AUDIT-001 through OQ-AUDIT-006PQ-PERF-002Audit entry samples, timestamp verification, hash chain
FDA-11.10(f)20-regulatory-compliance-matrix §1Operational checks for sequencingOQ-SM-001 through OQ-SM-006PQ-USER-002Transition test results, rejection evidence
FDA-11.10(g)20-regulatory-compliance-matrix §1Authority checksOQ-SM-005, OQ-RBAC-005Dual approval test, SOD rejection log
FDA-11.10(h)20-regulatory-compliance-matrix §1Device checks for data input validityIQ-001, IQ-010OQ-SM-002Schema validation evidence, invalid input rejection
FDA-11.5020-regulatory-compliance-matrix §1Signature manifestationsIQ-011OQ-SIG-001PQ-USER-002Signature record samples
FDA-11.7020-regulatory-compliance-matrix §1Signature/record linkingOQ-SIG-003, OQ-SIG-004Hash binding evidence, immutability test⚠️ G02
FDA-11.10020-regulatory-compliance-matrix §1Electronic signature requirementsOQ-SIG-001, OQ-SIG-002Re-auth test, signature creation evidence
HIPAA-312(a)20-regulatory-compliance-matrix §2Access controlsIQ-002, IQ-007OQ-RBAC-001 through -006PQ-PERF-005RLS policies, RBAC tests, isolation tests
HIPAA-312(e)20-regulatory-compliance-matrix §2Transmission securityIQ-006TLS scan report
SOC2-CC6.120-regulatory-compliance-matrix §3Logical access securityIQ-002OQ-RBAC-001 through -006, OQ-RBAC-005 (SOD)PQ-PERF-005RBAC + SOD + isolation tests

5.2 Coverage Summary

Requirement Coverage:
FDA 21 CFR Part 11: 9 requirements → 9 covered (100%)
HIPAA §164.312: 5 requirements → 5 covered (100%)
SOC 2 Trust Services: 4 requirements → 4 covered (100%)

Total: 18 requirements → 18 covered → 0 gaps

Test Coverage:
IQ tests: 14 (100% automated)
OQ tests: 22 (95% automated, 1 manual: OQ-SIG-001 re-auth UX)
PQ tests: 10 (80% automated, 2 manual: PQ-USER-001 journey, PQ-USER-002 compliance review)
Total: 46 test cases

6. Deviation Handling

6.1 Deviation Classification

ClassDefinitionImpactRequired ActionApproval
CriticalTest failure in compliance-critical function (audit trail, signatures, access control)Cannot releaseRoot cause analysis → fix → re-test → re-approveQA + Compliance Director
MajorTest failure in core functionality (state machine, RBAC)Cannot release for affected functionRoot cause → fix or workaround with compensating control → document → re-testQA Manager
MinorTest failure in non-critical function (reporting, notifications, UI)Can release with documented limitationDocument → track in backlog → fix in next releaseQA Manager
ObservationTest passed but revealed improvement opportunityNo impactDocument → add to backlogTester

6.2 Deviation Record Template

## Deviation Report

Deviation ID: DEV-[PROTOCOL]-[TEST_ID]-[SEQ]
Test ID: [e.g., OQ-SIG-003]
Classification: ☐ Critical ☐ Major ☐ Minor ☐ Observation
Date Identified: [Date]
Identified by: [Name, Role]

Description:
[What happened, what was expected, what was observed]

Root Cause:
[Analysis of why the deviation occurred]

Impact Assessment:
Compliance impact: [Which regulatory requirements affected]
Functional impact: [What user-facing behavior is affected]
Data integrity: [Any risk to data accuracy or completeness]

Resolution:
☐ Fix applied (version: [X.Y.Z], commit: [hash])
☐ Compensating control implemented: [description]
☐ Accepted with documented limitation
☐ Deferred to release [X.Y.Z]

Re-test Results:
Re-test date: [Date]
Re-test result: ☐ Pass ☐ Fail (→ new deviation)
Evidence: [Link to re-test evidence]

Signatures:
Identified by: _________________________ Date: _________
Resolved by: _________________________ Date: _________
Approved by: _________________________ Date: _________

7. Evidence Package Format

7.1 Package Structure

evidence/
├── iq-[date]/
│ ├── MANIFEST.txt # File listing with SHA-256 hashes
│ ├── PROTOCOL.pdf # Signed IQ protocol (this template, filled)
│ ├── EXECUTION-RECORD.pdf # Signed execution record
│ ├── test-results/
│ │ ├── iq-001-schema-status.txt
│ │ ├── iq-002-rls-policies.txt
│ │ ├── iq-003-audit-immutability.txt
│ │ └── ...
│ └── TRACEABILITY-MATRIX.pdf # Requirement → test → evidence mapping

├── oq-[date]/
│ ├── MANIFEST.txt
│ ├── PROTOCOL.pdf
│ ├── EXECUTION-RECORD.pdf
│ ├── test-results/
│ │ ├── oq-sm-001-happy-path.json # API response captures
│ │ ├── oq-rbac-006-isolation.json # Cross-tenant isolation proof
│ │ └── ...
│ ├── screenshots/ # UI evidence (if applicable)
│ └── DEVIATION-LOG.pdf # Any deviations encountered

├── pq-[date]/
│ ├── MANIFEST.txt
│ ├── PROTOCOL.pdf
│ ├── EXECUTION-RECORD.pdf
│ ├── test-results/
│ │ ├── pq-perf-001-k6-report.html
│ │ ├── pq-perf-004-pg-stats.json
│ │ └── ...
│ ├── grafana-snapshots/ # Performance dashboard screenshots
│ └── DEVIATION-LOG.pdf

└── VALIDATION-SUMMARY.pdf # Overall validation summary + recommendation

7.2 Evidence Integrity

Every file in the evidence package:

  • Has a SHA-256 hash recorded in MANIFEST.txt
  • Is generated by automated tooling (not manually created) where possible
  • Is timestamped with server time (not local time)
  • Is immutable after generation (stored in write-once storage)
  • Is associated with the specific system version under test

7.3 Evidence Retention

Evidence TypeRetention PeriodStorageAccess
IQ/OQ/PQ protocolsLife of system + 2 yearsGCS (encrypted, write-once)Compliance + Auditors
Test result filesLife of system + 2 yearsGCS (encrypted, write-once)Engineering + Compliance
Deviation reportsLife of system + 2 yearsGCS (encrypted, write-once)Compliance + Auditors
Validation summariesLife of system + 5 yearsGCS (encrypted, write-once)All authorized roles

8. Validation as a Customer Deliverable

8.1 Customer-Facing Validation Kit

Each customer's subscription includes access to a validation toolkit:

ComponentStarterProfessionalEnterprise
Pre-executed IQ evidence (CODITECT platform)
OQ protocol template (pre-filled for tenant)
Automated OQ execution (one-click)
PQ protocol template
Automated PQ execution
Custom validation requirements mapping
Validation consulting (hours)0416
Evidence package export (audit-ready PDF)

8.2 Revenue Impact

Validation capabilities are a key differentiator and revenue driver:

  • Sales acceleration: Pre-validated platform reduces customer's validation effort by 80–85% (per 10-roi-quantification.md)
  • Competitive moat: MasterControl and Veeva require customers to build their own IQ/OQ/PQ — CODITECT provides it as a service
  • Upsell path: Starter → Professional (add automated OQ) → Enterprise (add automated PQ + custom validation)
  • Evidence package export: $500/audit package (per 60-business-model.md §1.1)

9. Cross-Reference

TopicPrimary ArtifactThis Document Section
Regulatory requirement definitions20-regulatory-compliance-matrix.md§5 traceability matrix (maps requirements → tests)
Test cases and automation65-testing-strategy.md §5§2–4 (formal protocol wrappers around test cases)
E-signature binding17-e-signature-architecture.md§3.2.3 OQ-SIG tests
State machine transitions19-state-machine-with-guards.md§3.2.1 OQ-SM tests
RBAC matrix22-rbac-permissions-matrix.md§3.2.2 OQ-RBAC tests
Performance budgets65-testing-strategy.md §3, 66-operational-readiness.md §8§4.2 PQ-PERF tests
User journey timing68-user-experience-journeys.md §1.2§4.2 PQ-USER tests
Revenue impact60-business-model.md§8.2 validation as revenue driver
Release management69-versioning-evolution-strategy.md §6§1.3 execution triggers

In FDA-regulated environments, validation protocols are not optional documentation — they are the legal evidence that the system is fit for purpose. An auditor does not read your source code; they read your IQ/OQ/PQ protocols and evidence packages. This document is the most customer-visible technical artifact in the entire WO system corpus.