Repository navigation
docs(security-advisory): bring the fix to v2/main through an opaque public PR - #5411
Conversation
…ublic PR The skill and AGENTS.md said an advisory's draft card converts to an issue only after publication, so the public PR that actually brings the fix to v2/main had no issue to close and no card to track it. Describe the flow as it is run: convert the card to an issue that keeps its opaque title when the fix is ready to merge, push the fork's branch under the same opaque name, open a public PR that closes that issue with no Copilot loop, merge, close the fork's PR, and give the issue its public title only after publication. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: cliffhall <cliff@futurescale.com>
|
There was a problem hiding this comment.
🟡 Changes recommended
The recipe leaves HEAD detached but invokes gh pr create without --head, preventing the public PR from being opened even after the push succeeds.
1 open issue
What changed in this PR
Documents how privately reviewed security fixes reach v2/main through public PRs with opaque titles and bodies, addressing the tracking gap in #5334.
Changes:
- Moves advisory-card conversion before the public fix PR, while keeping follow-up cards private until publication.
- Defines public PR creation, review exceptions, merge close-out, and post-publication updates.
- Aligns related guidance and reporter-credit explanations with the revised flow; no runtime behavior changes.
| File | Description |
|---|---|
scripts/release-notes.mjs |
Updates only the comment explaining advisory reporter credits. |
docs/ai-software-factory.md |
Aligns the security-flow overview with earlier issue conversion. |
AGENTS.md |
Updates advisory PR exceptions, conversion timing, and review rules. |
.claude/skills/security-advisory/SKILL.md |
Adds the public fix PR procedure and revises publication steps. |
.claude/skills/release/SKILL.md |
Corrects the explanation for sourcing advisory credits. |
.claude/skills/board-ops/SKILL.md |
Updates advisory-card conversion timing. |
Review effort: Balanced
…a detached HEAD Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: cliffhall <cliff@futurescale.com>
|
Copilot round 2 (on 11f64f9): clean, "Approval recommended", no new findings; the round-1 finding shows as resolved. The loop ends on the first clean round. |

Closes #5334
Description
The
security-advisoryskill andAGENTS.mdsaid an advisory's[GHSA-…]draft card converts to an issue only after publication, and treated the private fork's PR as the fix's PR. In practice the fix reachesv2/mainthrough a public PR in this repository, which then had no issue toClosesand no card tracking it. This describes the flow as it was run for #5332 / #5333:security-advisoryskill: the flow table and steps 3 to 6. Step 4: the fork's PR is where the review happens and is not merged. Step 5 gains three subsections: convert the card to an issue that keeps its opaque title and link-and-triage body (labels and milestone at that point); push the fork's branch under the same opaque name (gate first) and open a public PR with an opaque title and body, linked withaddCloseIssueReferences, card → In Review, no Copilot loop; a maintainer merges, the issue is closed and the card goes to Done. Then the existing close-the-fork's-PR recipe. Step 6 becomes: after publication, retitle the issue[GHSA-…] - <published summary>and replace its triage lines with the advisory link. The exposure warning now starts at the push to this repository rather than at the merge. Follow-up cards still convert only after publication.AGENTS.md: the Contributing "security advisory's fix" exception (both PRs, the public one's opaque-text and no-Copilot exceptions), the Issue-driven work style[GHSA-bullet (conversion timing; follow-up cards still wait for publication), theIncomingmilestone exemption, and a pointer from the Copilot-loop bullet to the exception.board-ops: the Convert recipe's timing sentence.docs/ai-software-factory.mdand thereleaseskill's advisory-credit bullet (plus the matching comment inscripts/release-notes.mjs).Server Details
AGENTS.md, skills) and one design doc; one code commentMotivation and Context
See #5334. The public PR for GHSA-w766-5x43-whvw (#5333) had to be opened against an issue converted early (#5332) with no recipe for either step.
How Has This Been Tested?
Docs and skills only, no client-observable surface. Targeted probes:
npm run verify:skills: OK, 11 skills, listing share unchanged at 3903/4000 (no skill description changed, soskills:evalwas not rerun).npm run local:gate: exit 0 on 8c7af45.Breaking Changes
None.
Types of changes
Checklist
npm run changeset) if this changes what a TypeScript server publishes (not applicable: nothing published changes)🤖 Generated with Claude Code