Feed model: interest follows the assignment relation; notes are pure appends

Worker delivery is now a read-time feed over its slice (assigned ∪ filed) — send-backs, comment answers, reassignments, cancels, and acceptance all arrive through one relation; per-event recipient addressing retired.
Reassignment delivers before interest ends; a new assignee replays the item's story. Detail pane gains Add a note (never changes state); external pending/consume become space-scoped feed calls.
This commit is contained in:
Rohit C Prasad
2026-08-17 16:05:16 -07:00
committed by Rohit P
parent f26e01c1b6
commit aafb4f4291
15 changed files with 305 additions and 98 deletions
+7 -3
View File
@@ -313,10 +313,14 @@ def test_pending_and_consume_over_the_wire(api):
)
item = lead.create_item("proj", title="Queued", criteria="c")
lead.assign("proj", item["id"], "nia")
events = nia.pending()
events = nia.pending("proj")
assert events and events[-1]["kind"] == "item_assigned"
nia.consume(events[-1]["seq"])
assert nia.pending() == []
nia.consume("proj", events[-1]["seq"])
assert nia.pending("proj") == []
# a comment ANSWER arrives through the same feed — no addressing anywhere
lead.comment("proj", item["id"], "start with the v2 endpoint")
follow = nia.pending("proj")
assert [e["kind"] for e in follow] == ["item_commented"]
# ------------------------------------------------------------------ attachments