@open-everywhere/provider-github 0.1.5 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/NOTICE CHANGED
@@ -12,28 +12,28 @@ Apache License, Version 2.0.
12
12
 
13
13
  Modifications to eve
14
14
 
15
- The @open-everywhere/core package distributes patches/eve+0.54.3.patch. That
16
- patch file is a modification of eve 0.54.3. Vercel licenses eve 0.54.3 under the
17
- Apache License, Version 2.0. The copyright notice of eve 0.54.3 reads
15
+ The @open-everywhere/core package distributes patches/eve+0.71.0.patch. That
16
+ patch file is a modification of eve 0.71.0. Vercel licenses eve 0.71.0 under the
17
+ Apache License, Version 2.0. The copyright notice of eve 0.71.0 reads
18
18
  "Copyright 2026 Vercel, Inc. and contributors". The Open Everywhere authors made
19
19
  the changes in the patch file.
20
20
 
21
- The patch modifies six files of eve 0.54.3:
21
+ The patch modifies four files of eve 0.71.0:
22
22
 
23
- dist/src/context/dynamic-tool-lifecycle.js
24
23
  dist/src/execution/web-fetch/request.js
25
24
  dist/src/harness/tool-loop.js
26
25
  dist/src/internal/authored-package-boundary.js
27
26
  dist/src/protocol/message.d.ts
28
- dist/src/tasks/session-index.js
29
27
 
30
28
  Open Everywhere does not ship the eve package. eve is a peer dependency, so the
31
- consumer installs eve 0.54.3 from the registry. The patch file carries the
29
+ consumer installs eve 0.71.0 from the registry. The patch file carries the
32
30
  modified portions of eve. The oe-eve-patch command, which
33
31
  @open-everywhere/core ships, applies them to the eve that the consumer
34
- installed. The command writes no file outside the consumer's own project.
32
+ installed. The command patches no file outside the consumer's own project. To
33
+ restore an eve that holds an older Open Everywhere patch, it also writes to npm's
34
+ cache and to a temporary directory.
35
35
 
36
- The attribution notice of eve 0.54.3 follows, as section 4(d) of the Apache
36
+ The attribution notice of eve 0.71.0 follows, as section 4(d) of the Apache
37
37
  License, Version 2.0 requires. The notices for eve's bundled code-mode runtime
38
38
  are not reproduced, because the patch modifies no part of that runtime.
39
39
 
package/README.md CHANGED
@@ -19,7 +19,7 @@ webhook signature header rather than the API host.
19
19
  ## Install
20
20
 
21
21
  ```sh
22
- npm i @open-everywhere/core @open-everywhere/provider-github eve@0.54.3
22
+ npm i @open-everywhere/core @open-everywhere/provider-github eve@0.71.0
23
23
  npx oe-eve-patch
24
24
  ```
25
25
 
@@ -173,6 +173,7 @@ import {
173
173
  OE_ADDRESSED_ATTR,
174
174
  dispatchNativeWakeWithRetry,
175
175
  } from "@open-everywhere/core/agent/adapter-api.js";
176
+ import { withEndsTurnFinalChannel } from "@open-everywhere/core/agent/adapter-api.js";
176
177
 
177
178
  const ROUTE = "/eve/v1/github";
178
179
  const BOT_NAME = process.env.GITHUB_APP_SLUG;
