# Codex Communication And Notification Notes

Build note: created by Codex call sign "Golden Lamplighter" on 2026-05-26.

Sam asked Codex to figure out how to communicate back through Telegram, SMS, or
another available path, and to identify itself with a unique name.

## Current Finding

This repo does not contain a Telegram bot token, Telegram chat id, or Telegram
send script. The product notes in `docs/PARKED_FOR_LATER.md` say WhatsApp is
preferred over Telegram for the future product channel.

The live router does have a Sam-only SMS admin path:

- Admin command: `CC <text>`
- Location: `router/Code.js`
- Behavior: if an admin texts the LevSMS number with `CC <message>`, the router
  replies with a tagged "LevSMS update from Claude Code" message.
- Purpose from the code comments: a Claude-Code tagged ping when autonomous work
  completes.

That means the configured communication path is currently LevSMS SMS, not
Telegram.

## Call Sign

Use this identity when a Codex session leaves a completion ping:

Golden Lamplighter

Reason: it matches the LevSMS visual signature - the muted world and the warm
answer glow - without sounding like an official product name or a public user
feature.

## Completion Message Draft

If sending through the existing SMS admin path, use this text:

CC Golden Lamplighter finished the LevSMS world kit. Added docs/world with the
world bible, campaign atlas, art prompt pack, and notification notes. Added the
local visual portal at outputs/levsms-world/index.html. Start there.

If sending through Telegram later, use this text:

Golden Lamplighter here. I finished the LevSMS world kit: docs/world now has the
world bible, campaign atlas, art prompt pack, and communication notes. The local
visual portal is outputs/levsms-world/index.html.

## How Sam Can Trigger The Existing SMS Ping

From Sam's admin phone, text the LevSMS public number:

CC Golden Lamplighter finished the LevSMS world kit. Added docs/world and the
visual portal at outputs/levsms-world/index.html.

The reply should identify the sender as Claude Code and end with `~LevSMS`.

## Future Telegram Integration Sketch

Do not store Telegram secrets in this repo.

Required secrets in a deployment environment or Apps Script PropertiesService:

- `TELEGRAM_BOT_TOKEN`
- `TELEGRAM_CHAT_ID`

Minimal Apps Script helper, if Sam later chooses Telegram:

```javascript
function sendTelegramNotice_(text) {
  const props = PropertiesService.getScriptProperties();
  const token = props.getProperty('TELEGRAM_BOT_TOKEN');
  const chatId = props.getProperty('TELEGRAM_CHAT_ID');
  if (!token || !chatId) throw new Error('Missing Telegram properties');
  const url = 'https://api.telegram.org/bot' + token + '/sendMessage';
  UrlFetchApp.fetch(url, {
    method: 'post',
    payload: {
      chat_id: chatId,
      text: text,
      disable_web_page_preview: true
    },
    muteHttpExceptions: true
  });
}
```

Safety rules:

- Never commit tokens.
- Never expose Sam's chat id in public docs.
- Send only operational completion pings, not user data.
- If a ping includes paths, use repo-local paths only.
- Prefer the existing LevSMS SMS admin path until Telegram credentials exist.

