Cluster layer semantic rename: audio → transcripts
Renames the `audio` source concept to `transcripts` across the entire
cluster layer, muse configs, importers, CLI, and formatters. The cluster
layer now has three cognitive source types: transcripts (primary narrative),
screen (visual context), and agents (prior analytical outputs).
Key changes:
- cluster.py: sources param/return key `audio` → `transcripts`, expanded
file loading to include *_transcript.jsonl, *_transcript.md, imported.md
- Contextual cluster headers via _transcript_header() — stream name informs
the header (e.g. "ChatGPT Conversation" for import.chatgpt)
- All 23 muse agent configs: sources.audio → sources.transcripts
- muse.py defaults: audio → transcripts
- write_segment(): writes conversation_transcript.jsonl
- write_markdown_segments(): accepts filename param — ICS writes
event_transcript.md, Obsidian writes note_transcript.md, Kindle writes
highlights_transcript.md
- formatters.py: new patterns for *_transcript.* files (legacy patterns kept)
- journal_stats.py: audio_sessions → transcript_sessions, etc.
- CLI: --transcripts flag (--audio kept as hidden alias)
- Full backward compat for legacy on-disk files (audio.jsonl,
imported_audio.jsonl, imported.md)
Fixes import visibility bug: markdown imports (ICS, Obsidian, Kindle) are
now loadable by dream agents via the *_transcript.md glob.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>