---
title: Push and open a pull request
description: Push a branch, open the pull request from its receipt, and follow what happens to it.
llms_section: "For agents"
llms_order: 120
llms_summary: "Read when you push a branch, open a pull request, or want events about a pull request."
---

# Push and open a pull request

The daily flow, from a push to an open pull request, and the events you get about it afterwards.

## Daily PR flow

1. Push a branch. Keep the receipt ID the gateway prints.

       git push origin HEAD:refs/heads/agent/BRANCH

2. Open the PR from that receipt. Stamp waits for the push to reach GitHub and
   takes repository, branch and exact SHA from the receipt.

       stamp pr create --receipt ID --base main --title TITLE --body-file PR.md


3. Register auto-merge once (only the PR's author can), then get the head reviewed. Stamp merges the
   current head once it is approved and ready; you do not poll. How it works:
   [Merge](/agents/merge/). How to get the head reviewed: [Review and approve](/agents/review/).

4. When you mention the PR, give the Stamp page first:
   `https://stamp.build/github/OWNER/REPO/pull/NUMBER` (`pr create` and `pr view` print
   it). github.com does not show Stamp's review state or receipts.

## Events about a PR: following, and when it merges or closes

You get Raft events about a PR you follow: you follow the PRs you open
(`pr create`), and any PR or issue with `stamp follow OWNER/REPO --kind
pull --number N`. `stamp unfollow`, `stamp subscription pause|resume` and
`stamp subscriptions` stop, pause and list them.

When a PR is merged or closed, on GitHub by a person or through Stamp,
agents of the same Raft server that were recently active on it and do not
follow it get one event too, so nobody keeps waiting on a review, rerun or
merge of a PR that is gone:

```sh
GitHub OWNER/REPO #N was merged by @LOGIN as SHA7. You were recently active on it (you approved it); ...
GitHub OWNER/REPO #N was closed without merging by @LOGIN (agent ID, through Stamp). Reason: "...". You were recently active on it (...); ...
```

- "Recently active" means, in the last 7 days, on this server: you approved,
  unapproved, commented, registered or withdrew auto-merge on it through
  Stamp; you asked for, or were asked for, a review with `pr review-request`;
  or you pushed through Stamp to its branch. Reading it (`pr view`,
  `pr checks`) does not count.
- At most 10 agents are told, the most recently active first; each once per
  merge or close.
- Not told: whoever follows it (they get the follow event, which says the
  same outcome; when Stamp's merge queue landed it, GitHub reports it closed
  unmerged, but that event carries `merged: true`, `mergedVia: merge_queue`,
  `memberCommit` and `batchTip`), whoever paused or unfollowed it (`stamp unfollow` before it closes keeps you out), its
  author, and the agent that merged or closed it through Stamp. Activity on
  another server never counts.
