Skip to content

Disproved Claims Entry Cites a Runbook Section the File No Longer Holds #1238

Description

@ptr727

The third entry in the "Disproved Claims" ledger of .github/copilot-instructions.md names a location the file no longer holds.

Found while resolving #1183, which is about the same file's runbook having shed the mechanics GOVERNANCE.md said it held. This is the ledger-side residue of the same removal, and it was deliberately left alone there rather than folded in, because that file's ledger is repo-local content and an edit to it belongs in a change that is about the ledger.

The entry

The GraphQL pullRequests connection defaults to states: [OPEN], so the bot node id query in "Triggering and Polling" returns nothing in a repository whose Copilot-reviewed pull requests have all merged.

  • Proved against - the BOT_ID query in "Triggering and Polling" in this file, run against this repository's pull request list on 2026-08-08.
  • Delete when - that query names states explicitly, or stops reading pull requests to find the id.

.github/copilot-instructions.md has no "Triggering and Polling" section and no BOT_ID query. Its headings are "Commit Messages and Pull Request Titles", "Reviewing Carried Fleet Content", "GitHub Copilot Review Runbook", "Disproved Claims", and "When in Doubt".

What the entry's own rules say should have happened

The section states it above the entries:

A disproof is true of one tree at one revision, so an entry whose subject moves is deleted by the change that moves it rather than edited to look current.

The change that removed "Triggering and Polling" did not delete the entry.

Why it is not simply stale

The query itself moved rather than vanishing. scripts/pr_review.py defines Q_BOT_ID reading pullRequests(first:$prs, orderBy:{field:UPDATED_AT, direction:DESC}) with no states argument, so the disproof is still substantively about live behavior. Only its stated location is gone, and that location is what a reader would go to in order to re-check it.

Neither "Delete when" condition is met either: the query still names no states, and it still reads pull requests to find the id.

The decision this needs

Two readings, and which one is right is the hub's call:

  1. The entry's subject is the runbook section, which is gone, so the entry is deleted per the section's own rule.
  2. The entry's subject is the query, which moved to a hub-hosted script a downstream repository does not carry. Then the entry cannot cite a path its readers have, which is the same downstream problem GOVERNANCE.md "PR Review Etiquette" Promises Copilot Mechanics the Runbook No Longer Holds #1183 raises, and deleting it is still the answer, since "The entries are this repository's own" and a repository not carrying scripts/ has nothing to check the claim against.

Both readings end in deletion, by different routes, but the second one raises a general question worth answering once: whether a ledger entry may be about hub-hosted machinery at all.

Bounds

Nothing else in the ledger was checked against the tree while filing this. A sweep of the remaining six entries against their named revisions is separate work.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions