Skip to content

Send Security run notifications without private write-ups - #562

Merged
JacobStephens2 merged 5 commits into
issue-427from
issue-539
Oct 8, 2026
Merged

JacobStephens2 merged 5 commits into
issue-427from
issue-539

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Oct 8, 2026 •

Copy link
Copy Markdown
Owner

Summary

Security run ends
  skipped → no notification
  email requested → one Resend request
    audit outcome
    each finding: severity (if known), title, private record link
    local log paths

Keep recorded finding metadata through partial recording failures. Detailed Security audit failure causes remain in local logs because verifier commands and Harness diagnostics can contain private write-up.

Closes #539

Evidence

  • Before: a_completed_security_audit_sends_one_notification_when_asked failed with zero Resend requests.
    After: one request with the Security run outcome and recipient.
  • Before: each reviewer's exact regression failed because the Resend Cause included private trace or finding description.
    After: both exact commands passed, and both tests remain in tests/security_run.rs:
    cargo test --test security_run security_notification_omits_private_background_trace -- --exact
    cargo test --test security_run failed_security_notification_excludes_description_from_killed_verifier -- --exact --nocapture
  • Validation: cargo check, cargo fmt --check, cargo clippy --all-targets -- -D warnings, and the full CARGO_BUILD_JOBS=2 cargo test passed (1532 tests passed, 1 ignored, zero failures). The Security run suite passed all 24 tests.

Testing seams

  • The existing end-to-end scenario harness: real binary and git, fake GitHub and Harness CLIs, local Resend stand-in. Covers email/config defaults and overrides, safe finding metadata, partial recording failure, failed and interrupted audits, Ready issue and lock skips, preflight checks, and send failure outcomes.

Unaddressed findings

Standards

None. The one ADR 0015 privacy finding was reproduced and fixed.

Spec

None. The one #539 confidentiality finding was reproduced and fixed.

Both reviewers read all 10 changed files. Changed files left unread: none under Standards or Spec. Review fixed point: issue-427 at 8b775669cb8bbc1bbd815428337ac587477d2151 (remote branch pinned after fetch; the local branch was stale).

Merge Danger

Door: two-way

Reverting restores the previous Security notification behavior; no migration or stored-record change.

Blast Radius: notifications

Security runs now honor the existing email defaults and checks. A delivery error remains a warning; skipped runs send none.

Built with codex · gpt-6.1-sol · xhigh

Preserve Security notifications for advisory and private issue records. Retain titles and private links, match fingerprints in issue bodies, and keep write-ups out of notifications.

Add an end-to-end regression covering notifications for existing open and closed issues alongside newly recorded findings.
@JacobStephens2
JacobStephens2 merged commit 3be9324 into issue-427 Oct 8, 2026
13 checks passed
@JacobStephens2
JacobStephens2 deleted the issue-539 branch October 8, 2026 12:05
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.

1 participant