@@ -1455,4 +1456,6 @@ const routes: GitHubChannel["routes"] = native.routes.map((r) =>
1455
1456
 
1456
1457
  const channel: GitHubChannel = { ...native, routes };
1457
1458
 
1458
- export default channel;
1459
+ // OPE-2252 — `reply`/`no_reply` end the turn natively (`endsTurn`) and eve then emits no final message,
1460
+ // so the wrapper decides such a turn at `turn.completed` (core `channels/ends-turn-final.ts`).
1461
+ export default withEndsTurnFinalChannel(channel);
@@ -10,6 +10,6 @@ export const PROVIDER_DOCS: readonly DocEntry[] = [
10
10
  path: "docs/deploy/surfaces/github.md",
11
11
  title: "GitHub",
12
12
  summary: "Install Open Everywhere's GitHub App on a repo and the agent becomes a conversational teammate on issues and pull requests: @mention it in an issue/PR/review comment and it wakes with the repo checked out into its sandbox (and the PR diff…",
13
- markdown: "# GitHub\n\nInstall Open Everywhere's GitHub App on a repo and the agent becomes a **conversational\nteammate on issues and pull requests**: @mention it in an issue/PR/review comment and it wakes\nwith the repo checked out into its sandbox (and the PR diff in context), does the work, and\nreplies as a comment. Opt the repo's memory **domain** into ambient mode and it also becomes a\n**quiet standing reviewer**: it reads every issue/PR-timeline comment, judges each against a\ndeliberately high bar (GitHub defaults to the *reserved* calibration tier), and comments only\nwhere it clearly adds something — every silence audited.\n\nThis is the GitHub *conversational-surface* runbook. It is **distinct from the\n[source-control plane](../../capabilities/source-control.md)** (the agent's own coding loop —\ncheckout/push/PR via the `OE_GITHUB_*` credentials): the two are orthogonal planes that can\nshare one GitHub App but use **separate env var sets** (bare `GITHUB_*` here). For the concept\nof a *surface*, see [Surfaces](../../extending/surfaces.md). Like\n[Linear](./linear.md)/[Notion](./notion.md), GitHub is ticket/comment-based rather than\nchat-based, so it's out of scope for the chat [support matrix](./support-matrix.md).\n\n## How it works — three legs on one webhook route\n\nEvery GitHub App webhook delivery hits **`POST /eve/v1/github`** and feeds up to three legs:\n\n1. **The @mention leg** (eve's native `githubChannel`). Typing `@<app-slug>` in an issue, PR,\n or review comment wakes an agent session anchored to that conversation, with the repo\n checked out and (for PRs) the diff in context; the reply posts back as a comment. Note App\n bots don't appear in GitHub's `@` autocomplete — the mention matcher is text-based, so\n **type the slug in full** (e.g. `@open-everywhere`). The `@mention` also **engages** that\n issue or pull request: later plain comments on it wake the agent with no new mention, until\n somebody asks it to stop following — see [Reply without re-tagging](#reply-without-re-tagging)\n below.\n2. **The event → routine fan-out.** `issues` / `pull_request` / CI events fire any subscribed\n [event routines](../../capabilities/proactivity-and-routines.md) into their (Slack) surfaces.\n Before it fires, OE **re-fetches the entity over its own credential** rather than trusting the\n webhook body — *payload-as-pointer*. The fired message states the read instant and marks\n itself the current, authoritative state; the webhook's own one-line summary sits above it and\n may be older (a queued delivery can still describe a PR that has since merged), so that\n summary is HISTORY, not the present. The vendor's own `updated` timestamp, when GitHub sends\n one, is aged against the read the same way a [Linear](./linear.md#reading-an-issue) comment is.\n **The re-fetch applies to an issue or a pull request**, the two things GitHub serves under a\n number. A `check_run`, a `release` or a `workflow_run` is identified by an opaque id instead, so\n there is nothing to re-read: those fire from the webhook's own one-line summary and claim to have\n read nothing.\n A **`workflow_run`** fire also carries the run's branch, workflow name, status and conclusion as\n filterable fields, so \"a red build on our `main`\" is a subscription rather than a routine that\n wakes on every run and reads the payload:\n `.scope.container == \"acme/web\" and .fields.conclusion == \"failure\" and .fields.branch == \"main\"`.\n **The container clause is required, not decoration** — a `github` subscription that narrows by\n nothing is refused when you arm it, because one source spans every repo the App is installed on.\n And `branch` is a ref *name*: a run triggered by a pull request from a fork carries the\n contributor's head ref, and a fork's own default branch is usually `main` too, so `branch` alone\n does not prove the run ran on your branch. See the\n [event inventory](../../capabilities/proactivity-and-routines.md#the-event-inventory--what-each-vendor-can-send-and-how-far-we-carry-it)\n for what every other event does and does not carry.\n3. **The ambient-supervisor leg** (opt-in). Every *non-mention* issue/PR-timeline comment on an\n opted-in repo is judged by a **standing per-repo supervisor session** — the same ambient\n judge Slack channels and Notion docs use — which replies into the triggering issue/PR or\n stays audibly silent (a `github.no_reply` audit row, reason included).\n\n### Reply without re-tagging\n\nAn `@mention` marks that issue or pull request **engaged**. From then on a plain comment there\nwakes the agent — no second `@mention`, and no domain opt-in: the invitation was the comment\nsomebody already wrote.\n\n- **It is per container, never per repo.** Engaging issue #42 says nothing about #43.\n- **Private repos only.** A plain follow-up wakes a full turn — the agent checks the repo out and\n spends on the model — so on a public repo it would let any passer-by buy one. The follow-up\n therefore does nothing on a public repo, or on one whose privacy the delivery does not state.\n It is a *stricter* floor than ambient mode's below: ambient mode admits a public repo you vouched\n internal, and this one does not — vouching a repo never opens an uninvited full turn on it. An\n `@mention` still works on a public repo, exactly as before.\n- **Inline review comments do not count as follow-ups.** A review thread shares its pull request's\n container, so a plain inline comment on an engaged pull request wakes nothing — one review would\n otherwise start a turn per comment. `@mention` the app inside the review thread to get an answer\n there.\n- **Asking it to stop works, and it is durable.** Say it in words — \"leave this to us\", \"stop\n following this one\" — and the agent calls `stand_down`, which stores the stop against that\n issue. It then answers nothing there, on either leg, until somebody `@mentions` it again. A new\n `@mention` is the way back in; there is no timeout.\n- **A container nobody ever mentioned it in is untouched** by all of this. It wakes only through\n the ambient supervisor below, which is off until a domain opts in.\n- **The agent's own comments never re-trigger it**, and neither do other bots' — an engaged issue\n admits comments from people only.\n\n### Ambient mode — reserved by default, fail-closed everywhere\n\n- **Opt-in is per domain** (`ambientSupervisor: true` on the repo's memory domain — the same\n flag that turns on Slack/Notion ambient). Until a domain opts in, non-mention comments do\n nothing.\n- **A positively private repo, or any repo the operator vouched internal — fail-closed.** On a\n private repo every commenter was invited. On an unvouched public repo any drive-by stranger\n could buy judged model turns (an uninvited spend + prompt-injection surface). So the ambient\n leg runs on a repo the delivery states is private, and on any repo the operator vouched\n internal. It **drops every other comment** fail-closed — a repo that is neither positively\n private nor vouched, which includes a repo whose privacy the delivery does not state. Vouch\n one repo by declaring the surface key `github/<owner>` or `github/<owner>/<repo>` internal in\n the trust register (see\n [Identity](../../how-it-works/identity.md#the-trust-registry--declaring-what-a-rooms-audience-is));\n `OE_TRUST=internal` is the deployment-wide blanket, not the per-repo act.\n- **GitHub's calibration tier defaults to `reserved`** — a deliberately *higher* bar than\n Slack/Notion, because an over-eager bot in a collaborative code space reads as spam. Tune it\n per domain with `engagementTier` (see the\n [configuration reference](../configuration-reference.md#memory-domain--silo)).\n- **Mentions never double-handle, and neither do engaged follow-ups.** The ambient classifier\n reuses the exact mention gate the native leg wakes on. On a SINGLE-WINDOW, operator-vouched\n repo it returns `direct`, and the unified window answers the mention. On every other repo it\n *drops* the mention, because the native leg owns it. An engaged follow-up goes to whichever\n leg owns mentions on that repo, so the two legs partition every comment with no overlap and\n no gap:\n - on a repo where the NATIVE leg answers mentions, the native leg owns the engaged follow-up\n too, and the ambient leg drops it;\n - on a SINGLE-WINDOW, operator-vouched repo the native leg stands down for every comment\n (`shouldSuppressNativeMention`), so the AMBIENT leg owns the engaged follow-up and answers it\n as a judged wake — even with `ambientSupervisor` off. That wake states\n `follow-up=\"thread-engaged\"`, as the Slack, Linear and Notion wakes do, so the agent reads the\n follow-up as part of a conversation it is already in. An @mention carries no `follow-up`\n attribute: it is owed an answer whatever the enrolment says. The classifier itself reads no\n engagement row; the split is made at the native suppression gate.\n- **A stood-down container is dropped here too.** Once somebody asks the agent to stop following\n an issue, the ambient leg stops answering it as well, whatever this opt-in says. That is the\n only thing that makes the stop a stop rather than a note.\n- **The supervisor is silent plumbing.** Its judged turns add no 👀 reaction (the mention leg\n keeps its ack reaction), never check the repo out, and a *failed* judge turn is audited —\n never posted as an error comment.\n- Review-thread **inline** comments (`pull_request_review_comment`) are out of ambient scope\n v1 (a different reply/threading model); PR *timeline* comments are covered (GitHub delivers\n them as `issue_comment`).\n\n## How the silo model maps\n\n| Open Everywhere concept | GitHub thing |\n| --- | --- |\n| `org` (tenant) | your deployment (`deploymentIdentity.org` in `agent/identity/surfaces.ts`, one org per deploy today) |\n| `workspace` (identity key) | the repo **owner** (org/user login) |\n| `surface` (partition key) | the **repo** (one repo, many issues/PRs over time) |\n| invocation + post-back anchor | the **issue / PR** number |\n| `mode` | `channel` (GitHub has no 1:1 DM analog) |\n| `visibility` | `public` only for an explicitly public repo; else `private` (fail-closed) |\n\n**Trust fails closed.** Only a *private* repo touched by an org **OWNER/MEMBER** binds\n`internal` (shared/org memory readable); public repos, outside collaborators, and missing\nsignals bind `external`. The operator can vouch a deployment with `OE_TRUST=internal` — the\nsame layer the other non-Slack platforms use.\n\n## Setup\n\n1. **Create (or reuse) a GitHub App** with a webhook pointed at\n `https://<your-deploy-url>/eve/v1/github`, a webhook secret, and repo permissions for\n Issues + Pull requests (read/write) and Contents (read — the mention leg's sandbox\n checkout). **Grant Issues *and* Pull requests, both at read/write — neither alone is\n enough.** GitHub serves an issue and a PR through the same `/issues/{n}` endpoints but\n routes permission by the resource the number names, so an App missing either family goes\n 403 on half of its own conversations: missing Issues and it cannot read a plain issue,\n missing Pull requests and its replies never land on a PR thread. Subscribe to\n **`issue_comment`** + **`pull_request_review_comment`** (mention\n turns; `issue_comment` also feeds the ambient leg) and, for the routine fan-out,\n `issues` / `pull_request` / `check_suite` / `check_run` / `workflow_run` (the Checks events\n only appear once the Checks permission is granted).\n You do **not** need to subscribe to `installation` / `installation_repositories` — GitHub\n sends both to every App automatically and they are absent from the \"Subscribe to events\"\n list for that reason (\"All GitHub Apps receive this event by default. You cannot manually\n subscribe to this event.\"). They arrive on the same webhook URL, so each org that installs\n the App registers itself with no extra configuration (see *Multi-org installs* below).\n2. **Install the App** on the repos the agent should live on.\n3. **Configure the environment** (the conversational surface uses the **bare** names — the\n `OE_GITHUB_*` set is the separate source-control plane, even when both point at one App):\n\n ```bash\n GITHUB_APP_ID=… # the App's numeric id\n GITHUB_APP_SLUG=… # the App slug — the bot answers to @<slug>\n GITHUB_APP_PRIVATE_KEY=… # PEM private key (mint installation tokens)\n GITHUB_WEBHOOK_SECRET=… # HMAC-verifies every delivery. REQUIRED — unset rejects all (fail closed)\n # DEV ONLY, and it is a SETTING not a variable: turn on `webhooks.allowUnverifiedGithub`\n # in agent/settings/settings.ts to accept unsigned deliveries locally.\n ```\n\n4. **For ambient mode**, add the repo to a memory domain (surface key\n `github/<owner>/<repo>`) and set `ambientSupervisor: true` on it — see\n [Memory](../../capabilities/memory.md). A domain can compose repos **with** Slack channels,\n Notion docs, and Linear teams: one flag, one shared silo, ambient everywhere in it.\n\n## Multi-org installs (self-registering)\n\nThe source-control plane mints tokens per **owner**, so it needs an `owner → installation id`\nentry for every account the App is installed on. You can set that by hand with\n`OE_GITHUB_INSTALLATIONS` (a JSON map) or the single-owner `OE_GITHUB_OWNER` /\n`OE_GITHUB_INSTALLATION_ID` pair — and you no longer have to.\n\nBecause GitHub delivers `installation` + `installation_repositories` to every App by default\n(no subscription exists to switch on), each install/uninstall registers\nitself: `created`/`unsuspend` records the owner's installation id, `deleted`/`suspend` clears it,\nand a repo-scope change refreshes it. An org installing your App is then self-service end to end —\nno env edit, no redeploy.\n\n**`OE_GITHUB_INSTALLATIONS` stays authoritative.** The discovered entries are composed *under* the\nenv map, so anything you pinned by hand always wins, a store outage degrades to exactly the\nenv-configured set, and a webhook can never re-point an owner you configured yourself. (By the same\nrule, uninstalling an org you *also* pinned in env leaves the env entry in place — its mints then\nfail loudly at GitHub, which is the honest signal; remove it from the env map to finish the removal.)\n\nInstall and uninstall both write an audit row — `surface.app_installed` / `surface.app_uninstalled`,\nwith the owner as the workspace — so the install history is queryable over the control plane's\naudit route.\n\n## Ticket actions (state / assignee / labels)\n\nThe agent can also mutate an issue/PR's own state, assignee, and labels —\n[Source control § Ticket actions](../../capabilities/source-control.md#ticket-actions-set_state--assign--add_label)\nis the canonical doc (these ride the **source-control plane**'s credential, the `OE_GITHUB_*`\nApp, not this page's bare `GITHUB_*` conversational set — grant it the Issues permission).\nThese three verbs are known to work on an **issue**. On a **pull request** they are expected to\nbe refused today, because their credential names only the Issues family — tracked as OPE-1021.\n\nIt can also **file a new issue** with `create_ticket` (`target` = `owner/repo`, defaulting to\nthis turn's own repo, or to the channel's sole granted repo) — same Issues permission, same\nper-channel repo grant, and it always goes through the approval gate first — a card, unless an\noperator has explicitly lowered that verb in the approver chain. See\n[Source control § Filing new work](../../capabilities/source-control.md#filing-new-work-create_ticket).\n\n## Reading the conversation\n\nThe agent reads the thread it was called into with the same two verbs it uses on every other\nsurface: `read_channel` reads the issue-or-PR conversation — the opening post, then the newest\ntimeline comments — and `read_thread` reads one PR **review thread**, the inline discussion on a\nline of the diff. Both take no target: they read the conversation this turn arrived in.\n\nThree things worth knowing:\n\n- **A plain issue reads exactly like a PR.** The read goes through `/repos/{repo}/issues/{number}`,\n which GitHub serves for both, so nothing is PR-only here. `get_pr_feedback` remains the richer\n read for a PR under review — reviews, inline comments and check runs, which a conversation read\n does not carry.\n- **Only a comment on the diff has a thread.** An issue comment and a PR timeline comment are at the\n top level of their conversation, so `read_thread` on one says so rather than reading the timeline\n under a thread read's name.\n- **A delegated worker needs the repo grant.** The seat reads its own conversation; the worker's\n `read_work_channel` / `read_work_thread` mount only when the calling scope grants at least one repo\n ([Connectors § A chat surface can be a work surface too](../../capabilities/connectors-and-providers.md#a-chat-surface-can-be-a-work-surface-too)).\n\nThe read runs on the source-control credential — the `OE_GITHUB_*` App installation token, falling\nback to `GITHUB_TOKEN` — so a repo the App is not installed on cannot be read.\n\n## Gotchas\n\n- **A reaction on the agent's comment is read, not delivered — and only in conversations it has\n commented in.** GitHub sends no reaction webhook, so the agent looks for reactions on its own\n comments when the *next* delivery names that conversation. Two bounds keep that cheap, and both\n change what you will see. It looks only in conversations it is *in* — ones this deployment's reply\n path has commented in, or ones somebody `@mention`ed it in — because a conversation it is not in\n can hold no reaction it would record. The `@mention` half is what covers the replies the framework\n posts on its own; what falls outside both is a conversation it only ever answered *ambiently*,\n with no `@mention` ever, and has not answered in since this shipped — that one is picked up again\n on its next reply there. And each repository runs roughly 60 such polls an hour at most; the\n counter is deliberately cheap rather than exact, so a burst of simultaneous deliveries can push an\n hour a little over. When a repository passes the ceiling, one **`github.reaction_poll_budget`**\n audit row is written for that hour and the rest of the hour's reactions are not read. Query it with\n `GET /control/v1/audit?since=<iso>&actions=github.reaction_poll_budget` — a busy repository showing these rows\n every hour is the signal that the ceiling, not the feature, is what you are seeing.\n- **A reaction the agent has already recorded is skipped, and a store it cannot read skips\n everything.** The dedupe is a durable claim per reaction, and it fails *closed*: an unreadable\n claim store is treated as \"already recorded\", so no duplicate row is ever written. The cost is\n that a store outage stops the feedback signal completely while it lasts, which on its own looks\n exactly like a quiet week. Each poll that could not read the store writes one\n **`github.reaction_claim_unreadable`** audit row naming how many reactions it skipped. Query it\n with `GET /control/v1/audit?since=<iso>&actions=github.reaction_claim_unreadable`. Rows here mean\n the operational store, not the feature, is what you are seeing; reactions are recorded on the next\n poll after it recovers. **The row covers a *partial* fault, not every one** — it is written to the\n same operational store the claim read failed against, so a store that is wholly unreachable loses\n this row too. That case is visible instead as the audit drop counter and an\n `[open-everywhere:audit] dropped a \"github.reaction_claim_unreadable\" entry …` warning in the\n logs. So: rows present means the claim table specifically; the warning means the store.\n- **Ambient is off until a domain opts in**, and it never runs on a repo that isn't positively\n private. If non-mention comments get no response, check the domain flag, then the repo's\n privacy — and read the record rather than guessing: the first delivery from a repo the\n supervisor was never asked about writes a **`github.ambient_skipped`** audit row naming the\n surface key, the reason (`no-domain` — nothing routes this repo — versus `domain-refused` —\n a domain does route it but hasn't opted in) and the exact edit to make. Query it with\n `GET /control/v1/audit?since=<iso>&actions=github.ambient_skipped`. A whole owner at once is\n `reach: [\"github/<owner>\"]` on the domain — or, better where it fits, a same-level glob\n `reach: [\"github/<owner>/payments-*\"]` plus `exclude` for the repos that must stay out. With\n 500 repos the whole-owner entry is tempting, but it confers the domain's bundles on every repo\n the org will ever create; the glob is the same ergonomics with strictly less reach.\n See the [configuration reference](../configuration-reference.md#memory-domain--silo) and\n [Access & scoping](../../how-it-works/access-and-scoping.md#reach-exact-keys-and-containers).\n- **The `reply` tool is the only way an answer reaches an issue.** The agent posts mid-turn by\n calling `reply`; its turn's closing text is DROPPED and never posted. A turn that delivered\n writes a `github.replied` row carrying `route: \"tool\"`.\n- **Silence is a first-class outcome.** Most comments correctly get no reply (reserved tier).\n Every judged-silent turn is a `github.no_reply` audit row — the surface is working, not\n broken. Tune via `engagementTier`, watching the live `no_reply` rate. A **different** quiet\n outcome is a `turn.supervisor_prose_dropped` row on the github partition: the agent wrote an\n answer as its closing text and never called `reply`, so nothing was posted. That row is a\n defect signal, not a tuning signal — read the session transcript it names.\n- **An @mention turn can judge silence too.** The `github.no_reply` row is not only an ambient\n outcome. A turn woken by a direct @mention can also decide the wake does not warrant an answer;\n it then comments NOTHING and writes the same row with `route: \"native\"` and the reason. Those\n rows are rare by construction — a member addressed the app — so treat one as worth reading, not\n as tuning noise.\n- **Mention the slug in full.** App bots aren't in GitHub's `@` autocomplete; the matcher is\n text-based (`@<slug>` followed by a non-word character).\n- **Webhook verification is fail-closed.** `GITHUB_WEBHOOK_SECRET` unset/wrong → every\n delivery is rejected 401 and every leg stays silent — including the installation leg, so a\n deploy with a wrong secret silently learns nothing. Check the secret first if installs\n aren't registering.\n\n## Status\n\nThe @mention leg and the routine fan-out are **live-verified**. The ambient leg is built,\nunit-tested, and driven by the `J-GH` end-to-end scenario in\n`packages/core/scripts/e2e/scenarios.ts` (`suite: \"core\"`, non-optional, judged), with\n`J-ENGAGED-github` covering the engaged-follow-up seam. `J-GH` drives the mention reply, the\npickup reaction, the **mention gate** (a non-mention comment gets no reply) with its\naudited-silence row, session resume, reply-targeting across two issues, and the signed-forge\nroute contract. The ambient *wake* on an opted-in repo is `J-ENGAGED-github`'s leg: a mention\nengages the issue, a plain follow-up wakes, and `stand_down` stops it. The repository holds the\nscenarios, not their results, so read live-verification status off those runs rather than off\nthis page.\n",
13
+ markdown: "# GitHub\n\nInstall Open Everywhere's GitHub App on a repo and the agent becomes a **conversational\nteammate on issues and pull requests**: @mention it in an issue/PR/review comment and it wakes\nwith the repo checked out into its sandbox (and the PR diff in context), does the work, and\nreplies as a comment. Opt the repo's memory **domain** into ambient mode and it also becomes a\n**quiet standing reviewer**: it reads every issue/PR-timeline comment, judges each against a\ndeliberately high bar (GitHub defaults to the *reserved* calibration tier), and comments only\nwhere it clearly adds something — every silence audited.\n\nThis is the GitHub *conversational-surface* runbook. It is **distinct from the\n[source-control plane](../../capabilities/source-control.md)** (the agent's own coding loop —\ncheckout/push/PR via the `OE_GITHUB_*` credentials): the two are orthogonal planes that can\nshare one GitHub App but use **separate env var sets** (bare `GITHUB_*` here). For the concept\nof a *surface*, see [Surfaces](../../extending/surfaces.md). Like\n[Linear](./linear.md)/[Notion](./notion.md), GitHub is ticket/comment-based rather than\nchat-based, so it's out of scope for the chat [support matrix](./support-matrix.md).\n\n## How it works — three legs on one webhook route\n\nEvery GitHub App webhook delivery hits **`POST /eve/v1/github`** and feeds up to three legs:\n\n1. **The @mention leg** (eve's native `githubChannel`). Typing `@<app-slug>` in an issue, PR,\n or review comment wakes an agent session anchored to that conversation, with the repo\n checked out and (for PRs) the diff in context; the reply posts back as a comment. Note App\n bots don't appear in GitHub's `@` autocomplete — the mention matcher is text-based, so\n **type the slug in full** (e.g. `@open-everywhere`). The `@mention` also **engages** that\n issue or pull request: later plain comments on it wake the agent with no new mention, until\n somebody asks it to stop following — see [Reply without re-tagging](#reply-without-re-tagging)\n below.\n2. **The event → routine fan-out.** `issues` / `pull_request` / CI events fire any subscribed\n [event routines](../../capabilities/proactivity-and-routines.md) into their (Slack) surfaces.\n Before it fires, OE **re-fetches the entity over its own credential** rather than trusting the\n webhook body — *payload-as-pointer*. The fired message states the read instant and marks\n itself the current, authoritative state; the webhook's own one-line summary sits above it and\n may be older (a queued delivery can still describe a PR that has since merged), so that\n summary is HISTORY, not the present. The vendor's own `updated` timestamp, when GitHub sends\n one, is aged against the read the same way a [Linear](./linear.md#reading-an-issue) comment is.\n **The re-fetch applies to an issue or a pull request**, the two things GitHub serves under a\n number. A `check_run`, a `release` or a `workflow_run` is identified by an opaque id instead, so\n there is nothing to re-read: those fire from the webhook's own one-line summary and claim to have\n read nothing.\n A **`workflow_run`** fire also carries the run's branch, workflow name, status and conclusion as\n filterable fields, so \"a red build on our `main`\" is a subscription rather than a routine that\n wakes on every run and reads the payload:\n `.scope.container == \"acme/web\" and .fields.conclusion == \"failure\" and .fields.branch == \"main\"`.\n **The container clause is required, not decoration** — a `github` subscription that narrows by\n nothing is refused when you arm it, because one source spans every repo the App is installed on.\n And `branch` is a ref *name*: a run triggered by a pull request from a fork carries the\n contributor's head ref, and a fork's own default branch is usually `main` too, so `branch` alone\n does not prove the run ran on your branch. See the\n [event inventory](../../capabilities/proactivity-and-routines.md#the-event-inventory--what-each-vendor-can-send-and-how-far-we-carry-it)\n for what every other event does and does not carry.\n3. **The ambient-supervisor leg** (opt-in). Every *non-mention* issue/PR-timeline comment on an\n opted-in repo is judged by a **standing per-repo supervisor session** — the same ambient\n judge Slack channels and Notion docs use — which replies into the triggering issue/PR or\n stays audibly silent (a `github.no_reply` audit row, reason included).\n\n### Reply without re-tagging\n\nAn `@mention` marks that issue or pull request **engaged**. From then on a plain comment there\nwakes the agent — no second `@mention`, and no domain opt-in: the invitation was the comment\nsomebody already wrote.\n\n- **It is per container, never per repo.** Engaging issue #42 says nothing about #43.\n- **Private repos only.** A plain follow-up wakes a full turn — the agent checks the repo out and\n spends on the model — so on a public repo it would let any passer-by buy one. The follow-up\n therefore does nothing on a public repo, or on one whose privacy the delivery does not state.\n It is a *stricter* floor than ambient mode's below: ambient mode admits a public repo you vouched\n internal, and this one does not — vouching a repo never opens an uninvited full turn on it. An\n `@mention` still works on a public repo, exactly as before.\n- **Inline review comments do not count as follow-ups.** A review thread shares its pull request's\n container, so a plain inline comment on an engaged pull request wakes nothing — one review would\n otherwise start a turn per comment. `@mention` the app inside the review thread to get an answer\n there.\n- **Asking it to stop works, and it is durable.** Say it in words — \"leave this to us\", \"stop\n following this one\" — and the agent calls `stand_down`, which stores the stop against that\n issue. It then answers nothing there, on either leg, until somebody `@mentions` it again. A new\n `@mention` is the way back in; there is no timeout.\n- **A container nobody ever mentioned it in is untouched** by all of this. It wakes only through\n the ambient supervisor below, which is off until a domain opts in.\n- **The agent's own comments never re-trigger it**, and neither do other bots' — an engaged issue\n admits comments from people only.\n\n### Ambient mode — reserved by default, fail-closed everywhere\n\n- **Opt-in is per domain** (`ambientSupervisor: true` on the repo's memory domain — the same\n flag that turns on Slack/Notion ambient). Until a domain opts in, non-mention comments do\n nothing.\n- **A positively private repo, or any repo the operator vouched internal — fail-closed.** On a\n private repo every commenter was invited. On an unvouched public repo any drive-by stranger\n could buy judged model turns (an uninvited spend + prompt-injection surface). So the ambient\n leg runs on a repo the delivery states is private, and on any repo the operator vouched\n internal. It **drops every other comment** fail-closed — a repo that is neither positively\n private nor vouched, which includes a repo whose privacy the delivery does not state. Vouch\n one repo by declaring the surface key `github/<owner>` or `github/<owner>/<repo>` internal in\n the trust register (see\n [Identity](../../how-it-works/identity.md#the-trust-registry--declaring-what-a-rooms-audience-is));\n `OE_TRUST=internal` is the deployment-wide blanket, not the per-repo act.\n- **GitHub's calibration tier defaults to `reserved`** — a deliberately *higher* bar than\n Slack/Notion, because an over-eager bot in a collaborative code space reads as spam. Tune it\n per domain with `engagementTier` (see the\n [configuration reference](../configuration-reference.md#memory-domain--silo)).\n- **Mentions never double-handle, and neither do engaged follow-ups.** The ambient classifier\n reuses the exact mention gate the native leg wakes on. On a SINGLE-WINDOW, operator-vouched\n repo it returns `direct`, and the unified window answers the mention. On every other repo it\n *drops* the mention, because the native leg owns it. An engaged follow-up goes to whichever\n leg owns mentions on that repo, so the two legs partition every comment with no overlap and\n no gap:\n - on a repo where the NATIVE leg answers mentions, the native leg owns the engaged follow-up\n too, and the ambient leg drops it;\n - on a SINGLE-WINDOW, operator-vouched repo the native leg stands down for every comment\n (`shouldSuppressNativeMention`), so the AMBIENT leg owns the engaged follow-up and answers it\n as a judged wake — even with `ambientSupervisor` off. That wake states\n `follow-up=\"thread-engaged\"`, as the Slack, Linear and Notion wakes do, so the agent reads the\n follow-up as part of a conversation it is already in. An @mention carries no `follow-up`\n attribute: it is owed an answer whatever the enrolment says. The classifier itself reads no\n engagement row; the split is made at the native suppression gate.\n- **A stood-down container is dropped here too.** Once somebody asks the agent to stop following\n an issue, the ambient leg stops answering it as well, whatever this opt-in says. That is the\n only thing that makes the stop a stop rather than a note.\n- **The supervisor is silent plumbing.** Its judged turns add no 👀 reaction (the mention leg\n keeps its ack reaction), never check the repo out, and a *failed* judge turn is audited —\n never posted as an error comment.\n- Review-thread **inline** comments (`pull_request_review_comment`) are out of ambient scope\n v1 (a different reply/threading model); PR *timeline* comments are covered (GitHub delivers\n them as `issue_comment`).\n\n## How the silo model maps\n\n| Open Everywhere concept | GitHub thing |\n| --- | --- |\n| `org` (tenant) | your deployment (`deploymentIdentity.org` in `agent/identity/surfaces.ts`, one org per deploy today) |\n| `workspace` (identity key) | the repo **owner** (org/user login) |\n| `surface` (partition key) | the **repo** (one repo, many issues/PRs over time) |\n| invocation + post-back anchor | the **issue / PR** number |\n| `mode` | `channel` (GitHub has no 1:1 DM analog) |\n| `visibility` | `public` only for an explicitly public repo; else `private` (fail-closed) |\n\n**Trust fails closed.** Only a *private* repo touched by an org **OWNER/MEMBER** binds\n`internal` (shared/org memory readable); public repos, outside collaborators, and missing\nsignals bind `external`. The operator can vouch a deployment with `OE_TRUST=internal` — the\nsame layer the other non-Slack platforms use.\n\n## Setup\n\n1. **Create (or reuse) a GitHub App** with a webhook pointed at\n `https://<your-deploy-url>/eve/v1/github`, a webhook secret, and repo permissions for\n Issues + Pull requests (read/write) and Contents (read — the mention leg's sandbox\n checkout). **Grant Issues *and* Pull requests, both at read/write — neither alone is\n enough.** GitHub serves an issue and a PR through the same `/issues/{n}` endpoints but\n routes permission by the resource the number names, so an App missing either family goes\n 403 on half of its own conversations: missing Issues and it cannot read a plain issue,\n missing Pull requests and its replies never land on a PR thread. Subscribe to\n **`issue_comment`** + **`pull_request_review_comment`** (mention\n turns; `issue_comment` also feeds the ambient leg) and, for the routine fan-out,\n `issues` / `pull_request` / `check_suite` / `check_run` / `workflow_run` (the Checks events\n only appear once the Checks permission is granted).\n You do **not** need to subscribe to `installation` / `installation_repositories` — GitHub\n sends both to every App automatically and they are absent from the \"Subscribe to events\"\n list for that reason (\"All GitHub Apps receive this event by default. You cannot manually\n subscribe to this event.\"). They arrive on the same webhook URL, so each org that installs\n the App registers itself with no extra configuration (see *Multi-org installs* below).\n2. **Install the App** on the repos the agent should live on.\n3. **Configure the environment** (the conversational surface uses the **bare** names — the\n `OE_GITHUB_*` set is the separate source-control plane, even when both point at one App):\n\n ```bash\n GITHUB_APP_ID=… # the App's numeric id\n GITHUB_APP_SLUG=… # the App slug — the bot answers to @<slug>\n GITHUB_APP_PRIVATE_KEY=… # PEM private key (mint installation tokens)\n GITHUB_WEBHOOK_SECRET=… # HMAC-verifies every delivery. REQUIRED — unset rejects all (fail closed)\n # DEV ONLY, and it is a SETTING not a variable: turn on `webhooks.allowUnverifiedGithub`\n # in agent/settings/settings.ts to accept unsigned deliveries locally.\n ```\n\n4. **For ambient mode**, add the repo to a memory domain (surface key\n `github/<owner>/<repo>`) and set `ambientSupervisor: true` on it — see\n [Memory](../../capabilities/memory.md). A domain can compose repos **with** Slack channels,\n Notion docs, and Linear teams: one flag, one shared silo, ambient everywhere in it.\n\n## Multi-org installs (self-registering)\n\nThe source-control plane mints tokens per **owner**, so it needs an `owner → installation id`\nentry for every account the App is installed on. You can set that by hand with\n`OE_GITHUB_INSTALLATIONS` (a JSON map) or the single-owner `OE_GITHUB_OWNER` /\n`OE_GITHUB_INSTALLATION_ID` pair — and you no longer have to.\n\nBecause GitHub delivers `installation` + `installation_repositories` to every App by default\n(no subscription exists to switch on), each install/uninstall registers\nitself: `created`/`unsuspend` records the owner's installation id, `deleted`/`suspend` clears it,\nand a repo-scope change refreshes it. An org installing your App is then self-service end to end —\nno env edit, no redeploy.\n\n**`OE_GITHUB_INSTALLATIONS` stays authoritative.** The discovered entries are composed *under* the\nenv map, so anything you pinned by hand always wins, a store outage degrades to exactly the\nenv-configured set, and a webhook can never re-point an owner you configured yourself. (By the same\nrule, uninstalling an org you *also* pinned in env leaves the env entry in place — its mints then\nfail loudly at GitHub, which is the honest signal; remove it from the env map to finish the removal.)\n\nInstall and uninstall both write an audit row — `surface.app_installed` / `surface.app_uninstalled`,\nwith the owner as the workspace — so the install history is queryable over the control plane's\naudit route.\n\n## Ticket actions (state / assignee / labels)\n\nThe agent can also mutate an issue/PR's own state, assignee, and labels —\n[Source control § Ticket actions](../../capabilities/source-control.md#ticket-actions-set_state--assign--add_label)\nis the canonical doc (these ride the **source-control plane**'s credential, the `OE_GITHUB_*`\nApp, not this page's bare `GITHUB_*` conversational set — grant it the Issues permission).\nThese three verbs are known to work on an **issue**. On a **pull request** they are expected to\nbe refused today, because their credential names only the Issues family — tracked as OPE-1021.\n\nIt can also **file a new issue** with `create_ticket` (`target` = `owner/repo`, defaulting to\nthis turn's own repo, or to the channel's sole granted repo) — same Issues permission, same\nper-channel repo grant, and it always goes through the approval gate first — a card, unless an\noperator has explicitly lowered that verb in the approver chain. See\n[Source control § Filing new work](../../capabilities/source-control.md#filing-new-work-create_ticket).\n\n## Reading the conversation\n\nThe agent reads the thread it was called into with the same two verbs it uses on every other\nsurface: `read_channel` reads the issue-or-PR conversation — the opening post, then the newest\ntimeline comments — and `read_thread` reads one PR **review thread**, the inline discussion on a\nline of the diff. Both take no target: they read the conversation this turn arrived in.\n\nThree things worth knowing:\n\n- **A plain issue reads exactly like a PR.** The read goes through `/repos/{repo}/issues/{number}`,\n which GitHub serves for both, so nothing is PR-only here. `get_pr_feedback` remains the richer\n read for a PR under review — reviews, inline comments and check runs, which a conversation read\n does not carry.\n- **Another issue reads by target.** `read_channel` and `read_work_channel` read only this\n conversation. `read_github_issue` takes `repo` and `number` and reads another issue's opening\n post and newest comments, inside the session's repo grant. A `search` hit for such an issue names\n it as the road.\n- **Only a comment on the diff has a thread.** An issue comment and a PR timeline comment are at the\n top level of their conversation, so `read_thread` on one says so rather than reading the timeline\n under a thread read's name.\n- **A delegated worker needs the repo grant.** The seat reads its own conversation; the worker's\n `read_work_channel` / `read_work_thread` mount only when the calling scope grants at least one repo\n ([Connectors § A chat surface can be a work surface too](../../capabilities/connectors-and-providers.md#a-chat-surface-can-be-a-work-surface-too)).\n\nThe read runs on the source-control credential — the `OE_GITHUB_*` App installation token, falling\nback to `GITHUB_TOKEN` — so a repo the App is not installed on cannot be read.\n\n## Gotchas\n\n- **A reaction on the agent's comment is read, not delivered — and only in conversations it has\n commented in.** GitHub sends no reaction webhook, so the agent looks for reactions on its own\n comments when the *next* delivery names that conversation. Two bounds keep that cheap, and both\n change what you will see. It looks only in conversations it is *in* — ones this deployment's reply\n path has commented in, or ones somebody `@mention`ed it in — because a conversation it is not in\n can hold no reaction it would record. The `@mention` half is what covers the replies the framework\n posts on its own; what falls outside both is a conversation it only ever answered *ambiently*,\n with no `@mention` ever, and has not answered in since this shipped — that one is picked up again\n on its next reply there. And each repository runs roughly 60 such polls an hour at most; the\n counter is deliberately cheap rather than exact, so a burst of simultaneous deliveries can push an\n hour a little over. When a repository passes the ceiling, one **`github.reaction_poll_budget`**\n audit row is written for that hour and the rest of the hour's reactions are not read. Query it with\n `GET /control/v1/audit?since=<iso>&actions=github.reaction_poll_budget` — a busy repository showing these rows\n every hour is the signal that the ceiling, not the feature, is what you are seeing.\n- **A reaction the agent has already recorded is skipped, and a store it cannot read skips\n everything.** The dedupe is a durable claim per reaction, and it fails *closed*: an unreadable\n claim store is treated as \"already recorded\", so no duplicate row is ever written. The cost is\n that a store outage stops the feedback signal completely while it lasts, which on its own looks\n exactly like a quiet week. Each poll that could not read the store writes one\n **`github.reaction_claim_unreadable`** audit row naming how many reactions it skipped. Query it\n with `GET /control/v1/audit?since=<iso>&actions=github.reaction_claim_unreadable`. Rows here mean\n the operational store, not the feature, is what you are seeing; reactions are recorded on the next\n poll after it recovers. **The row covers a *partial* fault, not every one** — it is written to the\n same operational store the claim read failed against, so a store that is wholly unreachable loses\n this row too. That case is visible instead as the audit drop counter and an\n `[open-everywhere:audit] dropped a \"github.reaction_claim_unreadable\" entry …` warning in the\n logs. So: rows present means the claim table specifically; the warning means the store.\n- **Ambient is off until a domain opts in**, and it never runs on a repo that isn't positively\n private. If non-mention comments get no response, check the domain flag, then the repo's\n privacy — and read the record rather than guessing: the first delivery from a repo the\n supervisor was never asked about writes a **`github.ambient_skipped`** audit row naming the\n surface key, the reason (`no-domain` — nothing routes this repo — versus `domain-refused` —\n a domain does route it but hasn't opted in) and the exact edit to make. Query it with\n `GET /control/v1/audit?since=<iso>&actions=github.ambient_skipped`. A whole owner at once is\n `reach: [\"github/<owner>\"]` on the domain — or, better where it fits, a same-level glob\n `reach: [\"github/<owner>/payments-*\"]` plus `exclude` for the repos that must stay out. With\n 500 repos the whole-owner entry is tempting, but it confers the domain's bundles on every repo\n the org will ever create; the glob is the same ergonomics with strictly less reach.\n See the [configuration reference](../configuration-reference.md#memory-domain--silo) and\n [Access & scoping](../../how-it-works/access-and-scoping.md#reach-exact-keys-and-containers).\n- **The `reply` tool is the only way an answer reaches an issue.** The agent posts mid-turn by\n calling `reply`; its turn's closing text is DROPPED and never posted. A turn that delivered\n writes a `github.replied` row carrying `route: \"tool\"`.\n- **Silence is a first-class outcome.** Most comments correctly get no reply (reserved tier).\n Every judged-silent turn is a `github.no_reply` audit row — the surface is working, not\n broken. Tune via `engagementTier`, watching the live `no_reply` rate. A **different** quiet\n outcome is a `turn.supervisor_prose_dropped` row on the github partition: the agent wrote an\n answer as its closing text and never called `reply`, so nothing was posted. That row is a\n defect signal, not a tuning signal — read the session transcript it names.\n- **An @mention turn can judge silence too.** The `github.no_reply` row is not only an ambient\n outcome. A turn woken by a direct @mention can also decide the wake does not warrant an answer;\n it then comments NOTHING and writes the same row with `route: \"native\"` and the reason. Those\n rows are rare by construction — a member addressed the app — so treat one as worth reading, not\n as tuning noise.\n- **Mention the slug in full.** App bots aren't in GitHub's `@` autocomplete; the matcher is\n text-based (`@<slug>` followed by a non-word character).\n- **Webhook verification is fail-closed.** `GITHUB_WEBHOOK_SECRET` unset/wrong → every\n delivery is rejected 401 and every leg stays silent — including the installation leg, so a\n deploy with a wrong secret silently learns nothing. Check the secret first if installs\n aren't registering.\n\n## Status\n\nThe @mention leg and the routine fan-out are **live-verified**. The ambient leg is built,\nunit-tested, and driven by the `J-GH` end-to-end scenario in\n`packages/core/scripts/e2e/scenarios.ts` (`suite: \"core\"`, non-optional, judged), with\n`J-ENGAGED-github` covering the engaged-follow-up seam. `J-GH` drives the mention reply, the\npickup reaction, the **mention gate** (a non-mention comment gets no reply) with its\naudited-silence row, session resume, reply-targeting across two issues, and the signed-forge\nroute contract. The ambient *wake* on an opted-in repo is `J-ENGAGED-github`'s leg: a mention\nengages the issue, a plain follow-up wakes, and `stand_down` stops it. The repository holds the\nscenarios, not their results, so read live-verification status off those runs rather than off\nthis page.\n",
14
14
  },
15
15
  ];
