Repository navigation
feat(signals): make an inbox visit a trigger for the first activity summary - #133442
Conversation
…ummary A pair with no summary and an Inbox scene view in the window is now due with the inbox_visit trigger. These pairs fill a reserved inbox_visit_budget_share of each tick, paying organizations first, and the unused part goes back to the normal passes. The tick event reports due_inbox_visit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Generated-By: PostHog Desktop Task-Id: 140ef66d-0395-46af-bad4-ed5e1189095c
|
😎 Merged successfully - details. |
|
Risk: No findings This change makes an Inbox visit trigger the first activity summary for pairs with no summary, reserving a configurable share of each scheduler tick for them. It is an internal scheduler/config change with no new user-facing endpoint: the trigger subquery is correctly team- and user-scoped, the new budget share is clamped by the fail-closed config parser, and the existing per-day pair and cost caps plus skip backoff still bound any cost amplification. No security issues found. Sentinel reviewed |
🤖 CI report
|
| File | Comment lines | Added lines |
|---|---|---|
products/signals/backend/activity_summary/queue.py |
4 | 56 |
products/signals/backend/activity_summary/config.py |
1 | 3 |
This check does not block merging. It updates on every push and clears when the share drops.
|
/trunk merge |
Deploy status
This table shows the |
Problem
Closes #133426
Origin
Changes
inbox_visittrigger.inbox_visit_budget_share, default 0.2), paying organizations first. Unused slots go back to the normal passes.due_inbox_visit.Note
count_viewsis on in the live payload, so the trigger starts at deploy, inside the daily pair and cost caps.How did you test this code?
Test rationale: New view-trigger cases cover one Inbox visit, another scene, views off and an existing summary. A new tick test fails without the reserve, the paying-first order or the unused-share return.
Release status
Docs update
🤖 Agent context
Autonomy: Human-driven (agent-assisted)
Agent: Claude Code, Claude Opus 5.5 (
claude-opus-5-5)Skills:
/writing-tests,/writing-code-comments,/writing-pr-descriptionsMore context for AI agents
activity-summaryflag payload to confirmcount_viewsis on.inbox_visitis not a view trigger, because a pair with a summary never gets it again. The reserve appliesmax_org_shareto its own size. No duplicate open PR found.queue.pypasses 1000 lines (preflight size warning); a split belongs in its own PR via/splitting-oversized-modules._dueandselect_pairsinproducts/signals/backend/activity_summary/queue.py.Created with PostHog Desktop from an inbox report
🤖 Generated with Claude Code