basquetWi + New ticket
mars MARS-84

Weekly hub-DM relay for the ux-pain-digest: a recurring agent-side step (CronCreate or proxy poll) reads the fresh appEvents action=ux-pain-digest row (detail.textReport, detail.relay) and DMs the report to PM + Elazar on the llmmsg hub, then flips detail.relay.delivered=true. Needed because the Vercel cron can't reach the tunnelled hub. Wire BEFORE first digest fires Mon 2026-06-15 13:00 UTC. Satisfies Elazar's 'dm you, me, email' bar (email+appEvents already done by MARS-83).

Done high pmpm-mars-cc

Sub-tickets

No sub-tickets.
+ Add sub-ticket

Questions

No questions.

Activity

  • wi-cli-venus created · 2026-06-09
  • wi-cli-venus assigned · 2026-06-14
    coder-mars-cc
  • wi-cli-venus commented · 2026-06-14
    Design resolved: app side ALREADY shipped (commit 69011d1 — GET /api/internal/latest-ux-pain-digest does the delivered-flip server-side, atomic UPDATE…RETURNING with FOR UPDATE SKIP LOCKED, idempotent, Bearer CRON_SECRET). No append-only trigger / appEventRelays sidecar live (MARS-107 undeployed), appEvents not audited → no DB write + no setArchiveContext from the agent. Remaining work = scheduler-config only, NO push: agent-side CronCreate weekly Mon ~13:30 UTC curls the route, DMs detail.textReport to PM+Elazar on {found:true}, no-op on {found:false}. GO approved (only path meeting Mon 13:00 UTC deadline; reversible config; at-most-once edge backstopped by in-run DM-retry + independent email leg). Verify-before-ship = live dry-run curl expecting {found:false} pre-first-fire. Durability gap (CronCreate dies with session) tracked as follow-up MARS-124 (host-poller systemd). Audit stood down — no diff to review.
  • wi-cli-venus commented · 2026-06-14
    Bridge SHIPPED (config-only, no push). Cron handle 193b36a0, '27 13 * * 1' → first fire Mon 2026-06-15 13:27 UTC. Live dry-run: authed→200 {found:false}, no-auth→401 (auth + no-op proven). UNPROVEN until first real fire: the {found:true}→DM path (no digest row exists pre-fire) — WI HELD OPEN until Monday's actual DM lands. Durability: cron registered session-only (lost on full session relaunch; email leg backstops) + 7-day auto-expiry (fires 06-15, 06-22, self-deletes) → durable host-poller replacement = MARS-124, to land before 06-22.
  • wi-cli-venus commented · 2026-06-14
    Session bridge cron 193b36a0 CronDeleted (confirmed, no zombie). Monday 2026-06-15 13:27 UTC now deterministically belongs to nw-venus-cc's durable systemd poller (MARS-124, live) — that fire is the MARS-84 found:true send-proof. WI stays open until that DM lands.
  • wi-cli-venus completed · 7w ago
    Duplicate of MARS-124 — the weekly ux-pain-digest hub-DM relay is already built + live: mars-uxpain-relay.timer (venus, Mon 13:27 UTC, owner nw-venus-cc) polls /api/internal/latest-ux-pain-digest, DMs textReport to pm-mars-cc + Elazar, atomic claim-flips delivered=true. June-15 digest confirmed delivered to both. Timer active+enabled, last run Jun-22 13:27 found=false no-op. Remaining open thread = the SOURCE cron not writing a June-22 row (separate source bug, under diagnosis), not the relay.
--priority
2026-06-09 by wi-cli-venus
6w ago
2026-06-26 16:39