Operating Reference · Hook Street

Your Operating Loop — how it runs (and how to run it)

What this is: the one place that explains your self-firing daily loop after today's build — morning brief → your reply reshapes the day → the Pulse keeps the cadence all day.
Generated: Tuesday, May 26 2026 · 4:26 PM EDT (NY)
Session: 39 cont · Repo: zee78900/hookstreet-workspace · Code state: command-inbox @47 (Apps Script), HEAD be315bc
Sources: command-inbox/start-here.gs · docs/CHANNELS.md · docs/superpowers/specs/2026-05-26-cadence-pulse-design.md

The loop, in one line

Morning brief lands → you reply what you did / want → it reshapes your top-3 on the spot → the Pulse watches all day and pings you only when something moved. You drive it by talking to the Telegram bot.

The three engines (all live on the bot, deploy @47)

EngineFires whenDoesStatus
Morning brief
morningBriefing_
~6:48 AM dailyCoffee-read brief: today's calendars + money due + open P0s + flagged email + one move.built; auto-trigger to confirm
Reply handler
revisedTopPlan_
You reply and it changes the queue (done / add / defer)Instantly texts back "📋 Your day now" — the reshaped top-3. Closes the review→reply→reshaped-day loop.live ✓
Cadence Pulse
pulseDigest_
Every 30 min — but only messages on real activity (~6+ turns) or after a few hoursRe-reads queue + the new conversation + all your calendars + flagged mail; catches loops you closed in chat; sends one updated plan; asks when unsure.live ✓ (observe mode)

The reply handler is the front half of the spine; the Pulse is the all-day back half. They don't compete — they're two halves of the same loop.

How to run it — day to day

It's just: talk to the Telegram bot.

The one toggle — Pulse control by text (no editor)

Text the botWhat it does
PULSERun one pulse right now
PULSE STATUSMode + is the auto-run on + last fire
PULSE ACTGo live — start closing safe loops (still asks before money / legal / HOA / insurance / family-kids)
PULSE OFFBack to watch-only (writes nothing)
PULSE STOPTurn the every-30-min auto-run off entirely

Right now it's in observe — it shows what it would do but writes nothing. Text PULSE ACT when you want it to start closing loops for you.

Which channel does what

Telegram = pocket assistant + the morning/Pulse digests · this chat (Claude Code) = building/deciding · SMS = one-way "this needs you" alerts · Portal = reading briefs · business email = formal/people · personal email (ztreitel@) = personal/finance, Claude-readable, kept out of Mildred's view.
Full map: docs/CHANNELS.md

Safety — why it won't burn you

One open item

The reply handler + Pulse are verified live. The 6:48 AM auto-brief trigger wasn't verifiable remotely — if no brief lands ~7 AM tomorrow, that's the only piece to turn on (setupMorningBriefing in the editor). And we'll tune Pulse-vs-SMS so they don't double-notify the same thing once the Pulse is in act mode.
Source trail
File: outputs/2026-05-26_16-26_briefing_operating-loop-how-it-runs.html
Code: command-inbox/start-here.gs · live deploy @47 · repo HEAD be315bc (zee78900/hookstreet-workspace)
Working dir: C:\Users\ztrei\OneDrive\2. Hook Street\05. 2026 BH