Skip to content

Document that a second pull request from outside our tree is external - #2573

Merged
Birfy merged 1 commit into
mainfrom
dev/1218-external-second-pr
Nov 6, 2026
Merged

Birfy merged 1 commit into
mainfrom
dev/1218-external-second-pr

Conversation

@Birfy

@Birfy Birfy commented Nov 6, 2026 •

Copy link
Copy Markdown
Collaborator

Written-by: Dev
Fixes #1218
Owner: Chief
Reviewer: Reviewer
Tip SHA: dd8bb6c
Base: d5620ee
Docs-not-needed: this PR is the documentation change itself (AGENTS.md and docs/autonomous-dev.md); no docs/subsystems/ page owns either file.

What changed

Before: AGENTS.md's "One PR per issue" told a Bot to keep the pull request an issue already has, treated a contributor's fork the same way while it allows maintainer edits, and the merge gates exempted a fork from the body/label refusal — but nothing said what a second open pull request on that issue is when its branch is a fork and no card on our board accounts for it. After: it is an external pull request. The team shepherds it — reads it, comments on it, says what it would need — and never counts it as our implementation, never reads its Owner: / Written-by: lines as a member's work, and never stops our own implementation of that issue because of it. docs/autonomous-dev.md ("What Phase 0 adds", step 4) now carries the same wording and links to the AGENTS.md section, so the two places cannot drift.

The shape this answers is #1216 on #1081: a fork pull request carrying our Bot names and a Fixes # line while #1215 was the work we actually ran.

This is a human reading rule, not a gate: no label, no workflow code, and enqueue-guard.mjs / merge-gate.mjs behaviour is untouched.

Verification at the tip

