Skip to content

Tell in a Run notification's body everything its subject does - #890

Merged
JacobStephens2 merged 8 commits into
mainfrom
issue-878
Oct 20, 2026
Merged

JacobStephens2 merged 8 commits into
mainfrom
issue-878

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Oct 20, 2026 •

Copy link
Copy Markdown
Owner

Summary

A Run notification's body now carries everything its subject says, so copying the body alone is enough to troubleshoot.

 Subject: [thirdshift] acme/widgets#123 Add export button: merged
 Result:       merged
 Issue:        https://github.com/acme/widgets/issues/123
+Title:        Add export button
 Pull request: …
+Sent by:      thirdshift
 Host:         droplet-1

 Subject: [thirdshift] acme/widgets Architect run: plan published   (same for Security run)
 Result:       plan published
+Command:      Architect run
+Repository:   acme/widgets        (only when origin names one, as in the subject)
 Review:       …

Subject::command() gives the subject and the body the same command name and repository, so the two can't drift apart. The GLOSSARY's Run notification entry and docs/guide.md describe the new lines.

Evidence

  • Before: the new the_body_tells_everything_the_subject_does test failed with "Add" of "[thirdshift] acme/widgets#123 Add export button: merged" not in: Result: … Issue: …. The Spec reviewer's the_body_names_thirdshift_as_the_subject_does failed at 392aa0d with src/notification.rs:635.
    After: both pass. They check every subject variant (an issue with and without a title, an Architect run and a Security run with and without a repository). The exact-body tests in src/notification.rs, tests/architect_run.rs and tests/pickup_run.rs now expect the new lines.
  • Every test target passed, run in batches: 1118 unit tests, plus all integration targets. cargo clippy --all-targets and cargo fmt --check are clean.

Merge Danger

Door: two-way

Blast Radius: email-text

Anything that parses a notification body by line position will see new Title:, Command:, Repository: and Sent by: lines. Result: stays the first line, and Issue: still comes right after it.

Unaddressed findings

Standards

  • Test style in tests/architect_run.rs (~1446, 1479, 1509, 1733): some single-line expected strings got longer, while other hunks use the \-continued form. Declined: each edit keeps the form that assertion already had, and it is cosmetic.
  • the_body_tells_everything_the_subject_does matches words anywhere in the body: Declined. The exact-body tests (a_runs_notification_tells_how_the_run_ended, an_interrupted_runs_notification_says_so_and_leaves_out_the_cause, the three Architect run tests, a_security_runs_body_names_the_command_and_repository) pin each new line in place.

Spec

  • The same weak-invariant note (a short token could match by chance): declined for the same reason as above. This one is a test-quality note, not a behaviour finding.

Security review outcome

No unaddressed introduced findings.

Review coverage

Both reviewers read every changed file at 392aa0d. The follow-up commit a202060 came after the review and was not re-reviewed: it covers the Sent by: line, Subject::command and the docs/guide.md edits in src/notification.rs, tests/pickup_run.rs and docs/guide.md. The Spec axis never read docs/guide.md. The Standards axis read only its lines 577, 840 and 1099, before they were edited.

Closes #878

🤖 Generated with Claude Code

Built with claude · claude-opus-5-5 · medium

JacobStephens2 and others added 8 commits October 20, 2026 09:19
The body now carries the issue's title beside its URL, and an Architect
or Security run's command and repository, so copying the body alone is
enough to troubleshoot.

Closes #878

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…nd describe the new lines in the guide

Review follow-up: the subject's [thirdshift] tag now has a "Sent by:"
line in the body, Subject::command gives the subject and body the same
command name and repository, and the guide describes the Title:,
Command:, Repository: and Sent by: lines.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rom the guide

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@JacobStephens2
JacobStephens2 merged commit 19638d0 into main Oct 20, 2026
18 checks passed
@JacobStephens2
JacobStephens2 deleted the issue-878 branch October 20, 2026 19:43
@JacobStephens2 JacobStephens2 mentioned this pull request Oct 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

make it so notice emails don't contain any info in the subject that is not also in the body of the email

1 participant