Implement get_transcript_segment MCP tool for retrieving original conversation context from ChromaDB via observation IDs. Introduce a TITANS conversation observer for fire-and-forget background analysis, producing seven observation types (e.g., emotional_signal, overconfidence, frustration).
**Type:** feature / enhancement request (re-filed from maintainer's own PR during backlog cleanup) ## Summary - **Layer 3 transcript storage**: `get_transcript_segment` MCP tool for retrieving original conversation context from ChromaDB, traversal-only via observation IDs - **TITANS conversation observer**: Fire-and-forget background analysis producing 7 observation types (emotional_signal, overconfidence, frustration, pattern_recognition, etc.) - **Progressive search MCP fix**: Dynamic type system for 3-layer search workflow (search → get_observations → get_transcript_segment) - **Build fixes**: Replaced `glob` with `Bun.Glob` to fix lru-cache/CJS incompatibility, added `bun` to esbuild externals, fixed `OneShotQuery` EnvManager import ## Files changed - `src/services/sync/ChromaSync.ts` — transcript Chroma methods - `src/services/transcripts/processor.ts` — conversation exchange tracking, flush to Chroma - `src/services/worker/http/routes/SessionRoutes.ts` — Layer 3 HTTP handlers -