Skip to content

Save Run notifications beside Command logs - #1064

Merged
JacobStephens2 merged 3 commits into
mainfrom
issue-754
Oct 22, 2026
Merged

JacobStephens2 merged 3 commits into
mainfrom
issue-754

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Oct 22, 2026 •

Copy link
Copy Markdown
Owner

Summary

Command ends
  render the Run notification once
  save <Command log stem>.notification.txt
  email the same subject and body when enabled

The owning Command saves one notification with email on or off. Skipped Passes, dispatched Runs, Ticket Runs and Base fixes leave no separate file. Write failures warn without changing the outcome. The guide documents the file; CLI and Console log inventories retain their current contents.

Closes #754

Evidence

  • Before: cargo test --test run_notification a_run_without_email_saves_its_notification_beside_its_command_log -- --exact failed with saved Run notification: ... NotFound.
    After: the same test passed. Fake Resend tests assert exact saved subject/body equality, including after an email failure; ownership tests cover Pickup, Spec and Base fix children. The unwritable-folder test preserves successful and failed exit codes and still sends email.
  • Full-suite validation exposed two continuation fixtures that counted GitHub reads. Notification rendering now makes an earlier title read with email off. The fixtures now target the Claim's labels read; cargo test --test continuation passes all 9 tests (1 fixture entry point ignored), retaining the branch-race and PR-history assertions.
  • scripts/affected-tests main passed: 36 site browser tests and 2,239 Rust tests passed; 50 configured Rust skips. /usr/bin/time -p scripts/affected-tests main took 1,217.62s, including site checks and 18.29s of Rust compilation; nextest's test execution took 1,137.972s on this host.
  • cargo check, cargo clippy --all-targets -- -D warnings, cargo fmt --all -- --check, and the generated-guide consistency check passed.

Test seams

  • The thirdshift CLI: outcomes, diagnostics, notification files beside Command logs, and delivery captured by the fake Resend HTTP server, including Pickup runs, Spec runs, skipped Passes and Base fixes.
  • The thirdshift logs CLI and Console HTTP log inventory with notification files beside logs.

Unaddressed findings

  • Standards: none. The one P3 possible Duplicated Code finding was addressed by sharing the saved-notification reader and re-reviewed.
  • Spec: none; no findings.
  • Security: none; no introduced findings.

Security review outcome

No unaddressed introduced findings.

Review coverage

Both independent reviewers read all 13 changed files, including the generated HTML hunk and the continuation fixture updates. Unread changed files: none. Generated-output exclusions: none.

Merge Danger

Door: two-way

Rollback stops future notification files; existing files remain beside the logs.

Blast Radius: notifications

Each completed owning Command adds one text file. Email checks and notification wording stay the same.

Built with codex · gpt-6.1-sol · xhigh

@JacobStephens2
JacobStephens2 merged commit c3dcc8f into main Oct 22, 2026
18 checks passed
@JacobStephens2
JacobStephens2 deleted the issue-754 branch October 22, 2026 09:56
@JacobStephens2 JacobStephens2 mentioned this pull request Oct 22, 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.

save notices to .thirdshift sub dir (contents of emails)

1 participant