Skip to content

Add emergency yank process for unsafe threat detection releases#32

Open
Copilot wants to merge 11 commits intomainfrom
copilot/add-emergency-yank-process
Open

Add emergency yank process for unsafe threat detection releases#32
Copilot wants to merge 11 commits intomainfrom
copilot/add-emergency-yank-process

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 7, 2026

  • Inspect unresolved Copilot review threads
  • Review yank workflow, lifecycle docs, and lifecycle validation
  • Run baseline lint/test/lifecycle validation
  • Support no-safe-replacement yanks in the manual workflow
  • Update maintainer docs for replacement and no-replacement yank paths
  • Run lint/test/lifecycle validation and secret scan
  • Run automated review/security checks

Copilot AI and others added 2 commits May 7, 2026 19:19
Agent-Logs-Url: https://github.com/github/gh-aw-threat-detection/sessions/12f810e1-d6c2-4df2-b9f0-09cae2d660ce

Co-authored-by: davidslater <12449447+davidslater@users.noreply.github.com>
Agent-Logs-Url: https://github.com/github/gh-aw-threat-detection/sessions/12f810e1-d6c2-4df2-b9f0-09cae2d660ce

Co-authored-by: davidslater <12449447+davidslater@users.noreply.github.com>
Copilot AI changed the title [WIP] Add an emergency yank process for unsafe threat detection releases Add emergency yank process for unsafe threat detection releases May 7, 2026
Copilot AI requested a review from davidslater May 7, 2026 19:23
@davidslater davidslater marked this pull request as ready for review May 7, 2026 19:42
Copilot AI review requested due to automatic review settings May 7, 2026 19:42
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds an “emergency yank” capability to the threat-detection release lifecycle so maintainers can mark unsafe releases as yanked, keep audit artifacts, prevent latest from resolving to unsafe versions, and document/validate the lifecycle metadata that gh-aw must consult before execution.

Changes:

  • Introduces a lifecycle registry (releases/threat-detection-lifecycle.json) plus Go-based validation tests for lifecycle/yank metadata correctness.
  • Adds a manual Yank Release workflow to mark a release as yanked, retag latest to a safe replacement, and update GitHub Release metadata accordingly.
  • Updates spec/docs and the promote workflow to incorporate lifecycle-state checks and document yank semantics.
Show a summary per file
File Description
specs/threat-detection-spec.md Adds lifecycle/yank requirements to the threat detection spec and renumbers security requirements.
releases/threat-detection-lifecycle.json Adds initial lifecycle registry file (schema v1) to be consumed by gh-aw and maintainer workflows.
releases/lifecycle_test.go Adds validation logic/tests for registry schema, yanked metadata requirements, and replacement constraints.
README.md Documents release lifecycle concepts and the emergency yank behavior at a high level.
Makefile Adds validate-lifecycle target to run lifecycle registry validation tests.
DEVGUIDE.md Documents lifecycle registry expectations and a step-by-step emergency yank process for maintainers.
.github/workflows/yank-release.yml Adds a manual workflow to perform the yank: validate tags/digests, update registry, retag latest, and update GitHub Releases.
.github/workflows/promote-release.yml Blocks promotion of yanked/obsolete releases to latest based on the lifecycle registry.

Copilot's findings

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 8/8 changed files
  • Comments generated: 2

Comment thread releases/lifecycle_test.go Outdated
Comment thread DEVGUIDE.md Outdated
Agent-Logs-Url: https://github.com/github/gh-aw-threat-detection/sessions/85fb37b4-0ed2-455c-9ca1-a156a74d65bb

Co-authored-by: davidslater <12449447+davidslater@users.noreply.github.com>
@davidslater
Copy link
Copy Markdown
Collaborator

@copilot resolve the merge conflicts in this pull request

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot's findings

  • Files reviewed: 8/8 changed files
  • Comments generated: 2

Comment thread .github/workflows/yank-release.yml
Comment thread DEVGUIDE.md Outdated
Copilot AI and others added 3 commits May 8, 2026 00:08
Agent-Logs-Url: https://github.com/github/gh-aw-threat-detection/sessions/827177cf-9662-48f1-8ea5-bffe053ed198

Co-authored-by: davidslater <12449447+davidslater@users.noreply.github.com>
Co-authored-by: davidslater <12449447+davidslater@users.noreply.github.com>
Agent-Logs-Url: https://github.com/github/gh-aw-threat-detection/sessions/827177cf-9662-48f1-8ea5-bffe053ed198

Co-authored-by: davidslater <12449447+davidslater@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented May 8, 2026

@copilot resolve the merge conflicts in this pull request

Resolved the merge conflicts with main and pushed the final follow-up in 55abf15. The PR now has current main in its history and no conflict markers remain.

Agent-Logs-Url: https://github.com/github/gh-aw-threat-detection/sessions/d9664543-c97b-4b2a-a73c-25db1a57db4d

Co-authored-by: davidslater <12449447+davidslater@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot's findings

  • Files reviewed: 7/7 changed files
  • Comments generated: 1


validate_tag() {
local tag="$1"
if ! echo "$tag" | grep -Eq '^v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z.-]+)?(\+[0-9A-Za-z.-]+)?$'; then
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.

[Plan]: Add emergency yank process for unsafe threat detection releases

3 participants