#!/bin/bash
# API URL
API="http://localhost:18180/v1"

echo "🔥 Cognitive Firewall Demo: Real-time Truth Resolution"
echo "====================================================="

SUBJECT="Cognitive_Firewall_Test_$(date +%s)"
echo "Testing Subject: $SUBJECT"

# Generate dummy source hashes
SOURCE_HASH_FDA="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
SOURCE_HASH_REDDIT="bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"

echo "💉 Injecting Claim 1 (FDA): 'Safe'..."
curl -s -X POST "$API/assert" \
  -H "Content-Type: application/json" \
  -d '{ 
    "subject": "'$SUBJECT'",
    "predicate": "status",
    "object": {"type": "Text", "value": "Safe"},
    "source_hash": "'$SOURCE_HASH_FDA'",
    "source_class": "Regulatory",
    "confidence": 1.0,
    "signatures": [{"agent_id": "0000000000000000000000000000000000000000000000000000000000000000", "signature": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "timestamp": 0, "version": 1}]
  }' > /dev/null

echo "💉 Injecting Claim 2 (Reddit): 'Dangerous'..."
curl -s -X POST "$API/assert" \
  -H "Content-Type: application/json" \
  -d '{ 
    "subject": "'$SUBJECT'",
    "predicate": "status",
    "object": {"type": "Text", "value": "Dangerous"},
    "source_hash": "'$SOURCE_HASH_REDDIT'",
    "source_class": "Anecdotal",
    "confidence": 0.8,
    "signatures": [{"agent_id": "0000000000000000000000000000000000000000000000000000000000000000", "signature": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "timestamp": 0, "version": 1}]
  }' > /dev/null

echo "⏳ Waiting for Ingestion (Log -> KV)..."
for i in {1..10}; do
    echo -n "."
    sleep 2
    RESPONSE=$(curl -s -G "$API/query" \
      --data-urlencode "subject=$SUBJECT" \
      --data-urlencode "predicate=status" \
      --data-urlencode "lens=Skeptic")
    COUNT=$(echo "$RESPONSE" | jq -r '.total_count // 0')
    if [ "$COUNT" -gt 0 ]; then
        echo " Success!"
        break
    fi
done

CONFLICT=$(echo "$RESPONSE" | jq -r '.conflict_score // 0')

echo "-----------------------------------------------------"
echo "📊 Results:"
echo "   Assertions Found: $COUNT"
echo "   Conflict Score:   $CONFLICT"

if [ "$COUNT" -eq 0 ]; then
    echo "❌ ERROR: No assertions found after 20s."
elif (( $(echo "$CONFLICT > 0.5" | bc -l) )); then
    echo "🔴 RED ALERT: High Conflict Detected! Firewall Active."
else
    echo "🟢 GREEN: Consensus Reached."
fi
echo "-----------------------------------------------------"
