Skip to content

feat(skills): end-of-sync reconciliation sweep for security-issue-sync#718

Merged
potiuk merged 1 commit into
apache:mainfrom
potiuk:feat/sync-end-reconciliation-sweep
Jul 4, 2026
Merged

feat(skills): end-of-sync reconciliation sweep for security-issue-sync#718
potiuk merged 1 commit into
apache:mainfrom
potiuk:feat/sync-end-reconciliation-sweep

Conversation

@potiuk

@potiuk potiuk commented Jul 4, 2026

Copy link
Copy Markdown
Member

Summary

  • Adds Step 5d — End-of-sync reconciliation sweep to security-issue-sync: after the apply phase and before the recap, reconcile three dimensions over every tracker in the run — board Status column, milestone, and RM assignee hand-off at fix released.
  • Unconditional backstop: today these only move when a Step 1d signal fires, so between-run drift (hand-edited labels, a release that shipped since last sync, a hand-off announced in a rollup but never applied to the assignee field) silently persists.
  • RM hand-off rule: always hand off at fix released; when a follow-up is still open, hand off and post a guard note telling the RM to hold the advisory — a withheld assignee is the wrong signal.

Motivation

Surfaced running a live bulk sync: the per-issue assessors moved most trackers correctly but silently missed the RM hand-off on two fix released trackers and left several board columns stale at PR merged / Needs triage. The signal-gated moves in signals-to-actions.md can't catch drift that produced no signal; a guaranteed end-of-sync sweep can.

Migration for existing adopters

No new config knob and nothing to opt into — the sweep is universal on next /magpie-setup upgrade. The confirmation model is preserved: pure label-derived reconciliation (column move, RM swap to the looked-up release manager, assigning an already-existing milestone) applies without extra confirmation, while state-creating actions (new milestone, ambiguous date) and the outbound guard note still follow propose-before-apply. Relates to the capability:reconciliation work in #337.

Test plan

  • prek run --files skills/security-issue-sync/apply-and-push.md skills/security-issue-sync/SKILL.md — green (markdownlint, typos, lychee, check-placeholders, skill-and-tool-validate).
  • Exercised the sweep by hand on a full bulk sync: 14 board-column corrections + 8 RM hand-offs applied, ambiguous milestone flagged rather than guessed.

🤖 Generated with Claude Code

…sync

New unconditional Step 5d reconciles each synced tracker's board column,
milestone, and RM assignee hand-off at the end of every sync — a backstop
for drift no Step-1d signal captures (a label flipped by hand, a release
that shipped since the last sync, a hand-off announced in a rollup but
never written to the assignee field).

Generated-by: Claude Code (Claude Opus 4.8)
@potiuk potiuk added family:security security-* skills capability:intake Import external signal + sync tracker state labels Jul 4, 2026
@potiuk
potiuk merged commit 8fdf223 into apache:main Jul 4, 2026
35 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

capability:intake Import external signal + sync tracker state family:security security-* skills

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant