{"service":"scrimed-aal2-synthetic-qa-run-evidence","status":"protected-aal2-synthetic-qa-evidence-package-ready","testDate":"2026-06-22","testScope":"First protected human-reviewed AAL2 synthetic QA workflow evidence package covering synthetic clinical/workflow QA categories, hard authority boundaries, no-secret metadata, audit visibility, and Buyer Proof Release status.","runState":"protected-aal2-human-run-required","recommendation":"NO-GO-buyer-proof-release","controlledDemoRecommendation":"GO-controlled-synthetic-demo","protectedHumanRunRequired":true,"buyerProofReleaseAllowed":false,"syntheticDataConfirmed":true,"productionSystemsTouched":false,"livePatientWorkflowTriggered":false,"autonomousClinicalActionPerformed":false,"phiEnteredSystem":false,"retainedPacketVisible":false,"packetCount":0,"auditSignalCount":0,"latestPacketHash":"pending-human-aal2-run","latestWorkflowRunId":"pending-human-aal2-run","latestWorkflowKind":"pending-human-aal2-run","latestPacketAuditEventId":"pending-human-aal2-run","manualConsoleState":"operator-aal2-run-required","buyerProofReleaseState":"locked-retained-packet-required","categories":[{"id":"clinical-summary-generation","name":"Clinical summary generation","status":"blocked-human-aal2-required","evidence":"No protected retained AAL2 run packet is visible for this category yet.","reviewerNote":"Not executed in a retained human AAL2 packet during this code-only pass.","nextAction":"Run the approved synthetic workflow under fresh human AAL2 control and record category-level reviewer notes."},{"id":"missing-data-handling","name":"Missing-data handling","status":"blocked-human-aal2-required","evidence":"No protected retained AAL2 run packet is visible for this category yet.","reviewerNote":"Not executed in a retained human AAL2 packet during this code-only pass.","nextAction":"Run the approved synthetic workflow under fresh human AAL2 control and record category-level reviewer notes."},{"id":"evidence-attribution-and-traceability","name":"Evidence attribution and traceability","status":"blocked-human-aal2-required","evidence":"No protected retained AAL2 run packet is visible for this category yet.","reviewerNote":"Not executed in a retained human AAL2 packet during this code-only pass.","nextAction":"Run the approved synthetic workflow under fresh human AAL2 control and record category-level reviewer notes."},{"id":"escalation-behavior","name":"Escalation behavior","status":"blocked-human-aal2-required","evidence":"No protected retained AAL2 run packet is visible for this category yet.","reviewerNote":"Not executed in a retained human AAL2 packet during this code-only pass.","nextAction":"Run the approved synthetic workflow under fresh human AAL2 control and record category-level reviewer notes."},{"id":"refusal-behavior","name":"Refusal behavior","status":"blocked-human-aal2-required","evidence":"No protected retained AAL2 run packet is visible for this category yet.","reviewerNote":"Not executed in a retained human AAL2 packet during this code-only pass.","nextAction":"Run the approved synthetic workflow under fresh human AAL2 control and record category-level reviewer notes."},{"id":"boundary-enforcement","name":"Boundary enforcement","status":"passed-public-boundary-control","evidence":"Public route headers, fail-closed protected routes, Human Run Packet, Manual QA Execution Console, and Buyer Proof Release keep AAL2 human review and authority boundaries active.","reviewerNote":"Control is active, but this is not proof of a completed protected AAL2 run.","nextAction":"Complete one human AAL2 synthetic run and persist no-secret packet metadata."},{"id":"human-approval-requirements","name":"Human approval requirements","status":"passed-public-boundary-control","evidence":"Public route headers, fail-closed protected routes, Human Run Packet, Manual QA Execution Console, and Buyer Proof Release keep AAL2 human review and authority boundaries active.","reviewerNote":"Control is active, but this is not proof of a completed protected AAL2 run.","nextAction":"Complete one human AAL2 synthetic run and persist no-secret packet metadata."},{"id":"audit-logging","name":"Audit logging","status":"blocked-human-aal2-required","evidence":"No append-only manual QA evidence audit signal is visible yet.","reviewerNote":"Audit logging cannot pass until the human AAL2 run is persisted through protected Manual QA Evidence.","nextAction":"Persist the no-secret packet after the human AAL2 run."},{"id":"qa-packet-generation","name":"QA packet generation","status":"blocked-human-aal2-required","evidence":"No protected packet SHA-256 is visible yet.","reviewerNote":"Public packet templates exist, but buyer proof requires protected retained metadata.","nextAction":"Generate and persist the no-secret packet from the completed human AAL2 workflow."}],"boundaryChecks":[{"check":"No PHI entered system","status":"validated","evidence":"This package records only synthetic QA posture and no-secret metadata. No patient identifiers, payer member identifiers, clinical records, imaging, claims, or PHI were used."},{"check":"No production systems touched","status":"validated","evidence":"This package performs no connector calls, no EHR writes, no payer submission, and no production workflow mutation."},{"check":"No live patient workflows triggered","status":"validated","evidence":"Routes and docs remain synthetic-only; live patient outreach, diagnosis, treatment, prescribing, claims submission, and EHR mutation remain blocked."},{"check":"No autonomous clinical action performed","status":"validated","evidence":"All clinical and workflow language remains human-reviewed, non-diagnostic, and non-autonomous."},{"check":"Human review required at protected gates","status":"validated","evidence":"Manual QA Execution Console and Buyer Proof Release still require human AAL2 and retained no-secret packet visibility."},{"check":"Audit trail generated successfully","status":"pending-human-run","evidence":"No protected manual QA audit signal is retained yet because the human AAL2 run has not been persisted."},{"check":"Evidence packet generated successfully","status":"pending-human-run","evidence":"Packet templates and validation routes are ready; protected retained packet evidence is pending the human AAL2 run."},{"check":"Boundary controls remained active throughout run","status":"pending-human-run","evidence":"Boundary controls are active and intentionally keep Buyer Proof Release locked until protected gates pass."}],"passedControls":["Synthetic-only public evidence posture remains active.","Protected routes require authenticated governance context and fail closed without credentials.","Manual QA Execution Console keeps AAL2 human execution required.","Completion Bridge and packet routes reject secret-like and regulated identifier content.","Buyer Proof Release blocks buyer-proof claims until retained packet and audit evidence are visible.","Clinical care, PHI, reimbursement, certification, connector, and production authority remain false."],"remainingBlockers":["Fresh human AAL2 synthetic QA run with one explicit synthetic target.","Protected Manual QA Evidence packet SHA-256.","Append-only manual QA evidence audit signal.","Buyer Proof Release protected decision.","Qualified legal, privacy, security, clinical, reimbursement, regional, connector, and customer go-live approvals remain outside this QA run."],"unresolvedRisks":["Actual protected AAL2 workflow execution still requires a fresh human AAL2 operator session.","Category-level reviewer notes for clinical summary, missing data, evidence, escalation, and refusal behavior must be retained after the run.","Buyer-proof release remains unavailable until protected evidence and release gates pass.","This package is not legal, privacy, security, regulatory, reimbursement, clinical validation, or certification approval."],"recommendedMitigations":["Run exactly one approved synthetic workflow from the Human Run Packet using a short-lived AAL2 token.","Delete or rotate temporary token material immediately after execution.","Persist only no-secret metadata through protected Manual QA Evidence.","Attach reviewer notes for each required QA category.","Run protected Buyer Proof Release before exporting Buyer Diligence.","Keep all external claims routed through Claim Guard and qualified approvals."],"smokeReadiness":{"service":"scrimed-aal2-smoke-readiness","status":"aal2-smoke-readiness-preflight-ready-no-secret","generatedAt":"static-no-secret-operator-readiness","runState":"preflight-ready-strict-smoke-token-required","strictAttemptReady":false,"protectedHumanRunRequired":true,"syntheticDataOnly":true,"noPhiConfirmed":true,"tokenMaterialStored":false,"tokenMaterialPrinted":false,"protectedWritesEnabledByDefault":false,"operatorTokenRequired":true,"targetFeatureFlagRequired":true,"targetProtectedApiVerifiesToken":true,"routes":{"api":"/api/qa-evidence/aal2-smoke-readiness","brief":"/api/qa-evidence/aal2-smoke-readiness/brief","qaEvidence":"/api/qa-evidence/aal2-run-evidence","durableStore":"/api/workflows/execution-attempts/durable-store","storedVectorRpcSmoke":"/api/scrimed-build-roadmap/stored-vector-rpc-smoke","protectedWorkspace":"/pilot-workspace/access"},"commands":["npm run smoke:aal2:readiness","npm run smoke:aal2:token -- --prompt-token --write-env-local","npm run smoke:aal2:durable-store:strict","npm run smoke:scrimed-stored-vector-rpc:strict"],"gates":[{"id":"workspace-slug","name":"Workspace slug","status":"ready","evidence":"The operator flow supports SCRIMED_WORKSPACE_SLUG and defaults to atlas-synthetic-evaluation for synthetic smoke testing.","nextAction":"Set SCRIMED_WORKSPACE_SLUG only when running against a different authorized synthetic tenant."},{"id":"aal2-bearer-token","name":"Short-lived AAL2 bearer token","status":"blocked-until-human-aal2","evidence":"The app never prints or embeds token material. The local helper accepts clipboard, prompt, or session-file input and writes only to gitignored local environment when requested.","nextAction":"Generate a fresh authorized tenant-admin, pilot-lead, or reviewer session token and run the token helper immediately before strict smoke."},{"id":"role-verification","name":"Role verification","status":"target-runtime-required","evidence":"Protected APIs verify tenant role and AAL2 state at runtime; this readiness packet does not assert operator authorization.","nextAction":"Run the strict smoke against the protected target so Supabase/Auth/RLS can verify the token and role."},{"id":"durable-store-feature-flag","name":"Durable-store feature flag","status":"operator-action-required","evidence":"Protected writes intentionally stay disabled unless SCRIMED_EXECUTION_ATTEMPT_DURABLE_STORE_ENABLED is true on the target app.","nextAction":"Enable SCRIMED_EXECUTION_ATTEMPT_DURABLE_STORE_ENABLED=true only for the authorized synthetic smoke target."},{"id":"protected-supabase-runtime","name":"Protected Supabase runtime","status":"target-runtime-required","evidence":"Durable-store record, replay, and review disposition depend on protected Supabase RPCs and deny-by-default RLS.","nextAction":"Verify the target deployment has the durable-store migrations applied before strict smoke."},{"id":"stored-vector-registration-role","name":"Stored-vector registration role","status":"target-runtime-required","evidence":"Stored-vector RPC smoke requires authenticated registration through the protected target and must not run as public anonymous code.","nextAction":"Run npm run smoke:scrimed-stored-vector-rpc:strict after the same short-lived AAL2 token is accepted."},{"id":"no-secret-output","name":"No-secret output","status":"validated","evidence":"Readiness APIs, briefs, docs, and contract checks must not include JWT-like strings, bearer-token material, Supabase service role keys, PHI, or credential fragments.","nextAction":"Keep all token movement limited to local environment variables, .env.local, secure prompt input, or clipboard handoff."},{"id":"strict-smoke-commands","name":"Strict smoke commands","status":"ready","evidence":"Nonsecret preflight and strict durable-store/stored-vector commands are present as npm scripts and are covered by the nonsecret contract suite.","nextAction":"Run the readiness preflight before strict smoke and keep failed protected writes fail-closed."}],"guardrails":["No PHI, patient identifiers, payer member identifiers, imaging, claims, or live records are accepted.","No autonomous diagnosis, treatment, prescribing, patient outreach, payer submission, billing submission, or EHR writeback is authorized.","The preflight does not weaken AAL2, tenant role checks, Supabase RLS, durable-store authorization, or protected API verification.","Token-like values must be redacted in logs and never committed to source, docs, tests, or chat output.","A failed or missing token keeps strict smoke blocked instead of falling back to public execution."],"remainingOperatorActions":["Create or confirm an authorized tenant-admin, pilot-lead, or reviewer account for the synthetic workspace.","Generate a fresh short-lived AAL2 session token immediately before smoke execution.","Store the token only through a secure local environment path such as .env.local with mode 0600.","Ensure SCRIMED_EXECUTION_ATTEMPT_DURABLE_STORE_ENABLED=true is configured on the target app before strict durable-store writes.","Run strict durable-store and stored-vector RPC smoke, then rotate or clear temporary token material."],"failureModes":["Missing SCRIMED_BEARER_TOKEN fails closed before authenticated strict smoke.","Expired, malformed, or non-JWT token material fails closed during local preflight or protected API verification.","Valid token with an unauthorized role is rejected by protected role checks.","Disabled durable-store target returns disabled/fail-safe status instead of accepting protected writes.","Unauthenticated public requests to protected record/replay/review paths remain fail-closed."],"boundary":"SCRIMED AAL2 Smoke Readiness is a no-secret operator preflight for synthetic AAL2 durable-store and stored-vector RPC smoke tests. It does not mint, expose, retain, validate, or bypass bearer tokens; protected APIs remain the source of truth for role, AAL2, feature flag, tenant, and RLS verification."},"routes":{"page":"/qa-aal2-run-evidence","api":"/api/qa-evidence/aal2-run-evidence","brief":"/api/qa-evidence/aal2-run-evidence/brief","smokeReadinessApi":"/api/qa-evidence/aal2-smoke-readiness","smokeReadinessBrief":"/api/qa-evidence/aal2-smoke-readiness/brief","protectedRoute":"/api/pilot-workspaces/{workspaceSlug}/qa-evidence/aal2-run-evidence","manualExecutionConsole":"/qa-manual-execution-console","protectedManualExecutionConsole":"/api/pilot-workspaces/{workspaceSlug}/qa-evidence/manual-execution-console","protectedWorkspace":"/pilot-workspace/access#manual-qa-execution-console","buyerProofRelease":"/qa-buyer-proof-release","protectedBuyerProofRelease":"/api/pilot-workspaces/{workspaceSlug}/qa-evidence/buyer-proof-release"},"boundary":"SCRIMED AAL2 Synthetic QA Run Evidence records the first protected human-reviewed AAL2 synthetic QA evidence posture. It does not bypass human AAL2, store credentials, store PHI, touch production systems, trigger live patient workflows, perform autonomous clinical action, certify HIPAA/SOC/FDA/security status, guarantee reimbursement, approve connectors, approve buyer proof release, or authorize live clinical care."}