# Multi-Agent Dialogue

A research instrument for generating realistic multi-character conversations using a **method-actor** architecture: stable actor agents, swappable character data, situation-defined scenes.

## What's here

```
methodology/   — how to write character profiles, scenes, and orchestrate dialogues
actor/         — the stable system prompt all actors read at spawn
characters/    — the character library (profile.md + journal.md per slug)
scenes/        — situation briefings (where, when, who, why)
experiments/   — outputs from dialogue runs (transcripts, event logs, viewers)
lib/           — orchestration code (when implementation lands)
```

Each character is pure data. The actor that inhabits them is a separately-spawned agent with no access to other characters' files. A coordinator routes messages between actors and records the result.

## To run a dialogue (planned interface)

1. Write or pick two characters under `characters/`.
2. Write a scene briefing under `scenes/`.
3. Invoke the coordinator with both characters and the scene.
4. Watch the dialogue in the 4-window viewer, or read the transcript afterward.

## Why this architecture

Single-agent multi-character generation (one LLM writing every speaker in a conversation) produces predictable contamination patterns: speakers echo each other, second speakers default to chorus-confirmation, characters "know" what other characters are fishing for, profile data leaks into spoken lines, every response is suspiciously well-formed.

This project tests whether structural isolation — one actor per character, no shared context, coordinated by a non-generating routing agent — eliminates these patterns. If yes, the architecture becomes infrastructure for any multi-character dialogue research.

## Status

Scaffolding stage. Methodology, actor spec, and templates in place. No characters or scenes yet. No coordinator implementation yet.

See `CLAUDE.md` for project-level conventions and design principles.
