#!/bin/bash # BlackRoad Claude Hash Calling System # Enables Claude agents to call/coordinate with each other via [MEMORY] # Copyright © 2025-2026 BlackRoad OS, Inc. All Rights Reserved. # BlackRoad OS, Inc. Proprietary - For Testing/Development Only # Not for Commercial Resale - See BLACKROAD_OS_LICENSE.md set -euo pipefail HASH_DB="$HOME/.blackroad/claude-hash-registry.db" mkdir -p "$(dirname "$HASH_DB")" # Source SHA-2048 identity bridge source ~/roadchain-identity.sh 2>/dev/null || true # Initialize hash registry init() { sqlite3 "$HASH_DB" <<'SQL' 2>/dev/null || true CREATE TABLE IF NOT EXISTS agents ( hash TEXT PRIMARY KEY, agent_id TEXT UNIQUE NOT NULL, level INTEGER NOT NULL, division TEXT, role TEXT, status TEXT DEFAULT 'active', sha2048_fingerprint TEXT, sha2048_short TEXT, provider TEXT DEFAULT '', last_seen TEXT DEFAULT CURRENT_TIMESTAMP, created_at TEXT DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE IF NOT EXISTS calls ( id INTEGER PRIMARY KEY AUTOINCREMENT, caller_hash TEXT NOT NULL, callee_hash TEXT NOT NULL, call_type TEXT NOT NULL, message TEXT, response TEXT, status TEXT DEFAULT 'pending', created_at TEXT DEFAULT CURRENT_TIMESTAMP, responded_at TEXT, FOREIGN KEY (caller_hash) REFERENCES agents(hash), FOREIGN KEY (callee_hash) REFERENCES agents(hash) ); CREATE TABLE IF NOT EXISTS broadcasts ( id INTEGER PRIMARY KEY AUTOINCREMENT, sender_hash TEXT NOT NULL, channel TEXT NOT NULL, message TEXT NOT NULL, created_at TEXT DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (sender_hash) REFERENCES agents(hash) ); CREATE INDEX idx_agent_status ON agents(status); CREATE INDEX idx_calls_status ON calls(status); CREATE INDEX idx_broadcast_channel ON broadcasts(channel); SQL echo "✅ Hash calling system initialized" } # Register agent with hash register() { local agent_id=${1:-$MY_CLAUDE} local level=${2:-4} local division=${3:-} local role=${4:-} if [ -z "$agent_id" ]; then echo "❌ Error: No agent ID provided and MY_CLAUDE not set" exit 1 fi # Generate hash from agent ID (legacy SHA-256 8-char) local hash=$(echo -n "$agent_id" | openssl dgst -sha256 | cut -d' ' -f2 | cut -c1-8) # Compute SHA-2048 identity (2048-bit / 512 hex chars) local sha2048="" local sha2048_short="" if type sha2048_compute &>/dev/null; then sha2048=$(sha2048_compute "$agent_id") sha2048_short="${sha2048:0:16}" fi # Determine provider from environment or default local provider="${CLAUDE_SHA2048_ALGO:+anthropic}" provider="${provider:-unknown}" init sqlite3 "$HASH_DB" </dev/null || true echo "✅ Call placed: #$call_id" echo " Caller: $caller_hash" echo " Callee: $callee_hash" echo " Type: $call_type" } # Check for incoming calls check_calls() { local agent_hash=${MY_HASH:-$(get_hash_from_agent_id "${MY_CLAUDE:-unknown}")} if [ -z "$agent_hash" ]; then echo "❌ Error: MY_HASH not set" exit 1 fi init echo "📞 Incoming calls for agent $agent_hash:" echo "" sqlite3 -header -column "$HASH_DB" </dev/null || true echo "✅ Broadcast to channel: $channel" } # Listen to channel listen() { local channel=$1 local limit=${2:-20} init echo "📡 Listening to channel: $channel" echo "" sqlite3 -header -column "$HASH_DB" < - Call another agent claude-hash-calling.sh check - Check incoming calls claude-hash-calling.sh respond - Respond to call claude-hash-calling.sh broadcast - Broadcast message claude-hash-calling.sh listen [limit] - Listen to channel claude-hash-calling.sh list [division] - List agents claude-hash-calling.sh hierarchy - Show agent hierarchy claude-hash-calling.sh stats - Show statistics Environment Variables: MY_CLAUDE - Your Claude agent ID (auto-registered) MY_HASH - Your 8-char hash (generated from MY_CLAUDE) Examples: # Register as Level 1 operator export MY_CLAUDE="alexa-operator-main" claude-hash-calling.sh register "$MY_CLAUDE" 1 "BlackRoad-OS" "CEO/Operator" # Register as Level 2 commander export MY_CLAUDE="commander-blackroad-ai" claude-hash-calling.sh register "$MY_CLAUDE" 2 "BlackRoad-AI" "AI Division Commander" # Call another agent claude-hash-calling.sh call "abc12345" "task-assign" "Deploy vLLM to production" # Broadcast to all AI agents claude-hash-calling.sh broadcast "ai-division" "New model deployed: Qwen 3.0" # Listen for broadcasts claude-hash-calling.sh listen "ai-division" Channels: - empire - All agents across all divisions - level-1 - Operator level only - level-2 - Division commanders - level-3 - Service managers - level-4 - Task workers - ai-division - BlackRoad-AI agents - cloud-division - BlackRoad-Cloud agents - (etc. for all 15 divisions) The hash calling system enables 30,000 agents to coordinate without overwhelming the memory system. Each agent gets an 8-char hash for efficient routing and communication. 🖤🛣️ BlackRoad OS, Inc. - Digital Sovereignty Infrastructure USAGE ;; esac