Phase 179FAEDA-EVIDENCE-UPLOAD-FLOW-APPROVAL-DESIGN-001review queue design only

Evidence Review Queue Workflow Design

A queue workflow design gate for reviewer assignment, aging, escalation, decision lanes, correction loops, and audit status before any queue service or database exists.

Queue lanes

7

intake to incident

Assignment rules

8

human duty split

Escalation tiers

5

nudge to lock

Runtime queue

0

no worker or DB

Review queue lanes

Where evidence goes before it can be trusted

intake-triageQA lead

Intake triage

New upload approval and design evidence requests are checked for source route, role scope, proof type, urgency, and privacy class.

Exit: Assign to a safe lane or reject as duplicate/invalid.

security-reviewSecurity reviewer

Security review

Restricted, forbidden, payment, auth, provider, or identity evidence needs a security review before demo or storage decisions.

Exit: Approve internal, require redaction, or quarantine.

redaction-reviewSecurity plus QA

Redaction review

Evidence that needs crop, blur, mask, metadata removal, or reference replacement waits here until the redaction plan is clear.

Exit: Return to reviewer with approved redaction rules.

maker-checker-reviewMaker and checker

Maker-checker review

Upload instruction or evidence decisions that can affect trust, privacy, or founder demo claims require two-person approval.

Exit: Checker approves, rejects, or sends back.

correction-loopDeveloper plus reviewer

Correction loop

Routes, copy, links, mobile fit, or unsafe wording issues are converted into correction packets and proof-after-fix requirements.

Exit: Reviewer verifies fix or reopens.

demo-safe-reviewFounder demo reviewer

Demo-safe review

Screens and proof intended for founder demos are checked to confirm they reveal no private data, fake wallet claim, or hidden runtime mutation.

Exit: Approve demo-safe proof or hold.

incident-quarantineSecurity lead

Incident quarantine

Forbidden or suspicious evidence is locked conceptually for incident handling before any storage, public preview, or reviewer circulation.

Exit: Incident lock, legal review, or hard rejection.

Assignment rules

Who should review what

Role scope match

Reviewer must be allowed to review the source role, route, and proof type.

Route ownership

Owner or delegate must understand the route being proven before marking evidence valid.

Privacy class match

Restricted and forbidden classes require security-aware reviewers.

Maker-checker separation

The person making a decision cannot be the final checker on sensitive evidence.

Conflict of interest

Reviewer cannot approve evidence that proves their own unresolved correction.

Workload balancing

Future queue assignment should avoid one reviewer becoming the hidden bottleneck.

Reviewer availability

Expired availability must trigger reassignment before SLA is missed.

Escalation reserve

Every lane needs a backup reviewer for urgent founder, payment, or incident cases.

Queue aging

SLA rules before evidence becomes stale

24 hours

Public-safe UI proof

Normal QA review, then demo-safe or needs-correction decision.

48 hours

Internal QA proof

Review for route accuracy, role clarity, mobile fit, and safe wording.

4 hours

Restricted/payment/security

Escalate to security reviewer if not touched quickly.

Immediate

Incident/quarantine

Lock and notify security/founder escalation path.

72 hours

Correction loop stale

Escalate if proof-after-fix is missing or regression is suspected.

Escalation tiers

How unresolved evidence moves upward

T1

Queue owner nudge

Reviewer or queue owner receives reminder before SLA is broken.

T2

QA lead escalation

QA lead takes assignment decision or adds backup reviewer.

T3

Security and data protection

Restricted, payment, auth, identity, provider, or forbidden evidence moves here.

T4

Founder/admin escalation

Founder/admin reviews high-risk demo, legal, trust, or launch-blocking evidence.

T5

Incident lock

Evidence is quarantined conceptually and no demo/storage/review circulation is allowed.

Decision lanes

Allowed review outcomes

approve_internal

Evidence can support internal QA only.

approve_demo_safe

Evidence can be shown in founder/demo review without private data risk.

needs_correction

Route, copy, UX, boundary wording, or link must be fixed.

needs_redaction

Evidence may continue only after redaction/crop/blur/mask decision.

restricted_hold

Evidence is valid but cannot be circulated until security signs off.

reject_duplicate

Existing evidence already covers the same route/proof claim.

reject_invalid

Evidence does not prove the claimed route, state, role, or boundary.

quarantine_incident

Forbidden or suspicious content is locked for incident path.

Correction loop

How issues become fixable work

01

Reviewer finds issue

The reviewer identifies unsafe wording, broken link, mobile issue, route mismatch, or missing boundary.

02

Correction packet is created

The issue is converted into a precise correction packet with route, evidence, reason, and acceptance condition.

03

Developer fixes route

Developer updates the page/data/navigation without changing unrelated runtime authority.

04

Proof after fix is attached

Reviewer receives route check, screenshot reference, or safe note proving the correction.

05

Closure decision recorded

Reviewer closes as demo-safe, internal-only, restricted hold, or rejected.

06

Reopen on regression

If a later route breaks the same boundary, the item returns to correction loop.

Future record contract

