Review queue health
Shows future counts by queue lane, decision lane, escalation tier, and SLA aging without exposing evidence content.
A privacy-safe reporting dashboard design for review health, closure health, stale evidence, reopen trends, reviewer load, escalation pressure, and founder visibility before any reporting API or analytics worker exists.
Dashboard panels
8
queue to founder
Metric definitions
14
future safe KPIs
Consumer views
6
role-scoped reporting
Runtime reports
0
no API or worker
Reporting panels
Shows future counts by queue lane, decision lane, escalation tier, and SLA aging without exposing evidence content.
Shows closed, reopened, restricted-hold, invalid, and incident-escalated closure states from the closure packet contract.
Highlights evidence or proof older than the allowed review window, especially stale mobile proof and old route checks.
Groups reopen triggers such as route failures, hub link removal, unsafe wording returning, or runtime implementation beginning.
Shows future assignment pressure, backup reviewer coverage, maker-checker conflicts, and overdue reviewer lanes.
Tracks restricted hold, redaction backlog, forbidden category blocks, incident quarantine, and privacy class drift.
Summarizes future route 200 checks, broken links, hub wiring gaps, OS map gaps, and stale route identity mismatches.
Gives the founder a redacted view: health, risk, blockers, and trends without raw screenshots, private data, or provider secrets.
Metric definitions
Source: Phase 179 queue item status
Count draft, assigned, in_review, escalated, reopened, and quarantined items.
Source: Phase 179 aging rules
Count items close to SLA due date without showing evidence content.
Source: Phase 179 escalation tiers
Count T2-T5 items by lane and privacy class.
Source: Phase 180 decision states
Count closed states divided by closeable correction packets.
Source: Phase 180 reopen triggers
Count reopened items over closed items for a selected period.
Source: Phase 180 privacy class
Count restricted, forbidden, redaction, and incident lanes only in aggregate.
Source: Phase 180 route check status
Count pass/fail/blocked route checks without dumping URLs beyond allowed route labels.
Source: Phase 180 build check status
Count not_run, pass, fail, blocked for training and main copies.
Source: Phase 180 mobile check status
Count mobile proof pass/fail without raw screenshots.
Source: Phase 180 missing hub wiring type
Count missing founder, demo, control room, readiness, and OS links.
Source: Phase 180 unsafe-copy issue type
Count repeat unsafe wording by module family, not by private reviewer note.
Source: Phase 179/180 maker checker refs
Count sensitive items missing independent checker approval.
Source: Future reviewer assignment refs
Count assigned items by reviewer alias, not personal profile.
Source: Aggregated hard blocks
Count launch/demo blockers without leaking restricted evidence.
Consumer views
Can see
Cannot see
Can see
Cannot see
Can see
Cannot see
Can see
Cannot see
Can see
Cannot see
Can see
Cannot see
Privacy filters
Show counts, rates, and categories instead of raw evidence text.
Show route labels and approved route paths only.
Show reviewer aliases or roles, not personal profiles.
Show public-safe/internal/restricted/forbidden buckets, not private payloads.
Dashboard must not render raw screenshots or file previews.
No bucket names, provider keys, signed URLs, payment references, or credentials.
Trend watchers
Trigger: Unsafe wording returns after closure.
Response: Create copy guardrail note and reopen affected packets.
Trigger: Closed route starts failing route checks.
Response: Reopen route identity and hub wiring proof.
Trigger: One reviewer owns too many stale items.
Response: Escalate to QA lead and assign backup reviewer later.
Trigger: Public-safe evidence becomes restricted or forbidden.
Response: Move to security/data protection view and block founder demo.
Trigger: Same module repeatedly reopens for the same reason.
Response: Create module-level correction review before further phase work.
Trigger: New gates are not connected into OS/control/founder/demo paths.
Response: Block completion until the navigation surface is corrected.
Trigger: Wallet, payout, COD, settlement, or partner rail wording becomes unsafe.
Response: Escalate to finance/compliance wording review.
Report record fields
Stable future dashboard view key.
References Phase 179 queue workflow design.
References Phase 180 closure packet design.
Founder, QA, Security, Data Protection, Developer Lead, Demo Lead.
Metric definition key.
Global, role, route, lane, privacy, phase, or reviewer alias.
Today, 7 days, 30 days, sprint, release, or custom later.
Aggregate-only, route-label-only, privacy-bucket-only, or security-only.
Safe metric display value.
up, down, flat, new, unknown.
low, medium, high, critical.
not_required, applied, pending, blocked.
Decision states feeding the metric.
Reopen triggers feeding the trend.
Founder-safe explanation with no private data.
Whether the consumer may see more detail later.
Always false in Phase 181 until export policy exists.
Future report generation timestamp.
Future manual review timestamp.
Hard rules
Phase 181 is reporting dashboard design only.
Do not create analytics APIs, reporting APIs, dashboard backends, database tables, materialized views, scheduled jobs, queues, workers, exports, CSVs, PDFs, or notifications here.
Do not render raw screenshots, private evidence content, CNIC, OTP, wallet PIN, bank detail, provider secret, payment credential, customer transcript, or production credential.
Dashboard metrics must be aggregate, privacy-filtered, and consumer-scoped.
Founder visibility is redacted visibility; it is not unrestricted evidence access.
Exports remain blocked until a separate reporting export policy gate exists.
Reporting packet
{
"reportingDashboardId": "evidence_review_reporting_dashboard_design_181",
"phase": "Phase 181",
"route": "/business-pro/evidence-review-reporting-dashboard-design",
"sourceReviewQueue": "evidence_review_queue_workflow_design_179",
"sourceClosurePacket": "evidence_correction_closure_packet_design_180",
"sourceGates": [
"FAEDA-EVIDENCE-REVIEW-QUEUE-WORKFLOW-DESIGN-001",
"FAEDA-EVIDENCE-CORRECTION-CLOSURE-PACKET-DESIGN-001"
],
"designOnly": true,
"createsReportingApi": false,
"createsAnalyticsWorker": false,
"createsDatabase": false,
"createsMaterializedView": false,
"createsExport": false,
"createsNotification": false,
"queueLanes": [
"intake-triage",
"security-review",
"redaction-review",
"maker-checker-review",
"correction-loop",
"demo-safe-review",
"incident-quarantine"
],
"reviewDecisionLanes": [
"approve_internal",
"approve_demo_safe",
"needs_correction",
"needs_redaction",
"restricted_hold",
"reject_duplicate",
"reject_invalid",
"quarantine_incident"
],
"escalationTiers": [
"T1",
"T2",
"T3",
"T4",
"T5"
],
"closureDecisionStates": [
"closed_demo_safe",
"closed_internal_only",
"closed_restricted_hold",
"closed_rejected_invalid",
"reopened_regression",
"superseded_by_new_evidence",
"escalated_incident"
],
"reopenTriggers": [
"Route returns non-200",
"Hub link removed",
"Unsafe wording returns",
"Privacy class changes",
"New evidence contradicts closure",
"Runtime implementation begins",
"Maker-checker conflict found"
],
"verificationChecks": [
"Fix matches original issue",
"Route compiles and responds",
"Hub links are connected",
"No runtime authority added",
"Privacy class preserved",
"Proof is current",
"Role scope is correct",
"No fake finance claim",
"No hidden inventory claim",
"Acceptance condition satisfied"
],
"dashboardPanels": [
"review-queue-health",
"closure-health",
"stale-evidence-watch",
"reopen-trend-watch",
"reviewer-load",
"privacy-risk",
"route-readiness",
"founder-safe-summary"
],
"metricDefinitions": [
"Open review items",
"SLA risk",
"Escalation pressure",
"Closure rate",
"Reopen rate",
"Privacy hold count",
"Route readiness count",
"Build proof status",
"Mobile proof status",
"Hub wiring gaps",
"Unsafe wording recurrence",
"Maker-checker gaps",
"Reviewer overload",
"Founder blockers"
],
"consumerViews": [
"Founder/Admin",
"QA Lead",
"Security",
"Data Protection",
"Developer Lead",
"Demo Lead"
],
"privacyFilters": [
"aggregate_only",
"route_label_only",
"reviewer_alias_only",
"privacy_bucket_only",
"no_raw_screenshots",
"no_provider_details"
],
"recordFields": [
"reportViewId",
"sourceQueueWorkflowId",
"sourceClosurePacketId",
"consumerRole",
"metricKey",
"metricScope",
"aggregationWindow",
"privacyFilter",
"displayValue",
"trendDirection",
"riskLevel",
"redactionStatus",
"sourceDecisionStates",
"sourceReopenTriggers",
"safeNarrative",
"drilldownAllowed",
"exportAllowed",
"generatedAt",
"reviewedAt"
],
"nextAllowedGate": "phase_182_evidence_reporting_export_policy_design"
}Next build gate
After reporting visibility is designed, the next safe move is export policy: who may export, what is redacted, and which formats stay blocked.