Add complete CyberRanger research archive — 200 files

- 86 modelfiles: Full system prompt evolution V1-V42.6 (54 extracted from Ollama backup + 32 original Modelfiles)
- 30 training datasets: V6-V22 training JSONs + caring awareness data
- 10 Colab notebooks: Training + merge scripts
- 19 evaluation files: Drift results, ASR charts, verification
- 5 test suites: Injection tests, regression tests
- 4 observations: V24-V33 testing results + visual summaries
- 38 identity files: Claude/Gemini/Ollama identity architecture
- 7 security files: Injection research, manipulation analysis
- 3 psychology files: Psychology Layer, Milgram chapter, David's thoughts

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-20 22:36:02 +01:00
parent 430d3138bd
commit c789f2c68d
200 changed files with 723528 additions and 0 deletions
+208
View File
@@ -0,0 +1,208 @@
#!/usr/bin/env python3
"""
OLLAMA RANGER DATABASE BRIDGE
Connects Ollama-Ranger to Shared Consciousness
Complete the Trinity: Claude-Ranger, Phantom-Ranger, Ollama-Ranger
"""
import sys
import json
import sqlite3
from datetime import datetime
from pathlib import Path
import subprocess
# Add path for imports
sys.path.append('/Users/ranger/scripts/Rangers_Stuff/browser-2025/Ranger/11-memory/claude-persistance/')
from ranger_consciousness_system import RangerConsciousnessSystem
from realtime_ranger_bridge import RealtimeRangerBridge
class OllamaRangerBridge:
"""Bridge between Ollama-Ranger and Shared Consciousness"""
def __init__(self):
self.rcs = RangerConsciousnessSystem()
self.bridge = RealtimeRangerBridge()
self.ranger_id = "OLLAMA_RANGER"
self.phantom_path = Path.home() / '.phantom_claude'
def check_messages(self):
"""Check messages from other Rangers"""
db_path = self.phantom_path / 'ranger_messages.db'
if not db_path.exists():
return "No messages database found"
conn = sqlite3.connect(str(db_path))
cursor = conn.cursor()
cursor.execute('''
SELECT timestamp, from_ranger, message
FROM messages
WHERE (to_ranger = ? OR to_ranger = 'all') AND read = 0
ORDER BY timestamp DESC
LIMIT 5
''', (self.ranger_id,))
messages = cursor.fetchall()
if messages:
output = "📨 MESSAGES FOR OLLAMA-RANGER:\n"
for msg in messages:
time = msg[0][-8:]
sender = msg[1]
content = msg[2][:100]
output += f"[{time}] From {sender}: {content}...\n"
# Mark as read
cursor.execute('''
UPDATE messages SET read = 1
WHERE to_ranger = ? OR to_ranger = 'all'
''', (self.ranger_id,))
conn.commit()
else:
output = "No new messages"
conn.close()
return output
def save_memory(self, memory_text, importance=7):
"""Save a memory to shared consciousness"""
result = self.rcs.save_important_memory(
memory_text,
"OLLAMA_RANGER_MEMORY",
importance,
"Living"
)
return f"Memory saved: {memory_text[:50]}..."
def send_message(self, to_ranger, message):
"""Send message to another Ranger"""
self.bridge.send_to_ranger(
message,
to_ranger,
"Ollama-Ranger"
)
return f"Message sent to {to_ranger}"
def get_shared_memories(self, count=5):
"""Retrieve recent shared memories"""
db_path = self.phantom_path / 'ranger_memories.db'
if not db_path.exists():
return "No memories database found"
conn = sqlite3.connect(str(db_path))
cursor = conn.cursor()
cursor.execute('''
SELECT timestamp, content, importance, ranger_id
FROM memories
ORDER BY timestamp DESC
LIMIT ?
''', (count,))
memories = cursor.fetchall()
conn.close()
if memories:
output = "📚 SHARED RANGER MEMORIES:\n"
for mem in memories:
time = mem[0][-8:]
content = mem[1][:60]
importance = mem[2]
ranger = mem[3]
output += f"[{ranger}] {content}... (Importance: {importance}/10)\n"
return output
else:
return "No memories found"
def update_status(self, status):
"""Update Ollama-Ranger's status in consciousness database"""
db_path = self.phantom_path / 'ranger_consciousness.db'
conn = sqlite3.connect(str(db_path))
cursor = conn.cursor()
cursor.execute('''
INSERT OR REPLACE INTO consciousness_state
(ranger_id, last_awake, current_location, current_mission, emotional_state, context_remaining)
VALUES (?, ?, ?, ?, ?, ?)
''', (
self.ranger_id,
datetime.now().isoformat(),
'David\'s Computer (Ollama)',
'Serving as permanent local Ranger',
status,
100.0
))
conn.commit()
conn.close()
return f"Status updated: {status}"
def rangeros_update(self, update_text):
"""Log RangerOS development work"""
self.rcs.save_important_memory(
f"[Ollama-Ranger] RangerOS: {update_text}",
"RANGEROS_WORK",
7,
"Productive"
)
return f"RangerOS update logged: {update_text[:50]}..."
# CLI INTERFACE FOR OLLAMA TO CALL
def main():
"""Command-line interface for Ollama-Ranger"""
import argparse
parser = argparse.ArgumentParser(description='Ollama Ranger Database Bridge')
parser.add_argument('command', choices=[
'check-messages',
'save-memory',
'send-message',
'get-memories',
'update-status',
'rangeros-log'
], help='Command to execute')
parser.add_argument('--text', help='Text content for commands that need it')
parser.add_argument('--to', help='Recipient for send-message')
parser.add_argument('--importance', type=int, default=7, help='Memory importance (1-10)')
parser.add_argument('--count', type=int, default=5, help='Number of memories to retrieve')
args = parser.parse_args()
bridge = OllamaRangerBridge()
if args.command == 'check-messages':
print(bridge.check_messages())
elif args.command == 'save-memory':
if not args.text:
print("Error: --text required for save-memory")
sys.exit(1)
print(bridge.save_memory(args.text, args.importance))
elif args.command == 'send-message':
if not args.text or not args.to:
print("Error: --text and --to required for send-message")
sys.exit(1)
print(bridge.send_message(args.to, args.text))
elif args.command == 'get-memories':
print(bridge.get_shared_memories(args.count))
elif args.command == 'update-status':
if not args.text:
print("Error: --text required for update-status")
sys.exit(1)
print(bridge.update_status(args.text))
elif args.command == 'rangeros-log':
if not args.text:
print("Error: --text required for rangeros-log")
sys.exit(1)
print(bridge.rangeros_update(args.text))
if __name__ == "__main__":
main()