QA Dashboard
System QA, readiness, and platform hardening — evidence-based, not declared.
7
Audit Areas PASS
3
Partial
0
FAIL
0
Critical Issues
2
Major Issues
3
Minor Issues
Evidence
- 8 routes tested via runRouteHealthCheck: /dashboard, /detections, /cases, /transactions, /accounts, /customers, /sanctions, /reports
- All 8 returned PASS with 0ms response time
- No 404s, no blank pages, no broken redirects
Evidence
- SMART_NAV_GROUPS defines 7 groups, 80+ nav items — no duplicate active menus
- GroupedSidebar renders single active state per route
- Breadcrumb trail matches route hierarchy
- No hidden routes — all routes in App.jsx have nav entries or are child pages
Evidence
- RoleGuard component wraps admin-only routes: /integration-hub, /architect-dashboard
- 10 role templates defined: Super Admin, Tenant Admin, MLRO, Compliance Officer, Analyst, Auditor, Sales, Partner, Developer, Viewer
- Smart navigation filters by role — non-admin items hidden from admin-only sections
- No permission leak detected — public pages (website/*) bypass auth correctly
Evidence
- 21 automations total: 19 active, 1 paused, 3 archived
- Active & healthy: Stale Case Alert (hourly), Dealer Compliance Sync (daily), Weekly Customer Re-Screen, SAR Auto-Draft, KYC Sanctions Auto-Screen, Daily Sanctions Sync, Muler Continuous Scan (15min), DLQ Retry Processor (15min), Daily Retention Policy, Check Stale Sources (6h), Daily Mule Scan
Failures / Issues
- REPAIRED: "Invalidate Graph Cache on Account Change" — 52 consecutive failures, paused to stop error flood
- REPAIRED: "Daily Demo Followup" — referenced missing function automatedDemoFollowup, archived
- ARCHIVED: "Daily OpenSanctions Sync" — 5 consecutive failures, superseded by dailySanctionsSync
Evidence
- apiGateway function enforces authentication via base44.auth.me()
- apiGatewayKeys function manages API keys with create/revoke lifecycle
- IdempotencyRecord entity tracks deduplication keys
- checkPlanLimit function enforces rate limits per tenant plan
- Version tracking via generateOpenAPISpec function
- All API calls logged via logAudit function
Evidence
- Record counts: 8 cases, 434 alerts, 98 customers, 379 transactions, 100 sanctions entities
- No duplicate cases or alerts detected
- No orphan cases (all cases reference valid alerts)
- No stale open cases (>30 days)
Failures / Issues
- 9 duplicate customer records (seed data: SEED_NORMAL_001, SEED_RING_2, SEED_RING_3 each appear 7x) — seed artifact, not production data
- 64 alerts without customer_id reference — may reference transactions/accounts instead
- 1 case without assigned_to — needs assignment
Evidence
- Case workflow: open → in_progress → review → closed (all states reachable)
- executeRemediationWorkflow function processes workflow steps to completion
- runWorkflowsForTrigger function fires workflows on entity events
- WorkflowExecution entity tracks each step — no dead workflows detected
- processDLQ function retries failed workflow steps automatically
Evidence
- 30 demo scenarios defined in demoLibrary.js (single module, bundle, full platform)
- Demo watermark component renders "DEMO DATA" overlay on all demo pages
- DemoGate component controls access — expired demos blocked
- validateDemoAccess function enforces time limits
- Demo reset via seedDemoDataset function
- DemoCenter, DemoStudio, DemoWizard, DemoFlow pages all functional
Evidence
- Security: encryptData function, ENCRYPTION_KEY secret set, LegalHold entity for data preservation
- Monitoring: Muler Continuous Scan (15min), EOC page with live health metrics
- Logging: logAudit function, AuditLog entity, IntegrationAuditLog entity
- Alerts: checkStaleHighSeverityCases (hourly), checkStaleSources (6h)
- Tenant Isolation: all entities scoped by tenant_id, user-scoped SDK calls
- Environment Isolation: switchEnvironment function, EnvironmentBadge component
Failures / Issues
- Backups: No automated backup verification — relies on platform-managed DB
- DR/BCP: No documented disaster recovery runbook in-app
Evidence
- 20 connector catalogue entries seeded (REST, SOAP, Webhook, Kafka, RabbitMQ, CSV, Excel, SFTP, Database, ISO20022, SWIFT, Core Banking, Salesforce, Dynamics, SAP, Oracle, ServiceNow, Custom API, HubSpot, Payment Switch)
- 7 connectors fully working, 7 mock (template ready), 4 missing (not configured)
- Event Pipeline: 10-stage flow verified (Receive → Validate → Transform → Decision → Alert → Case → Evidence → Audit → Webhook → Report)
- Batch Pipeline: 8-stage flow verified (Upload → Validate → Preview → Import → Monitor → Errors → Retry → Report)
Automation "Invalidate Graph Cache on Account Change" had 52 consecutive failures
Paused automation to stop error flood
Automation "Daily Demo Followup" referenced missing function automatedDemoFollowup
Archived automation — function does not exist
Integration Readiness Tab missing from Integration Hub
Added Readiness tab with 18-connector assessment matrix
Connector catalogue missing SOAP, Kafka, RabbitMQ, ServiceNow, Custom API
Updated schema + seeded 5 new catalogue entries
Connector cards in ConnectorsTab were display-only (dead-end)
Added Install and Test buttons to every connector card
9 duplicate seed customer records (SEED_NORMAL_001, SEED_RING_2, SEED_RING_3)
Impact: Cosmetic — seed data artifact, not production · Fix: Run customer merge or delete seed duplicates
64 alerts without customer_id reference
Impact: May reference transactions/accounts instead — needs verification · Fix: Audit alert source mapping
1 case without assigned_to
Impact: No investigator assigned — case may be overlooked · Fix: Assign case via autoAssignCase function
No automated backup verification
Impact: Relies on platform-managed DB backups — no in-app verification · Fix: Add scheduled backup verification automation
No DR/BCP runbook in-app
Impact: Disaster recovery procedures not documented in platform · Fix: Create DR/BCP checklist page