import type { WorkItem, ApprovalRequest, TerritorySummary, PreCallBrief, SkillProposal, Skill, AuditEvent, RoleContract, ManagerSummary, Notification, } from "./types"; export const mockWorkItems: WorkItem[] = [ { id: "w-001", title: "Northeast Territory Review", requester: "Regional Director", requesterEmail: "director@ne-region.com", deadline: "Friday, 5:00 PM", status: "completed", detectedAt: "2026-08-04T08:15:00Z", startedAt: "2026-08-04T08:20:00Z", completedAt: "2026-08-05T09:42:00Z", progress: 100, mandatoryOutputs: ["Stalled physicians", "Access changes", "Recommendations for next week"], inferredOutputs: ["Executive summary", "Field-ready action queue", "Data-quality exceptions"], assumptions: [ "CRM data current as of Monday sync", "Formulary changes from last week are reflected", "Territory boundaries match Q3 assignment", ], dependencies: [], deliverables: [ { type: "exact", name: "Territory report", format: "report", content: "Standard territory review covering stalled physicians, access changes, and weekly recommendations.", confidence: 88, approved: true, }, { type: "verified", name: "Verified territory report", format: "report", content: "Corrected data with evidence, citations, assumptions, and confidence markers. Resolves 43 duplicate records and marks 27 uncertain accounts.", confidence: 82, approved: true, recommended: true, recommendationReason: "It satisfies the request, resolves 43 duplicate records, and clearly marks 27 uncertain accounts.", }, { type: "enhanced", name: "Enhanced territory analysis", format: "report", content: "Material findings, risks, recommendations, and next actions beyond the original request scope.", confidence: 79, approved: true, }, { type: "reusable", name: "Weekly territory review workflow", format: "workflow", content: "Saved workflow that can perform the territory review automatically next week.", confidence: 96, approved: true, }, ], dataCoverage: 94, recommendationConfidence: 82, emailSubject: "Territory Review Request — Northeast Manhattan", emailBody: "Joseph,\n\nPlease provide the weekly territory review for Northeast Manhattan by Friday at 5 PM. Include stalled physicians, access changes, and recommendations for next week.\n\nThanks,\nRegional Director", emailAttachments: [ { name: "Q3 Territory Map.pdf", type: "pdf", size: "2.4 MB" }, { name: "Account List.xlsx", type: "excel", size: "890 KB" }, ], auditEvents: [ { timestamp: "2026-08-04T08:15:00Z", event: "Request detected", detail: "Email from Regional Director parsed. Authority verified." }, { timestamp: "2026-08-04T08:20:00Z", event: "Execution started", detail: "Autonomy class 2. CRM read, calendar read, territory data read." }, { timestamp: "2026-08-04T09:30:00Z", event: "Data reconciliation", detail: "43 duplicate records resolved. 27 accounts flagged as uncertain." }, { timestamp: "2026-08-05T09:42:00Z", event: "Quality gate passed", detail: "Data coverage 94%. Recommendation confidence 82%. All mandatory outputs verified." }, ], autonomyClass: 2, externalSendAllowed: false, }, { id: "w-002", title: "Market-Access Comparison", requester: "Regional Director", requesterEmail: "director@ne-region.com", deadline: "Thursday, 5:00 PM", status: "working", detectedAt: "2026-08-04T07:50:00Z", startedAt: "2026-08-04T08:05:00Z", progress: 72, p50Completion: "Today, 10:00 PM", p90Completion: "Tomorrow, 8:20 AM", confidence: { onTimeProbability: 96, dataCompleteness: 92, automatedQACoverage: 98, noRevisionProbability: 81, }, primaryRisk: "Thursday CRM refresh may change five account records.", mandatoryOutputs: ["Payer comparison table", "Access status by account", "Barrier summary"], inferredOutputs: ["Trend analysis", "Competitive landscape notes"], assumptions: ["Payer data current through Wednesday", "No mid-week formulary announcements"], dependencies: [ { description: "Thursday CRM refresh", blocksProbability: 15 }, ], emailSubject: "Market Access Comparison — Northeast vs Mid-Atlantic", emailBody: "Joseph,\n\nNeed a market-access comparison between Northeast and Mid-Atlantic territories by Thursday EOD. Payer comparison, access status, and barrier summary.\n\nRegional Director", emailAttachments: [], auditEvents: [ { timestamp: "2026-08-04T07:50:00Z", event: "Request detected", detail: "Email parsed. Authority verified." }, { timestamp: "2026-08-04T08:05:00Z", event: "Execution started", detail: "Autonomy class 2. CRM read, payer database read." }, { timestamp: "2026-08-04T14:00:00Z", event: "Progress checkpoint", detail: "72% complete. Payer comparison table drafted. QA running." }, ], autonomyClass: 2, externalSendAllowed: false, }, { id: "w-003", title: "Physician Coverage Reconciliation", requester: "Regional Director", requesterEmail: "director@ne-region.com", deadline: "Tomorrow, 5:00 PM", status: "working", detectedAt: "2026-08-04T09:10:00Z", startedAt: "2026-08-04T09:15:00Z", progress: 41, p50Completion: "Tomorrow, 8:00 AM", p90Completion: "Tomorrow, 8:20 AM", confidence: { onTimeProbability: 88, dataCompleteness: 76, automatedQACoverage: 92, noRevisionProbability: 74, }, primaryRisk: "Three physician records have conflicting coverage data.", mandatoryOutputs: ["Coverage gap analysis", "Reconciliation report"], inferredOutputs: ["Suggested coverage adjustments"], assumptions: ["Coverage data from two CRM sources may conflict"], dependencies: [ { description: "Physician record conflict resolution", blocksProbability: 22 }, ], emailSubject: "Physician Coverage Reconciliation — Northeast", emailBody: "Joseph,\n\nPlease reconcile physician coverage data for the Northeast territory. We have gaps and conflicts from the last merge.\n\nRegional Director", emailAttachments: [{ name: "Coverage Export.csv", type: "csv", size: "1.2 MB" }], auditEvents: [ { timestamp: "2026-08-04T09:10:00Z", event: "Request detected", detail: "Email parsed. Authority verified." }, { timestamp: "2026-08-04T09:15:00Z", event: "Execution started", detail: "Autonomy class 2. CRM read." }, ], autonomyClass: 2, externalSendAllowed: false, }, { id: "w-004", title: "Tomorrow's Physician Route", requester: "System (recurring)", requesterEmail: "system@done.internal", deadline: "Tonight, 10:00 PM", status: "completed", detectedAt: "2026-08-04T06:00:00Z", startedAt: "2026-08-04T06:05:00Z", completedAt: "2026-08-04T06:48:00Z", progress: 100, mandatoryOutputs: ["Optimized route", "Visit schedule", "Deferred visits with reasons"], inferredOutputs: ["Travel time analysis", "Pre-call briefs for each stop"], assumptions: ["Traffic patterns from historical data", "Office hours verified"], dependencies: [], deliverables: [ { type: "exact", name: "Physician route", format: "action_queue", content: "5 stops optimized. 3 low-value visits removed. 74 minutes of travel avoided.", confidence: 94, approved: true, recommended: true, recommendationReason: "Optimized route with evidence-based deferrals.", }, ], dataCoverage: 91, recommendationConfidence: 89, emailSubject: "[Auto-generated] Tomorrow's Field Plan", emailBody: "Recurring task: Generate tomorrow's physician route based on territory priorities.", emailAttachments: [], auditEvents: [ { timestamp: "2026-08-04T06:00:00Z", event: "Recurring trigger", detail: "Scheduled task activated." }, { timestamp: "2026-08-04T06:48:00Z", event: "Completed", detail: "Route optimized. 5 stops. 3 deferred. 74 min saved." }, ], autonomyClass: 1, externalSendAllowed: false, }, { id: "w-005", title: "Weekly Manager Presentation", requester: "Regional Director", requesterEmail: "director@ne-region.com", deadline: "Friday, 12:00 PM", status: "completed", detectedAt: "2026-08-04T07:30:00Z", startedAt: "2026-08-04T07:35:00Z", completedAt: "2026-08-04T11:20:00Z", progress: 100, mandatoryOutputs: ["Weekly summary slides", "Key metrics", "Action items"], inferredOutputs: ["Trend analysis", "Barrier heatmap"], assumptions: ["Week's data through Wednesday is complete"], dependencies: [], deliverables: [ { type: "exact", name: "Manager presentation", format: "presentation", content: "12-slide weekly summary with key metrics and action items.", confidence: 90, approved: true, recommended: true, recommendationReason: "Covers all requested outputs with verified data.", }, ], dataCoverage: 96, recommendationConfidence: 87, emailSubject: "Weekly Presentation — Northeast Territory", emailBody: "Joseph,\n\nPrep the weekly manager presentation for Friday. Summary, metrics, action items.\n\nRegional Director", emailAttachments: [], auditEvents: [ { timestamp: "2026-08-04T07:30:00Z", event: "Request detected", detail: "Email parsed. Authority verified." }, { timestamp: "2026-08-04T11:20:00Z", event: "Completed", detail: "12 slides generated. QA passed." }, ], autonomyClass: 1, externalSendAllowed: false, }, { id: "w-006", title: "Duplicate Doctor Records Resolution", requester: "System (data quality)", requesterEmail: "system@done.internal", deadline: "Today, 5:00 PM", status: "completed", detectedAt: "2026-08-04T05:00:00Z", startedAt: "2026-08-04T05:05:00Z", completedAt: "2026-08-04T07:15:00Z", progress: 100, mandatoryOutputs: ["Resolved duplicate records", "Merge log"], inferredOutputs: ["Data quality report"], assumptions: ["Duplicate detection thresholds at 85% similarity"], dependencies: [], deliverables: [ { type: "exact", name: "Duplicate resolution log", format: "data_reconciliation", content: "18 duplicate doctor records resolved. Merge log attached.", confidence: 97, approved: true, recommended: true, }, ], dataCoverage: 99, recommendationConfidence: 95, emailSubject: "[Auto-detected] 18 Duplicate Records Found", emailBody: "Data quality scan detected 18 duplicate doctor records in Northeast territory.", emailAttachments: [], auditEvents: [ { timestamp: "2026-08-04T05:00:00Z", event: "Data quality scan", detail: "18 duplicates detected." }, { timestamp: "2026-08-04T07:15:00Z", event: "Completed", detail: "All 18 resolved. Merge log generated." }, ], autonomyClass: 1, externalSendAllowed: false, }, { id: "w-007", title: "External Follow-up to Dr. Morgan", requester: "Regional Director", requesterEmail: "director@ne-region.com", deadline: "Today, 5:00 PM", status: "needs", detectedAt: "2026-08-04T10:00:00Z", startedAt: "2026-08-04T10:05:00Z", progress: 95, mandatoryOutputs: ["Follow-up email to Dr. Morgan's office"], inferredOutputs: ["Meeting confirmation", "Workflow summary attachment"], assumptions: ["Dr. Morgan's office email is current", "Meeting room is available Thursday"], dependencies: [], emailSubject: "Follow up with Dr. Morgan re: patient identification workflow", emailBody: "Joseph,\n\nPlease follow up with Dr. Morgan's office about the patient identification workflow meeting we discussed.\n\nRegional Director", emailAttachments: [], auditEvents: [ { timestamp: "2026-08-04T10:00:00Z", event: "Request detected", detail: "Email parsed. Authority verified." }, { timestamp: "2026-08-04T10:05:00Z", event: "Draft prepared", detail: "External email drafted. Approval required — creates external organizational commitment." }, ], autonomyClass: 3, externalSendAllowed: true, }, { id: "w-008", title: "Quarterly Access Strategy Memo", requester: "VP Market Access", requesterEmail: "vp@market-access.com", deadline: "Monday, 9:00 AM", status: "blocked", detectedAt: "2026-08-04T11:00:00Z", startedAt: "2026-08-04T11:05:00Z", progress: 60, p50Completion: "Monday, 7:00 AM", p90Completion: "Monday, 9:00 AM", confidence: { onTimeProbability: 72, dataCompleteness: 64, automatedQACoverage: 85, noRevisionProbability: 58, }, primaryRisk: "Legal review of comparative claims not yet complete.", mandatoryOutputs: ["Access strategy memo", "Barrier analysis", "Recommendation framework"], inferredOutputs: ["Competitive positioning analysis"], assumptions: ["Legal will complete review by Friday"], dependencies: [ { description: "Legal review of comparative claims", blocksProbability: 45 }, ], emailSubject: "Q3 Access Strategy Memo — Northeast", emailBody: "Joseph,\n\nNeed the quarterly access strategy memo by Monday. Include barrier analysis and recommendation framework.\n\nVP Market Access", emailAttachments: [{ name: "Q2 Strategy Memo.docx", type: "text", size: "340 KB" }], auditEvents: [ { timestamp: "2026-08-04T11:00:00Z", event: "Request detected", detail: "Email parsed. Authority verified." }, { timestamp: "2026-08-04T11:05:00Z", event: "Execution started", detail: "Autonomy class 2. CRM read, payer database read." }, { timestamp: "2026-08-04T15:00:00Z", event: "Blocked", detail: "Legal review of comparative claims not complete. Work is ready. Legal is not." }, ], autonomyClass: 2, externalSendAllowed: false, }, { id: "w-009", title: "Stalled Account Analysis", requester: "Regional Director", requesterEmail: "director@ne-region.com", deadline: "Wednesday, 5:00 PM", status: "new", detectedAt: "2026-08-04T16:30:00Z", progress: 0, mandatoryOutputs: ["Stalled account list", "Root cause analysis", "Recovery recommendations"], inferredOutputs: ["Prioritized action queue"], assumptions: [], dependencies: [], emailSubject: "Stalled Accounts — Northeast Manhattan", emailBody: "Joseph,\n\nNeed a stalled account analysis for Northeast Manhattan by Wednesday. List, root causes, and recovery plan.\n\nRegional Director", emailAttachments: [], auditEvents: [ { timestamp: "2026-08-04T16:30:00Z", event: "Request detected", detail: "Email parsed. Authority verified. Awaiting execution start." }, ], autonomyClass: 2, externalSendAllowed: false, }, ]; export const mockApprovals: ApprovalRequest[] = [ { id: "a-001", workItemId: "w-007", title: "Send follow-up to Dr. Morgan's office", reason: "The message confirms a meeting and creates an external organizational commitment.", groundedInApprovedContent: true, recipientVerified: true, confidentialAttachments: false, estimatedReviewSeconds: 24, draftContent: "Dear Dr. Morgan's office,\n\nFollowing up on our discussion regarding the patient identification workflow. We would like to schedule a meeting this Thursday to review the updated workflow and share the approved reimbursement resource.\n\nPlease let us know if Thursday at 2:00 PM works for your team.\n\nBest regards,\nJoseph", recipient: "office@drmorgan-clinic.com", status: "pending", }, { id: "a-002", workItemId: "w-002", title: "Approve CRM writeback for market-access comparison", reason: "Updating CRM access status fields requires official writeback authorization.", groundedInApprovedContent: true, recipientVerified: false, confidentialAttachments: false, estimatedReviewSeconds: 15, draftContent: "CRM update: Set access_status field for 23 accounts in Northeast territory based on payer comparison results.", recipient: "CRM System", status: "pending", }, ]; export const mockTerritorySummary: TerritorySummary = { totalActions: 5, lowValueVisitsRemoved: 3, travelMinutesAvoided: 74, stops: [ { id: "t-001", hcpName: "Dr. Morgan", arrivalTime: "9:30 AM", action: "Visit", objective: "Confirm patient-identification workflow", whyNow: "Formulary barrier removed yesterday", accessProbability: "High", preparationSeconds: 42, deferred: false, travelTimeMin: 18, }, { id: "t-002", hcpName: "Dr. Patel", arrivalTime: "10:45 AM", action: "Visit", objective: "Discuss updated reimbursement pathway", whyNow: "New payer policy effective this week", accessProbability: "Medium", preparationSeconds: 55, deferred: false, travelTimeMin: 22, }, { id: "t-003", hcpName: "Dr. Chen", arrivalTime: "1:15 PM", action: "Visit", objective: "Present access workflow data", whyNow: "Requested operational guidance two weeks ago", accessProbability: "High", preparationSeconds: 38, deferred: false, travelTimeMin: 15, }, { id: "t-004", hcpName: "Dr. Carter", arrivalTime: "", action: "Do not visit", objective: "Awaiting medical-information response", whyNow: "", accessProbability: "Low", preparationSeconds: 0, deferred: true, deferredReason: "Awaiting medical-information response", travelTimeMin: 0, timeSavedMin: 38, }, { id: "t-005", hcpName: "Dr. Rodriguez", arrivalTime: "", action: "Do not visit", objective: "No new information since last visit", whyNow: "", accessProbability: "Low", preparationSeconds: 0, deferred: true, deferredReason: "No new information value. Last visit was 4 days ago with no changes.", travelTimeMin: 0, timeSavedMin: 24, }, ], }; export const mockPreCallBrief: PreCallBrief = { hcpName: "Dr. Morgan", whyThisVisit: "A reimbursement barrier was removed. The office has not yet updated its patient-identification workflow.", lastMeaningfulInteraction: "Requested operational guidance three weeks ago.", primaryObjective: "Identify who owns the testing workflow.", ask: "Who currently coordinates identification and testing?", approvedAsset: "Access Workflow 2026", relevantSection: "Page 7", doNotDiscuss: "Unapproved comparative outcome claim.", openCommitment: "Send office workflow summary after the visit.", prepTimeSeconds: 42, }; export const mockSkillProposals: SkillProposal[] = [ { id: "s-001", title: "Generate Tomorrow's Field Plan", detectedFrom: "Tomorrow's Field Plan", occurrenceCount: 9, estimatedWeeklyTimeSaved: "2 hours 40 minutes", shadowTestAccuracy: 96, permissionsRequired: ["CRM read", "Calendar read", "Territory data read", "Drive write"], status: "proposed", }, { id: "s-002", title: "Weekly Manager Presentation", detectedFrom: "Weekly Manager Presentation", occurrenceCount: 6, estimatedWeeklyTimeSaved: "1 hour 50 minutes", shadowTestAccuracy: 91, permissionsRequired: ["CRM read", "Territory data read", "Drive write"], status: "proposed", }, ]; export const mockSkills: Skill[] = [ { id: "sk-001", title: "Territory Report Generator", description: "Automatically compiles weekly territory review from CRM data, payer databases, and interaction logs.", trigger: "Weekly schedule or explicit request", weeklyTimeSaved: "3 hours 20 minutes", accuracy: 94, lastUsed: "Today, 9:42 AM", timesUsed: 14, permissions: ["CRM read", "Territory data read", "Drive write"], }, { id: "sk-002", title: "Duplicate Record Resolver", description: "Detects and resolves duplicate HCP records using fuzzy matching and merge rules.", trigger: "Data quality scan (daily)", weeklyTimeSaved: "1 hour 15 minutes", accuracy: 97, lastUsed: "Today, 7:15 AM", timesUsed: 22, permissions: ["CRM read", "CRM write"], }, { id: "sk-003", title: "Pre-Call Brief Generator", description: "Generates 60-second pre-call briefs from interaction history, barriers, and approved content.", trigger: "Route generation or manual request", weeklyTimeSaved: "2 hours 00 minutes", accuracy: 89, lastUsed: "Today, 6:48 AM", timesUsed: 31, permissions: ["CRM read", "Content library read", "Territory data read"], }, ]; export const mockAuditEvents: AuditEvent[] = [ { id: "e-001", timestamp: "2026-08-04T16:30:00Z", category: "source", event: "Email parsed", detail: "Stalled Accounts — Northeast Manhattan. From Regional Director. Authority verified.", workItemId: "w-009" }, { id: "e-002", timestamp: "2026-08-04T15:00:00Z", category: "action", event: "Execution blocked", detail: "Quarterly Access Strategy Memo blocked. Legal review of comparative claims not complete.", workItemId: "w-008" }, { id: "e-003", timestamp: "2026-08-04T11:20:00Z", category: "quality", event: "Quality gate passed", detail: "Weekly Manager Presentation. 12 slides. Data coverage 96%. Confidence 87%.", workItemId: "w-005" }, { id: "e-004", timestamp: "2026-08-04T10:05:00Z", category: "permission", event: "Approval required", detail: "External follow-up to Dr. Morgan. Autonomy class 3. External organizational commitment.", workItemId: "w-007" }, { id: "e-005", timestamp: "2026-08-04T09:42:00Z", category: "quality", event: "Quality gate passed", detail: "Northeast Territory Review. Data coverage 94%. Recommendation confidence 82%.", workItemId: "w-001" }, { id: "e-006", timestamp: "2026-08-04T09:15:00Z", category: "assumption", event: "Assumption logged", detail: "Physician Coverage Reconciliation: Coverage data from two CRM sources may conflict.", workItemId: "w-003" }, { id: "e-007", timestamp: "2026-08-04T08:20:00Z", category: "permission", event: "Autonomy verified", detail: "Northeast Territory Review. Class 2. CRM read, calendar read, territory data read.", workItemId: "w-001" }, { id: "e-008", timestamp: "2026-08-04T07:15:00Z", category: "action", event: "Data reconciliation", detail: "18 duplicate doctor records resolved. Merge log generated.", workItemId: "w-006" }, { id: "e-009", timestamp: "2026-08-04T06:48:00Z", category: "model", event: "Route optimization", detail: "Model v2.3.1. 5 stops. 3 deferred. 74 min saved. Route utility 0.87.", workItemId: "w-004" }, { id: "e-010", timestamp: "2026-08-04T06:00:00Z", category: "source", event: "Recurring trigger", detail: "Tomorrow's Field Plan scheduled task activated.", workItemId: "w-004" }, ]; export const mockRoleContract: RoleContract = { role: "Territory Representative", title: "Field Representative — Northeast Manhattan", scope: "Northeast Manhattan", canCompleteAutomatically: [ "Territory reports", "Pre-call briefs", "Route plans", "Internal summaries", "CRM draft preparation", ], requiresApproval: [ "External messages", "Official CRM writeback", "Calendar invitations", ], neverAutonomous: [ "Medical claims", "Contractual commitments", "Financial approvals", ], }; export const mockManagerSummary: ManagerSummary = { fieldHoursRecovered: 37, lowValueVisitsPrevented: 19, commitmentsCompletedOnTime: 94, requestsCompletedAutonomously: 68, recommendationsOverridden: 12, repeatedTerritoryBarriers: 4, }; export const mockNotifications: Notification[] = [ { id: "n-001", type: "completed", title: "Territory report completed three days early.", detail: "Northeast Territory Review finished Tuesday. Deadline Friday.", timestamp: "2026-08-05T09:42:00Z", workItemId: "w-001", read: false, }, { id: "n-002", type: "approval", title: "Approve the external follow-up to Dr. Morgan. Estimated review: 24 seconds.", detail: "The message confirms a meeting and creates an external organizational commitment.", timestamp: "2026-08-04T10:05:00Z", workItemId: "w-007", read: false, }, { id: "n-003", type: "blocked", title: "The market-access report is waiting for Thursday's CRM refresh. It remains on schedule.", detail: "Physician Coverage Reconciliation at 41%. P90 completion: Tomorrow, 8:20 AM.", timestamp: "2026-08-04T14:00:00Z", workItemId: "w-003", read: true, }, { id: "n-004", type: "skill", title: "New automation discovered: Generate Tomorrow's Field Plan.", detail: "You completed this 9 times using the same workflow. Estimated weekly time saved: 2 hours 40 minutes.", timestamp: "2026-08-04T12:00:00Z", read: true, }, ]; export const cartmanizedMicrocopy: Record = { emptyInbox: "Nothing needs you. The machines handled it. Try not to ruin this.", workCompletedEarly: "Done Tuesday. Deadline Friday. Obviously.", lowValueVisitRemoved: "Congratulations. You were about to waste 43 minutes.", missingPermission: "Nice try. Your role does not authorize that.", fakeUrgency: "Someone marked this urgent. The evidence strongly disagrees.", excessiveOverdelivery: "We stopped at four useful outputs because twelve would be ridiculous.", dataQualityWarning: "This doctor has three addresses and apparently lives everywhere. Verify one.", blockedTask: "The work is ready. Legal is not. Classic.", };