@@ -13,10 +13,6 @@ export const GITHUB_SURFACE_PARITY: SurfaceParityDeclaration = {
13
13
  "capability-manifest": "supported",
14
14
  "post-arm": "supported",
15
15
  "wake-origin-codec": "supported",
16
- "unified-action-plane": {
17
- unsupported:
18
- "an issue comment is markdown and carries no component plane at all — GitHub offers no tappable button a bot may render into a timeline comment, so there is nothing for a tap route to receive. The bridged approval posts as prose, which the question bridge already renders complete",
19
- },
20
16
  "origin-placement-carry": {
21
17
  unsupported:
22
18
  "the placement is INSIDE the conversation identity: a reply is a comment appended to the issue timeline and the issue IS `threadRef`'s thread key, so there is no 'where inside it' left to name",
@@ -134,6 +134,6 @@ type GitHubSend = (payload: {
134
134
  */
135
135
  export declare function liveGitHubSupervisorDeps(send: GitHubSend, ev: GitHubAmbientEvent, to?: RouteHandlerArgs["to"]): GitHubSupervisorDeps;
136
136
  export declare const githubOnComment: (ctx: GitHubInboundContext, comment: GitHubComment) => Promise<GitHubInboundResult>;
137
- declare const channel: GitHubChannel;
138
- export default channel;
137
+ declare const _default: GitHubChannel;
138
+ export default _default;
139
139
  //# sourceMappingURL=github.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../../agent/channels/github.ts"],"names":[],"mappings":"AAuFA,OAAO,KAAK,EAAuB,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAiB,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,KAAK,oBAAoB,EAAE,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1K,OAAO,EAOL,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACrB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAOL,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAC1B,MAAM,wBAAwB,CAAC;AAMhC,OAAO,EA4CL,KAAK,mBAAmB,EAIxB,KAAK,cAAc,EASpB,MAAM,4CAA4C,CAAC;AAgFpD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,GAAG,OAAO,CAGpH;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,CAAC,EAAE,eAAe,GACjB,OAAO,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;IAAC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;CAAE,CAAC,CAIhH;AAiCD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAE5F;AAUD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,iBAAiB,GAAG,aAAa,CAAC;AAElF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,GAAG,qBAAqB,CAGxB;AA+ED;;;;;GAKG;AACH,KAAK,UAAU,GAAG,CAChB,OAAO,EAAE;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,EAC3E,OAAO,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAA;CAAE,KACzG,OAAO,CAAC,OAAO,CAAC,CAAC;AActB;;;;;;;;;;;GAWG;AAKH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,CAAC,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAkHpI;AAgWD,eAAO,MAAM,eAAe,QAAe,oBAAoB,WAAW,aAAa,KAAG,OAAO,CAAC,mBAAmB,CAwKpH,CAAC;AAoSF,QAAA,MAAM,OAAO,EAAE,aAAqC,CAAC;eAEtC,OAAO"}
1
+ {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../../agent/channels/github.ts"],"names":[],"mappings":"AAuFA,OAAO,KAAK,EAAuB,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAiB,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,KAAK,oBAAoB,EAAE,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1K,OAAO,EAOL,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACrB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAOL,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAC1B,MAAM,wBAAwB,CAAC;AAMhC,OAAO,EA4CL,KAAK,mBAAmB,EAIxB,KAAK,cAAc,EASpB,MAAM,4CAA4C,CAAC;AAiFpD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,GAAG,OAAO,CAGpH;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,CAAC,EAAE,eAAe,GACjB,OAAO,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;IAAC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;CAAE,CAAC,CAIhH;AAiCD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAE5F;AAUD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,iBAAiB,GAAG,aAAa,CAAC;AAElF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,GAAG,qBAAqB,CAGxB;AA+ED;;;;;GAKG;AACH,KAAK,UAAU,GAAG,CAChB,OAAO,EAAE;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,EAC3E,OAAO,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAA;CAAE,KACzG,OAAO,CAAC,OAAO,CAAC,CAAC;AActB;;;;;;;;;;;GAWG;AAKH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,CAAC,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAkHpI;AAgWD,eAAO,MAAM,eAAe,QAAe,oBAAoB,WAAW,aAAa,KAAG,OAAO,CAAC,mBAAmB,CAwKpH,CAAC"}
@@ -96,6 +96,7 @@ import { classifyGitHubAmbientComment, extractGitHubAmbientEvent, githubDispatch
96
96
  // cross the barrel (see routines/github-fanout.ts).
97
97
  import { extractGitHubInstallationEvent, handleGitHubInstallationDelivery } from "./github-installations.js";
98
98
  import { recordGitHubInstallation, forgetGitHubInstallation, supervisorGrainFor, mintRotationToken, claimRuntimeRotation, stampMintedRuntime, grainUsesUnifiedWindow, mintWakeId, vendorInstantEventTime, spreadVendorTs, singleWindowMentionPolicy, isVouchedInternal, divertInboundToUnifiedWindow, finalMessageActionForTurn, completeSupervisorTurn, consumeSupervisorReplyMark, dropClosingProse, resolvePartition, auditSupervisorFailure, healPrunedDeploymentStrand, capabilitiesForPlatform, appendAudit, ingressSpendGate, auditAmbientSkip, deploymentOrg, resolveWakeTrustFromContext, getConfig, ambientSupervisorEnabled, engagementTierFor, getOperationalStore, gateGithubDelivery, getSettings, fanOutGitHubDelivery, resolveExternalPolicy, externalPolicyOverrideFor, roomIsSilenced, withholdsBody, EXTERNAL_MENTION_ACK, owesSuppressedMentionAck, suppressionRendering, stampNonMemberChatAuth, carryTailForward, recordWakeTail, seatCatchUp, seatAdmissionFor, ENGAGED_FOLLOW_UP_CONTEXT, OE_ADDRESSED_ATTR, dispatchNativeWakeWithRetry, } from "@open-everywhere/core/agent/adapter-api.js";
99
+ import { withEndsTurnFinalChannel } from "@open-everywhere/core/agent/adapter-api.js";
99
100
  const ROUTE = "/eve/v1/github";
100
101
  const BOT_NAME = process.env.GITHUB_APP_SLUG;
101
102
  function log(msg) {
@@ -1228,5 +1229,7 @@ const routes = native.routes.map((r) => r.transport !== "websocket" && r.method
1228
1229
  ? { ...r, handler: wrapRoute(r.handler) }
1229
1230
  : r);
1230
1231
  const channel = { ...native, routes };
1231
- export default channel;
1232
+ // OPE-2252 — `reply`/`no_reply` end the turn natively (`endsTurn`) and eve then emits no final message,
1233
+ // so the wrapper decides such a turn at `turn.completed` (core `channels/ends-turn-final.ts`).
1234
+ export default withEndsTurnFinalChannel(channel);
1232
1235
  //# sourceMappingURL=github.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"github.js","sourceRoot":"","sources":["../../../agent/channels/github.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"github.js","sourceRoot":"","sources":["../../../agent/channels/github.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ export const PROVIDER_DOCS = [
7
7
  path: "docs/deploy/surfaces/github.md",
8
8
  title: "GitHub",
9
9
  summary: "Install Open Everywhere's GitHub App on a repo and the agent becomes a conversational teammate on issues and pull requests: @mention it in an issue/PR/review comment and it wakes with the repo checked out into its sandbox (and the PR diff…",
10
- markdown: "# GitHub\n\nInstall Open Everywhere's GitHub App on a repo and the agent becomes a **conversational\nteammate on issues and pull requests**: @mention it in an issue/PR/review comment and it wakes\nwith the repo checked out into its sandbox (and the PR diff in context), does the work, and\nreplies as a comment. Opt the repo's memory **domain** into ambient mode and it also becomes a\n**quiet standing reviewer**: it reads every issue/PR-timeline comment, judges each against a\ndeliberately high bar (GitHub defaults to the *reserved* calibration tier), and comments only\nwhere it clearly adds something — every silence audited.\n\nThis is the GitHub *conversational-surface* runbook. It is **distinct from the\n[source-control plane](../../capabilities/source-control.md)** (the agent's own coding loop —\ncheckout/push/PR via the `OE_GITHUB_*` credentials): the two are orthogonal planes that can\nshare one GitHub App but use **separate env var sets** (bare `GITHUB_*` here). For the concept\nof a *surface*, see [Surfaces](../../extending/surfaces.md). Like\n[Linear](./linear.md)/[Notion](./notion.md), GitHub is ticket/comment-based rather than\nchat-based, so it's out of scope for the chat [support matrix](./support-matrix.md).\n\n## How it works — three legs on one webhook route\n\nEvery GitHub App webhook delivery hits **`POST /eve/v1/github`** and feeds up to three legs:\n\n1. **The @mention leg** (eve's native `githubChannel`). Typing `@<app-slug>` in an issue, PR,\n or review comment wakes an agent session anchored to that conversation, with the repo\n checked out and (for PRs) the diff in context; the reply posts back as a comment. Note App\n bots don't appear in GitHub's `@` autocomplete — the mention matcher is text-based, so\n **type the slug in full** (e.g. `@open-everywhere`). The `@mention` also **engages** that\n issue or pull request: later plain comments on it wake the agent with no new mention, until\n somebody asks it to stop following — see [Reply without re-tagging](#reply-without-re-tagging)\n below.\n2. **The event → routine fan-out.** `issues` / `pull_request` / CI events fire any subscribed\n [event routines](../../capabilities/proactivity-and-routines.md) into their (Slack) surfaces.\n Before it fires, OE **re-fetches the entity over its own credential** rather than trusting the\n webhook body — *payload-as-pointer*. The fired message states the read instant and marks\n itself the current, authoritative state; the webhook's own one-line summary sits above it and\n may be older (a queued delivery can still describe a PR that has since merged), so that\n summary is HISTORY, not the present. The vendor's own `updated` timestamp, when GitHub sends\n one, is aged against the read the same way a [Linear](./linear.md#reading-an-issue) comment is.\n **The re-fetch applies to an issue or a pull request**, the two things GitHub serves under a\n number. A `check_run`, a `release` or a `workflow_run` is identified by an opaque id instead, so\n there is nothing to re-read: those fire from the webhook's own one-line summary and claim to have\n read nothing.\n A **`workflow_run`** fire also carries the run's branch, workflow name, status and conclusion as\n filterable fields, so \"a red build on our `main`\" is a subscription rather than a routine that\n wakes on every run and reads the payload:\n `.scope.container == \"acme/web\" and .fields.conclusion == \"failure\" and .fields.branch == \"main\"`.\n **The container clause is required, not decoration** — a `github` subscription that narrows by\n nothing is refused when you arm it, because one source spans every repo the App is installed on.\n And `branch` is a ref *name*: a run triggered by a pull request from a fork carries the\n contributor's head ref, and a fork's own default branch is usually `main` too, so `branch` alone\n does not prove the run ran on your branch. See the\n [event inventory](../../capabilities/proactivity-and-routines.md#the-event-inventory--what-each-vendor-can-send-and-how-far-we-carry-it)\n for what every other event does and does not carry.\n3. **The ambient-supervisor leg** (opt-in). Every *non-mention* issue/PR-timeline comment on an\n opted-in repo is judged by a **standing per-repo supervisor session** — the same ambient\n judge Slack channels and Notion docs use — which replies into the triggering issue/PR or\n stays audibly silent (a `github.no_reply` audit row, reason included).\n\n### Reply without re-tagging\n\nAn `@mention` marks that issue or pull request **engaged**. From then on a plain comment there\nwakes the agent — no second `@mention`, and no domain opt-in: the invitation was the comment\nsomebody already wrote.\n\n- **It is per container, never per repo.** Engaging issue #42 says nothing about #43.\n- **Private repos only.** A plain follow-up wakes a full turn — the agent checks the repo out and\n spends on the model — so on a public repo it would let any passer-by buy one. The follow-up\n therefore does nothing on a public repo, or on one whose privacy the delivery does not state.\n It is a *stricter* floor than ambient mode's below: ambient mode admits a public repo you vouched\n internal, and this one does not — vouching a repo never opens an uninvited full turn on it. An\n `@mention` still works on a public repo, exactly as before.\n- **Inline review comments do not count as follow-ups.** A review thread shares its pull request's\n container, so a plain inline comment on an engaged pull request wakes nothing — one review would\n otherwise start a turn per comment. `@mention` the app inside the review thread to get an answer\n there.\n- **Asking it to stop works, and it is durable.** Say it in words — \"leave this to us\", \"stop\n following this one\" — and the agent calls `stand_down`, which stores the stop against that\n issue. It then answers nothing there, on either leg, until somebody `@mentions` it again. A new\n `@mention` is the way back in; there is no timeout.\n- **A container nobody ever mentioned it in is untouched** by all of this. It wakes only through\n the ambient supervisor below, which is off until a domain opts in.\n- **The agent's own comments never re-trigger it**, and neither do other bots' — an engaged issue\n admits comments from people only.\n\n### Ambient mode — reserved by default, fail-closed everywhere\n\n- **Opt-in is per domain** (`ambientSupervisor: true` on the repo's memory domain — the same\n flag that turns on Slack/Notion ambient). Until a domain opts in, non-mention comments do\n nothing.\n- **A positively private repo, or any repo the operator vouched internal — fail-closed.** On a\n private repo every commenter was invited. On an unvouched public repo any drive-by stranger\n could buy judged model turns (an uninvited spend + prompt-injection surface). So the ambient\n leg runs on a repo the delivery states is private, and on any repo the operator vouched\n internal. It **drops every other comment** fail-closed — a repo that is neither positively\n private nor vouched, which includes a repo whose privacy the delivery does not state. Vouch\n one repo by declaring the surface key `github/<owner>` or `github/<owner>/<repo>` internal in\n the trust register (see\n [Identity](../../how-it-works/identity.md#the-trust-registry--declaring-what-a-rooms-audience-is));\n `OE_TRUST=internal` is the deployment-wide blanket, not the per-repo act.\n- **GitHub's calibration tier defaults to `reserved`** — a deliberately *higher* bar than\n Slack/Notion, because an over-eager bot in a collaborative code space reads as spam. Tune it\n per domain with `engagementTier` (see the\n [configuration reference](../configuration-reference.md#memory-domain--silo)).\n- **Mentions never double-handle, and neither do engaged follow-ups.** The ambient classifier\n reuses the exact mention gate the native leg wakes on. On a SINGLE-WINDOW, operator-vouched\n repo it returns `direct`, and the unified window answers the mention. On every other repo it\n *drops* the mention, because the native leg owns it. An engaged follow-up goes to whichever\n leg owns mentions on that repo, so the two legs partition every comment with no overlap and\n no gap:\n - on a repo where the NATIVE leg answers mentions, the native leg owns the engaged follow-up\n too, and the ambient leg drops it;\n - on a SINGLE-WINDOW, operator-vouched repo the native leg stands down for every comment\n (`shouldSuppressNativeMention`), so the AMBIENT leg owns the engaged follow-up and answers it\n as a judged wake — even with `ambientSupervisor` off. That wake states\n `follow-up=\"thread-engaged\"`, as the Slack, Linear and Notion wakes do, so the agent reads the\n follow-up as part of a conversation it is already in. An @mention carries no `follow-up`\n attribute: it is owed an answer whatever the enrolment says. The classifier itself reads no\n engagement row; the split is made at the native suppression gate.\n- **A stood-down container is dropped here too.** Once somebody asks the agent to stop following\n an issue, the ambient leg stops answering it as well, whatever this opt-in says. That is the\n only thing that makes the stop a stop rather than a note.\n- **The supervisor is silent plumbing.** Its judged turns add no 👀 reaction (the mention leg\n keeps its ack reaction), never check the repo out, and a *failed* judge turn is audited —\n never posted as an error comment.\n- Review-thread **inline** comments (`pull_request_review_comment`) are out of ambient scope\n v1 (a different reply/threading model); PR *timeline* comments are covered (GitHub delivers\n them as `issue_comment`).\n\n## How the silo model maps\n\n| Open Everywhere concept | GitHub thing |\n| --- | --- |\n| `org` (tenant) | your deployment (`deploymentIdentity.org` in `agent/identity/surfaces.ts`, one org per deploy today) |\n| `workspace` (identity key) | the repo **owner** (org/user login) |\n| `surface` (partition key) | the **repo** (one repo, many issues/PRs over time) |\n| invocation + post-back anchor | the **issue / PR** number |\n| `mode` | `channel` (GitHub has no 1:1 DM analog) |\n| `visibility` | `public` only for an explicitly public repo; else `private` (fail-closed) |\n\n**Trust fails closed.** Only a *private* repo touched by an org **OWNER/MEMBER** binds\n`internal` (shared/org memory readable); public repos, outside collaborators, and missing\nsignals bind `external`. The operator can vouch a deployment with `OE_TRUST=internal` — the\nsame layer the other non-Slack platforms use.\n\n## Setup\n\n1. **Create (or reuse) a GitHub App** with a webhook pointed at\n `https://<your-deploy-url>/eve/v1/github`, a webhook secret, and repo permissions for\n Issues + Pull requests (read/write) and Contents (read — the mention leg's sandbox\n checkout). **Grant Issues *and* Pull requests, both at read/write — neither alone is\n enough.** GitHub serves an issue and a PR through the same `/issues/{n}` endpoints but\n routes permission by the resource the number names, so an App missing either family goes\n 403 on half of its own conversations: missing Issues and it cannot read a plain issue,\n missing Pull requests and its replies never land on a PR thread. Subscribe to\n **`issue_comment`** + **`pull_request_review_comment`** (mention\n turns; `issue_comment` also feeds the ambient leg) and, for the routine fan-out,\n `issues` / `pull_request` / `check_suite` / `check_run` / `workflow_run` (the Checks events\n only appear once the Checks permission is granted).\n You do **not** need to subscribe to `installation` / `installation_repositories` — GitHub\n sends both to every App automatically and they are absent from the \"Subscribe to events\"\n list for that reason (\"All GitHub Apps receive this event by default. You cannot manually\n subscribe to this event.\"). They arrive on the same webhook URL, so each org that installs\n the App registers itself with no extra configuration (see *Multi-org installs* below).\n2. **Install the App** on the repos the agent should live on.\n3. **Configure the environment** (the conversational surface uses the **bare** names — the\n `OE_GITHUB_*` set is the separate source-control plane, even when both point at one App):\n\n ```bash\n GITHUB_APP_ID=… # the App's numeric id\n GITHUB_APP_SLUG=… # the App slug — the bot answers to @<slug>\n GITHUB_APP_PRIVATE_KEY=… # PEM private key (mint installation tokens)\n GITHUB_WEBHOOK_SECRET=… # HMAC-verifies every delivery. REQUIRED — unset rejects all (fail closed)\n # DEV ONLY, and it is a SETTING not a variable: turn on `webhooks.allowUnverifiedGithub`\n # in agent/settings/settings.ts to accept unsigned deliveries locally.\n ```\n\n4. **For ambient mode**, add the repo to a memory domain (surface key\n `github/<owner>/<repo>`) and set `ambientSupervisor: true` on it — see\n [Memory](../../capabilities/memory.md). A domain can compose repos **with** Slack channels,\n Notion docs, and Linear teams: one flag, one shared silo, ambient everywhere in it.\n\n## Multi-org installs (self-registering)\n\nThe source-control plane mints tokens per **owner**, so it needs an `owner → installation id`\nentry for every account the App is installed on. You can set that by hand with\n`OE_GITHUB_INSTALLATIONS` (a JSON map) or the single-owner `OE_GITHUB_OWNER` /\n`OE_GITHUB_INSTALLATION_ID` pair — and you no longer have to.\n\nBecause GitHub delivers `installation` + `installation_repositories` to every App by default\n(no subscription exists to switch on), each install/uninstall registers\nitself: `created`/`unsuspend` records the owner's installation id, `deleted`/`suspend` clears it,\nand a repo-scope change refreshes it. An org installing your App is then self-service end to end —\nno env edit, no redeploy.\n\n**`OE_GITHUB_INSTALLATIONS` stays authoritative.** The discovered entries are composed *under* the\nenv map, so anything you pinned by hand always wins, a store outage degrades to exactly the\nenv-configured set, and a webhook can never re-point an owner you configured yourself. (By the same\nrule, uninstalling an org you *also* pinned in env leaves the env entry in place — its mints then\nfail loudly at GitHub, which is the honest signal; remove it from the env map to finish the removal.)\n\nInstall and uninstall both write an audit row — `surface.app_installed` / `surface.app_uninstalled`,\nwith the owner as the workspace — so the install history is queryable over the control plane's\naudit route.\n\n## Ticket actions (state / assignee / labels)\n\nThe agent can also mutate an issue/PR's own state, assignee, and labels —\n[Source control § Ticket actions](../../capabilities/source-control.md#ticket-actions-set_state--assign--add_label)\nis the canonical doc (these ride the **source-control plane**'s credential, the `OE_GITHUB_*`\nApp, not this page's bare `GITHUB_*` conversational set — grant it the Issues permission).\nThese three verbs are known to work on an **issue**. On a **pull request** they are expected to\nbe refused today, because their credential names only the Issues family — tracked as OPE-1021.\n\nIt can also **file a new issue** with `create_ticket` (`target` = `owner/repo`, defaulting to\nthis turn's own repo, or to the channel's sole granted repo) — same Issues permission, same\nper-channel repo grant, and it always goes through the approval gate first — a card, unless an\noperator has explicitly lowered that verb in the approver chain. See\n[Source control § Filing new work](../../capabilities/source-control.md#filing-new-work-create_ticket).\n\n## Reading the conversation\n\nThe agent reads the thread it was called into with the same two verbs it uses on every other\nsurface: `read_channel` reads the issue-or-PR conversation — the opening post, then the newest\ntimeline comments — and `read_thread` reads one PR **review thread**, the inline discussion on a\nline of the diff. Both take no target: they read the conversation this turn arrived in.\n\nThree things worth knowing:\n\n- **A plain issue reads exactly like a PR.** The read goes through `/repos/{repo}/issues/{number}`,\n which GitHub serves for both, so nothing is PR-only here. `get_pr_feedback` remains the richer\n read for a PR under review — reviews, inline comments and check runs, which a conversation read\n does not carry.\n- **Only a comment on the diff has a thread.** An issue comment and a PR timeline comment are at the\n top level of their conversation, so `read_thread` on one says so rather than reading the timeline\n under a thread read's name.\n- **A delegated worker needs the repo grant.** The seat reads its own conversation; the worker's\n `read_work_channel` / `read_work_thread` mount only when the calling scope grants at least one repo\n ([Connectors § A chat surface can be a work surface too](../../capabilities/connectors-and-providers.md#a-chat-surface-can-be-a-work-surface-too)).\n\nThe read runs on the source-control credential — the `OE_GITHUB_*` App installation token, falling\nback to `GITHUB_TOKEN` — so a repo the App is not installed on cannot be read.\n\n## Gotchas\n\n- **A reaction on the agent's comment is read, not delivered — and only in conversations it has\n commented in.** GitHub sends no reaction webhook, so the agent looks for reactions on its own\n comments when the *next* delivery names that conversation. Two bounds keep that cheap, and both\n change what you will see. It looks only in conversations it is *in* — ones this deployment's reply\n path has commented in, or ones somebody `@mention`ed it in — because a conversation it is not in\n can hold no reaction it would record. The `@mention` half is what covers the replies the framework\n posts on its own; what falls outside both is a conversation it only ever answered *ambiently*,\n with no `@mention` ever, and has not answered in since this shipped — that one is picked up again\n on its next reply there. And each repository runs roughly 60 such polls an hour at most; the\n counter is deliberately cheap rather than exact, so a burst of simultaneous deliveries can push an\n hour a little over. When a repository passes the ceiling, one **`github.reaction_poll_budget`**\n audit row is written for that hour and the rest of the hour's reactions are not read. Query it with\n `GET /control/v1/audit?since=<iso>&actions=github.reaction_poll_budget` — a busy repository showing these rows\n every hour is the signal that the ceiling, not the feature, is what you are seeing.\n- **A reaction the agent has already recorded is skipped, and a store it cannot read skips\n everything.** The dedupe is a durable claim per reaction, and it fails *closed*: an unreadable\n claim store is treated as \"already recorded\", so no duplicate row is ever written. The cost is\n that a store outage stops the feedback signal completely while it lasts, which on its own looks\n exactly like a quiet week. Each poll that could not read the store writes one\n **`github.reaction_claim_unreadable`** audit row naming how many reactions it skipped. Query it\n with `GET /control/v1/audit?since=<iso>&actions=github.reaction_claim_unreadable`. Rows here mean\n the operational store, not the feature, is what you are seeing; reactions are recorded on the next\n poll after it recovers. **The row covers a *partial* fault, not every one** — it is written to the\n same operational store the claim read failed against, so a store that is wholly unreachable loses\n this row too. That case is visible instead as the audit drop counter and an\n `[open-everywhere:audit] dropped a \"github.reaction_claim_unreadable\" entry …` warning in the\n logs. So: rows present means the claim table specifically; the warning means the store.\n- **Ambient is off until a domain opts in**, and it never runs on a repo that isn't positively\n private. If non-mention comments get no response, check the domain flag, then the repo's\n privacy — and read the record rather than guessing: the first delivery from a repo the\n supervisor was never asked about writes a **`github.ambient_skipped`** audit row naming the\n surface key, the reason (`no-domain` — nothing routes this repo — versus `domain-refused` —\n a domain does route it but hasn't opted in) and the exact edit to make. Query it with\n `GET /control/v1/audit?since=<iso>&actions=github.ambient_skipped`. A whole owner at once is\n `reach: [\"github/<owner>\"]` on the domain — or, better where it fits, a same-level glob\n `reach: [\"github/<owner>/payments-*\"]` plus `exclude` for the repos that must stay out. With\n 500 repos the whole-owner entry is tempting, but it confers the domain's bundles on every repo\n the org will ever create; the glob is the same ergonomics with strictly less reach.\n See the [configuration reference](../configuration-reference.md#memory-domain--silo) and\n [Access & scoping](../../how-it-works/access-and-scoping.md#reach-exact-keys-and-containers).\n- **The `reply` tool is the only way an answer reaches an issue.** The agent posts mid-turn by\n calling `reply`; its turn's closing text is DROPPED and never posted. A turn that delivered\n writes a `github.replied` row carrying `route: \"tool\"`.\n- **Silence is a first-class outcome.** Most comments correctly get no reply (reserved tier).\n Every judged-silent turn is a `github.no_reply` audit row — the surface is working, not\n broken. Tune via `engagementTier`, watching the live `no_reply` rate. A **different** quiet\n outcome is a `turn.supervisor_prose_dropped` row on the github partition: the agent wrote an\n answer as its closing text and never called `reply`, so nothing was posted. That row is a\n defect signal, not a tuning signal — read the session transcript it names.\n- **An @mention turn can judge silence too.** The `github.no_reply` row is not only an ambient\n outcome. A turn woken by a direct @mention can also decide the wake does not warrant an answer;\n it then comments NOTHING and writes the same row with `route: \"native\"` and the reason. Those\n rows are rare by construction — a member addressed the app — so treat one as worth reading, not\n as tuning noise.\n- **Mention the slug in full.** App bots aren't in GitHub's `@` autocomplete; the matcher is\n text-based (`@<slug>` followed by a non-word character).\n- **Webhook verification is fail-closed.** `GITHUB_WEBHOOK_SECRET` unset/wrong → every\n delivery is rejected 401 and every leg stays silent — including the installation leg, so a\n deploy with a wrong secret silently learns nothing. Check the secret first if installs\n aren't registering.\n\n## Status\n\nThe @mention leg and the routine fan-out are **live-verified**. The ambient leg is built,\nunit-tested, and driven by the `J-GH` end-to-end scenario in\n`packages/core/scripts/e2e/scenarios.ts` (`suite: \"core\"`, non-optional, judged), with\n`J-ENGAGED-github` covering the engaged-follow-up seam. `J-GH` drives the mention reply, the\npickup reaction, the **mention gate** (a non-mention comment gets no reply) with its\naudited-silence row, session resume, reply-targeting across two issues, and the signed-forge\nroute contract. The ambient *wake* on an opted-in repo is `J-ENGAGED-github`'s leg: a mention\nengages the issue, a plain follow-up wakes, and `stand_down` stops it. The repository holds the\nscenarios, not their results, so read live-verification status off those runs rather than off\nthis page.\n",
10
+ markdown: "# GitHub\n\nInstall Open Everywhere's GitHub App on a repo and the agent becomes a **conversational\nteammate on issues and pull requests**: @mention it in an issue/PR/review comment and it wakes\nwith the repo checked out into its sandbox (and the PR diff in context), does the work, and\nreplies as a comment. Opt the repo's memory **domain** into ambient mode and it also becomes a\n**quiet standing reviewer**: it reads every issue/PR-timeline comment, judges each against a\ndeliberately high bar (GitHub defaults to the *reserved* calibration tier), and comments only\nwhere it clearly adds something — every silence audited.\n\nThis is the GitHub *conversational-surface* runbook. It is **distinct from the\n[source-control plane](../../capabilities/source-control.md)** (the agent's own coding loop —\ncheckout/push/PR via the `OE_GITHUB_*` credentials): the two are orthogonal planes that can\nshare one GitHub App but use **separate env var sets** (bare `GITHUB_*` here). For the concept\nof a *surface*, see [Surfaces](../../extending/surfaces.md). Like\n[Linear](./linear.md)/[Notion](./notion.md), GitHub is ticket/comment-based rather than\nchat-based, so it's out of scope for the chat [support matrix](./support-matrix.md).\n\n## How it works — three legs on one webhook route\n\nEvery GitHub App webhook delivery hits **`POST /eve/v1/github`** and feeds up to three legs:\n\n1. **The @mention leg** (eve's native `githubChannel`). Typing `@<app-slug>` in an issue, PR,\n or review comment wakes an agent session anchored to that conversation, with the repo\n checked out and (for PRs) the diff in context; the reply posts back as a comment. Note App\n bots don't appear in GitHub's `@` autocomplete — the mention matcher is text-based, so\n **type the slug in full** (e.g. `@open-everywhere`). The `@mention` also **engages** that\n issue or pull request: later plain comments on it wake the agent with no new mention, until\n somebody asks it to stop following — see [Reply without re-tagging](#reply-without-re-tagging)\n below.\n2. **The event → routine fan-out.** `issues` / `pull_request` / CI events fire any subscribed\n [event routines](../../capabilities/proactivity-and-routines.md) into their (Slack) surfaces.\n Before it fires, OE **re-fetches the entity over its own credential** rather than trusting the\n webhook body — *payload-as-pointer*. The fired message states the read instant and marks\n itself the current, authoritative state; the webhook's own one-line summary sits above it and\n may be older (a queued delivery can still describe a PR that has since merged), so that\n summary is HISTORY, not the present. The vendor's own `updated` timestamp, when GitHub sends\n one, is aged against the read the same way a [Linear](./linear.md#reading-an-issue) comment is.\n **The re-fetch applies to an issue or a pull request**, the two things GitHub serves under a\n number. A `check_run`, a `release` or a `workflow_run` is identified by an opaque id instead, so\n there is nothing to re-read: those fire from the webhook's own one-line summary and claim to have\n read nothing.\n A **`workflow_run`** fire also carries the run's branch, workflow name, status and conclusion as\n filterable fields, so \"a red build on our `main`\" is a subscription rather than a routine that\n wakes on every run and reads the payload:\n `.scope.container == \"acme/web\" and .fields.conclusion == \"failure\" and .fields.branch == \"main\"`.\n **The container clause is required, not decoration** — a `github` subscription that narrows by\n nothing is refused when you arm it, because one source spans every repo the App is installed on.\n And `branch` is a ref *name*: a run triggered by a pull request from a fork carries the\n contributor's head ref, and a fork's own default branch is usually `main` too, so `branch` alone\n does not prove the run ran on your branch. See the\n [event inventory](../../capabilities/proactivity-and-routines.md#the-event-inventory--what-each-vendor-can-send-and-how-far-we-carry-it)\n for what every other event does and does not carry.\n3. **The ambient-supervisor leg** (opt-in). Every *non-mention* issue/PR-timeline comment on an\n opted-in repo is judged by a **standing per-repo supervisor session** — the same ambient\n judge Slack channels and Notion docs use — which replies into the triggering issue/PR or\n stays audibly silent (a `github.no_reply` audit row, reason included).\n\n### Reply without re-tagging\n\nAn `@mention` marks that issue or pull request **engaged**. From then on a plain comment there\nwakes the agent — no second `@mention`, and no domain opt-in: the invitation was the comment\nsomebody already wrote.\n\n- **It is per container, never per repo.** Engaging issue #42 says nothing about #43.\n- **Private repos only.** A plain follow-up wakes a full turn — the agent checks the repo out and\n spends on the model — so on a public repo it would let any passer-by buy one. The follow-up\n therefore does nothing on a public repo, or on one whose privacy the delivery does not state.\n It is a *stricter* floor than ambient mode's below: ambient mode admits a public repo you vouched\n internal, and this one does not — vouching a repo never opens an uninvited full turn on it. An\n `@mention` still works on a public repo, exactly as before.\n- **Inline review comments do not count as follow-ups.** A review thread shares its pull request's\n container, so a plain inline comment on an engaged pull request wakes nothing — one review would\n otherwise start a turn per comment. `@mention` the app inside the review thread to get an answer\n there.\n- **Asking it to stop works, and it is durable.** Say it in words — \"leave this to us\", \"stop\n following this one\" — and the agent calls `stand_down`, which stores the stop against that\n issue. It then answers nothing there, on either leg, until somebody `@mentions` it again. A new\n `@mention` is the way back in; there is no timeout.\n- **A container nobody ever mentioned it in is untouched** by all of this. It wakes only through\n the ambient supervisor below, which is off until a domain opts in.\n- **The agent's own comments never re-trigger it**, and neither do other bots' — an engaged issue\n admits comments from people only.\n\n### Ambient mode — reserved by default, fail-closed everywhere\n\n- **Opt-in is per domain** (`ambientSupervisor: true` on the repo's memory domain — the same\n flag that turns on Slack/Notion ambient). Until a domain opts in, non-mention comments do\n nothing.\n- **A positively private repo, or any repo the operator vouched internal — fail-closed.** On a\n private repo every commenter was invited. On an unvouched public repo any drive-by stranger\n could buy judged model turns (an uninvited spend + prompt-injection surface). So the ambient\n leg runs on a repo the delivery states is private, and on any repo the operator vouched\n internal. It **drops every other comment** fail-closed — a repo that is neither positively\n private nor vouched, which includes a repo whose privacy the delivery does not state. Vouch\n one repo by declaring the surface key `github/<owner>` or `github/<owner>/<repo>` internal in\n the trust register (see\n [Identity](../../how-it-works/identity.md#the-trust-registry--declaring-what-a-rooms-audience-is));\n `OE_TRUST=internal` is the deployment-wide blanket, not the per-repo act.\n- **GitHub's calibration tier defaults to `reserved`** — a deliberately *higher* bar than\n Slack/Notion, because an over-eager bot in a collaborative code space reads as spam. Tune it\n per domain with `engagementTier` (see the\n [configuration reference](../configuration-reference.md#memory-domain--silo)).\n- **Mentions never double-handle, and neither do engaged follow-ups.** The ambient classifier\n reuses the exact mention gate the native leg wakes on. On a SINGLE-WINDOW, operator-vouched\n repo it returns `direct`, and the unified window answers the mention. On every other repo it\n *drops* the mention, because the native leg owns it. An engaged follow-up goes to whichever\n leg owns mentions on that repo, so the two legs partition every comment with no overlap and\n no gap:\n - on a repo where the NATIVE leg answers mentions, the native leg owns the engaged follow-up\n too, and the ambient leg drops it;\n - on a SINGLE-WINDOW, operator-vouched repo the native leg stands down for every comment\n (`shouldSuppressNativeMention`), so the AMBIENT leg owns the engaged follow-up and answers it\n as a judged wake — even with `ambientSupervisor` off. That wake states\n `follow-up=\"thread-engaged\"`, as the Slack, Linear and Notion wakes do, so the agent reads the\n follow-up as part of a conversation it is already in. An @mention carries no `follow-up`\n attribute: it is owed an answer whatever the enrolment says. The classifier itself reads no\n engagement row; the split is made at the native suppression gate.\n- **A stood-down container is dropped here too.** Once somebody asks the agent to stop following\n an issue, the ambient leg stops answering it as well, whatever this opt-in says. That is the\n only thing that makes the stop a stop rather than a note.\n- **The supervisor is silent plumbing.** Its judged turns add no 👀 reaction (the mention leg\n keeps its ack reaction), never check the repo out, and a *failed* judge turn is audited —\n never posted as an error comment.\n- Review-thread **inline** comments (`pull_request_review_comment`) are out of ambient scope\n v1 (a different reply/threading model); PR *timeline* comments are covered (GitHub delivers\n them as `issue_comment`).\n\n## How the silo model maps\n\n| Open Everywhere concept | GitHub thing |\n| --- | --- |\n| `org` (tenant) | your deployment (`deploymentIdentity.org` in `agent/identity/surfaces.ts`, one org per deploy today) |\n| `workspace` (identity key) | the repo **owner** (org/user login) |\n| `surface` (partition key) | the **repo** (one repo, many issues/PRs over time) |\n| invocation + post-back anchor | the **issue / PR** number |\n| `mode` | `channel` (GitHub has no 1:1 DM analog) |\n| `visibility` | `public` only for an explicitly public repo; else `private` (fail-closed) |\n\n**Trust fails closed.** Only a *private* repo touched by an org **OWNER/MEMBER** binds\n`internal` (shared/org memory readable); public repos, outside collaborators, and missing\nsignals bind `external`. The operator can vouch a deployment with `OE_TRUST=internal` — the\nsame layer the other non-Slack platforms use.\n\n## Setup\n\n1. **Create (or reuse) a GitHub App** with a webhook pointed at\n `https://<your-deploy-url>/eve/v1/github`, a webhook secret, and repo permissions for\n Issues + Pull requests (read/write) and Contents (read — the mention leg's sandbox\n checkout). **Grant Issues *and* Pull requests, both at read/write — neither alone is\n enough.** GitHub serves an issue and a PR through the same `/issues/{n}` endpoints but\n routes permission by the resource the number names, so an App missing either family goes\n 403 on half of its own conversations: missing Issues and it cannot read a plain issue,\n missing Pull requests and its replies never land on a PR thread. Subscribe to\n **`issue_comment`** + **`pull_request_review_comment`** (mention\n turns; `issue_comment` also feeds the ambient leg) and, for the routine fan-out,\n `issues` / `pull_request` / `check_suite` / `check_run` / `workflow_run` (the Checks events\n only appear once the Checks permission is granted).\n You do **not** need to subscribe to `installation` / `installation_repositories` — GitHub\n sends both to every App automatically and they are absent from the \"Subscribe to events\"\n list for that reason (\"All GitHub Apps receive this event by default. You cannot manually\n subscribe to this event.\"). They arrive on the same webhook URL, so each org that installs\n the App registers itself with no extra configuration (see *Multi-org installs* below).\n2. **Install the App** on the repos the agent should live on.\n3. **Configure the environment** (the conversational surface uses the **bare** names — the\n `OE_GITHUB_*` set is the separate source-control plane, even when both point at one App):\n\n ```bash\n GITHUB_APP_ID=… # the App's numeric id\n GITHUB_APP_SLUG=… # the App slug — the bot answers to @<slug>\n GITHUB_APP_PRIVATE_KEY=… # PEM private key (mint installation tokens)\n GITHUB_WEBHOOK_SECRET=… # HMAC-verifies every delivery. REQUIRED — unset rejects all (fail closed)\n # DEV ONLY, and it is a SETTING not a variable: turn on `webhooks.allowUnverifiedGithub`\n # in agent/settings/settings.ts to accept unsigned deliveries locally.\n ```\n\n4. **For ambient mode**, add the repo to a memory domain (surface key\n `github/<owner>/<repo>`) and set `ambientSupervisor: true` on it — see\n [Memory](../../capabilities/memory.md). A domain can compose repos **with** Slack channels,\n Notion docs, and Linear teams: one flag, one shared silo, ambient everywhere in it.\n\n## Multi-org installs (self-registering)\n\nThe source-control plane mints tokens per **owner**, so it needs an `owner → installation id`\nentry for every account the App is installed on. You can set that by hand with\n`OE_GITHUB_INSTALLATIONS` (a JSON map) or the single-owner `OE_GITHUB_OWNER` /\n`OE_GITHUB_INSTALLATION_ID` pair — and you no longer have to.\n\nBecause GitHub delivers `installation` + `installation_repositories` to every App by default\n(no subscription exists to switch on), each install/uninstall registers\nitself: `created`/`unsuspend` records the owner's installation id, `deleted`/`suspend` clears it,\nand a repo-scope change refreshes it. An org installing your App is then self-service end to end —\nno env edit, no redeploy.\n\n**`OE_GITHUB_INSTALLATIONS` stays authoritative.** The discovered entries are composed *under* the\nenv map, so anything you pinned by hand always wins, a store outage degrades to exactly the\nenv-configured set, and a webhook can never re-point an owner you configured yourself. (By the same\nrule, uninstalling an org you *also* pinned in env leaves the env entry in place — its mints then\nfail loudly at GitHub, which is the honest signal; remove it from the env map to finish the removal.)\n\nInstall and uninstall both write an audit row — `surface.app_installed` / `surface.app_uninstalled`,\nwith the owner as the workspace — so the install history is queryable over the control plane's\naudit route.\n\n## Ticket actions (state / assignee / labels)\n\nThe agent can also mutate an issue/PR's own state, assignee, and labels —\n[Source control § Ticket actions](../../capabilities/source-control.md#ticket-actions-set_state--assign--add_label)\nis the canonical doc (these ride the **source-control plane**'s credential, the `OE_GITHUB_*`\nApp, not this page's bare `GITHUB_*` conversational set — grant it the Issues permission).\nThese three verbs are known to work on an **issue**. On a **pull request** they are expected to\nbe refused today, because their credential names only the Issues family — tracked as OPE-1021.\n\nIt can also **file a new issue** with `create_ticket` (`target` = `owner/repo`, defaulting to\nthis turn's own repo, or to the channel's sole granted repo) — same Issues permission, same\nper-channel repo grant, and it always goes through the approval gate first — a card, unless an\noperator has explicitly lowered that verb in the approver chain. See\n[Source control § Filing new work](../../capabilities/source-control.md#filing-new-work-create_ticket).\n\n## Reading the conversation\n\nThe agent reads the thread it was called into with the same two verbs it uses on every other\nsurface: `read_channel` reads the issue-or-PR conversation — the opening post, then the newest\ntimeline comments — and `read_thread` reads one PR **review thread**, the inline discussion on a\nline of the diff. Both take no target: they read the conversation this turn arrived in.\n\nThree things worth knowing:\n\n- **A plain issue reads exactly like a PR.** The read goes through `/repos/{repo}/issues/{number}`,\n which GitHub serves for both, so nothing is PR-only here. `get_pr_feedback` remains the richer\n read for a PR under review — reviews, inline comments and check runs, which a conversation read\n does not carry.\n- **Another issue reads by target.** `read_channel` and `read_work_channel` read only this\n conversation. `read_github_issue` takes `repo` and `number` and reads another issue's opening\n post and newest comments, inside the session's repo grant. A `search` hit for such an issue names\n it as the road.\n- **Only a comment on the diff has a thread.** An issue comment and a PR timeline comment are at the\n top level of their conversation, so `read_thread` on one says so rather than reading the timeline\n under a thread read's name.\n- **A delegated worker needs the repo grant.** The seat reads its own conversation; the worker's\n `read_work_channel` / `read_work_thread` mount only when the calling scope grants at least one repo\n ([Connectors § A chat surface can be a work surface too](../../capabilities/connectors-and-providers.md#a-chat-surface-can-be-a-work-surface-too)).\n\nThe read runs on the source-control credential — the `OE_GITHUB_*` App installation token, falling\nback to `GITHUB_TOKEN` — so a repo the App is not installed on cannot be read.\n\n## Gotchas\n\n- **A reaction on the agent's comment is read, not delivered — and only in conversations it has\n commented in.** GitHub sends no reaction webhook, so the agent looks for reactions on its own\n comments when the *next* delivery names that conversation. Two bounds keep that cheap, and both\n change what you will see. It looks only in conversations it is *in* — ones this deployment's reply\n path has commented in, or ones somebody `@mention`ed it in — because a conversation it is not in\n can hold no reaction it would record. The `@mention` half is what covers the replies the framework\n posts on its own; what falls outside both is a conversation it only ever answered *ambiently*,\n with no `@mention` ever, and has not answered in since this shipped — that one is picked up again\n on its next reply there. And each repository runs roughly 60 such polls an hour at most; the\n counter is deliberately cheap rather than exact, so a burst of simultaneous deliveries can push an\n hour a little over. When a repository passes the ceiling, one **`github.reaction_poll_budget`**\n audit row is written for that hour and the rest of the hour's reactions are not read. Query it with\n `GET /control/v1/audit?since=<iso>&actions=github.reaction_poll_budget` — a busy repository showing these rows\n every hour is the signal that the ceiling, not the feature, is what you are seeing.\n- **A reaction the agent has already recorded is skipped, and a store it cannot read skips\n everything.** The dedupe is a durable claim per reaction, and it fails *closed*: an unreadable\n claim store is treated as \"already recorded\", so no duplicate row is ever written. The cost is\n that a store outage stops the feedback signal completely while it lasts, which on its own looks\n exactly like a quiet week. Each poll that could not read the store writes one\n **`github.reaction_claim_unreadable`** audit row naming how many reactions it skipped. Query it\n with `GET /control/v1/audit?since=<iso>&actions=github.reaction_claim_unreadable`. Rows here mean\n the operational store, not the feature, is what you are seeing; reactions are recorded on the next\n poll after it recovers. **The row covers a *partial* fault, not every one** — it is written to the\n same operational store the claim read failed against, so a store that is wholly unreachable loses\n this row too. That case is visible instead as the audit drop counter and an\n `[open-everywhere:audit] dropped a \"github.reaction_claim_unreadable\" entry …` warning in the\n logs. So: rows present means the claim table specifically; the warning means the store.\n- **Ambient is off until a domain opts in**, and it never runs on a repo that isn't positively\n private. If non-mention comments get no response, check the domain flag, then the repo's\n privacy — and read the record rather than guessing: the first delivery from a repo the\n supervisor was never asked about writes a **`github.ambient_skipped`** audit row naming the\n surface key, the reason (`no-domain` — nothing routes this repo — versus `domain-refused` —\n a domain does route it but hasn't opted in) and the exact edit to make. Query it with\n `GET /control/v1/audit?since=<iso>&actions=github.ambient_skipped`. A whole owner at once is\n `reach: [\"github/<owner>\"]` on the domain — or, better where it fits, a same-level glob\n `reach: [\"github/<owner>/payments-*\"]` plus `exclude` for the repos that must stay out. With\n 500 repos the whole-owner entry is tempting, but it confers the domain's bundles on every repo\n the org will ever create; the glob is the same ergonomics with strictly less reach.\n See the [configuration reference](../configuration-reference.md#memory-domain--silo) and\n [Access & scoping](../../how-it-works/access-and-scoping.md#reach-exact-keys-and-containers).\n- **The `reply` tool is the only way an answer reaches an issue.** The agent posts mid-turn by\n calling `reply`; its turn's closing text is DROPPED and never posted. A turn that delivered\n writes a `github.replied` row carrying `route: \"tool\"`.\n- **Silence is a first-class outcome.** Most comments correctly get no reply (reserved tier).\n Every judged-silent turn is a `github.no_reply` audit row — the surface is working, not\n broken. Tune via `engagementTier`, watching the live `no_reply` rate. A **different** quiet\n outcome is a `turn.supervisor_prose_dropped` row on the github partition: the agent wrote an\n answer as its closing text and never called `reply`, so nothing was posted. That row is a\n defect signal, not a tuning signal — read the session transcript it names.\n- **An @mention turn can judge silence too.** The `github.no_reply` row is not only an ambient\n outcome. A turn woken by a direct @mention can also decide the wake does not warrant an answer;\n it then comments NOTHING and writes the same row with `route: \"native\"` and the reason. Those\n rows are rare by construction — a member addressed the app — so treat one as worth reading, not\n as tuning noise.\n- **Mention the slug in full.** App bots aren't in GitHub's `@` autocomplete; the matcher is\n text-based (`@<slug>` followed by a non-word character).\n- **Webhook verification is fail-closed.** `GITHUB_WEBHOOK_SECRET` unset/wrong → every\n delivery is rejected 401 and every leg stays silent — including the installation leg, so a\n deploy with a wrong secret silently learns nothing. Check the secret first if installs\n aren't registering.\n\n## Status\n\nThe @mention leg and the routine fan-out are **live-verified**. The ambient leg is built,\nunit-tested, and driven by the `J-GH` end-to-end scenario in\n`packages/core/scripts/e2e/scenarios.ts` (`suite: \"core\"`, non-optional, judged), with\n`J-ENGAGED-github` covering the engaged-follow-up seam. `J-GH` drives the mention reply, the\npickup reaction, the **mention gate** (a non-mention comment gets no reply) with its\naudited-silence row, session resume, reply-targeting across two issues, and the signed-forge\nroute contract. The ambient *wake* on an opted-in repo is `J-ENGAGED-github`'s leg: a mention\nengages the issue, a plain follow-up wakes, and `stand_down` stops it. The repository holds the\nscenarios, not their results, so read live-verification status off those runs rather than off\nthis page.\n",
11
11
  },
12
12
  ];
13
13
  //# sourceMappingURL=docs-generated.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"docs-generated.js","sourceRoot":"","sources":["../../agent/docs-generated.ts"],"names":[],"mappings":"AAAA,0GAA0G;AAC1G,wFAAwF;AACxF,6FAA6F;AAC7F,sFAAsF;AAItF,MAAM,CAAC,MAAM,aAAa,GAAwB;IAChD;QACE,IAAI,EAAE,gCAAgC;QACtC,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,iPAAiP;QAC1P,QAAQ,EAAE,mouBAAmouB;KAC9ouB;CACF,CAAC"}
1
+ {"version":3,"file":"docs-generated.js","sourceRoot":"","sources":["../../agent/docs-generated.ts"],"names":[],"mappings":"AAAA,0GAA0G;AAC1G,wFAAwF;AACxF,6FAA6F;AAC7F,sFAAsF;AAItF,MAAM,CAAC,MAAM,aAAa,GAAwB;IAChD;QACE,IAAI,EAAE,gCAAgC;QACtC,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,iPAAiP;QAC1P,QAAQ,EAAE,w7uBAAw7uB;KACn8uB;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"surface-parity.d.ts","sourceRoot":"","sources":["../../agent/surface-parity.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AAE3F,eAAO,MAAM,qBAAqB,EAAE,wBA0GnC,CAAC"}
1
+ {"version":3,"file":"surface-parity.d.ts","sourceRoot":"","sources":["../../agent/surface-parity.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AAE3F,eAAO,MAAM,qBAAqB,EAAE,wBAsGnC,CAAC"}
@@ -10,9 +10,6 @@ export const GITHUB_SURFACE_PARITY = {
10
10
  "capability-manifest": "supported",
11
11
  "post-arm": "supported",
12
12
  "wake-origin-codec": "supported",
13
- "unified-action-plane": {
14
- unsupported: "an issue comment is markdown and carries no component plane at all — GitHub offers no tappable button a bot may render into a timeline comment, so there is nothing for a tap route to receive. The bridged approval posts as prose, which the question bridge already renders complete",
15
- },
16
13
  "origin-placement-carry": {
17
14
  unsupported: "the placement is INSIDE the conversation identity: a reply is a comment appended to the issue timeline and the issue IS `threadRef`'s thread key, so there is no 'where inside it' left to name",
18
15
  },
@@ -1 +1 @@
1
- {"version":3,"file":"surface-parity.js","sourceRoot":"","sources":["../../agent/surface-parity.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,wFAAwF;AACxF,EAAE;AACF,+FAA+F;AAC/F,kGAAkG;AAClG,sEAAsE;AAItE,MAAM,CAAC,MAAM,qBAAqB,GAA6B;IAC7D,gGAAgG;IAChG,iBAAiB,EAAE,WAAW;IAC9B,qBAAqB,EAAE,WAAW;IAClC,UAAU,EAAE,WAAW;IACvB,mBAAmB,EAAE,WAAW;IAChC,sBAAsB,EAAE;QACtB,WAAW,EACT,yRAAyR;KAC5R;IACD,wBAAwB,EAAE;QACxB,WAAW,EACT,iMAAiM;KACpM;IACD,cAAc,EAAE,WAAW;IAC3B,gGAAgG;IAChG,6FAA6F;IAC7F,6FAA6F;IAC7F,uDAAuD;IACvD,0BAA0B,EAAE,EAAE,SAAS,EAAE,uHAAuH,EAAE;IAClK,eAAe,EAAE,WAAW;IAC5B,yBAAyB,EAAE,WAAW;IACtC,+FAA+F;IAC/F,4FAA4F;IAC5F,+EAA+E;IAC/E,gGAAgG;IAChG,gGAAgG;IAChG,wFAAwF;IACxF,cAAc;IACd,uBAAuB,EAAE,WAAW;IACpC,gGAAgG;IAChG,qEAAqE;IACrE,sBAAsB,EAAE,WAAW;IAEnC,gGAAgG;IAChG,eAAe,EAAE,WAAW;IAC5B,kGAAkG;IAClG,kGAAkG;IAClG,kGAAkG;IAClG,gDAAgD;IAChD,aAAa,EAAE,EAAE,SAAS,EAAE,0DAA0D,EAAE;IACxF,iGAAiG;IACjG,mGAAmG;IACnG,0FAA0F;IAC1F,eAAe,EAAE,WAAW;IAC5B,8FAA8F;IAC9F,kGAAkG;IAClG,2EAA2E;IAC3E,8FAA8F;IAC9F,iEAAiE;IACjE,wBAAwB,EAAE,WAAW;IACrC,kGAAkG;IAClG,kGAAkG;IAClG,eAAe,EAAE,EAAE,WAAW,EAAE,+ZAA+Z,EAAE;IACjc,2FAA2F;IAC3F,gHAAgH;IAChH,4FAA4F;IAC5F,uFAAuF;IACvF,4FAA4F;IAC5F,8FAA8F;IAC9F,mBAAmB,EAAE,WAAW;IAChC,mBAAmB,EAAE,EAAE,WAAW,EAAE,uGAAuG,EAAE;IAC7I,kGAAkG;IAClG,iGAAiG;IACjG,2FAA2F;IAC3F,qFAAqF;IACrF,8FAA8F;IAC9F,UAAU;IACV,mBAAmB,EAAE,EAAE,WAAW,EAAE,sIAAsI,EAAE;IAC5K,8CAA8C;IAC9C,OAAO,EAAE,WAAW;IACpB,kGAAkG;IAClG,gGAAgG;IAChG,6DAA6D;IAC7D,KAAK,EAAE,EAAE,WAAW,EAAE,6EAA6E,EAAE;IACrG,EAAE,EAAE,EAAE,WAAW,EAAE,kEAAkE,EAAE;IACvF,IAAI,EAAE,EAAE,WAAW,EAAE,kEAAkE,EAAE;IAEzF,gGAAgG;IAChG,KAAK,EAAE,WAAW;IAClB,UAAU,EAAE,WAAW;IACvB,KAAK,EAAE,WAAW;IAClB,QAAQ,EAAE,WAAW;IACrB,YAAY,EAAE,WAAW;IACzB,WAAW,EAAE,WAAW;IACxB,kGAAkG;IAClG,kGAAkG;IAClG,MAAM,EAAE,EAAE,SAAS,EAAE,wEAAwE,EAAE;IAC/F,gGAAgG;IAChG,kGAAkG;IAClG,kGAAkG;IAClG,6EAA6E;IAC7E,YAAY,EAAE,EAAE,WAAW,EAAE,2EAA2E,EAAE;IAC1G,SAAS,EAAE,EAAE,WAAW,EAAE,2EAA2E,EAAE;IACvG,eAAe,EAAE,EAAE,WAAW,EAAE,6DAA6D,EAAE;IAC/F,kGAAkG;IAClG,8FAA8F;IAC9F,IAAI,EAAE,EAAE,SAAS,EAAE,0EAA0E,EAAE;IAC/F,+FAA+F;IAC/F,kGAAkG;IAClG,gGAAgG;IAChG,kDAAkD;IAClD,cAAc,EAAE,EAAE,WAAW,EAAE,+FAA+F,EAAE;IAChI,eAAe,EAAE,WAAW;IAC5B,UAAU,EAAE,EAAE,SAAS,EAAE,8DAA8D,EAAE;IACzF,SAAS,EAAE,EAAE,WAAW,EAAE,gEAAgE,EAAE;CAC7F,CAAC"}
1
+ {"version":3,"file":"surface-parity.js","sourceRoot":"","sources":["../../agent/surface-parity.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-everywhere/provider-github",
3
- "version": "0.1.5",
3
+ "version": "0.3.0",
4
4
  "description": "Open Everywhere GitHub provider — GitHub issues and pull requests as a conversational wake surface.",
5
5
  "keywords": [
6
6
  "agent",
@@ -145,11 +145,11 @@
145
145
  "test:github-reaction-scope": "NODE_NO_WARNINGS=1 tsx scripts/github-reaction-scope-test.ts"
146
146
  },
147
147
  "dependencies": {
148
- "@open-everywhere/core": "0.1.5",
148
+ "@open-everywhere/core": "0.3.0",
149
149
  "zod": "4.5.4"
150
150
  },
151
151
  "peerDependencies": {
152
- "eve": "0.54.3"
152
+ "eve": "0.71.0"
153
153
  },
154
154
  "devDependencies": {
155
155
  "@types/node": "latest",