feat(gatorwalk-factory): the swamp-club adapter links the pull request on the Lab issue, as issue-lifecycle's link_pr does (swamp-club #2872) #415

Merged
seth merged 1 commit from cue/2872-gatorwalk-factory-swamp into main 2026-10-01 16:54:54 +00:00
Owner

Fixes swamp-club #2872.

gatorwalk's publish wrote the pr_linked lifecycle entry but never set the Lab issue's PR fields, so #2711 shipped with no githubPrUrl, githubPrNumber or pr_linked event, and no link in the reporter's shipped notification.

Changes

  • Definition: a tracker entry may declare linkPr, a payload field holding a pull request url. validate accepts it only on an entry for a recorded product, naming a declared string field.
  • Tracker contract: a new optional pullRequests capability (linkPr). Only the Lab adapter has it: it PATCHes githubPrUrl, and githubPrNumber when the url has /pulls/<n> (issue-lifecycle's rule), writes nothing when that url is already linked, and a new url replaces the old. Built-in and Linear lack it and publish such an entry without a link.
  • Publish: links the PR after the entry's type and before the entry, under its own ledger key (link_pr). A re-run writes nothing; a later pull-request record replaces the link.
  • Conformance suite checks the capability; Lab fake keeps the PR fields as issue-lifecycle's fake does; swamp_club tracker typeVersion 2026.10.01.2; studio bundle rebuilt; README and DESIGN (with a decision-log entry) updated.

Choices from triage: a capability separate from history, the name linkPr, no backfill. The team's factory declares linkPr: url on its pr_linked entry when it is rebuilt; nothing in this repo carries that definition since #2842.

Verification

verify-build 52e4ffb0 and verify-reviews 30b144f5 passed on 7dfabbab; attestation 6737c16d posted.

🤖 Generated with Claude Code

Fixes swamp-club #2872. gatorwalk's `publish` wrote the `pr_linked` lifecycle entry but never set the Lab issue's PR fields, so #2711 shipped with no `githubPrUrl`, `githubPrNumber` or `pr_linked` event, and no link in the reporter's shipped notification. ## Changes - **Definition:** a tracker entry may declare `linkPr`, a payload field holding a pull request url. `validate` accepts it only on an entry for a recorded product, naming a declared string field. - **Tracker contract:** a new optional `pullRequests` capability (`linkPr`). Only the Lab adapter has it: it PATCHes `githubPrUrl`, and `githubPrNumber` when the url has `/pulls/<n>` (issue-lifecycle's rule), writes nothing when that url is already linked, and a new url replaces the old. Built-in and Linear lack it and publish such an entry without a link. - **Publish:** links the PR after the entry's type and before the entry, under its own ledger key (`link_pr`). A re-run writes nothing; a later pull-request record replaces the link. - Conformance suite checks the capability; Lab fake keeps the PR fields as issue-lifecycle's fake does; `swamp_club` tracker typeVersion `2026.10.01.2`; studio bundle rebuilt; README and DESIGN (with a decision-log entry) updated. Choices from triage: a capability separate from history, the name `linkPr`, no backfill. The team's factory declares `linkPr: url` on its `pr_linked` entry when it is rebuilt; nothing in this repo carries that definition since #2842. ## Verification verify-build `52e4ffb0` and verify-reviews `30b144f5` passed on `7dfabbab`; attestation `6737c16d` posted. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
feat(gatorwalk-factory): the swamp-club adapter links the pull request on the Lab issue, as issue-lifecycle's link_pr does (swamp-club #2872)
All checks were successful
CI / Review Integrity (pull_request) Successful in 47s
CI / Validate Attestation (pull_request) Successful in 47s
7dfabbabbd
A tracker entry may declare linkPr, a payload field holding a pull request
url. publish links it after the entry's type and before the entry, under its
own ledger key (link_pr), through a new optional pullRequests tracker
capability. Only the Lab adapter has it: it PATCHes githubPrUrl, and
githubPrNumber when the url has a /pulls/<n>, writes nothing when the issue
already links that url, and a later pull request replaces the link. The
built-in tracker and Linear lack the capability and publish such an entry
without a link. The conformance suite checks the capability, the Lab fake
keeps the PR fields as issue-lifecycle's fake does, and the studio bundle is
rebuilt for the definition schema change.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
seth merged commit 2379455f87 into main 2026-10-01 16:54:54 +00:00
seth deleted branch cue/2872-gatorwalk-factory-swamp 2026-10-01 16:54:55 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
swamp-club/swamp-extensions!415
No description provided.