Product dashboard
Product dashboard
Last updated 5/3/2026
DataZoom — Product Dashboard
Repository: midwestco/datazoom · Generated: 2025 · Methodology: PRD-Driven Context Engineering
Lifecycle Gate Status
| Dimension | Gate | Status | Notes |
|---|---|---|---|
| Overall Product Stage | v0.9 — Scale | 🟡 In Progress | Production-deployed; CI/CD active; infra hardening ongoing |
| Core RAG Pipeline | v1.0 | ✅ Complete | RAG retrieval, citation system, and embedding pipeline shipped |
| Cap Table Module | v0.8 | 🟡 In Progress | Review workflow, manual transactions, and feature flags in final validation |
| E-Signature Module | v0.7 | 🟡 In Progress | Template designer and signing portal PRs open (#101, #108) |
| Multi-Tenant Auth | v1.0 | ✅ Complete | Clerk multi-org isolation confirmed |
| Cloud Worker Infra | v0.8 | 🟡 In Progress | TLS/BullMQ fixes merged; RunPod pod warmup tracking shipped |
| Analytics / Activity | v1.0 | ✅ Complete | Unified calendar, activity feed, and metrics API all merged |
| Billing / Wallet | v0.6 | 🔴 Pending | Implementation plan exists; no test coverage yet confirmed |
Repository Statistics
| Metric | Count | Location |
|---|---|---|
| Total files | 500 | midwestco/datazoom |
| API routes | 50 | product/app/api/** |
| UI components | 100 | product/app/(app)/** |
| Test files | 35 | product/lib/__tests__/**, product/lib/cap-table/__tests__/**, product/lib/due-diligence/__tests__/** |
| Infrastructure files | 11 | docker/, .github/workflows/, fly/ |
| Docker service definitions | 7 | docker-compose.yml, docker-compose.module1.yml |
| Documentation action plans | 50+ | docs/action_plans/**, docs/cap-table/action_plans/**, docs/activity_page/action_plans/** |
| CI/CD workflows | 2 | .github/workflows/build-images.yml, .github/workflows/knip.yml |
Test coverage distribution:
- Cap Table: 7 test files (
calc.test.ts,feature-gate.test.ts,fixture-corpus.test.ts,observability.test.ts,cap-table-extract-trigger.test.ts,cap-table-read-apis.test.ts,cap-table-ui-shell.test.ts) - RAG/AI: 4 test files (
rag-retrieval.test.ts,rag-retrieval-enhanced.test.ts,citation-system.test.ts,model-router.test.ts) - Due Diligence: 3 test files (
chat-output.test.ts,template-events-contract.test.ts,template-events-route.test.ts) - Transactions / Workflow: 3 test files (
manual-transaction.test.ts,manual-transaction-form.test.ts,review-workflow.test.ts) - Signature Attribution: 1 test file (
conversion-attribution.test.ts) - Smoke / Regression: 1 test file (
app-smoke-regression.test.ts)
Squad / Agent Status
| Squad ID | Squad Name | Ownership | Status | Current Focus | Blocker |
|---|---|---|---|---|---|
| SQ-01 | Core RAG & AI | product/lib/__tests__/rag-*, product/app/api/advisor/, product/app/api/analysis/ | ✅ Active | Model router improvements; enhanced retrieval | None |
| SQ-02 | Cap Table | product/lib/cap-table/, product/app/api/cap-table/, product/app/(app)/cap-table/ | 🟡 Active | Snapshot read model optimization (Plan 14); rollout feature flag (Plan 12) | Review queue UI stabilization |
| SQ-03 | Document Pipeline | docker/Dockerfile.worker, docker/Dockerfile.gpu, docker-compose.yml, product/app/api/admin/pipeline/ | 🟡 Active | BullMQ/Redis TLS fixes merged; pod warmup tracking shipped | Cloud worker CI tag mismatch (commit 960f88c fix in progress) |
| SQ-04 | E-Signature | docs/action_plans/e_sign/, product/lib/signature/__tests__/ | 🔴 Blocked | PDF preview + schema normalization (PR #108 open) | Upload fixes unresolved (PR #101 open) |
| SQ-05 | Activity & Analytics | product/app/(app)/activity/, product/app/api/activity/, docs/activity_page/ | ✅ Complete | Unified calendar shipped; daily tracking merged (PR #104) | None |
| SQ-06 | Due Diligence & Context | product/app/(app)/context/, product/lib/due-diligence/, product/app/api/business-types/ | 🟡 Active | Business type profile linkage fixes; template event contract tests | Linkage mismatch API (/api/company-settings/linkage-mismatches) under validation |
| SQ-07 | Infrastructure & Deployment | .github/workflows/, fly/, docker/cloud-worker/ | 🟡 Active | Fly registry + ghcr.io auth fixes; RunPod orchestrator stabilization | SSL cert reqs for Upstash TLS resolved in b718932 |
| SQ-08 | Billing & Wallet | docs/billing_wallet/ | 🔴 Pending | Implementation plan authored; no code shipped | No assigned engineer; no test files exist |
Active EPICs
| EPIC ID | Title | Owner Squad | Routes / Components | Phase | Status |
|---|---|---|---|---|---|
| EPIC-01 | RAG Document Analysis Core | SQ-01 | /api/advisor, /api/analysis/party, /api/analysis/regenerate, /api/ai/track-interaction | v1.0 | ✅ Shipped |
| EPIC-02 | Cap Table Automation Pipeline | SQ-02 | /api/cap-table/extract, /api/cap-table/auto-populate, /api/cap-table/review/:id/approve, /api/cap-table/review/:id/reject, /api/cap-table/transactions | v0.8 | 🟡 Final Validation |
| EPIC-03 | Cloud Worker & LLM Infrastructure | SQ-03 | /api/admin/pipeline, /api/admin/pipeline/cloud, /api/admin/pipeline/health, /api/admin/pipeline/retry | v0.8 | 🟡 Stabilizing |
| EPIC-04 | E-Signature Module | SQ-04 | product/lib/signature/__tests__/conversion-attribution.test.ts; templates, portal, stamping engine per docs/action_plans/e_sign/ | v0.6 | 🔴 Blocked |
| EPIC-05 | Unified Activity & Calendar | SQ-05 | /api/activity, /api/activity/unified/calendar, /api/activity/unified/feed, /api/activity/unified/day, /api/activity/metrics | v1.0 | ✅ Shipped |
| EPIC-06 | Due Diligence & Business Profiles | SQ-06 | /api/business-types, /api/business-types/:typeKey/checklist, /api/business-type-profiles, /api/clauses/compare | v0.7 | 🟡 Active |
| EPIC-07 | Multi-Tenant Auth & Collaboration | SQ-01/SQ-07 | /api/clerk/proxy, /api/collaboration/token, /api/company-settings | v1.0 | ✅ Shipped |
| EPIC-08 | Billing Wallet System | SQ-08 | TBD — plan at docs/billing_wallet/BILLING_WALLET_IMPLEMENTATION_MASTER.md | v0.2 | 🔴 Pre-Dev |
KPIs
| KPI ID | Metric | Description | Target | Current Status | Data Source |
|---|---|---|---|---|---|
| KPI-01 | RAG Query Latency (p95) | End-to-end latency from question submission to first AI token via /api/advisor | < 4 s | 🟡 Unconfirmed — Modal cold-start warmup tracking added (580b80b) | product/app/api/advisor/route.ts, pod warmup status |
| KPI-02 | Document Embedding Success Rate | Percentage of uploaded documents that complete chunking and vector embedding without error | ≥ 98% | 🟡 Monitored via /api/admin/pipeline/health | product/app/api/admin/pipeline/health/route.ts, docker/Dockerfile.worker |
| KPI-03 | Cap Table Extraction Accuracy | Fraction of AI-extracted equity events approved without human correction in review queue | ≥ 85% | 🟡 Calibration report template in docs/cap-table/calibration_report_template.md | /api/cap-table/review, product/lib/cap-table/__tests__/fixture-corpus.test.ts |
| KPI-04 | Review Queue Throughput | Number of cap table extraction candidates approved or rejected per day | ≥ 20/day | 🔴 Not yet measured — observability test exists (observability.test.ts) | /api/cap-table/review, activity log |
| KPI-05 | Citation Coverage Rate | Percentage of AI responses that include at least one document citation | ≥ 90% | 🟡 Test coverage in product/lib/__tests__/citation-system.test.ts | Citation system; /api/advisor response schema |
| KPI-06 | Semantic Search Relevance (Top-3 Hit Rate) | Proportion of user queries where the correct document chunk appears in the top 3 vector results | ≥ 80% | 🟡 Covered by rag-retrieval-enhanced.test.ts | document_chunks table; pgvector IVFFlat index |
| KPI-07 | E-Signature Conversion Rate | Percentage of initiated signing workflows completed by all required parties | ≥ 70% | 🔴 Not measurable — module in pre-launch state (PR #101, #108 open) | product/lib/signature/__tests__/conversion-attribution.test.ts |
| KPI-08 | Activity Feed Freshness | Time delta between a user action (upload, delete, analysis) and its appearance in the unified activity feed | < 30 s | 🟢 Unified refresh endpoint live at /api/activity/unified/refresh | product/app/api/activity/unified/refresh/route.ts |
| KPI-09 | Multi-Tenant Org Isolation Failures | Count of cross-organization data leakage incidents | 0 per quarter | 🟢 Clerk org-based isolation confirmed; RLS policies in docs/cap-table/action_plans/02_cap_table_rls_and_policies.md | Supabase RLS; Clerk auth middleware |
| KPI-10 | Test File Coverage Ratio | Ratio of test files to total API route files, indicating code confidence | ≥ 0.60 | 🔴 Current: 0.70 (35 test files / 50 API routes) — but cap table and e-sign routes have gaps | product/lib/__tests__/, product/lib/cap-table/__tests__/ |
| KPI-11 | Cloud Worker Pipeline Reliability | Percentage of document ingest jobs that complete without manual retry | ≥ 99% | 🟡 BullMQ TLS fix merged (b718932); retry endpoint exists at /api/admin/pipeline/retry | product/app/api/admin/pipeline/retry/route.ts; BullMQ job queue |
| KPI-12 | Model Routing Accuracy | Percentage of queries correctly dispatched to cloud (Modal/Qwen2.5:32B) vs. local (Ollama) model based on complexity | ≥ 95% | 🟡 Covered by product/lib/__tests__/model-router.test.ts | product/app/api/admin/routing-stats/route.ts |
Health Indicators
Overall System Health: 🟡 AMBER
| Domain | Indicator | Health | Detail |
|---|---|---|---|
| Production Deploy | Deployment pipeline | 🟢 Healthy | Next.js 15 app on Vercel; Docker images on ghcr.io/midwestco/datazoom-*; Fly.io orchestrator active |
| Database | PostgreSQL + pgvector | 🟢 Healthy | Supabase with pgvector; IVFFlat index on document_chunks(embedding); RLS policies in place |
| AI / LLM | Modal (cloud) + Ollama (local) | 🟡 Degraded | Pod warmup tracking added; TLS race condition fixed (6c89d22); cold-start latency under observation |
| Message Queue | BullMQ + Upstash Redis | 🟡 Recovering | redis.asyncio TLS fix merged (b718932); ssl_cert_reqs=None workaround active |
| CI/CD | GitHub Actions | 🟡 Recovering | crane copy tag mismatch fixed (960f88c); retry logic added; cloud worker image build stabilizing |
| Test Suite | 35 test files | 🟡 Partial | Core RAG and cap table covered; billing wallet has zero test coverage; upload path untested (PR #101 open) |
| E-Signature | Template + signing portal | 🔴 Blocked | Two open PRs (#101 upload fixes, #108 PDF preview); no production sign-off |
| Billing Wallet | Wallet system | 🔴 Not Started | Plan authored at docs/billing_wallet/; no routes, components, or tests exist |
| Observability | Mixpanel + activity log | 🟢 Healthy | Mixpanel events plan in docs/archive/MIXPANEL_TRACKING_PLAN.md; unified activity feed and metrics API shipped |
| Security | Auth + multi-tenant isolation | 🟢 Healthy | Clerk org-based isolation; Supabase RLS; local-only data processing option documented |
Open Risk Register
| Risk ID | Description | Severity | Linked Commit / PR | Mitigation |
|---|---|---|---|---|
| RISK-01 | Upload pipeline broken; blocks e-signature onboarding loop | High | PR #101 (open) | Assign SQ-04 fix as P0 before e-sign GA |
| RISK-02 | BullMQ TLS with Upstash uses ssl_cert_reqs=None — suppresses cert validation | Medium | b718932 | Replace with proper cert bundle before SOC 2 audit |
| RISK-03 | Cloud worker image tag mismatch in CI causes intermittent deploy failures | Medium | 960f88c | Retry logic added; monitor next 5 deployments |
| RISK-04 | Billing wallet has no code, routes, or tests | High | docs/billing_wallet/ | Assign engineer; create EPIC-08 sprint plan |
| RISK-05 | Cap table extraction accuracy below 85% threshold not yet empirically confirmed | Medium | docs/cap-table/calibration_report.md | Complete calibration run against fixture-corpus.test.ts baseline |
| RISK-06 | Test coverage ratio (0.70) masks zero coverage on billing and upload routes | Medium | product/lib/__tests__/ | Add upload.test.ts and wallet.test.ts before next gate review |