View on GitHub

campaign-mode

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

ADR-CM-019: Conversation Transcript Recording

Field Value
Decision ID ADR-CM-019
Type Standard ADR
Initiative Campaign Mode
Proposed By Chris Barlow
Date 2026-02-18
Status Accepted

WH(Y) Decision Statement

In the context of Campaign Mode conversations being ephemeral — when a session ends, everything discussed with agents is lost, and the Progress Log in quest.md captures only milestone summaries (e.g., “Guardian checkpoint — Approved”), not the reasoning, advice, or discussion that led there,

facing the problem that users cannot review what was discussed with specific agents, trace how thinking evolved across animal consultations, or recall detailed feedback from previous sessions,

we decided for per-session transcript files in .campaign/conversations/, written silently by each agent at the end of every consultation, with one file per conversation session using date-first filenames for chronological sorting,

and neglected (a) summary-only logs (user wants verbatim records, not compressed summaries), (b) a single chronological log file (unbounded growth as campaigns progress), (c) per-agent append files (individual files grow large over many sessions, making it hard to find specific conversations),

to achieve full verbatim conversation history that persists across sessions, enabling users to review past advice, trace reasoning evolution, and pick up context from previous consultations without relying on memory or the brief Progress Log entries,

accepting that transcript files add storage to .campaign/, agents must perform a silent write operation at the end of every consultation, and context isolation rules (ADR-CM-003) must be carefully maintained — Guardian and Dragon write their own transcripts but must NOT read any, as party reasoning remains off-limits to independent evaluators.


Context

Campaign Mode conversations are ephemeral. When a Claude Code session ends, everything discussed with agents is lost. The Progress Log in .campaign/quest.md captures only milestone summaries — phase transitions, Guardian verdicts, Dragon confrontations — but not the reasoning, advice, or discussion that produced those milestones.

This creates several problems:

The solution is automatic transcript recording: every agent consultation produces a full verbatim transcript saved to .campaign/conversations/. One file per conversation session, written silently by the agent at the end of each consultation.

Critical constraint: Context isolation (ADR-CM-003) must be preserved. Guardian and Dragon write their own transcripts but must NOT read any — party reasoning remains off-limits to independent evaluators.

Options Considered

Option 1: Per-Session Transcript Files (Selected)

One file per conversation session in .campaign/conversations/, named with date-first format ({YYYY-MM-DD}-{HH-MM}-{agent}.md, or {YYYY-MM-DD}-{HH-MM}-{agent}({profile-name}).md when a profile exists) for chronological sorting.

Pros:

Cons:

Option 2: Summary-Only Logs (Rejected)

Write condensed summaries instead of verbatim transcripts.

Why rejected: The user wants verbatim records. The Progress Log already provides summaries. The value of transcripts is in preserving the full exchange — the exact advice, the exact questions, the exact reasoning.

Option 3: Single Chronological Log File (Rejected)

Append all conversations to a single .campaign/conversation-log.md file.

Why rejected: Unbounded growth. A long campaign with many animal consultations, Guardian checkpoints, and Gandalf sessions would produce a file that becomes unwieldy to read or search. File-per-session keeps each record manageable.

Option 4: Per-Agent Append Files (Rejected)

One file per agent (e.g., .campaign/conversations/cat.md) that grows over time.

Why rejected: Individual files grow large over many sessions. Finding a specific conversation requires scrolling through the entire file. The per-session approach makes each conversation independently addressable.


Specifications

Spec ID Title Description
SPEC-CM-012-A Conversation Transcript Protocol Directory structure, file format, write protocol, isolation rules, per-agent timing

Dependencies

Relationship ADR ID Title Notes
Extends ADR-CM-010 Quest State Tracking Adds conversation history alongside the Progress Log in quest.md
Extends ADR-CM-003 NPC Context Isolation Transcripts follow the same isolation rules — Guardian and Dragon must not read them

References

Reference ID Title Type Location
REF-001 Campaign State Directory Specification SPEC-CM-006-B
REF-002 Context Isolation Protocol Specification SPEC-CM-003-A

Governance

Review Board Date Outcome Action Review Cadence Next Review
Quarterly

Status History

Status Approver Date
Proposed Chris Barlow 2026-02-18
Accepted Chris Barlow 2026-02-18