You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
remove(plugin-audit): drop kernel-built-in assignment notifications (#3403)
Deciding that an owner/assignee change warrants a bell is a business
policy, not a platform default. The kernel notifier guessed "who is the
assignee" from field names (owner_id, assigned_to, …), which misfired on
system records like sys_file and spammed users with "…assigned to you"
noise on file uploads (#3402).
Removes writeAssignmentNotifications, the OWNER_FIELDS heuristic, and the
messages.assignedToYou translation key (en/zh-CN/ja-JP/es-ES) plus the two
assignment test cases; adds a regression test asserting no collab.assignment
emit on an owner-field write. Assignment notifications now live in user-space
automation (record-after-update + a notify node); see the
showcase_task_assigned_notify flow.
Unaffected: sys_audit_log / sys_activity capture; @mention notifications
(collab.mention); service-messaging owner_of: audience + DEFAULT_OWNER_FIELDS
(a separate, caller-requested mechanism — comment updated). Design docs get a
deprecation note (history not rewritten). Changeset carries the FROM→TO
migration.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: docs/design/notification-platform-convergence.md
+8Lines changed: 8 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,6 +19,14 @@
19
19
20
20
> **Single ingress.** Every producer calls `NotificationService.emit(...)`. **No producer writes a per-user inbox/materialization row directly.** The in-app inbox is a *materialization of delivery*.
21
21
22
+
> **⚠️ Superseded (framework#3403, 2026-07):** the **assignment** notifier described
23
+
> throughout this doc was *removed* from the kernel, not merely re-routed. Deciding
24
+
> that an owner/assignee change warrants a bell is a business policy; the field-name
25
+
> heuristic (`owner_id` et al.) misfired on system records like `sys_file`
26
+
> (framework#3402). Assignment notifications are now user-space automation (a
27
+
> `record-after-update` trigger + a `notify` node). The `@mention` convergence below
28
+
> still stands. Assignment mentions in the sections that follow are historical.
29
+
22
30
Current violations to remove:
23
31
-`plugin-audit/src/audit-writers.ts` writes `sys_notification` directly (`@mention`, assignment) — re-route to `emit()`.
24
32
-`service-messaging` inbox channel writes `sys_inbox_message` directly from the `notify` node — keep the channel, but it must run **after** the pipeline (event → resolve → deliver), not as the producer.
0 commit comments