Notifications

Who hears what.

When someone changes a task's people, pull requests or status from the card, a suggestion or the standup, Cade posts one message in the task's thread: what changed, then what it means for the people it names. There's nothing to confirm, and one change is one message, so everyone is notified once. A typed command, such as @Cade assign or @Cade pr add, gets a ✅ on your message instead of the change log; only the requests are posted.

First, the change log

A line per change, who made it and what it was: “@ann assigned @rex, @bob as owner.” The thread keeps a log of every change. Someone changing their own part reads as “@rex assigned themselves as owner.”, and isn't asked or told anything, since they made the change. When a change comes from a suggestion, the people its message mentioned were notified by it already: they're named rather than mentioned (“@ann assigned Tom as tester.”), and not asked again.

Then, what it means for them

A line each: “@rex, @bob, could you pick this up?” or “@tom, there's no need to test this anymore.” One note for each person, not each change: someone added as owner and reviewer is asked “@rex, could you pick this up and review web/12 …”, and people asked the same share a note.

Only when there's something to do now

Assigning people

Owners, reviewers and testers

@Cade assign owner @rex

Your message
✅
Thread
@rex, could you pick this up?

The task card shows who is on it, so a typed command gets a ✅ rather than a change log. A reviewer is asked about the pending PRs: “@mia, could you review web/12?” A tester is asked to “give this a test” once the task is In testing.

Assigned before there's anything to do

Your message
✅

It isn't In review or In testing yet, so there's nothing to ask. Moving to In review asks the reviewers, and moving to In testing asks the testers; linking a PR asks the reviewers once it's In review.

Task card ⋯ → Edit, or a role's button

Thread
@ann assigned @rex, @bob as owner.
@ann assigned @mia as reviewer.
@ann removed @tom as tester.
@rex, @bob, could you pick this up?
@mia, could you review web/12?

However many people, roles and fields you change, it's one message: a line per change, then what it means for them. Here @tom isn't told, as the task wasn't In testing.

Said in your own words: “@tess can you test this?”

Private
Should I update the task? From your message:
Testers: @tess (Add) · Status: In review → In testing AcceptEdit…Reject
Thread
@ann assigned @tess as tester.
@ann set the status to In testing.
@tom, @tess, could you give this a test?

As the Edit form, with the status change in the log. Moving to In testing asks every tester at once. The same summary, read with AI.

/cade standup -unassigned, picking an owner

Thread
@ann assigned @rex as owner.
@rex, could you pick this up?

@Cade unassign owner @rex

Your message
✅
Thread
@rex, there's no need to work on this anymore.

Only if they'd have been asked: removing a tester before In testing gets just the ✅. Without a role, they're removed from every role.

Linking pull requests

Asking reviewers

@Cade pr add <link>, on a task with reviewers

Your message
✅
Thread
@mia, could you review web/12?

The task card shows the link, so a ✅ on your message is the acknowledgement. @Cade pr remove gets only the ✅.

@Cade pr add <link>, on a task with no reviewer

Your message
✅
Thread
There's no reviewer yet. Who should review web/12? Choose reviewers ▾
Picked
The picker goes, and a new reply follows:
@bob assigned @mia as reviewer.
@mia, could you review web/12?

A new reply, because Slack doesn't notify anyone about an edited message.

A PR pasted into the thread

Private
Should I update the task? From your message:
PRs: web/12 (Add)
Status: To do → In review AcceptEdit…Reject
people mentioned are added as reviewers
Thread
@ann moved the task to In review.
@mia, could you review web/12?

Your message already posted the link, so it isn't repeated. Reviewers your message mentioned aren't asked again.

Task card ⋯ → Edit, pull requests

Thread
@ann linked web/12.
@ann unlinked web/11.
@ann assigned @rex as reviewer.
@mia, could you review web/12?
@rex, could you review web/10, web/12?

Reviewers already on the task are asked about the new PRs. New reviewers are asked about every pending PR.

Changing status

Asking testers

Moving to In testing, however it's done

Thread
@ann set the status to In testing.
@tom, could you give this a test?

The same from @Cade status and its picker, the task card's Edit, suggestions and standup. A status typed in the command, like @Cade status testing, gets a ✅ on your message, with only the testers' request posted. The @Cade status picker becomes the change log; when testers are asked, it's replaced by a new reply instead, since Slack doesn't notify anyone about an edited message.

Moving to In review, however it's done

Thread
@ann set the status to In review.
@mia, could you review web/12?

Every reviewer assigned earlier is asked, those just added too, about the PRs pending. With no PRs they're asked to review it, and when every PR has been sent for approval there's nothing left to review, so no one is asked. Owners aren't asked again: it's past their part.

Any other status

Thread
@ann set the status to In progress.

Like this is what a change means for the people it names, after the change log.