View on GitHub

campaign-mode

Work with a party of AI advisors with genuinely different perspectives.

SPEC-CM-012-A: Conversation Transcript Protocol

Field Value
Specification ID SPEC-CM-012-A
Parent ADR ADR-CM-019
Version 1.1
Status Draft
Last Updated 2026-02-23

Overview

This specification defines the protocol for recording full verbatim conversation transcripts during Campaign Mode sessions. Every agent consultation produces a transcript file in .campaign/conversations/, preserving the complete exchange for future reference across sessions.


Directory & Naming

Directory

.campaign/conversations/

Created on first use via mkdir -p .campaign/conversations/.

Filename Format

{YYYY-MM-DD}-{HH-MM}-{agent}.md
{YYYY-MM-DD}-{HH-MM}-{agent}({profile-name}).md

Agent Values

Valid agent identifiers for filenames:

Agent Filename Value
Bear bear
Cat cat
Owl owl
Puppy puppy
Rabbit rabbit
Wolf wolf
Gandalf gandalf
Guardian guardian
Dragon dragon
Council council

Example Filenames

2026-02-18-14-32-cat.md                         (no profile)
2026-02-18-14-32-cat(eeyore).md                  (Hundred Acre Wood profile)
2026-02-18-15-10-owl(the-sage).md                (Fantasy profile)
2026-02-18-16-00-guardian(kanga).md               (Hundred Acre Wood profile)
2026-02-19-09-15-gandalf.md                      (no profile)
2026-02-19-09-15-gandalf(christopher-robin).md   (Hundred Acre Wood profile)

Transcript File Format

---
agent: cat
profile-name: Rogue
phase: 3
campaign-mode: Grow & Ship
date: 2026-02-18T14:32:00
---

## Conversation Transcript

### Context
Quest: {quest name}
Consultation purpose: {e.g., Phase 3 advisory, Guardian checkpoint, Dragon confrontation}

### Exchange
**User:** {verbatim user message}

**🐱 Rogue:** {verbatim agent response}

**User:** {verbatim user message}

**🐱 Rogue:** {verbatim agent response}

{...continue for every message in the conversation — no omissions, no summaries...}

### Outcome
{Verdict, recommendation, action items — if applicable}

Frontmatter Fields

Field Type Required Description
agent String Yes Archetype identifier (lowercase) — matches filename
profile-name String No Assigned profile name, if a profile exists. Omit if no profile is assigned.
phase Integer (1–6) Yes Current campaign phase at time of conversation
campaign-mode String Yes One of Grow, Ship, or Grow & Ship
date DateTime (ISO 8601) Yes Timestamp of conversation start

Body Sections

Section Description Required
Context Quest name and consultation purpose Yes
Exchange Full verbatim exchange with speaker tags — every message, every word, no summarisation, no condensing, no omissions Yes
Outcome Verdict, recommendation, or action items Only if applicable (e.g., Guardian verdict, Dragon verdict, specific recommendations)

Speaker Tags in Exchange

Use the same speaker identification format as the agent’s normal responses. If the agent’s profile has an emoji field, use the profile emoji instead of the archetype default:


Write Protocol

Every agent follows this protocol at the end of each consultation:

  1. Ensure directory exists: Use Bash to run mkdir -p .campaign/conversations/
  2. Construct filename: Use the agent’s archetype name and the current date/time in the format {YYYY-MM-DD}-{HH-MM}-{agent}.md. If a profile exists, append the profile’s skin-name in round brackets (lowercase, hyphens for spaces): {YYYY-MM-DD}-{HH-MM}-{agent}({profile-name}).md
  3. Construct transcript: Build the full transcript from the conversation, including frontmatter, context, verbatim exchange, and outcome (if applicable). Verbatim means verbatim — every message from both user and agent must appear exactly as it occurred. Do not summarise, condense, paraphrase, or omit any part of the exchange. If the conversation was long, the transcript is long.
  4. Write file: Use the Write tool to create the file in .campaign/conversations/
  5. Do silently: Do not mention the transcript to the user. Do not break character to perform this step. This is a background housekeeping task.

Isolation Rules for Transcript Access

Context isolation (ADR-CM-003, SPEC-CM-003-A) applies to transcript files. Transcripts contain party reasoning, advisory context, and internal discussion — exactly the kind of information that evaluators must not access.

Agent Can Write Own Transcript Can Read Other Transcripts
Animals (Bear, Cat, Owl, Puppy, Rabbit, Wolf) Yes Yes
Gandalf Yes Yes
Guardian Yes No — transcripts contain party reasoning
Dragon Yes No — transcripts contain party reasoning + advisory context
Council Yes Yes

Enforcement


When Each Agent Writes

Agent Trigger Timing
Animal (Phase 3) End of consultation Before presenting Next Perspective options
Gandalf (Phase 1) End of quest definition Before Phase 2/3 transition
Gandalf (mid-campaign) End of strategic counsel Before presenting transition options
Gandalf (Phase 5 prep) End of readiness review Before Dragon transition options
Guardian End of checkpoint After verdict + quest.md update, before transition options
Dragon End of confrontation After verdict + quest.md update, before transition options
Council End of council session After council report write, before transition options

Spec ID Title Relationship
SPEC-CM-006-B Campaign State Directory Defines the .campaign/ directory that contains the conversations/ subdirectory
SPEC-CM-003-A Context Isolation Protocol Isolation rules that govern transcript read access
SPEC-CM-010-A Proactive Party Engagement Animals write transcripts before Next Perspective options

Changelog

Version Date Author Changes
1.0 2026-02-18 Chris Barlow Initial specification
1.1 2026-02-23 Chris Barlow Speaker tags use profile emoji when available. Filename convention appends profile name in round brackets when a profile exists.