You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(pr-pipeline): hold lane PRs on marketplace sources and cost paths under native auto-merge #9449
Under merge.lane-prs: native (#9448), a lanes App pull request is held only by ci-status and enable-auto-merge.mjs. Both read HOLD_PATH_FLOOR in .github/scripts/pr-merge/merge-holds.mjs, which lacks two path sets that the pr-merge gate scores and holds. The gate's own hold was already a slow backstop, because it escalates only after a refusal has stood for merge.risk-escalation-minutes. Under native that backstop is gone. Found by the security review of #9448; these gaps predate it.
.claude-plugin/marketplace.json. The gate scores a marketplace entry that is added, removed, or has its source changed as HIGH (babysit_risk.pyis_manifest_path and _marketplace_changes). HOLD_PATH_FLOOR covers only **/.claude-plugin/plugin.json, CODEOWNERS, .gitmodules and the forced paths. A lane PR could therefore repoint a plugin's source to an external repository with no hold. The pr-pipeline README's phrase "every plugin manifest" overstates the floor.
Cost paths. The gate's cost-review-required reasons (babysit_risk.pyCOST_PATHS: plugins/multi-agent/reference/defaults.yaml, Pulumi, Terraform and Bicep files) are not hold paths. A lane PR can raise model or effort spend with no owner decision.
Done when
ci-status and enable-auto-merge hold a lanes App PR that changes a marketplace entry's source, or adds or removes an entry, until a trusted person approves the head.
They hold a lanes App PR that changes a cost path the same way.
Activity
github-actions commentedon Oct 23, 2026
Proposed work class: none
Thanks for the report. Automated triage handed this issue to a maintainer.
Unconfirmed model suggestion: work-class: scoped
Basis: automated intake triage; a maintainer confirms or changes it.
Automated triage. A maintainer reviews it.