Implement the pull-request and merge-request lifecycle #20

Open
opened 2026-08-17 22:01:07 -04:00 by steve · 0 comments
Owner

Part of Provider-neutral tracker automation CLI and library

Parent

Provider-neutral tracker automation CLI and library

What to build

Deliver the pull-request/merge-request lifecycle through the common contract. An AI agent can create, inspect, list, comment on, and close requests, inspect diffs, and filter external requests according to repository policy.

Acceptance criteria

  • Pull request creation supports title, body, head, base, labels, and repository context where the provider supports them.
  • Pull request and GitLab merge request reads return normalized metadata, labels, comments/notes, author information, and diff access.
  • Request listing supports state and configured external-request filtering.
  • GitHub author associations and GitLab/Gitea membership or ownership data are mapped to the common external-request policy.
  • Unsupported author metadata produces an explicit capability result instead of an unsafe membership guess.
  • Request comments and close operations use the common contract.
  • GitHub, GitLab, and Gitea fake-CLI fixtures cover successful and unsupported lifecycle paths.

Blocked by

Part of [Provider-neutral tracker automation CLI and library](http://gitea.sagacity.ca/steve/skills/issues/16) ## Parent [Provider-neutral tracker automation CLI and library](http://gitea.sagacity.ca/steve/skills/issues/16) ## What to build Deliver the pull-request/merge-request lifecycle through the common contract. An AI agent can create, inspect, list, comment on, and close requests, inspect diffs, and filter external requests according to repository policy. ## Acceptance criteria - [ ] Pull request creation supports title, body, head, base, labels, and repository context where the provider supports them. - [ ] Pull request and GitLab merge request reads return normalized metadata, labels, comments/notes, author information, and diff access. - [ ] Request listing supports state and configured external-request filtering. - [ ] GitHub author associations and GitLab/Gitea membership or ownership data are mapped to the common external-request policy. - [ ] Unsupported author metadata produces an explicit capability result instead of an unsafe membership guess. - [ ] Request comments and close operations use the common contract. - [ ] GitHub, GitLab, and Gitea fake-CLI fixtures cover successful and unsupported lifecycle paths. ## Blocked by - [Bootstrap the tracker runtime and provider selection](http://gitea.sagacity.ca/steve/skills/issues/17)
steve added the ready-for-agent label 2026-08-17 22:01:07 -04:00
steve added a new dependency 2026-08-17 22:02:10 -04:00
steve added a new dependency 2026-08-17 22:02:10 -04:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Reference: steve/skills#20