Queue item fields

queueItemId

string

Stable future queue item key.

evidenceId

string

References evidence metadata from Phase 176.

uploadRequestId

string|null

References Phase 178 upload intent when present.

sourceRoute

string

Route the review item proves or corrects.

sourcePhase

string

Phase that produced the item.

roleScope

enum

Supplier, manufacturer, wholesaler, retailer, customer, rider, founder, or all.

privacyClass

enum

Public-safe, internal, restricted, or forbidden.

queueLane

enum

One of the seven review lanes.

assignedReviewerRef

string|null

Reviewer reference only, not profile data.

backupReviewerRef

string|null

Fallback reviewer for SLA or escalation.

makerRef

string|null

Maker reference for sensitive decisions.

checkerRef

string|null

Checker reference for independent approval.

decisionState

enum

One of the review decision lanes.

escalationTier

enum

T1 through T5 escalation status.

slaDueAt

datetime|null

Future SLA deadline.

correctionPacketRef

string|null

Correction loop reference when needed.

reviewNote

string

Safe reviewer note without private content.

auditReason

string

Why the item needs review.

status

enum

draft, assigned, in_review, escalated, closed, reopened, quarantined.

createdAt

datetime

Creation timestamp.

updatedAt

datetime

Last change timestamp.

Hard rules

Review queue is not runtime queue implementation

1

Phase 179 is review queue workflow design only.

2

Do not create queue database tables, queue APIs, background workers, jobs, ticket systems, migrations, or runtime reviewer assignment here.

3

Do not create file storage, file upload, file download, provider SDK calls, signed URL routes, or evidence mutations here.

4

Queue packet previews must not contain private customer data, CNIC, OTP, wallet PIN, bank detail, provider secret, or raw production credential.

5

Reviewer assignment, escalation, and decision states remain future contract design until backend approval gates exist.

6

Next gate should design correction closure packets before any evidence queue implementation exists.

Review queue packet

JSON preview

{
  "queueWorkflowId": "evidence_review_queue_workflow_design_179",
  "phase": "Phase 179",
  "route": "/business-pro/evidence-review-queue-workflow-design",
  "sourceUploadFlow": "evidence_upload_flow_approval_design_178",
  "sourceGate": "FAEDA-EVIDENCE-UPLOAD-FLOW-APPROVAL-DESIGN-001",
  "designOnly": true,
  "createsQueue": false,
  "createsWorker": false,
  "createsDatabase": false,
  "createsApi": false,
  "createsTicket": false,
  "createsEvidenceMutation": false,
  "uploadApprovalRoles": [
    "Requester",
    "QA Reviewer",
    "Security Reviewer",
    "Maker",
    "Checker",
    "Founder/Admin"
  ],
  "preflightDependencies": [
    "Allowed actor",
    "Route scope",
    "Contract required fields",
    "Provider boundary",
    "File MIME allowlist",
    "Size and dimensions",
    "Forbidden data screen",
    "Redaction marker",
    "Decision state",
    "Signed-view boundary",
    "Maker-checker",
    "Retention plan"
  ],
  "uploadInstructionStates": [
    "draft_intent",
    "preflight_failed",
    "needs_redaction",
    "quarantined",
    "maker_pending",
    "checker_pending",
    "approved_instruction",
    "rejected"
  ],
  "queueLanes": [
    "intake-triage",
    "security-review",
    "redaction-review",
    "maker-checker-review",
    "correction-loop",
    "demo-safe-review",
    "incident-quarantine"
  ],
  "assignmentRules": [
    "Role scope match",
    "Route ownership",
    "Privacy class match",
    "Maker-checker separation",
    "Conflict of interest",
    "Workload balancing",
    "Reviewer availability",
    "Escalation reserve"
  ],
  "agingRules": [
    "Public-safe UI proof",
    "Internal QA proof",
    "Restricted/payment/security",
    "Incident/quarantine",
    "Correction loop stale"
  ],
  "escalationTiers": [
    "T1",
    "T2",
    "T3",
    "T4",
    "T5"
  ],
  "decisionLanes": [
    "approve_internal",
    "approve_demo_safe",
    "needs_correction",
    "needs_redaction",
    "restricted_hold",
    "reject_duplicate",
    "reject_invalid",
    "quarantine_incident"
  ],
  "recordFields": [
    "queueItemId",
    "evidenceId",
    "uploadRequestId",
    "sourceRoute",
    "sourcePhase",
    "roleScope",
    "privacyClass",
    "queueLane",
    "assignedReviewerRef",
    "backupReviewerRef",
    "makerRef",
    "checkerRef",
    "decisionState",
    "escalationTier",
    "slaDueAt",
    "correctionPacketRef",
    "reviewNote",
    "auditReason",
    "status",
    "createdAt",
    "updatedAt"
  ],
  "nextAllowedGate": "phase_180_evidence_correction_closure_packet_design"
}

Next build gate

Phase 180 is evidence correction closure packet design

After review queue workflow is designed, the next safe move is defining correction closure packets before any queue service or evidence mutation exists.

Open closure packet