Symptom
The stock showcase seed assigns tasks to ada@example.com / linus@example.com / sam@example.com, which are not sys_user rows and resolve verbatim to non-users. A stock reassignment through the notify path therefore lands a sys_inbox_message row that nobody can read (its user_id is a non-resolving email). The runner had to sign up real personas and use their emails instead to test the notify path at all.
Root cause
examples/app-showcase/src/data/seed/index.ts seeds task assignee / owner as bare email strings (e.g. ~line 161 assignee: 'sam@example.com', ~lines 159-160 ada@example.com) that never correspond to sys_user records. Split from the run's "Notes worth keeping" #1 as a real defect: the stock action (reassignment) produces a persisted-but-unreadable inbox row. Fix at the seed (assign to real seeded users); the notify/assignment path additionally not validating that an assignee resolves to a real user before creating the inbox row is a related, arguably deeper gap worth considering (packages/services).
Stale-premise check: present on origin/main (seed still assigns the non-user emails).
Reproduction
- Boot the stock showcase and let the seed run.
- Reassign a seeded task to its seeded
assignee email (e.g. ada@example.com) through the notify path.
- Look for the resulting
sys_inbox_message, then try to read it as any real user.
Expected: the assignee resolves to a real user who can read the inbox row (or the assignment is refused). Actual: an inbox row is written keyed to a non-resolving email that no authenticated user can read.
Source
Extracted from the QA run #7690 (framework 92f26f7, console 09987b680).
Symptom
The stock showcase seed assigns tasks to
ada@example.com/linus@example.com/sam@example.com, which are notsys_userrows and resolve verbatim to non-users. A stock reassignment through the notify path therefore lands asys_inbox_messagerow that nobody can read (itsuser_idis a non-resolving email). The runner had to sign up real personas and use their emails instead to test the notify path at all.Root cause
examples/app-showcase/src/data/seed/index.tsseeds taskassignee/owneras bare email strings (e.g. ~line 161assignee: 'sam@example.com', ~lines 159-160ada@example.com) that never correspond tosys_userrecords. Split from the run's "Notes worth keeping" #1 as a real defect: the stock action (reassignment) produces a persisted-but-unreadable inbox row. Fix at the seed (assign to real seeded users); the notify/assignment path additionally not validating that an assignee resolves to a real user before creating the inbox row is a related, arguably deeper gap worth considering (packages/services).Stale-premise check: present on
origin/main(seed still assigns the non-user emails).Reproduction
assigneeemail (e.g.ada@example.com) through the notify path.sys_inbox_message, then try to read it as any real user.Expected: the assignee resolves to a real user who can read the inbox row (or the assignment is refused). Actual: an inbox row is written keyed to a non-resolving email that no authenticated user can read.
Source
Extracted from the QA run #7690 (framework 92f26f7, console 09987b680).