/ core / attention / __pycache__ / unified_correlator.cpython-314.pyc
unified_correlator.cpython-314.pyc
  1  +
  2  �Agi|:���a�Rt10tRt^RIt^RIt^RIHtHt^RIHtHt^RI	H
  3  t
  4  ^RIHtH
t
HtHtHtHt^RIHt^RIHt^RIHtHtHt^R	IHtHtHtHt^R
  5  IH t H!t!^RI"H#t#H$t$!RR
]4t%]!RR44t&]!RR44t'!RR4t(Rs)]^kRRlt*]+R8Xd:],!R4](!4t-]-P]^R7t/],!]/Pa44R#R#)a�
  6  Unified Correlator - Connects all data sources into a single correlation layer.
  7  
  8  Brings together:
  9  1. Claude sessions (from session transcripts)
 10  2. Monologue voice transcripts
 11  3. Comet browser history
 12  4. Semantic graph (atoms, edges from Sovereign_Estate)
 13  5. Claude.ai artifacts
 14  
 15  All data flows into a unified event stream that can be:
 16  - Correlated by time windows
 17  - Streamed via SSE
 18  - Queried for insights
 19  
 20  Usage:
 21      correlator = UnifiedCorrelator()
 22      correlator.start()  # Starts background watching
 23  
 24      # Get unified view
 25      report = correlator.get_unified_report(hours_back=24)
 26  
 27      # Subscribe to events
 28      correlator.subscribe('all', callback)
 29  N)�	dataclass�field)�datetime�	timedelta)�Path)�Dict�List�Optional�Set�Any�Callable)�defaultdict)�Enum)�GraphIntegration�
 30  GraphEvent�	GraphAtom)�MultiSourceCorrelator�CorrelatedMoment�EventSource�SourceEvent)�ArtifactAnalyzer�Artifact)�detect_signals�SignalDetectionc�B�]tRt^+tRtRtRtRtRtRt	Rt
 31  RtR	tR
 32  t
RtRtR
#)�UnifiedEventTypez#All event types across all sources.�claude_session�	monologue�browser�
 33  graph_atom�
 34  graph_edge�gravity_well�artifact�
 35  aha_moment�correlation�high_resonance�N)�__name__�
 36  __module__�__qualname__�__firstlineno__�__doc__�CLAUDE_SESSION�	MONOLOGUE�BROWSER�
 37  GRAPH_ATOM�
 38  GRAPH_EDGE�GRAVITY_WELL�ARTIFACT�
 39  AHA_MOMENT�CORRELATION�HIGH_RESONANCE�__static_attributes__r&��D/Users/rcerf/repos/Sovereign_OS/core/attention/unified_correlator.pyrr+s=��-�%�N��I��G��J��J�!�L��H��J��K�%�Nr7rc�|a�]tRt^@toRtRt]!]R7t]!]	R7t
 40  ]!]R7tV3RlRlt
V3RltRtVtR#)	�UnifiedEventz A unified event from any source.��?��default_factoryc�6<�V^8�dQhRS[S[S[3,/#���return�r�strr)�format�
__classdict__s"�r8�__annotate__�UnifiedEvent.__annotate__R����
 41  
 42 43  
 44  ��c�3�h��
 45  
 46  r7c�(�RVPPRVPP4RVPRVP
 47  R,RVPR\VP4RVPR\VP4/#)	�
 48  event_type�	timestamp�	source_id�content:Ni�N�weight�tags�metadata�correlated_count)rJ�valuerK�	isoformatrLrMrN�listrOrP�len�correlated_events��selfs&r8�to_dict�UnifiedEvent.to_dictRss���$�/�/�/�/�����1�1�3������t�|�|�D�)��d�k�k��D����O���
�
���D�$:�$:� ;�	
 49 50  r7c�<�V^8�dQh/S[;R&S[;R&S[;R&S[;R&S[;R&S[S[,;R&S[S[S[3,;R&S[S[,;R&#)	r@rJrKrLrMrNrOrPrV)rrrC�floatr
 51  rrr)rDrEs"�r8rFrG@s{����!� ����	�
 52  �N���L�
�
����c�(�/���3��8�n�:�� �C�y�>�!r7r&N)r'r(r)r*r+rNr�setrO�dictrPrTrVrY�__annotate_func__r6�__classdictcell__�rEs@r8r:r:@sC����*��F��3�/�D� %�T�:�H�$)��#>��
 53  
 54 55  
 56  �%�r7r:c��a�]tRt^_toRtRt^t]!]R7t	]!]
 57  R7t]!]
 58  R7t]!]
 59  R7t
]!]
 60  R7t]!]
 61  R7t]!]R7tV3RlRltV3RlRltV3RltR	tVtR
 62  #)�
UnifiedReportz)Report from unified correlation analysis.gr<c�6<�V^8�dQhRS[S[S[3,/#r?rB)rDrEs"�r8rF�UnifiedReport.__annotate__vrHr7c�J�RVPRVPRVPR\VP4R\VP
 63  4R\VP4R\VP4R\VPP44R,/#)	�time_window_hours�total_events�events_by_source�	aha_count�high_resonance_count�
gravity_wells�correlations�topics:N�N)rgrhrirU�aha_momentsr%rl�multi_source_correlationsrT�unified_topic_map�keysrWs&r8rY�UnifiedReport.to_dictvs�����!7�!7��D�-�-��� 5� 5���T�-�-�.�"�C��(;�(;�$<��S��!3�!3�4��C�� >� >�?��d�4�1�1�6�6�8�9�#�>�	
 64 65  r7c� <�V^8�dQhRS[/#r?)rC)rDrEs"�r8rFre�s���# �# �S�# r7c��RRVPRVPR
R2R.pVPR4\VPP4RR7Fwr#VPR	VR
 66  V24K	VPR4VP'd�VPR4VPR,F�pVPR
VPPR424VPRVPR
RRP\VP4R,424VPRVPR,R24K�	VPR4VP'diVPR4VPR,F@pVPRVPP RVPR,R24KB	VPR4VP"'dkVPR4VP"R,FBpVPRVP%RR4R,RVP%R ^4R!24KD	R"PV4#)#z# Unified Correlation Report�*z	 events, z.0fz hours*�z## Event Sourcesc��V^,)#)�r&)�xs&r8�<lambda>�+UnifiedReport.to_markdown.<locals>.<lambda>�s��RS�TU�RV�QVr7)�keyz- z: z## Aha Moments:N�
 67  Nz
 68  ### z%Y-%m-%d %H:%MzWeight: z.2fz	 | Tags: z, :N�Nz> :N��Nz...z## High Resonance Contentz- [z] �N�dNz## Gravity Wellsz- **rM:N�<Nz...** (�total_edgesz edges)�
 69  )rhrg�append�sortedri�itemsrprK�strftimerN�joinrTrOrMr%rJrRrl�get)rX�lines�source�count�event�wells&     r8�to_markdown�UnifiedReport.to_markdown�s9��*���!�!�"�)�D�,B�,B�3�+G�w�O��
 70  ��	���'�(�#�D�$9�$9�$?�$?�$A��W�M�F��L�L�2�f�X�R��w�/�0�X�
���R�������L�L�)�*��)�)�#�.�.�����v�e�o�o�&>�&>�?O�&P�%Q�R�S����x����S�'9��4�9�9�T�RW�R\�R\�M]�^`�Ma�Cb�Bc�d�e����r�%�-�-��"5�!6�c�:�;�/�	���R�������L�L�4�5��,�,�S�1�1�����s�5�#3�#3�#9�#9�":�"�U�]�]�4�=P�<Q�QT�U�V�2�
���R�������L�L�+�,��*�*�3�/�/�����t�D�H�H�Y��$;�C�$@�#A�����R_�ab�Ic�Hd�dk�l�m�0��y�y���r7c�(<�V^8�dQh/S[;R&S[;R&S[S[S[3,;R&S[S[,;R&S[S[,;R&S[S[S[S[3,,;R&S[S[,;R&S[S[,;R&S[S[S[S[,3,;R	&#)
 71  r@rgrhrirpr%rlrq�event_timelinerr)r\�intrrCrr:rr)rDrEs"�r8rFre_s������"����	��3��8�n�B���l�#�A����&�D����S�#�X��'�E�� $�$4�5�S��$��&�D�%�*�C��c��N�+�I�+r7r&N)r'r(r)r*r+rgrhrr^rirTrpr%rlrqr�rrrYr�r_r6r`ras@r8rcrc_s�����3�"���L�(-�T�'B��',�D�&A�K�).�t�)D�N�*/��*E�M�9>�d�8S��*/�t�)D�N�/4�D�.I��
 72  
 73 74  
 75  �# �# �G�r7rcc�a�]tRt^�toRtRtRtRtV3RlRltV3RlRlt	V3R	lR
 76  lt
 77  RV3RlRlltV3R
lRltV3RlRlt
RV3RlRlltRtVtR#)�UnifiedCorrelatorz�
 78  Unifies all data sources into a single correlation layer.
 79  
 80  Watches multiple sources and correlates events by time, content, and topics.
 81  c��\4Vn\4Vn\	4Vn/Vn\\4Vn	RVn
 82  RVnR#)FN)r�graphr�multi_sourcer�artifact_analyzer�_eventsr
rT�_subscribers�_running�
_watch_threadrWs&r8�__init__�UnifiedCorrelator.__init__�sL��%�'��
 83  �1�3���!1�!3���13���8C�4�7H�����
�9=��r7c���VP'dR#RVnVPPRVP4VPP	4\R4R#)zStart watching all sources.NT�allz2[UnifiedCorrelator] Started - watching all sources)r�r��	subscribe�_on_graph_event�start_watching�printrWs&r8�start�UnifiedCorrelator.start�sJ���=�=�=����
�	
�
 84 85  ���U�D�$8�$8�9��
 86 87  �!�!�#�
�B�Cr7c�^�RVnVPP4\R4R#)zStop watching.FznifiedCorrelator] StoppedN)r�r��
stop_watchingr�rWs&r8�stop�UnifiedCorrelator.stop�s"����
��
 88 89  � � �"�
�+�,r7c�<<�V^8�dQhRS[RS[S[.R3,/#)r@rJ�callbackN)rCrr:)rDrEs"�r8rF�UnifiedCorrelator.__annotate__�s'���7�7�C�7�8�\�N�D�<P�3Q�7r7c�J�VPV,PV4R#)zSubscribe to unified events.N)r�r�)rXrJr�s&&&r8r��UnifiedCorrelator.subscribe�s�����*�%�,�,�X�6r7c� <�V^8�dQhRS[/#)r@r�)r:)rDrEs"�r8rFr��s�����<�r7c�^�VPPVPP.4FpV!V4K	VPPR.4FpV!V4K	R# \dp\RT24Rp?K]Rp?ii;i \dpRp?KJRp?ii;i)zEmit event to subscribers.z&[UnifiedCorrelator] Subscriber error: Nr�)r�r�rJrR�	Exceptionr�)rXr�r��es&&  r8�_emit�UnifiedCorrelator._emit�s����)�)�-�-�e�.>�.>�.D�.D�b�I�H�
D����J��)�)�-�-�e�R�8�H�
����9���
D��>�q�c�B�C�C��
D���
���
�s)�A/�!B�/B�:B�B�B,�'B,c� <�V^8�dQhRS[/#)r@�graph_event)r)rDrEs"�r8rFr��s���&�&�:�&r7c��VPR8Xd�\\PVPVP
 90  P
RR4VP
 91  P
RR4VP
 92  P
RR4\VP
 93  P
R.44RVP
 94  P
R4R	VP
 95  P
R	4/R
 96  7pEM@VPR8Xd�\\PVPVP
 97  P
R4R
VP
 98  P
R42RVP
 99  P
RR42VP
100  P
RR4VP
101  R7pM�VPR8Xd{\\PVPVP
102  P
RR4VP
103  P
RR4RRVP
104  P
R^4/R7pMR#W PVP&VPV4R#)z$Handle event from graph integration.�atom�uuidrxrM�	resonance��?rO�altitude�source_type�rJrKrLrMrNrOrP�edger�z->�targetzEdge: �type�
105  relates_to�strength)rJrKrLrMrNrPr!g@�
106  edge_countN)
rJr:rr/rK�datar�r]r0r1r�rLr�)rXr��unifieds&& r8r��!UnifiedCorrelator._on_graph_event�s����!�!�V�+�"�+�6�6�%�/�/�%�*�*�.�.�v�r�:�#�(�(�,�,�Y��;�"�'�'�+�+�K��=���)�)�-�-�f�b�9�:��� 0� 0� 4� 4�Z� @�!�;�#3�#3�#7�#7�
�#F���G��
#�
#�v�
-�"�+�6�6�%�/�/�(�-�-�1�1�(�;�<�B�{�?O�?O�?S�?S�T\�?]�>^�_� ��!1�!1�!5�!5�f�l�!K� L�M�"�'�'�+�+�J��<�$�)�)�
�G��
#�
#�~�
5�"�+�8�8�%�/�/�%�*�*�.�.�v�r�:�#�(�(�,�,�Y��;��&��(8�(8�(<�(<�\�1�(M�N�
�G�
�*1���W�&�&�'��
107108  �7�r7c�&<�V^8�dQhRS[RS[/#)r@�
109  hours_backrA)r\rc)rDrEs"�r8rFr�s���J�J�U�J�M�Jr7c�z�\VR7p\P!4\VR7,
110  pVPP\
^\V^,4^,4R7VPPVR7pVPPVR7pRVPPPRVPPPRVPRVP /Vn\%VP"P'44VnVPP)^4F�pVP*P-\/\0P2\P4!VP7R	\P!4P944P;R
111  R44VP7RR4VP7R
R4VP7RR4\=VP7R.44R74K�	VPP?4Vn VPBF�p\/\0PDVPFRVPFP942VPIV4VPJVPMV4R\OVPP4R\OVPR4R\OVPT4RVPV/R7pVPBP-V4K�	VPBVPX,Vn-VP\P_4FFwr�W�P`9d.VP`V	&VP`V	,PcV
112  4KH	VPPPdP_4Fwr�VR2.VP`RV2&K	VPBPgRRR7VP*PgRRR7V#)z;
113  Generate a unified correlation report across all sources.
114  )rg��hours)�	days_back�r��graph_atoms�graph_edgesr��	artifactsrK�Zrxr�rMr�r�rO�rJrKrLrMrNrOzaha-�claude_count�monologue_count�
browser_count�
115  confidencer�z atomsz	altitude:c��VP#�N�rN�r�s&r8r|�6UnifiedCorrelator.get_unified_report.<locals>.<lambda>Ss��a�h�hr7T�r~�reversec��VP#r�r�r�s&r8r|r�Ts����r7)4rcr�nowrr��
116  load_range�maxr�r��	correlater��analyze�_state�
117  atom_countr�rh�artifacts_analyzedri�sum�values�get_high_resonance_atomsr%r�r:rr5�
fromisoformatr�rS�replacer]�get_gravity_wellsrlrpr3rK�_summarize_moment�combined_weight�_extract_topicsrU�
claude_events�monologue_events�browser_eventsr��validation_seekingrq�topic_research_mapr�rr�extend�atoms_by_altitude�sort)
rXr��report�cutoff�multi_report�artifact_report�	atom_data�momentr��topic�events�altr�s
&&           r8�get_unified_report�$UnifiedCorrelator.get_unified_reportso����<������)�*�"=�=��	
�
118119  ����A�s�:��?�/C�a�/G�(H��I��(�(�2�2�j�2�I���0�0�8�8�J�8�O��
�4�:�:�,�,�7�7��4�:�:�,�,�7�7��L�5�5���;�;�	#
120  ���"�&�"9�"9�"@�"@�"B�C������<�<�R�@�I��!�!�(�(��+�:�:�"�0�0����{�H�L�L�N�Ld�Ld�Lf�1g�1o�1o�ps�uw�1x�y�#�-�-���3�!�
�
�i��4� �}�}�[�#�6�����v�r�2�3�
*�
�A� $�z�z�;�;�=���#�.�.�F� �+�6�6� �*�*� ��!1�!1�!;�!;�!=� >�?��.�.�v�6��-�-��)�)�&�1�"�C��(<�(<�$=�%�s�6�+B�+B�'C�#�S��)>�)>�%?� �&�"3�"3�	�
�E�
���%�%�e�,�/�$,8�+C�+C�l�Fe�Fe�+e��(�*�<�<�B�B�D�M�E��4�4�4�24��(�(��/��$�$�U�+�2�2�6�:�E��*�*�+�+�=�=�C�C�E�J�C�>C�W�F�;K�:L�F�$�$�y���%6�7�F�	�����$6���E����"�"�'9�4�"�H��
r7c�&<�V^8�dQhRS[RS[/#�r@rrA)rrC)rDrEs"�r8rFr�Xs ���	C�	C�(8�	C�S�	Cr7c�$�.pVP'd7VPRVP^,PR,24VP'd7VPRVP^,PR,24VP'dSVP^,P
121  'd0VPRVP^,P
122  24V'dRP
V4#R#)zSummarize a correlated moment.zClaude: r�zVoice: z
Researching: z | zCorrelated moment)r�r�rMr�r��
browser_titler�)rXr�partss&& r8r��#UnifiedCorrelator._summarize_momentXs����������L�L�8�F�$8�$8��$;�$C�$C�D�$I�#J�K�L��"�"�"��L�L�7�6�#:�#:�1�#=�#E�#E�d�#K�"L�M�N�� � � �V�%:�%:�1�%=�%K�%K�%K��L�L�=��)>�)>�q�)A�)O�)O�(P�Q�R�$)�u�z�z�%� �B�/B�Br7c�6<�V^8�dQhRS[RS[S[,/#r
123  )rr
124  rC)rDrEs"�r8rFr�cs �����&6��3�s�8�r7c��\4pVPVP,FpVPVP4K 	V#)z(Extract topics from a correlated moment.)r]r�r��updaterO)rXrrnr�s&&  r8r��!UnifiedCorrelator._extract_topicscs=������)�)�F�,C�,C�C�C�E��M�M�%�*�*�%�D��
r7Nc�\<�V^8�dQhRS[RS[S[S[,,RS[S[,/#)r@r��event_typesrA)r\r	rrCr:)rDrEs"�r8rFr�js7���(�(��(��d�3�i�(�(�
125  �l�	�	(r7c�f�\P!4\VR7,
126  p.pVPP	^�R7F�pVPRR4p\P!VPRR44pYs8dKDTP\\PTTPRR4TPRR4TPRR	4\TPR
127  .44R74K�	V'deVUU	u0uF3q�\U	u.uFq�PNK	up	9gK(\V4kK5	p
128  pp	VU	u.uFq�PV
129  9gKV	NK	pp	VPRR
R7V# \P!4pEL;iuup	iuup	piuup	i)z<
130  Get a timeline of all events, optionally filtered by type.
131  r�)�limitrKrxr�r�rMrNr;rOr�c��VP#r�)rKr�s&r8r|�0UnifiedCorrelator.get_timeline.<locals>.<lambda>�s��!�+�+r7Tr�)rr�rr��get_recent_atomsr�r�r�r�r:rr/r]rRrJr�)rXr�rr�rr�ts_str�ts�tr��type_sets&&&        r8�get_timeline�UnifiedCorrelator.get_timelinejsd������)�*�"=�=�������4�4�3�4�?�I��]�]�;��3�F�
$��+�+�F�N�N�3��,C�D���{���M�M�,�+�6�6��#�-�-���3�!�
�
�i��4� �}�}�X�s�3�����v�r�2�3�
�
�@�(�5@�m�[��[k�Il�[k�VW�'�'�[k�Il�Dl�+�(��+�[�H�m�!'�D��A�<�<�8�+C�a�a��F�D�	���-�t��<��
��/
$��\�\�^��� Jm��m��Ds6�&F�
F(�F#�2F(�;F(�F.�(F.�F �#F()r�r�r�r�r�r�r�)�)r N)r'r(r)r*r+r�r�r�r�r�r�rr�r�rr6r`ras@r8r�r��sk�����>� D�-�7�7���&�&�PJ�J�X	C�	C���(�(�(r7r�c�$�V^8�dQhR\/#r?)r�)rDs"r8rFrF�s���� 1�r7c�Z�\f\4s\P4\#)z/Get or create the unified correlator singleton.)�_unified_correlatorr�r�r&r7r8�get_unified_correlatorr$�s%���"�/�1���!�!�#��r7�__main__z=== Unified Correlator ===
132  r�c�V�V^8�dQh/^\9d\\,;R&#)r@r#)�__conditional_annotations__r	r�)rDs"r8rFrFs&����h8�7�X�/�0�7�ir7)2r'r+�json�	threading�dataclassesrrrr�pathlibr�typingrrr	r
133  rr�collectionsr
�enumr�graph_integrationrrr�multi_source_correlatorrrrrr�rr�signal_wordsrrrr:rcr�r#r$r'r��
134  correlatorrr�r�rF)r's@r8�<module>r3s�����4��(�(��;�;�#��F�F�f�f�9�9�&�t�&�*�
135  �
136  ��
137  �<�E �E ��E �Pj�j�\48��7���z��	�
138  (�)�"�$�J�
�
*�
*�b�
*�
9�F�	�&�
139  �
140  �
141  ��
r7