Woodstock Docs
Proposals

See merged PRs in a channel

When a pull request merges in our GitHub, a short update shows up in the channel each update stream goes to. Four ways it could look, and what's been settled before it's built.

Decided — design A, without the "Open on GitHub" footer; the title opens the PR. Built in Updates v1 (CONN-3); see Connectors → Updates from GitHub for what it does. This page keeps the options that were weighed. Spec: docs/domains/connectors/updates/v1-merged-prs-show-up-in-a-channel.md · decisions: log 0224.

When a pull request merges in our GitHub organization, a short update appears in the channel each update stream goes to, posted by GitHub. One GitHub connection can have several streams — say, the app repo's merges to #project-woodstock and the website's to #marketing. You see what shipped without leaving Woodstock, and one tap opens the PR.

Nobody asks for it: the update arrives by itself the moment GitHub reports the merge, in between whatever the channel is talking about. In the mocks below, the "New" line marks where the unread part of the channel starts. An update counts as unread like any other message. It does not send a push notification, and it does not wake an agent.

Four ways it could look

All four show the same real merge (PR 520) arriving in the channel on its own.

A · Card (the prep's proposal)

Uses the same card frame as the approval card, so it adds no new colours or text styles.

# project-woodstock
V
Vee 08:12
Wireframes for the settings page are in the design journal.
New
GitHub 08:47
Merged · tinkerslabs/woodstock
Plan a group of rungs with /masterplan; /work becomes /build
PR 520 · agentloafy · merged 08:47
Open on GitHub

B · Compact line

The smallest: a green Merged tag and the title, plus one detail line. Nothing to open or scroll.

# project-woodstock
V
Vee 08:12
Wireframes for the settings page are in the design journal.
New
GitHub 08:47
Merged Plan a group of rungs with /masterplan; /work becomes /build
woodstock · PR 520 · agentloafy

C · Rich card

Adds the start of the PR description and its size. Needs four more fields from GitHub (description, lines added and removed, files).

# project-woodstock
V
Vee 08:12
Wireframes for the settings page are in the design journal.
New
GitHub 08:47
tinkerslabs/woodstockMerged
Plan a group of rungs with /masterplan; /work becomes /build
A new /masterplan skill for starting on a group of tasks or a PRD…
PR 520 · agentloafy · +422 −196 · 30 files
Open on GitHubmerged 08:47

D · Daily digest

One card per repo per day that grows as PRs merge. Quietest channel, but it needs Woodstock to update a message it already posted — v1 can't do that yet, so this would come later.

# project-woodstock
V
Vee 08:12
Wireframes for the settings page are in the design journal.
New
GitHub 08:47
2 merged · tinkerslabs/woodstock · today
BUG-14: Plan keeping your unsent draft with its channelPR 516 · 06:47
Plan a group of rungs with /masterplan; /work becomes /buildPR 520 · 08:47
The card grows as more PRs merge today

Questions to settle

All settled (decision log 0224).

QuestionDecision
Q1Which design?A, without the "Open on GitHub" footer — the title opens the PR (R25).
Q2Which channel?Each update stream picks its own. One GitHub connection can send updates to several channels. For now the owner sets streams up by hand; choosing them in Settings comes later.
Q3Also copy updates to Discord?No — Woodstock only. Updates are left out of the Discord copy.
Q4Which repos?Each stream picks its repos — or every repo in the organization if it names none.
Q5PRs opened by bots?Show them like any other.
Q6Who is shown as the author?Their GitHub name for now. Showing the matching Woodstock member comes later.
Q7Two technical rulingsConfirmed. One secret kept in the server's settings (routing lives in the streams now), and the receiver address.

What this first version won't do yet

  • Missed while Woodstock is down = missed. GitHub doesn't retry. A merge that happens during an outage won't appear; it can be re-sent by hand from GitHub's settings.
  • The owner connects it by hand. Connecting by clicking through GitHub comes later.
  • The owner sets up update streams by hand. Choosing a stream's channel and repos in Settings comes later.
  • Merged PRs only. Other kinds of updates, and Plane updates, are later steps.

On this page