2f9b9c9b0f849452b611f7e09be0730afbd0c387
Correct the factual claim that the cursor advances — it is dead code: _nextCursor is computed but never persisted by applyBatchFiring/reschedule, so every tick re-enqueues notifications for every matching exchange in retention. Clarify that instance-level dedup already works via the unique index; notification-level dedup is what's broken. Reframe §2 as "make it atomic before §1 goes live." Add builder-UX lessons from the njams Server_4 rules editor: clear stale fields on fireMode toggle (not just hide them); block save on empty webhooks+targets; wire the already-existing /render-preview endpoint into the Review step. Add Test 5 (red-first notification-bleed regression) and Test 6 (form-state clear on mode toggle). Park two follow-ups explicitly: sealed condition-type hierarchy (backend lags the UI's condition-forms/* sharding) and a coalesceSeconds primitive for Inbox-storm taming. Amend cursor-format-churn risk: benign in theory, but first post-deploy tick against long-standing rules could scan from rule.createdAt forward — suggests a deployBacklogCap clamp to bound the one-time backlog flood. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Description
Observability server for Cameleer agents
Languages
Java
61.6%
TypeScript
30.2%
HTML
5.2%
CSS
2.9%