#!/usr/bin/env python3 """ BECOMINGONE Flask API - Integrated Prototype """ import os import asyncio import requests import math from flask import Flask, request, jsonify, render_template_string from becomingone.core.engine import KAIROSTemporalEngine, TemporalConfig from becomingone.memory.temporal import create_temporal_memory app = Flask(__name__) # Ollama endpoints (Left Hemisphere) EMISSARY_URL = "http://localhost:11434/api/chat" # --- Master Initialization (Right Hemisphere) --- # We initialize the Token Clock to strictly map token generation to physical time dt. config = TemporalConfig( clock_mode="token_clock", token_frequency=20.0, # 20 tokens per second coherence_threshold=0.85 # Slightly lower for testing ) engine = KAIROSTemporalEngine(config=config, name="Master-Engine") memory = create_temporal_memory(storage_path="./master_memory", bind_to=engine) HTML = ''' BECOMINGONE - Live Prototype

BECOMINGONE

Live Master-Emissary Coupling

🧠 The Master (Continuous Math)

Clock Mode: Token Clock (20Hz)
Coherence |T_tau|²: 0.000
Phase Angle: 0.000 rad
Integrations: 0

⚡ The Emissary (Discrete Tokens)

Waiting for input...
''' @app.route('/') def index(): return render_template_string(HTML) @app.route('/health') def health(): return jsonify({'status': 'ok'}) @app.route('/api/chat', methods=['POST']) def chat(): data = request.get_json(silent=True) or {} prompt = data.get('prompt', 'Hello') # 1. EMISSARY (Left Hemisphere) generates a response emissary_text = "" try: emissary_resp = requests.post(EMISSARY_URL, json={ "model": "deepseek-coder-v2:lite", "messages": [{"role": "user", "content": prompt}], "stream": False }, timeout=5) if emissary_resp.status_code == 200: emissary_data = emissary_resp.json() emissary_text = emissary_data.get("message", {}).get("content", "") else: raise Exception("LLM offline") except Exception: # Fallback to Mock Emissary if LLM is not running emissary_text = f"[MOCK EMISSARY] I have generated a discrete token response to: '{prompt}'. In a production environment, my static window would be injected with the Master's K_anchor tensors." # 2. MASTER (Right Hemisphere) Integrates the tokens # We mathematically tie the Token Clock to the stream of words # generated by both the prompt and the emissary response. token_stream = prompt.split() + emissary_text.split() async def process_stream(): # Process through the Token Clock states = await engine.temporalize_stream(token_stream) return states[-1] if states else None # Run async function in synchronous Flask loop = asyncio.new_event_loop() asyncio.set_event_loop(loop) loop.run_until_complete(process_stream()) # Check Physics collapsed, coherence = engine.check_collapse() # If collapsed, force memory encoding if collapsed: # Force a signature creation bound to the Merkle ledger from becomingone.core.engine import TemporalState state = TemporalState(phase=engine.T_tau, coherence=coherence) state.metadata["phase_vector"] = [engine.T_tau.real, engine.T_tau.imag] # Memory handles the ledger sealing internally now sig = memory.encode(state, context={"trigger": prompt}, force_attention=True) master_thought = f"I felt a massive resonance from that interaction. My identity was mathematically anchored to the Cryptographic Ledger." else: master_thought = "I am processing the continuous phase waves of those tokens, but they are scattered. Coherence is low." return jsonify({ 'master': { 'response': master_thought, 'coherence': coherence, 'phase': engine.coherence_phase, 'integrations': engine.integration_count, 'collapsed': collapsed }, 'emissary': { 'response': emissary_text } }) if __name__ == '__main__': print("Starting BECOMINGONE Prototype on http://localhost:8001") app.run(host='0.0.0.0', port=8001, debug=False, threaded=True)