Skip to content

docs: require resolved PR review threads - #7310

Open
bokelley wants to merge 5 commits into
mainfrom
conductor/require-cleared-pr-comments
Open

docs: require resolved PR review threads#7310
bokelley wants to merge 5 commits into
mainfrom
conductor/require-cleared-pr-comments

Conversation

@bokelley

@bokelley bokelley commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Summary

  • require classification of every PR-feedback item across all GraphQL and REST feedback surfaces
  • require every actionable item, including CodeQL, to be fixed and revalidated; only non-actionable items may receive an evidence-backed disposition
  • require URL/ID plus a specific evidence-backed disposition for every non-actionable item
  • keep CLAUDE.md as a concise pointer that makes clearing all comments and feedback mandatory before completion

Exact evidence

  • Base: origin/main = 6b33b871ec3e906c2a40a21258ad72ff77e89cc0.
  • Final immutable head: 9d89b0e4a33b371ed8f434dfa9b2b975c8484617 (force-with-lease pushed to conductor/require-cleared-pr-comments).
  • The existing five documentation commits were restacked directly onto that base with no merge commit: 95a6c6662, c9b976725, f23d00041, 252682aad, and 9d89b0e4a.
  • git merge-base origin/main HEAD = 6b33b871ec3e906c2a40a21258ad72ff77e89cc0 exactly.
  • Both git diff --name-status origin/main..HEAD and git diff --name-status origin/main...HEAD contain only modified .agents/playbook.md and CLAUDE.md.
  • The final blobs are byte-identical to prior head 04ef3aa6a310d0b4e22fe9218d79b6dbe014135b: .agents/playbook.md = c343e59e269ebc1e9437c583ea97d9d6231a0701; CLAUDE.md = 0a994cd1eab893548e97b51546c74fe302f28bba.
  • git diff --check origin/main...HEAD passed. marked and remark successfully parsed both changed Markdown files.
  • Bounded policy assertions passed: every item is classified; actionable items and CodeQL findings are fixed and revalidated; only non-actionable items get URL/ID-backed evidence dispositions across GraphQL threads, REST issue/conversation comments, REST standalone/inline review comments, and REST submitted review bodies; the wrapper is a concise canonical pointer; and full GraphQL/REST pagination remains present.
  • Bounded command-shape checks passed: Bash syntax plus five set -u dry cases—missing PR number, zero, non-numeric, mismatched intended head (all rejected), and matching intended PR (accepted).
  • node scripts/check-pr-title.cjs "docs: require resolved PR review threads" and node scripts/check-changeset-protocol-scope.cjs origin/main passed.
  • Fresh fully paginated feedback inventory for this head: GraphQL page 1 returned 0 review threads with hasNextPage=false (so no per-thread comment pages exist); REST returned 0 issue-conversation comments, 9 submitted reviews, and 0 inline review comments.

Feedback disposition

CI disposition

  • Original Build and static checks job 101459688531 in run 34023284634 failed only during npm ci: downloading the @contentauth/c2pa-node GitHub release asset returned ECONNRESET. The project build and tests never ran in that attempt; the Build step and every later downstream check were skipped.

  • The rerun job 101460680570 in the same run completed SUCCESS, including dependency installation, build, and all downstream checks. Both jobs target immutable head 9d89b0e4a33b371ed8f434dfa9b2b975c8484617.

  • Disposition: the original annotation is non-actionable transient CI infrastructure, specifically evidenced by the successful identical-head rerun; no source change is required for it.

  • Submitted review bodies 5123557799, 5124229557, 5124367531, 5124405049, 5124443650, 5124626609, 5124654025, 5124724166, and 5124809622 are from aao-secretariat[bot]. The first eight target superseded heads; 5124809622 targets the current head, reports no Critical/High/Medium finding, and escalates only for the required human/CODEOWNERS approval. These bodies are not resolvable threads and do not replace that approval.

  • No GraphQL review threads, issue-conversation comments, or inline review comments exist to resolve. No feedback was blanket-resolved.

