# TutorClaw Phone Chat Implementation Checklist

## Purpose
This document turns the TutorClaw Phone and Alerts Plan into a staged implementation and build checklist. The goal is to safely verify, refine, and test the phone chat features without overbuilding, overpromising, or breaking the existing working Telegram bridge.

---

## Phase 1 — Documentation Alignment

*   `[x]` Align phone docs with TutorClaw.Live positioning.
*   `[x]` Remove old persona/branding references (e.g., removing "Chris" and "Guide Claw" from the guides).
*   `[x]` Confirm primary guide is [connect_tutorclaw_to_your_phone.md](./connect_tutorclaw_to_your_phone.md).
*   `[x]` Confirm legacy guide [connect_tutorclaw_phone.md](./connect_tutorclaw_phone.md) redirects instead of duplicating setup steps.
*   `[x]` Confirm routing in [help_index.json](./help_index.json).

---

## Phase 2 — Runtime Verification

*   `[ ]` Confirm [Start Phone Chat.bat](../Start%20Phone%20Chat.bat) launches setup automatically when `.env` is incomplete.
*   `[ ]` Confirm [scripts/telegram_setup_helper.py](../scripts/telegram_setup_helper.py) writes configuration keys safely.
*   `[ ]` Confirm [assistant/telegram_bridge.py](../assistant/telegram_bridge.py) ignores unauthorized users.
*   `[ ]` Confirm tokens are never printed in logs or terminal outputs.
*   `[ ]` Confirm `ALLOWED_TELEGRAM_USER_ID` whitelist check is strictly enforced.
*   `[ ]` Confirm [assistant/.telegram_offset.json](../assistant/.telegram_offset.json) prevents duplicate message processing.
*   `[ ]` Confirm `assistant/.telegram_offset.json` is excluded from final release packages.
*   `[ ]` Confirm `.env` is excluded from final release packages.
*   `[ ]` Confirm `.env.example` is included in release packages.

---

## Phase 3 — Beginner Shortcuts

*   `[ ]` Add `Stop Phone Chat.bat` to safely terminate the bridge process if feasible. (Currently: stop phone chat by closing the window or pressing Ctrl+C inside that window).
*   `[x]` Add `Restart Phone Chat.bat` if feasible.
    *   Wording check: “Use Restart Phone Chat.bat if phone chat seems stuck. Close any old phone chat window first.”
*   `[x]` Add `Test Phone Chat.bat` if feasible.
    *   Wording check: “Use Test Phone Chat.bat to send one safe test message to your approved phone account.”
*   `[x]` Add `Check Phone Chat Status.bat` if feasible.
    *   Wording check: “Use Check Phone Chat Status.bat to see whether phone chat appears configured.”
*   `[x]` Each shortcut uses plain-language messages.
*   `[x]` Each shortcut works from a double-click.
*   `[x]` Each shortcut does not expose tokens or private IDs.

---

## Phase 4 — Alerts v1

*   `[ ]` Add a basic computer alert test.
*   `[ ]` Add a basic phone alert test.
*   `[ ]` Keep all alerts optional (users can turn them off).
*   `[ ]` Avoid sensitive alert contents (do not send passwords, codes, or private details in alert bodies).
*   `[ ]` Do not claim SMS or voice calling features.
*   `[ ]` Do not claim perfect message delivery.
*   `[ ]` Make alert failures understandable (e.g., if a token is blocked or the bridge is offline).

---

## Phase 5 — QA

*   `[ ]` Test setup from a fresh install.
*   `[ ]` Test missing `.env`.
*   `[ ]` Test placeholder token.
*   `[ ]` Test wrong token.
*   `[ ]` Test missing user ID.
*   `[ ]` Test unauthorized Telegram user (confirm message is ignored and logged).
*   `[ ]` Test authorized Telegram user (confirm correct reply).
*   `[ ]` Test bridge restart.
*   `[ ]` Test stop shortcut (if added).
*   `[ ]` Test package does not include private `.env`.
*   `[ ]` Test package does not include `assistant/.telegram_offset.json`.
*   `[ ]` Test docs do not overpromise.

---

## Final Standard
A beginner should be able to understand what phone chat is, set it up safely, test it, stop it, and know what privacy limits apply.

---

## Do Not Build Yet
To prevent scope creep and maintain simplicity, do **NOT** build these features in the current phase:
- **No SMS:** Only messaging bridges (Telegram) are supported.
- **No voice calling:** Keep chat text-only.
- **No multi-user mode:** The bridge is for a single whitelisted owner only.
- **No always-on service installer:** Do not configure Windows Services or daemon background installers that run silently.
- **No sensitive alert contents:** Alerts should remain generic.
- **No automatic calendar/email alerts:** Do not trigger alert messages based on calendar or email data until those integrations are fully configured, secure, and user-approved.

