File size: 8,400 Bytes
518343a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
import type { DomainTwin } from './types';

export const DOMAIN_TWINS: readonly DomainTwin[] = [
  {
    id: 'twin-terra',
    verticalId: 'terra',
    name: 'TerraTwin',
    description: 'Tracks properties, vendors, pipeline risk, asset exceptions, and deal outcomes across the real estate portfolio.',
    healthScore: 91,
    signalVolume: 342,
    activeRisks: 14,
    pendingDecisions: 7,
    openApprovals: 3,
    outcomeVelocity: 82,
    evidenceCompleteness: 88,
    chainlightConfidence: 0.87,
    sentraGovernanceState: 'green',
    psycheGovernanceState: 'green',
    argoLearningStatus: 'active — 12 lessons last 30d',
    proofChainCoverage: 94,
    topSignals: ['Pipeline velocity slowing in Southeast region', 'Vendor SLA breach — HVAC contractor 3d overdue', 'Occupancy dip below 92% threshold at property TX-0412'],
    topRisks: ['Deal slippage on Dallas industrial portfolio', 'Budget overrun risk on Miami renovation', 'Lease expiration cluster — Q3 2026'],
    nextBestActions: ['Escalate vendor SLA breach to operations lead', 'Schedule portfolio review for Q3 lease cluster', 'Request updated appraisal for Dallas industrial'],
    linkedRoutes: ['/terra', '/fabric/risks', '/fabric/evidence'],
  },
  {
    id: 'twin-vessels',
    verticalId: 'vessels',
    name: 'VesselsTwin',
    description: 'Tracks voyages, AIS gaps, sanctions flags, cost exposure, and port exceptions across the maritime fleet.',
    healthScore: 88,
    signalVolume: 518,
    activeRisks: 19,
    pendingDecisions: 11,
    openApprovals: 5,
    outcomeVelocity: 76,
    evidenceCompleteness: 85,
    chainlightConfidence: 0.82,
    sentraGovernanceState: 'amber',
    psycheGovernanceState: 'green',
    argoLearningStatus: 'active — 18 lessons last 30d',
    proofChainCoverage: 91,
    topSignals: ['AIS gap detected — MV Horizon Star, 4h dark window', 'Demurrage accruing at Rotterdam — 2d over laycan', 'Sanctions screening delayed for Novorossiysk-bound cargo'],
    topRisks: ['Sanctions exposure on Black Sea route', 'Weather disruption — Typhoon track crossing Pacific route', 'Fuel cost spike — bunker prices up 8% WoW'],
    nextBestActions: ['Trigger manual AIS reconciliation for MV Horizon Star', 'Escalate Rotterdam demurrage to chartering desk', 'Re-screen Novorossiysk cargo with updated OFAC list'],
    linkedRoutes: ['/vessels', '/fabric/signals', '/fabric/risks'],
  },
  {
    id: 'twin-counsel',
    verticalId: 'counsel',
    name: 'CounselTwin',
    description: 'Tracks matters, deadlines, evidence gaps, attorney-review packets, and filing posture across the legal portfolio.',
    healthScore: 93,
    signalVolume: 214,
    activeRisks: 8,
    pendingDecisions: 6,
    openApprovals: 2,
    outcomeVelocity: 89,
    evidenceCompleteness: 92,
    chainlightConfidence: 0.91,
    sentraGovernanceState: 'green',
    psycheGovernanceState: 'green',
    argoLearningStatus: 'active — 8 lessons last 30d',
    proofChainCoverage: 96,
    topSignals: ['Discovery deadline in 5d — Matter CM-2024-0891', 'Missing medical records for claimant Jenkins', 'Filing status change — Motion to Dismiss granted in part'],
    topRisks: ['Evidentiary gap on claimant Rodriguez depositions', 'Deadline cluster — 4 filings due within 72h window', 'Expert witness availability conflict — Dr. Chen'],
    nextBestActions: ['Assemble discovery packet for CM-2024-0891', 'Request medical records from provider network', 'Schedule backup expert for Dr. Chen conflict'],
    linkedRoutes: ['/counsel', '/fabric/evidence', '/fabric/decisions'],
  },
  {
    id: 'twin-carlota',
    verticalId: 'carlota',
    name: 'CarlotaTwin',
    description: 'Tracks household operations, residence service, vendors, preferences, and privacy controls across the family office.',
    healthScore: 95,
    signalVolume: 87,
    activeRisks: 4,
    pendingDecisions: 3,
    openApprovals: 1,
    outcomeVelocity: 94,
    evidenceCompleteness: 90,
    chainlightConfidence: 0.93,
    sentraGovernanceState: 'green',
    psycheGovernanceState: 'green',
    argoLearningStatus: 'passive — 3 lessons last 30d',
    proofChainCoverage: 88,
    topSignals: ['Landscaping vendor 2d behind spring schedule', 'HVAC maintenance window approaching — primary residence', 'Guest arrival coordination gap — Memorial Day weekend'],
    topRisks: ['Vendor reliability concern — pool service provider', 'Privacy exposure — new staff onboarding incomplete', 'Seasonal transition delay — summer property prep'],
    nextBestActions: ['Confirm landscaping vendor recovery plan', 'Schedule HVAC pre-season service', 'Complete staff NDA processing for new hires'],
    linkedRoutes: ['/carlota-jo', '/fabric/outcomes'],
  },
  {
    id: 'twin-aegis',
    verticalId: 'aegis',
    name: 'AegisTwin',
    description: 'Tracks vulnerabilities, identities, controls, incidents, and remediation across the security posture.',
    healthScore: 86,
    signalVolume: 891,
    activeRisks: 23,
    pendingDecisions: 9,
    openApprovals: 6,
    outcomeVelocity: 71,
    evidenceCompleteness: 83,
    chainlightConfidence: 0.79,
    sentraGovernanceState: 'amber',
    psycheGovernanceState: 'amber',
    argoLearningStatus: 'active — 22 lessons last 30d',
    proofChainCoverage: 89,
    topSignals: ['Critical CVE-2026-3891 detected — 12 assets exposed', 'Identity anomaly — service account lateral movement attempt', 'Control drift — MFA bypass rate increased 3x in 7d'],
    topRisks: ['Unresolved critical vulnerability backlog at 14d MTTR', 'Access review overdue — 340 identities pending', 'Backup verification gap — 3 systems untested in 90d'],
    nextBestActions: ['Prioritize CVE-2026-3891 patch across exposed assets', 'Trigger emergency access review for dormant service accounts', 'Schedule backup recovery drill for untested systems'],
    linkedRoutes: ['/sentra', '/fabric/risks', '/fabric/signals'],
  },
  {
    id: 'twin-lyte',
    verticalId: 'lyte',
    name: 'LyteTwin',
    description: 'Tracks initiatives, KPIs, dependencies, owners, and executive decisions across business operations.',
    healthScore: 90,
    signalVolume: 256,
    activeRisks: 11,
    pendingDecisions: 8,
    openApprovals: 4,
    outcomeVelocity: 85,
    evidenceCompleteness: 87,
    chainlightConfidence: 0.88,
    sentraGovernanceState: 'green',
    psycheGovernanceState: 'green',
    argoLearningStatus: 'active — 14 lessons last 30d',
    proofChainCoverage: 92,
    topSignals: ['Revenue KPI 4% below Q2 target', 'Initiative "Platform v3" milestone slipped 2 weeks', 'Ownership gap — Data Engineering lead transition'],
    topRisks: ['Execution drift on 3 strategic initiatives', 'Decision delay — pricing model approval blocked 8d', 'Board reporting gap — Q1 narrative incomplete'],
    nextBestActions: ['Escalate revenue KPI gap to CRO with root cause analysis', 'Assign interim owner for Data Engineering initiatives', 'Schedule pricing model decision session with CFO'],
    linkedRoutes: ['/lyte', '/fabric/decisions', '/fabric/outcomes'],
  },
  {
    id: 'twin-sentra',
    verticalId: 'sentra',
    name: 'SentraTwin',
    description: 'Tracks approvals, blocked actions, policy decisions, audit events, and rollback readiness across the governance plane.',
    healthScore: 94,
    signalVolume: 412,
    activeRisks: 6,
    pendingDecisions: 5,
    openApprovals: 8,
    outcomeVelocity: 91,
    evidenceCompleteness: 95,
    chainlightConfidence: 0.94,
    sentraGovernanceState: 'green',
    psycheGovernanceState: 'green',
    argoLearningStatus: 'active — 9 lessons last 30d',
    proofChainCoverage: 98,
    topSignals: ['Policy exception requested — Terra vendor fast-track', 'Rollback triggered — Aegis firewall rule change reverted', 'Audit compilation deadline — SOC 2 Type II in 14d'],
    topRisks: ['Policy bypass attempt detected — automated action blocked', 'Audit evidence gap — 3 controls missing attestation', 'Approval queue depth — 8 items > 48h old'],
    nextBestActions: ['Review Terra vendor fast-track exception against policy', 'Validate Aegis firewall rollback completeness', 'Assign auditor for SOC 2 evidence gap remediation'],
    linkedRoutes: ['/sentra', '/fabric/evidence', '/fabric/decisions'],
  },
] as const;

export const TWIN_MAP = Object.fromEntries(DOMAIN_TWINS.map(t => [t.id, t])) as Record<string, DomainTwin>;