docs(02): capture phase context
Phase 02: Telegram Integration - Implementation decisions documented - Phase boundary established
This commit is contained in:
parent
03aaf64cff
commit
fedceab560
1 changed files with 72 additions and 0 deletions
72
.planning/phases/02-telegram-integration/02-CONTEXT.md
Normal file
72
.planning/phases/02-telegram-integration/02-CONTEXT.md
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
# Phase 2: Telegram Integration - Context
|
||||
|
||||
**Gathered:** 2026-02-04
|
||||
**Status:** Ready for planning
|
||||
|
||||
<domain>
|
||||
## Phase Boundary
|
||||
|
||||
Bidirectional messaging between Telegram and Claude Code with file support and status feedback. User sends messages/files in Telegram, Claude processes via persistent JSON-streamed subprocess, and responds with natural language summaries. Typing indicators and tool call notifications provide progress visibility.
|
||||
|
||||
Lifecycle management (idle timeout, suspend/resume) is Phase 3. Output mode switching (verbose/smart) is Phase 4.
|
||||
|
||||
</domain>
|
||||
|
||||
<decisions>
|
||||
## Implementation Decisions
|
||||
|
||||
### Conversation persistence
|
||||
- Use JSON streaming to Claude Code so conversations don't cold start for every message
|
||||
- Maintain persistent process per session rather than spawning fresh `claude -p` each turn
|
||||
- This is a key architectural shift from Phase 1's fresh-process-per-turn model
|
||||
|
||||
### Response formatting
|
||||
- Use Telegram's native MarkdownV2 for formatting (bold, italic, code, links)
|
||||
- Claude should communicate in natural language about what it did — no raw code in responses
|
||||
- Telegram is a mobile-first, on-the-go interface — responses should be concise summaries of work done, not code dumps
|
||||
- Long responses split at smart boundaries (paragraph/code block breaks) — never break mid-code-block or mid-sentence
|
||||
|
||||
### Progress feedback
|
||||
- Tool call notifications include tool name + target (e.g., "Reading config.json...", "Running npm test...")
|
||||
- No timeout as long as there is progress — Claude Code tasks can legitimately take a while
|
||||
|
||||
### Claude's Discretion
|
||||
- Whether to show typing indicator only vs typing + status messages while working
|
||||
- Whether to send periodic progress updates on long tasks (2+ min) or just wait for completion
|
||||
- Whether tool call notifications edit a single message in-place or appear as separate messages
|
||||
- Whether multi-part responses come as one consolidated message or multiple messages
|
||||
- Error message verbosity and format
|
||||
|
||||
### File handling
|
||||
- Photos: save to session folder AND auto-analyze (describe what's in the image immediately)
|
||||
- Documents/files: save directly to the session's working directory so Claude can reference them
|
||||
- Claude can send files back to user as Telegram attachments when appropriate (scripts, logs, configs)
|
||||
- Files sent without message text: infer intent from conversation context rather than asking
|
||||
|
||||
### Error & edge cases
|
||||
- No active session + message: prompt user to create one ("No active session. Use /new <name> to start one")
|
||||
- Rapid sequential messages: batch into a single prompt before sending to Claude
|
||||
- No hard timeout — as long as progress is happening, let Claude work
|
||||
|
||||
</decisions>
|
||||
|
||||
<specifics>
|
||||
## Specific Ideas
|
||||
|
||||
- "Telegram is used from a phone when I'm on the move — Claude should focus on doing the work and notifying me how it was solved and what was solved, without showing me code — use natural language"
|
||||
- JSON streaming to avoid cold starts was explicitly called out as essential
|
||||
- Batching rapid messages avoids wasting turns on partial thoughts
|
||||
|
||||
</specifics>
|
||||
|
||||
<deferred>
|
||||
## Deferred Ideas
|
||||
|
||||
None — discussion stayed within phase scope
|
||||
|
||||
</deferred>
|
||||
|
||||
---
|
||||
|
||||
*Phase: 02-telegram-integration*
|
||||
*Context gathered: 2026-02-04*
|
||||
Loading…
Add table
Reference in a new issue