| 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<string, string> = { |
| 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.", |
| }; |
|
|