Outstanding gate

  • This PR remains ready for review, but must not merge. Fresh review and designated human/CODEOWNERS approval must apply to final immutable head 9d89b0e4a33b371ed8f434dfa9b2b975c8484617.
  • Do not self-approve.

Open workspace in Conductor

@aao-secretariat aao-secretariat Bot 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.

Ladon verdict: Escalate to human review

Escalate — gated path requires human/CODEOWNERS review.

This is a documentation/process-only PR touching .agents/playbook.md (+52/-5) and CLAUDE.md (+9/-0), adding a PR-completion gate requiring every review thread be resolved. The reviewer found no Critical/High/Medium findings — the diff is mechanically clean.

However, .agents/playbook.md matches the gated-path glob .agents/** (gated_paths: true), and review_decision is REVIEW_REQUIRED, not APPROVED. Per decision rule row 2, this hard, path-based approval gate is not satisfied and the outcome MUST be escalate.

Escalation reasons:

  • .agents/playbook.md (modified) is under the .agents/** hard approval gate; human/CODEOWNERS review is required before merge (review_decision is REVIEW_REQUIRED, not APPROVED).

Once a human/CODEOWNERS approval lands, this clean diff can fall through to approval.

Why human review

  • .agents/playbook.md (modified) is under the .agents/** hard approval gate; review_decision is REVIEW_REQUIRED, not APPROVED — human/CODEOWNERS review required.
  • This PR touches a path under a hard, non-overridable approval gate (.agents/playbook.md (modified) matches .agents/**) and the current GitHub review decision is 'REVIEW_REQUIRED', not APPROVED. This is a hard gate enforced in code — Ladon cannot auto-approve until a human/CODEOWNERS approval is recorded, regardless of how clean the diff is.

@aao-secretariat aao-secretariat Bot added the ladon/needs-human-review Ladon has escalated this PR for human review. label Sep 6, 2026
@bokelley
bokelley marked this pull request as draft September 6, 2026 04:13
@bokelley
bokelley force-pushed the conductor/require-cleared-pr-comments branch 2 times, most recently from fa8aeaf to 7c61364 Compare September 6, 2026 04:33
@bokelley
bokelley marked this pull request as ready for review September 6, 2026 05:00

@aao-secretariat aao-secretariat Bot 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.

Ladon verdict: Escalate to human review

Escalate — gated path requires human/CODEOWNERS approval.

The reviewer found no findings at Medium or above: the diff is a governance-class prose change (stricter PR Preparation Checklist in .agents/playbook.md and a new PR Completion Gate in CLAUDE.md), with a fail-closed bash validation script and correctly typed, paginated GraphQL queries. No wire/schema/dist/oneOf changes.

However, .agents/playbook.md (modified) matches .agents/**, a hard, non-overridable approval gate (gated_paths: true), and review_decision is REVIEW_REQUIRED, not APPROVED. Per decision-table row 2, the gate is not satisfied and the outcome must be escalate regardless of how clean the diff is. This is consistent with the prior escalate decision.

Escalation reasons

  • .agents/playbook.md (modified) is under the .agents/** hard approval gate; human/CODEOWNERS review required before merge. The gate lifts only when review_decision becomes APPROVED.

Why human review

  • .agents/playbook.md (modified) matches the .agents/** hard approval gate (gated_paths: true) and review_decision is REVIEW_REQUIRED, not APPROVED — human/CODEOWNERS approval required before this PR can merge.
  • This PR touches a path under a hard, non-overridable approval gate (.agents/playbook.md (modified) matches .agents/**) and the current GitHub review decision is 'REVIEW_REQUIRED', not APPROVED. This is a hard gate enforced in code — Ladon cannot auto-approve until a human/CODEOWNERS approval is recorded, regardless of how clean the diff is.

@bokelley
bokelley force-pushed the conductor/require-cleared-pr-comments branch from 8d5743b to 15f3c6f Compare September 6, 2026 05:44

@aao-secretariat aao-secretariat Bot 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.

Ladon verdict: Escalate to human review

Escalate — hard approval gate on .agents/** not satisfied.

This PR modifies .agents/playbook.md, which matches the deterministic hard approval gate (gated_paths: true), and the current GitHub review decision is REVIEW_REQUIRED, not APPROVED. Per decision rule row 2, the outcome must be escalate until a human/CODEOWNERS approval is recorded.

The reviewer found no critical/high/medium code findings — the diff is mechanically clean (a hardened 9-step PR Preparation Checklist plus a CLAUDE.md pointer stanza, no protocol/schema/changeset/dist surface). Absent any blocking finding, this is purely the path-based gate holding.

Escalation reasons

  • .agents/playbook.md (modified) is under a hard, non-overridable approval gate (.agents/**), and review_decision is REVIEW_REQUIRED, not APPROVED. Human/CODEOWNERS approval is required before merge.

The gate will lift automatically once a human/CODEOWNERS approval is recorded; the diff otherwise carries no actionable findings.

Why human review

  • .agents/playbook.md (modified) matches the .agents/** hard approval gate (gated_paths: true) and review_decision is REVIEW_REQUIRED, not APPROVED — human/CODEOWNERS approval required before merge.
  • This PR touches a path under a hard, non-overridable approval gate (.agents/playbook.md (modified) matches .agents/**) and the current GitHub review decision is 'REVIEW_REQUIRED', not APPROVED. This is a hard gate enforced in code — Ladon cannot auto-approve until a human/CODEOWNERS approval is recorded, regardless of how clean the diff is.

@bokelley
bokelley force-pushed the conductor/require-cleared-pr-comments branch from 15f3c6f to e0b7a82 Compare September 6, 2026 05:57

@aao-secretariat aao-secretariat Bot 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.

Ladon verdict: Escalate to human review

Escalate — gated path requires human/CODEOWNERS approval.

This PR modifies .agents/playbook.md (PR Preparation Checklist rewrite) and CLAUDE.md (PR Completion Gate pointer). The reviewer found no critical/high/medium findings — the delta is clean (cross-references, embedded fail-closed bash verification block, and GraphQL pagination prose all check out; no schema/docs/dist/changeset surface touched).

However, .agents/playbook.md matches the .agents/** hard approval gate (gated_paths: true) and the current review_decision is REVIEW_REQUIRED, not APPROVED. Per decision-table row 2, this PR cannot auto-approve until a human/CODEOWNERS approval is recorded, regardless of how clean the diff is.

Escalation reasons

  • .agents/playbook.md (modified) is under the .agents/** hard approval gate and review_decision is REVIEW_REQUIRED — human/CODEOWNERS approval required before merge.

This holds the prior escalate. The gate lifts the moment review_decision becomes APPROVED, at which point a clean diff like this one would fall through to approve.

Why human review

  • .agents/playbook.md (modified) matches the .agents/** hard approval gate (gated_paths: true) and review_decision is REVIEW_REQUIRED, not APPROVED — human/CODEOWNERS approval is required before this PR can merge.
  • This PR touches a path under a hard, non-overridable approval gate (.agents/playbook.md (modified) matches .agents/**) and the current GitHub review decision is 'REVIEW_REQUIRED', not APPROVED. This is a hard gate enforced in code — Ladon cannot auto-approve until a human/CODEOWNERS approval is recorded, regardless of how clean the diff is.

@bokelley
bokelley force-pushed the conductor/require-cleared-pr-comments branch from e0b7a82 to d06eeaf Compare September 6, 2026 06:20

@aao-secretariat aao-secretariat Bot 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.

Ladon verdict: Escalate to human review

Escalate — hard approval gate on .agents/** not yet satisfied.

This PR rewrites the PR Preparation Checklist in .agents/playbook.md and adds a matching PR Completion Gate pointer in CLAUDE.md. The reviewer traced the EXPECTED_PR_HEAD verification bash, pagination loops, and changeset scope and found no Critical/High/Medium code-correctness findings — a clean diff.

However, .agents/playbook.md (modified) matches the .agents/** hard, non-overridable approval gate (gated_paths: true), and review_decision is REVIEW_REQUIRED, not APPROVED. Per decision rule row 2, this must escalate until a human/CODEOWNERS approval is recorded. Prior decision was also escalate for the same gated-path reason.

Escalation reasons

  • .agents/playbook.md (modified) is under the .agents/** hard approval gate and the current GitHub review decision is REVIEW_REQUIRED, not APPROVED. Human/CODEOWNERS approval is required before this PR can merge — the gate lifts only when the review decision becomes APPROVED, regardless of how clean the diff is.

Why human review

  • .agents/playbook.md (modified) matches the .agents/** hard approval gate (gated_paths: true) and review_decision is REVIEW_REQUIRED, not APPROVED — human/CODEOWNERS approval is required before this PR can merge.
  • This PR touches a path under a hard, non-overridable approval gate (.agents/playbook.md (modified) matches .agents/**) and the current GitHub review decision is 'REVIEW_REQUIRED', not APPROVED. This is a hard gate enforced in code — Ladon cannot auto-approve until a human/CODEOWNERS approval is recorded, regardless of how clean the diff is.

@bokelley
bokelley force-pushed the conductor/require-cleared-pr-comments branch from d06eeaf to 6655c69 Compare September 6, 2026 07:36

@aao-secretariat aao-secretariat Bot 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.

Ladon verdict: Escalate to human review

Escalate — hard approval gate on .agents/** not yet satisfied.

The reviewer reported a clean pass with no Critical/High/Medium findings — the delta is two process/prompt docs (.agents/playbook.md +140/−5 rewriting the PR-prep checklist with a defensive bash script, and CLAUDE.md +9 adding a pointer). No protocol surface (schema, docs/reference, dist, task defs) is touched, so no changeset, oneOf, immutability, or 3.1.x rules apply.

However, gated_paths: true because .agents/playbook.md (modified) matches the .agents/** hard approval gate, and review_decision is REVIEW_REQUIRED, not APPROVED. Per decision-table row 2, this PR cannot be auto-approved until a human/CODEOWNERS approval is recorded. This is the same hard gate that produced the prior escalate; nothing has changed to lift it.

Escalation reasons

  • .agents/playbook.md (modified) matches the .agents/** hard approval gate (gated_paths: true) and review_decision is REVIEW_REQUIRED, not APPROVED — human/CODEOWNERS review is required before merge.

Why human review

  • .agents/playbook.md (modified) matches the .agents/** hard approval gate (gated_paths: true) and review_decision is REVIEW_REQUIRED, not APPROVED — human/CODEOWNERS approval is required before this PR can merge.
  • This PR touches a path under a hard, non-overridable approval gate (.agents/playbook.md (modified) matches .agents/**) and the current GitHub review decision is 'REVIEW_REQUIRED', not APPROVED. This is a hard gate enforced in code — Ladon cannot auto-approve until a human/CODEOWNERS approval is recorded, regardless of how clean the diff is.

@aao-secretariat aao-secretariat Bot 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.

Ladon verdict: Escalate to human review

Escalate — hard approval gate on .agents/** not yet satisfied.

This PR modifies two prose/policy files (.agents/playbook.md rewritten 9-step PR Preparation Checklist, and a CLAUDE.md pointer stub). The reviewer's delta pass found no Critical/High/Medium code-correctness findings: the step-3 bash validation is fail-closed, GraphQL pagination guidance is sound, and nothing touches the published protocol surface (no changeset/schema/docs/wire/oneOf/dist/3.1.x concern).

However, .agents/playbook.md (modified) matches the .agents/** hard approval gate — gated_paths: true — and review_decision is REVIEW_REQUIRED, not APPROVED. Per decision table row 2, this PR cannot auto-approve until a human/CODEOWNERS approval is recorded, regardless of how clean the diff is. The prior decision was also escalate for the same gate reason.

Escalation reasons

  • .agents/playbook.md (modified) is under the .agents/** hard approval gate (gated_paths: true) and review_decision is REVIEW_REQUIRED, not APPROVED — human/CODEOWNERS review required before merge.

Why human review

  • .agents/playbook.md (modified) matches the .agents/** hard approval gate (gated_paths: true) and review_decision is REVIEW_REQUIRED, not APPROVED — human/CODEOWNERS approval is required before this PR can merge.
  • This PR touches a path under a hard, non-overridable approval gate (.agents/playbook.md (modified) matches .agents/**) and the current GitHub review decision is 'REVIEW_REQUIRED', not APPROVED. This is a hard gate enforced in code — Ladon cannot auto-approve until a human/CODEOWNERS approval is recorded, regardless of how clean the diff is.

@bokelley
bokelley force-pushed the conductor/require-cleared-pr-comments branch from 631638c to 04ef3aa Compare September 6, 2026 08:13

@aao-secretariat aao-secretariat Bot 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.

Ladon verdict: Escalate to human review

Escalate — hard approval gate on .agents/** not satisfied.

This PR modifies .agents/playbook.md, which is under a hard, non-overridable approval gate (gated_paths: true). The current GitHub review_decision is REVIEW_REQUIRED, not APPROVED, so the gate is not satisfied (decision table row 2).

The reviewer reported a clean pass with no Critical/High/Medium findings — the diff touches only two process/policy docs (.agents/playbook.md and CLAUDE.md), no published protocol surface, so no changeset is required and the bash/GraphQL logic verifies as correct. Absent the path gate this would approve, but the gate stands until a human/CODEOWNERS approval is recorded.

Escalation reasons

  • .agents/playbook.md (modified) matches the .agents/** hard approval gate (gated_paths: true) and review_decision is REVIEW_REQUIRED, not APPROVED — human/CODEOWNERS approval is required before this PR can merge.

Why human review

  • .agents/playbook.md (modified) matches the .agents/** hard approval gate (gated_paths: true) and review_decision is REVIEW_REQUIRED, not APPROVED — human/CODEOWNERS approval is required before this PR can merge.
  • This PR touches a path under a hard, non-overridable approval gate (.agents/playbook.md (modified) matches .agents/**) and the current GitHub review decision is 'REVIEW_REQUIRED', not APPROVED. This is a hard gate enforced in code — Ladon cannot auto-approve until a human/CODEOWNERS approval is recorded, regardless of how clean the diff is.

@bokelley
bokelley force-pushed the conductor/require-cleared-pr-comments branch from 04ef3aa to 9d89b0e Compare September 6, 2026 08:57

@aao-secretariat aao-secretariat Bot 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.

Ladon verdict: Escalate to human review

Escalate — gated path requires human/CODEOWNERS approval.

This PR modifies .agents/playbook.md, which matches the .agents/** hard approval gate (gated_paths: true). The current review_decision is REVIEW_REQUIRED, not APPROVED, so per decision-table row 2 the gate is not satisfied and the PR cannot be auto-approved regardless of how clean the diff is.

The reviewer pass was clean: the delta touches only .agents/playbook.md and CLAUDE.md (a prompt/policy change adding a PR-completion checklist and a fail-closed Bash verification snippet). No protocol surface — schemas, reference docs, changesets, or dist artifacts — is touched. No Critical/High/Medium findings.

The prior decision was also escalate for the same gated-path reason, which still holds. Once a human/CODEOWNERS approval is recorded, this PR can fall through to a normal approve.

Escalation reasons

  • .agents/playbook.md (modified) matches the .agents/** hard approval gate; review_decision is REVIEW_REQUIRED, not APPROVED — human/CODEOWNERS approval is required before merge.

Why human review

  • .agents/playbook.md (modified) matches the .agents/** hard approval gate (gated_paths: true) and review_decision is REVIEW_REQUIRED, not APPROVED — human/CODEOWNERS approval is required before this PR can merge.
  • This PR touches a path under a hard, non-overridable approval gate (.agents/playbook.md (modified) matches .agents/**) and the current GitHub review decision is 'REVIEW_REQUIRED', not APPROVED. This is a hard gate enforced in code — Ladon cannot auto-approve until a human/CODEOWNERS approval is recorded, regardless of how clean the diff is.

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

Labels

ladon/needs-human-review Ladon has escalated this PR for human review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant