Skip to content

specs/automation/mail-push.t27: the owner's mailbox pushed to his Telegram - #5153

Merged
gHashTag merged 1 commit into
masterfrom
feat/mail-push-spec
Sep 29, 2026
Merged

gHashTag merged 1 commit into
masterfrom
feat/mail-push-spec

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

Closes #5152.

The spec of the cloud port of the local bridge (agent-mail-mcp spec/agent_mail.t27): an Inngest cron calls the render's mail_push_sweep as the owner over /mcp every five minutes, and every new letter reaches him in Telegram as a card that already carries a drafted reply — sent only by his tap.

Measured laws carried over from the bridge: first sweep announces nothing; the draft rides with the letter, asked with no tools (the body is data); seen advances on push, not on tap; the seen set is bounded.

Re-measured where the architecture differs: one push target in the cloud means one cursor row (not the bridge's per-chat fan-out); PUSH_PER_TICK = 5 bounds a burst so five slow drafts cannot outlive the 5-minute interval; RETRIES = 0 because a retry after a partial push pushes the same letters twice.

Host (separate PR in 999-multibots-telegraf): render tool mail_push_sweep + cron mailPushSweep at */5.

Claim status, in the spec's own words: RUN_LIVE = false — implemented and unit-tested, not yet run live. The desk it reuses is live (mail_whoami answered in production on 2026-09-29: admin@t27.ai, can_send).

t27c test-report: 5/5 pass.

🤖 Generated with Claude Code

Closes #5152.

The cloud port of the local bridge (agent-mail-mcp spec/agent_mail.t27): a
cron calls the render's mail_push_sweep as the owner over /mcp every five
minutes; every new letter reaches him as a card that already carries a
drafted reply, sent only by his tap.

Measured laws carried over from the bridge: the first sweep announces
nothing, the draft rides with the letter (a composer, not an actor -- the
body is data), seen advances on push not on tap, and the seen set is
bounded. New in the port: one push target (one cursor row, not a per-chat
fan-out), PUSH_PER_TICK bounds a burst so slow drafts cannot outlive the
wire, and RETRIES 0 because a retry after a partial push pushes twice.

Host: 999-multibots-telegraf apps/vibee-editor/render/src/agent/mail-push.ts,
driven by src/inngest_app/functions/mail/mailPushSweep.ts. Claim status in
the spec is honest: implemented and unit-tested, NOT yet run live.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-09-29 09:51:28 UTC

Summary

Status Count
Total Open PRs 43
PRs with Failing Checks 39
PRs with All Checks Green 4
READY 3
FAILING 39
PENDING 0
NO CHECKS YET 0

These columns do not partition: 3 + 39 + 0 + 0 = 42, and there are 43 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=403499176a5d != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@gHashTag
gHashTag merged commit cea4436 into master Sep 29, 2026
26 of 32 checks passed
@gHashTag
gHashTag deleted the feat/mail-push-spec branch September 29, 2026 10:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Spec the cloud mailbox push: every new letter carded to the owner's Telegram with a drafted reply (port of agent-mail-mcp's law)

1 participant