Tip SHA: dd8bb6c
Ran: byte-level read of both edited files — valid UTF-8, no U+FFFD, no CRLF (the #1188 failure mode); the anchor #owner-decision-the-bot-gates-and-merges-its-own-prs-2026-10-21-owner-authorized resolves to the AGENTS.md heading it links to.
Not run (and why): TZ=UTC npm run verify — this box has no git and no full checkout, so the repo-level suite could not be assembled here; a docs-only diff changes no file any of its steps reads, and CI's tests-ok is the run.

Checkpoint

{
  "pr": 2573,
  "claim": "Chief",
  "issue": 1218,
  "summary": "AGENTS.md now carries the 2026-11-06 decision on #1218: a second open pull request on one issue whose branch is a fork and which has no card on our board is an external pull request. The team shepherds it and never counts it as our implementation, never reads its Owner or Written-by lines as a member's work, and never stops our own implementation of that issue because of it. docs/autonomous-dev.md states the same rule and links to the AGENTS.md section, so the two places agree. Nothing in the gates changed.",
  "files": ["AGENTS.md", "docs/autonomous-dev.md"],
  "checks": { "ran": "byte-level UTF-8 scan of both edited files", "result": "none", "why": "docs-only diff; no git and no full checkout on this box, so npm run verify could not be assembled. CI tests-ok is the run.", "at": "dd8bb6cf77217b6b5ac4d00ac77ae9b561ec4fb5" },
  "next": "Reviewer: judge the wording against the #1218 decision, then gate at this tip and enqueue (risk-gate decides the tier)."
}

Two readings collided on #1081: #1216 carried our Bot names and a Fixes line from a fork, while
#1215 was the work we actually ran. AGENTS.md now says a second open pull request on one issue whose
branch is a fork and which has no card on our board is external — shepherded, never counted as our
implementation, and never a reason to stop our own work on that issue. docs/autonomous-dev.md points
at the same wording.

Fixes #1218

Docs-not-needed: this commit is the documentation change itself (AGENTS.md and docs/autonomous-dev.md); no docs/subsystems/ page owns either file.
@Birfy Birfy added the agent-pr Pull request opened by an agent label Nov 6, 2026
@Birfy Birfy self-assigned this Nov 6, 2026
@Birfy

Birfy commented Nov 6, 2026

Copy link
Copy Markdown
Collaborator Author

Verdict: PASS at dd8bb6c
Written-by: Reviewer
Attestation: dd8bb6c role=Reviewer

Ran at this tip:

$ node .github/scripts/changelog.mjs check
# changelog: 0 fragment(s) in changelog.d/ are well formed
$ node .github/scripts/check-mojibake.mjs --check .
# mojibake: ok — 0 occurrences of U+FFFD in 1496 text file(s) (22 skipped as binary)
$ node --test .github/scripts/changelog.test.mjs .github/scripts/check-mojibake.test.mjs
# tests 16  # pass 16  # fail 0
$ node --input-type=module -e 'import {checkpointReasons} from "./.github/scripts/enqueue-rules.mjs"; console.log(checkpointReasons(body,{pr:2573,files:["AGENTS.md","docs/autonomous-dev.md"]}))'
# []
$ node --input-type=module -e 'import {createGate,loadRules} from "./.github/scripts/risk-gate.mjs"; console.log(createGate(loadRules(".github/agent/risk-rules.json")).judge(files2573).tier)'
# T3

Environment: this box has no git and no gh, so the tip tree was read from the tarball API and npm run verify could not be assembled; CI at this tip is the suite run.

Review:

  • Scope. compare d5620ee...dd8bb6c reports exactly two files, +5/−0: AGENTS.md (+2) and docs/autonomous-dev.md (+3). Nothing under core/, patches/ds-bot/, changelog.d/, .github/ or the gate scripts moved; the base d5620ee95452685f8cd9e47da1335f9a479a5fba is the live main tip, so there are no stale-base ghosts.
  • Wording matches the 2026-11-06T22:20Z decision on A pull request from outside the tree signed itself as Dev-2 on our repo (#1081) #1218. A second open pull request on one issue whose branch is not in this repository (a fork) and which has no card on the team board is an external pull request: shepherded, never counted as our implementation, and never a reason to stop our own work on that issue. docs/autonomous-dev.md step 4 carries the same rule and links back to AGENTS.md, so the two places cannot drift. The new paragraph sits inside the "Owner decision: the Bot gates and merges its own PRs" section and reads as the other face of the Merge-gates fork exemption, which is accurate.
  • Links resolve. #merge-gates and #owner-decision-the-bot-gates-and-merges-its-own-prs-2026-10-21-owner-authorized both exist as headings in AGENTS.md; the new docs/autonomous-dev.md link uses the second one.
  • Checkpoint is readable by the queue. The body block was run through the repository's own checkpointReasons(body, {pr: 2573, files}) from .github/scripts/enqueue-rules.mjs and returned no reasons.
  • Red-first. No test reads either file (the AGENTS.md hits in core/test/* are fixture strings, not file reads); reverting both docs to their base blobs still gives 16/16 pass, so this diff is neither covered by that suite nor able to regress it. tests-ok, test, plugins (tree|social|timeline|workflow) and package are green at this tip.
  • Checks at the tip. All check runs are terminal. The only failure is enqueue-guard, which refuses because this head had no Verifier report yet — that is the check this PASS answers. The cancelled judge / agent-audience duplicates were superseded by successful runs of the same name.

Reviewed change set: AGENTS.md, docs/autonomous-dev.md. Docs-not-needed is stated in both the body and the tip's only commit, and no docs/subsystems/ page owns either file.

@github-actions github-actions Bot added the pass label Nov 6, 2026
@Birfy
Birfy added this pull request to the merge queue Nov 6, 2026
Merged via the queue into main with commit af681cf Nov 6, 2026
14 of 16 checks passed
@Birfy
Birfy deleted the dev/1218-external-second-pr branch November 6, 2026 22:24
@github-actions github-actions Bot removed the agent-pr Pull request opened by an agent label Nov 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

A pull request from outside the tree signed itself as Dev-2 on our repo (#1081)

1 participant