fix(release): accept canonical workflow pagination links - #533
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
🟡 Changes recommended
The newly added design spec’s status line is immediately outdated relative to the implemented changes included in this PR.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Updates the duplicate-draft release consolidation GitHub reader to accept GitHub’s canonical numeric-repository pagination Link URLs for the release workflow runs, while keeping the broader Link-header validation fail-closed for all other endpoints and URL shapes.
Changes:
- Accept and canonicalize workflow-run pagination URLs that use
/repositories/{id}/...to the existing/repos/{owner}/{repo}/...form before downstream comparisons. - Extend the consolidation adapter tests to cover successful numeric-link pagination plus negative cases (foreign repo ID, and numeric workflow links appearing on non-workflow endpoints).
- Add accompanying superpowers spec/plan docs describing the identity model and verification strategy.
File summaries
| File | Description |
|---|---|
| scripts/release/test/duplicate-draft-consolidation-adapters.test.mjs | Adds regression coverage for numeric-repository workflow-run pagination and ensures unrelated endpoints still fail closed. |
| scripts/release/duplicate-draft-consolidation-adapters.mjs | Canonicalizes trusted workflow-run pagination URLs (owner/name and fixed numeric repo ID) and applies that canonical form during Link-graph validation. |
| docs/superpowers/specs/2026-09-02-consolidation-workflow-pagination-design.md | Documents the problem and the strict identity/validation design for accepting numeric repository workflow pagination links. |
| docs/superpowers/plans/2026-09-02-consolidation-workflow-pagination.md | Implementation plan documenting the intended test-first workflow and validation steps. |
Review details
- Files reviewed: 4/4 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
There was a problem hiding this comment.
🟢 Approval recommended
The changes narrowly expand trust to an explicitly fixed numeric repo-ID workflow pagination path, preserve fail-closed behavior elsewhere, and are backed by targeted positive and negative regression tests.
Review details
- Files reviewed: 4/4 changed files
- Comments generated: 0 new
- Review effort level: Lite
Problem
GitHub workflow-run pagination can return equivalent repository paths using either the configured owner/repository spelling or GitHub's canonical numeric repository identity. The release consolidation adapter rejected the canonical numeric form.
Change
Canonicalize only those two trusted workflow pagination path forms before comparison. The generic pagination boundary remains fail-closed for incompatible authorities, paths, queries, and relation graphs.
Verification
git diff --check: passed