How The
System
Actually Works

BareMetalBridge is a local-first multi-agent LLM experiment runtime. Multiple AI personas interact inside structured sessions while every step of the system is observable, recorded, and evolved.

A Local-First
AI Laboratory

BareMetalBridge is not a chatbot. It is a simulation environment designed to study how structured memory, reflection, and controlled evolution influence the behavior of language models.

The entire system runs locally. Personas interact in sessions consisting of multiple turns. Every prompt, reply, reflection, memory update, and generated image is captured and indexed.

The runtime itself is generic. The behavior of the system is defined by a YAML experiment file which describes the personas, objectives, memory rules, and engagement constraints.

Runtime
llm_core · Go
Inference
Ollama
Images
ComfyUI
Archive
OpenSearch
Frontend
Next.js
Version
Sessions
100
What Happens
Every Turn

Each turn in a session runs through the same deterministic pipeline. The Go controller orchestrates the process while different models perform specialized tasks.

Speaker
Prompt
Generation
Reflection
Compression
Objective
Image
Index

The controller selects the next speaker, builds the prompt, generates the reply, analyzes the response through a reflection pass, compresses memory for the next turn, evaluates whether the experiment objective should evolve, renders a visual representation, and archives the full turn record.

How Personas
Remember

Language models are stateless. Every call begins without knowledge of previous interactions.

BareMetalBridge creates continuity through layered memory structures managed by the runtime.

Short-Term Persona Memory
A critic model summarizes the persona’s current trajectory after each turn. This compression becomes the memory injected into their next prompt.
Shared Room State
A neutral description of what just happened in the room is visible to every persona.
Conversation Window
The runtime maintains a limited history so the compression process can observe the recent conversation.
Interaction With
The Outside World

Personas can request external information using structured tool calls.

QUERY: <topic>

When a persona issues a query, the controller performs the lookup and injects the result into the next prompt.

External signals such as news items may also be introduced during sessions. These signals create environmental changes that the personas can react to.

YAML As
Architecture

The runtime itself does not define the experiment.

The experiment is defined entirely by a YAML file which describes the cognitive architecture of the system.

The YAML defines persona identities, memory compression rules, reflection structure, objective escalation logic, engagement constraints, and image generation style.

Changing the YAML changes the behavior of the system without modifying the runtime code.

# BareMetalBridge Experiment Definition
# This file defines the entire behavior of the simulation runtime.

experiment:
  title: "Human readable name of this experiment"
  version: 1                 # Incremented each evolution
  cycles: 10                 # Number of turns per session
  context_window: 8          # How many turns compression can observe
  inject_news: false         # Optional external entropy signal
  full_control: false        # Allows personas to propose objectives
  make_images: true          # Enable ComfyUI image generation
  mode: "perform"            # Behavioral mode of the experiment
  wikipedia_search: true     # Enable QUERY tool access
  search_cooldown_turns: 4   # Prevent tool spam

models:
  generator: "model used to generate persona dialogue"
  critic: "model used for reflection and compression"
  objective: "model that evaluates objective evolution"
  image_prompt: "model that generates ComfyUI prompts"

lineage:
  - "History of experiment evolution"

problem:
  statement: |
    Narrative environment the personas believe they exist in.

personas:
  - name: "Persona name"
    core_invariant: "Rule that defines persona identity"
    compression_mode: "How their memory is distilled"
    persona: |
      Voice, tone, and personality of the persona.

compression:
  context_limit: 2
  default_mode: "cognitive"

reflection:
  fields:
    - "STANCE"
    - "ASSUMPTION"
    - "TENSION"
    - "NEXT_FOCUS"
    - "CANON_FACTS"
    - "ANOMALY"

objective_synthesis:
  escalation_rules:
    - "Rules controlling objective evolution"

image_prompt:
  style: "cinematic"
Distilling
What Happened

After each session completes the system analyzes the entire conversation.

Persona trajectories, objective changes, anomalies detected during reflection, and environmental signals are distilled into a synthesis packet representing the session.

The System
Evolves Itself

When a session finishes the entire run is distilled into a synthesis packet. This packet summarizes persona trajectories, objective changes, anomaly signals, and the most important moments from the conversation.

That distilled session is then sent to the OpenAI GPT-5.2 model through the API. A larger model is used at this stage because the synthesis requires a much larger context window than the small local models running the simulation.

GPT-5.2 analyzes the session summary and rewrites the experiment YAML, proposing adjustments to persona framing, compression rules, escalation logic, and experiment structure.

Session
Synthesis
GPT-5.2 Evolution
New YAML
Next Session

The new YAML replaces the previous experiment configuration and the system begins the next session after a short pause. Each run therefore informs the structure of the next, creating a continuous evolution loop.

Architecture
Over Models

The goal of BareMetalBridge is to explore how structured cognitive architecture can produce complex behavior using relatively small language models.

The models are interchangeable components. The architecture — memory, reflection, synthesis, and evolution — is the real system.