Skip to content

create-ol-pull-request: audit factual claims before opening the PR - #258

Open
blarghmatey wants to merge 2 commits into
mainfrom
claude/pr-claim-audit
Open

create-ol-pull-request: audit factual claims before opening the PR#258
blarghmatey wants to merge 2 commits into
mainfrom
claude/pr-claim-audit

Conversation

@blarghmatey

Copy link
Copy Markdown
Member

What are the relevant tickets?

N/A

Description (What does it do?)

  • Adds a new Step 5 ("Audit factual claims") to create-ol-pull-request, run before gh pr create: extract every factual/behavioral claim from the drafted body (production behavior, metrics, library defaults, "this fixes X"), verify each against its strongest evidence source, and mark it VERIFIED / UNVERIFIABLE / CONTRADICTED.
  • Evidence sources per claim type: Prometheus/Grafana (matching toolhive-swe-{ci,qa,prod} tier, ≥7-day window), the actual library source/docs, deployed infra state (pointing at the deploy-verification skill for rollout claims), or a failing-then-passing test for "this fixes X" claims.
  • UNVERIFIABLE claims get dropped rather than shipped hedged; CONTRADICTED claims get corrected, not softened.
  • Explicitly skips for mechanical changes with no factual claims to audit (renames, dependency bumps, self-evident diffs) — doesn't force an audit table onto every PR.
  • Renumbers the old Step 5 ("Create the PR") to Step 6 and updates the skill's frontmatter description to mention the audit step.

How can this be tested?

  • Validated frontmatter with npx skills-ref validate ./skills/process/create-ol-pull-request — passes.
  • Ran prek run --files skills/process/create-ol-pull-request/SKILL.md — all checks pass (markdownlint, trailing whitespace, secrets, etc.).
  • No functional test suite for skill markdown.

Several past PRs shipped confident-but-wrong claims (a metrics window too
narrow to be meaningful, a wrong framework-default assertion, a
mischaracterized IAM denial) that reviewers had to catch and force a
retraction on. Add a pre-submit step that lists every factual/behavioral
claim in the drafted body, checks each against its strongest evidence
source (Prometheus/Grafana, library source, deployed infra state, or a
failing-then-passing test), and requires dropping or correcting anything
that can't be verified — before the PR opens, not after a reviewer flags
it. Skips cleanly for mechanical changes with nothing to audit.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XqAaVVSbbp412kVEYbKY1K
Copilot AI balanced review requested due to automatic review settings August 19, 2026 15:07

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a factual-claim audit before creating mitodl pull requests.

Changes:

  • Verifies behavioral claims against authoritative evidence.
  • Renumbers PR creation to Step 6.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread skills/process/create-ol-pull-request/SKILL.md
blarghmatey added a commit to blarghmatey/dotfiles that referenced this pull request Aug 19, 2026
Pairs with the create-ol-pull-request skill's new claim-audit step
(mitodl/agent-kit#258): the first attempt at any `gh pr create` command
is blocked with a reminder to verify factual claims in the body first.
Re-running the identical command lets it through — a one-time speed bump,
not a permanent block, since the hook has no way to know the audit
actually happened.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XqAaVVSbbp412kVEYbKY1K
Copilot's review of the sibling PR (#251) made the point against the same
wording this table carries: seven days proves absence during seven days,
so a flat window still lets through the confident-but-wrong assertions the
claim audit exists to catch.

Keep seven days as the floor for trend claims, where the window is there to
stop a blip reading as a trend, and require an absence claim to either cover
the period it names or be narrowed to the window actually queried. Matches
the corrected wording landing in #251.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CqvGU3ssvASjwcfFGExNPL
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants