1  �
   2  
   3  aK�jI%�
   4  ��SrSSKrSSKrSSKrSSKrSSKrSSKr\RRS\RRS5(aSOM\RR\RR\RR\55S55rSrSrSrSS	jrSS
   5  jrSSjrS
   6  r\S:XGaG\"\R25S:�a#\R2SS:Xa\"5 \"S5 g\"\R25S:�a@\R2SS:Xa-\"\R2S5r\"\R8"\SS95 g\"\R25S:�a�\R2SS:Xa\"5r\R=5r\RAS5 \RC5Sr"\RAS5 \RC5Sr#\RI5 \"S\"S\#S35 g\"5 \"S5 gg)z�
   7  Graph-Weighted Memory Engine for Distributed Cognitive Cluster
   8  Implements Dynamic Edge Reinforcement, Decay, and Spreading Activation
   9  �N�GRAPH_MEMORY_DBz'/var/neural_memory/data/graph_memory.dbz.graph_memory_cache.dbc��[R"[5nURS5 URS5 [RUlU$)NzPRAGMA journal_mode = WAL;zPRAGMA foreign_keys = ON;)�sqlite3�connect�DB_PATH�execute�Row�row_factory)�conns �,/Users/shubhamsharma/project/graph_engine.py�get_dbr
  10  s;���?�?�7�#�D��L�L�-�.��L�L�,�-��{�{�D���K�c��[5nUR5nURS5 UR5 UR	5 g)Na�
  11      CREATE TABLE IF NOT EXISTS graph_nodes (
  12          id TEXT PRIMARY KEY,
  13          label TEXT NOT NULL,
  14          entity_type TEXT NOT NULL,
  15          content TEXT NOT NULL,
  16          embedding BLOB,
  17          importance_score REAL DEFAULT 0.50,
  18          access_count INTEGER DEFAULT 1,
  19          created_at TEXT NOT NULL,
  20          last_accessed_at TEXT NOT NULL
  21      );
  22  
  23      CREATE TABLE IF NOT EXISTS graph_edges (
  24          source_id TEXT NOT NULL,
  25          target_id TEXT NOT NULL,
  26          relation TEXT NOT NULL,
  27          weight REAL DEFAULT 0.80,
  28          confidence REAL DEFAULT 1.00,
  29          last_reinforced_at TEXT NOT NULL,
  30          decay_rate REAL DEFAULT 0.005,
  31          PRIMARY KEY (source_id, target_id, relation),
  32          FOREIGN KEY (source_id) REFERENCES graph_nodes(id) ON DELETE CASCADE,
  33          FOREIGN KEY (target_id) REFERENCES graph_nodes(id) ON DELETE CASCADE
  34      );
  35  
  36      CREATE TABLE IF NOT EXISTS graph_episodes (
  37          id INTEGER PRIMARY KEY AUTOINCREMENT,
  38          title TEXT NOT NULL,
  39          context TEXT NOT NULL,
  40          actions TEXT NOT NULL,
  41          outcome TEXT NOT NULL,
  42          root_node_id TEXT,
  43          timestamp TEXT NOT NULL,
  44          FOREIGN KEY (root_node_id) REFERENCES graph_nodes(id) ON DELETE SET NULL
  45      );
  46  
  47      CREATE TABLE IF NOT EXISTS graph_skills (
  48          name TEXT PRIMARY KEY,
  49          trigger_pattern TEXT NOT NULL,
  50          command_template TEXT NOT NULL,
  51          description TEXT NOT NULL,
  52          associated_node_id TEXT,
  53          FOREIGN KEY (associated_node_id) REFERENCES graph_nodes(id) ON DELETE SET NULL
  54      );
  55  
  56      CREATE INDEX IF NOT EXISTS idx_nodes_type ON graph_nodes(entity_type);
  57      CREATE INDEX IF NOT EXISTS idx_edges_source ON graph_edges(source_id);
  58      CREATE INDEX IF NOT EXISTS idx_edges_target ON graph_edges(target_id);
  59      )r
  60  �cursor�
  61  executescript�commit�close)r�cs  r�init_dbrs:���8�D����
  62  �A��O�O�1�1	�d	�K�K�M��J�J�Lrc��[RR[RR5R	5$)N)�datetime�now�timezone�utc�	isoformat�rr�now_isorRs.����� � ��!2�!2�!6�!6�7�A�A�C�Crc
  63  ��[5nUR5n[5nURSXX#XGU45 UR	5 UR5 g)Na�
  64      INSERT INTO graph_nodes (id, label, entity_type, content, importance_score, access_count, created_at, last_accessed_at)
  65      VALUES (?, ?, ?, ?, ?, 1, ?, ?)
  66      ON CONFLICT(id) DO UPDATE SET
  67          label=excluded.label,
  68          entity_type=excluded.entity_type,
  69          content=excluded.content,
  70          importance_score=excluded.importance_score,
  71          access_count=access_count+1,
  72          last_accessed_at=excluded.last_accessed_at;
  73      �r
  74  rrrrr)�node_id�label�entity_type�content�
  75  importancerr�ts        r�add_noder&UsO���8�D����
  76  �A��	�A��I�I�
  77  ��+�
  78  �q�	A�
  79  C�	�K�K�M��J�J�Lrc	��[5nUR5n[5nURSXX#XG45 UR	5 UR5 g)Na&
  80      INSERT INTO graph_edges (source_id, target_id, relation, weight, confidence, last_reinforced_at)
  81      VALUES (?, ?, ?, ?, ?, ?)
  82      ON CONFLICT(source_id, target_id, relation) DO UPDATE SET
  83          weight=MIN(1.0, weight + 0.15),
  84          last_reinforced_at=excluded.last_reinforced_at;
  85      r)�	source_id�	target_id�relation�weight�
  86  confidencerrr%s        r�add_edger-gsM���8�D����
  87  �A��	�A��I�I����*�	@�
  88  B�	�K�K�M��J�J�Lr�c
  89  �\�[5nUR5n0n/nUSS4/nU(a�URS5up�nX�;a
  90  XiU
  91  :�aM*X�U	'URS[	5U	45 X�:�aMQURSU	45 UR5Hfup�nX�-U-nX�:�dMUR
  92  X�U[US5S.5 UR
  93  X�US-45 URS[	5X�U
  94  45 Mh U(aM�UR5 /n[UR5S	S
  95  S9H]unn
  96  URSU45 UR5nU(dM2[U5n[U
  97  S5US
  98  'UR
  99  U5 M_ UR5 UUS.$)N��?rzQUPDATE graph_nodes SET access_count=access_count+1, last_accessed_at=? WHERE id=?zESELECT target_id, relation, weight FROM graph_edges WHERE source_id=?�)�from�rel�tor+�zzUPDATE graph_edges SET weight=MIN(1.0, weight+0.05), last_reinforced_at=? WHERE source_id=? AND target_id=? AND relation=?c��US$)Nr5r)�xs r�<lambda>�#spread_activation.<locals>.<lambda>�s��1�Q�4rT)�key�reversezTSELECT id, label, entity_type, content, importance_score FROM graph_nodes WHERE id=?�activation_energy)�nodes�edges)r
 100  r�poprr�fetchall�append�roundr�sorted�items�fetchone�dictr)�seed_id�	max_depth�decay�	thresholdrr�
 101  visited_nodes�
 102  visited_edges�queue�curr_id�energy�depthr)r3r+�next_energy�
 103  nodes_data�nid�row�ds                    r�spread_activationrVus����8�D����
 104  �A��M��M��s�A�
 105  ��E�
 106  �!&���1������#�
 107  �(>�&�(H��!'�g��	
 108  �	�	�e�ho�hq�sz�g{�|����	�	�	�Y�\c�[e�f�&'�j�j�l�"�I�F� �/�E�1�K��'��$�$�g��^c�dj�lm�^n�%o�p����i�e�a�i�@�A��	�	�W�"�9�g�#�>�@�
 109  '3��%�,	�K�K�M��J��m�1�1�3��QU�V���V�	�	�	�h�kn�jp�q��j�j�l���3��S�	�A�%*�6�1�%5�A�!�"����a� �
 110  W�	�J�J�L��-�8�8rc��[5 /SQnUHupp4n[XX4U5 M /SQnUHupxp�[XxX�5 M g)N))�node_masterzApple Silicon Mac (Master)�hostzFPrimary cognitive controller, runs DeepSeek-R1 inference on Metal GPU.r0)�	node_dellz"Dell Inspiron 3521 (Tactical Body)rYzN24/7 headless execution worker, persistent memory anchor, mass storage server.r0)�vol_ssdzInternal ADATA SSD (/dev/sda3)�storagez;146 GB ext4, root OS volume and L1 hot memory graph anchor.�ffffff�?)�vol_d_drivez&Protected Personal Drive D (/dev/sda5)r\zO77.1 GB NTFS, contains critical non-recoverable operator data. ROE-01 Enforced.r0)�vol_hdd1zMass Storage HDD 1 (/dev/sdb1)r\zC931.5 GB NTFS mounted at /mnt/hdd1 (L2 warm semantic vector store).��������?)�vol_hdd2zMass Storage HDD 2 (/dev/sdc1)r\zD931.5 GB Mass storage mounted at /mnt/hdd2 (L3 cold archival vault).r`)�
 111  hw_gpu_amdzAMD Radeon HD 8730M�hardwarezKDiscrete GPU with 2GB VRAM, driver amdgpu, render node /dev/dri/renderD129.�333333�?)�hw_gpu_intelzIntel HD Graphics 4000rczFIntegrated display core, driver i915, render node /dev/dri/renderD128.gffffff�?)�hw_cpuzIntel Core i5-3337Urcz2Ivy Bridge, 2C/4T, 1.80-2.70GHz, AVX, VT-x active.rd)�
 112  rule_roe01zROE-01: Sanctity of Drive D�policyz]Under no circumstances may /dev/sda5 be modified, partitioned, or written to. Read-only only.r0)�
 113  rule_caffeinez"Power: Permanent Caffeinate Policyrhz[Systemd sleep, suspend, and hibernate targets masked to /dev/null; wifi powersave disabled.r])�skill_caffeinate�
 114  caffeinate�skillzTsudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.targetr`)�skill_test_gpu�test_gpurlz3cat /sys/class/drm/card1/device/mem_info_vram_total皙�����?)�picoclaw_daemonzPicoClaw Gateway�agentzIUltra-lightweight Go agent daemon running 24/7 in under 10MB RAM on Dell.r])
 115  )rXrZ�COMMANDSr0)rZr[�CONTAINSr0)rZr^�PROTECTSr0)rZr_�MOUNTSr])rZrarur])rZrbrsr])rZrersro)rZrfrsr])rZrp�HOSTSr0)rgr^�GOVERNSr0)rirZrtr0)rjri�
 116  IMPLEMENTSr])rmrb�AUDITSr`)rr&r-)r=rS�lbl�etype�cnt�impr>�sr%�r�ws           r�
 117  seed_baseliner��sN���I�
 118  �E� &+�!��%�c���5�s�+�&+�
 119  �E��
 120  ��a���q��r�__main__r5�seed�#GRAPH_MEMORY_INITIALIZED_AND_SEEDED�query)�indent�statusz!SELECT COUNT(*) FROM graph_nodes;z!SELECT COUNT(*) FROM graph_edges;zGraph Status: z Nodes, z Edges�GRAPH_DB_VERIFIED)g�?)ror0)r.g�?g�?)%�__doc__rr�math�sys�os�json�environ�get�path�exists�join�dirname�abspath�__file__rr
 121  rrr&r-rVr��__name__�len�argv�print�subgraph�dumpsrrrrrE�nn�nerrrr�<module>r�s�������
 122  �	��
 123  �*�*�.�.��13�����@i�1j�1j�-�	�����b�g�g�o�o�b�g�g�o�o�h�&?�@�BZ�	[����6�pD��$�+9�Z'�R�z��
 124  �3�8�8�}�q��S�X�X�a�[�F�2���
 125  �3�4�	�S�X�X���	�s�x�x��{�g�5�$�S�X�X�a�[�1��
 126  �d�j�j��!�,�-�	�S�X�X���	�s�x�x��{�h�6��x���K�K�M��	�	�	�5�6�
 127  �Z�Z�\�!�_��	�	�	�5�6�
 128  �Z�Z�\�!�_���
 129  �
 130  ��
 131  ��r�d�(�2�$�f�5�6��	�
 132  �!�"�%r