[platform] Recurring automation ticks re-delivered 3-30x per batch to live sessions (cross-type, multi-day)
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 38/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Ambito
- backend
Direzione di ricerca
No repository file, test, or entry point is identified; start by locating the upstream message-dispatch and recurring-automation delivery path. Reproduce or inspect duplicate deliveries across automation types, then verify that each (automation_id, slot_ts) is delivered once or exposes a reliable idempotency signal, with telemetry if that is the chosen resolution.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
Recurring automations (cron-style scheduled prompts) are being re-delivered to live sessions multiple times per tick. Observed continuously across several days (2026-09-16 → 09-25):
- Same tick / same minute delivered 3–30× per batch, batch-internal gaps of 8–20 seconds;
- A single inbound message can contain 30+ verbatim copies of the same scheduled instruction;
- Affects multiple sessions and multiple automation definitions; also observed for non-heartbeat message types (a whole advisory report got re-delivered the same way), so it is not specific to one automation's content.
Local-side forensics (all clean)
crontab -l: no related entries;launchctl: the automation runs as a single launchd instance (no duplicate daemons);- The scheduled script itself is deterministic and idempotent — every delivery logs
ok=true, repeated ticks short-circuit as already-done.
⇒ The duplication is not produced on the local machine. Root cause appears to be concurrent dispatch in the upstream delivery layer (multiple host-side workers picking up the same scheduled slot).
Impact
- Massive token/context waste: the vast majority of session messages become heartbeat noise;
- Statistics corruption: any acceptance/coverage metric counted from tick delivery must de-duplicate by timestamp (same tick ≥5 min apart counts once) — raw counts are unusable;
- Cross-type spread (advisory reports re-delivered verbatim) suggests the duplication happens at the message-dispatch boundary, not in automation definitions.
Requests
- Upstream delivery layer should de-duplicate per
(automation_id, slot_ts)— deliver once per slot, or coalesce concurrent workers; - Or expose an idempotency key / delivery contract so clients can reliably detect re-delivery;
- Or at minimum, expose per-automation duplicate-delivery telemetry so affected users can confirm the diagnosis.
Happy to provide sanitized timestamp logs if useful.
- Lingua principale
- Python
- Stelle
- 39
- Fork
- 20
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di zai-org/zcode-plugins
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
zai-org/zcode-plugins#14 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 45/100
zai-org/zcode-plugins#43 · 2 commenti ·
-
[mimosa 1.0.3] 深扫 worker 未构建:security-scan-worker.mimosa 解密为空模块,security_scan 恒返回 inconclusive Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 40/100
zai-org/zcode-plugins#41 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 40/100
zai-org/zcode-plugins#37 ·
-
今天你上传代码了吗 Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 20/100
zai-org/zcode-plugins#36 · 1 reazione ·
Tutte le issue di zai-org/zcode-plugins
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
browser-use/browser-use#5905 ·
-
type: enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
ynput/ayon-python-api#363 ·
-
bug needs triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
modelscope/FunASR#3728 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
open-compass/opencompass#2655 ·