Files
Lucas Berger f330097906 docs(01): create phase plan
Phase 01: Foundation
- 2 plan(s) in 2 wave(s)
- Wave 1: Workflow setup (has human action checkpoint)
- Wave 2: Verification (human verify checkpoints)
- Ready for execution

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 18:47:27 -05:00

123 lines
3.6 KiB
Markdown

---
phase: 01-foundation
plan: 02
type: execute
wave: 2
depends_on: ["01-01"]
files_modified: []
autonomous: false
must_haves:
truths:
- "Message sent to bot receives echo response"
- "Echo includes original message text"
- "Echo includes processing timestamp"
- "Different Telegram user receives no response"
artifacts: []
key_links:
- from: "User Telegram message"
to: "n8n workflow"
via: "Telegram webhook"
- from: "n8n workflow"
to: "User Telegram"
via: "Telegram Bot API sendMessage"
---
<objective>
Import the workflow into n8n and verify end-to-end Telegram communication works.
Purpose: Confirm the foundation is solid before building Docker features on top.
Output: Verified working bot that echoes messages to authorized user only.
</objective>
<execution_context>
@/home/luc/.claude/get-shit-done/workflows/execute-plan.md
@/home/luc/.claude/get-shit-done/templates/summary.md
</execution_context>
<context>
@.planning/PROJECT.md
@.planning/phases/01-foundation/01-01-SUMMARY.md
@n8n-workflow.json
</context>
<tasks>
<task type="checkpoint:human-action" gate="blocking">
<name>Task 1: Import and Activate Workflow in n8n</name>
<action>
Import the workflow JSON into n8n:
1. Open n8n UI
2. Go to Workflows -> Import from File
3. Select `n8n-workflow.json` from the project
4. Review the imported workflow
5. Ensure Telegram credential is selected in Telegram nodes
6. Activate the workflow (toggle on)
</action>
<resume-signal>Type "activated" when workflow is imported and active in n8n</resume-signal>
</task>
<task type="checkpoint:human-verify" gate="blocking">
<name>Task 2: Verify Authorized User Echo</name>
<what-built>Telegram bot that echoes messages back with timestamp</what-built>
<how-to-verify>
1. Open Telegram
2. Find your bot (search for the username you created)
3. Send a test message: "Hello bot!"
4. Verify you receive a response like:
```
Got: Hello bot!
Processed: 2026-01-28T12:34:56.789Z
```
5. The timestamp should be within seconds of when you sent the message
6. Try another message to confirm consistency
</how-to-verify>
<resume-signal>Type "working" if echo works correctly, or describe any issues</resume-signal>
</task>
<task type="checkpoint:human-verify" gate="blocking">
<name>Task 3: Verify Unauthorized User Blocked</name>
<what-built>Silent ignore for unauthorized Telegram users</what-built>
<how-to-verify>
**Option A (if you have another device/account):**
1. From a different Telegram account, send a message to the bot
2. Verify NO response is received (bot appears offline)
3. Wait 30 seconds to confirm silence
**Option B (if only one account):**
1. Temporarily change TELEGRAM_USER_ID in n8n to a wrong value
2. Restart n8n
3. Send a message to the bot
4. Verify NO response
5. Restore correct TELEGRAM_USER_ID
6. Restart n8n
7. Verify echo works again
The bot should give no indication it received the message from unauthorized users.
</how-to-verify>
<resume-signal>Type "secure" if unauthorized users are blocked, or describe any issues</resume-signal>
</task>
</tasks>
<verification>
1. Workflow imported and active in n8n
2. Authorized user receives echo with timestamp
3. Unauthorized user receives no response
4. Bot responds within a few seconds
</verification>
<success_criteria>
- Telegram message to bot receives echo response
- Echo includes original message and timestamp
- Unauthorized users get silent ignore (no response)
- REQ-01 (send/receive messages) validated
- REQ-09 (user ID auth) validated
</success_criteria>
<output>
After completion, create `.planning/phases/01-foundation/01-02-SUMMARY.md`
</output>