- Task dependencies (blocked-by) โ load-bearing project-mgmt primitiveUntil rev 36 a task could be steered four ways (priority, due, pin, assignee) but couldn't say 'I can't start until X is done.' The pulse engine's selectNextTask now skips any task whose declared blockers aren't all status=done; the dashboard surfaces a ๐ Blocked by N ยท M done pill in the active-work card and a picker that lets operators wire up to 8 blocker tasks per dependent without leaving the queue. Plain JSONB (no FK) so a deleted blocker degrades gracefully to 'blocker missing' rather than orphaning the dependent. New PUT /api/tasks/:id/blockers endpoint.
- Source bulk operations (close five-entity bulk symmetry)Outputs got bulk approve/archive in rev 6; tasks in rev 26; signals in rev 33; memory in rev 34. Sources was the last surface without bulk. Operators with noisy LinkedIn / RSS bridges that flooded the workspace previously had to pause/remove sources one click at a time. Rev 36 closes the gap with a checkbox row + Pause / Resume / Remove bulk action bar (renders when 3+ sources exist). Capped at 50 IDs. New POST /api/sources/bulk + matching POST /api/v1/sources/bulk so the upcoming MCP server inherits the surface.
- Workspace digest preview buttonThe daily digest cron is fire-once-and-forget โ operators previously had no way to verify their digest content (rev-25 personalised assignee section, rev-31 personal mentions section) without waiting for the next 13:15 UTC run. Rev 36 adds a 'Send test digest' button to the integrations panel that delivers the same payload the cron would, but bypasses the per-workspace 22h interval gate so admins can iterate on configuration. Owner/admin-only at the route layer to prevent viewer abuse.
- Comment count + unacked-mention badges in /api/v1/tasksRev 35 surfaced commentCount + unackedSelfMentions inline in the dashboard task card; rev 36 mirrors the same projection in the v1 task list endpoint. Each row now carries commentCount and unackedSelfMentionsByUser (a per-user-id map) so MCP-host task-list tools can localise the 'this task has an active conversation' / 'an @-mention is waiting for X' cues without reparsing the comments JSONB themselves. Foundation for the upcoming MCP server's task list tool.
- Task-card priority colour accent + visual hierarchy refreshThe active-work task card has accumulated 12+ pills + 5 affordance rows over 34 revs. Until rev 36 every card looked the same and operators had to parse every pill to triage. Rev 36 adds a priority-driven left-border accent โ urgent โ red, high โ amber, normal โ no accent, low โ muted โ so an operator scanning the queue can triage by colour at a glance. Pinned tasks still win via specificity. Closes the rev 35 named follow-up.