Skip to content

ci: report closing syntax inside PR body text - #296

Merged
Dong1017 merged 1 commit into
mainfrom
ci/pr-closing-references
Nov 1, 2026
Merged

Dong1017 merged 1 commit into
mainfrom
ci/pr-closing-references

Conversation

@Dong1017

@Dong1017 Dong1017 commented Nov 1, 2026

Copy link
Copy Markdown
Collaborator

Governing Issue and delivery slice

Refs #273

  • Accepted scope / delegation: R1 as recorded in the owner's decision: a pr-references job in ci-ready.yml on the ready lane's existing events, not a required check, delivered by one PR without a separate task Issue.
  • What this PR delivers: a checker for closing syntax in PR body text, its tests, the ready-lane job, and short updates to working rule 6, the contributing guide and the PR template.
  • What it does not deliver: checks of commit messages or Development sidebar links, an edited trigger, a required status, or R2–R6 of [Investigation] Agent-led workflow gaps: closure, decision visibility, review provenance and focus #273.

Knowledge authorship declaration

Not applicable: this PR changes no path protected by docs/knowledge-model-policy.md.

Changed artifacts and evidence

Requirement Actual change Check / evidence and result Remaining gap
Closing syntax inside PR body text fails, including negated sentences tools/check_pr_references.py tests/test_pr_references.py uses the eight negated sentences from #273 F1; all are reported. Local run passed none
A line holding only a keyword and one reference passes same same test file, including cross-repository references, issue URLs and CRLF bodies none
The PR template itself passes .github/PULL_REQUEST_TEMPLATE.md test_pull_request_template_passes none
Runs in the ready lane and does not block merge .github/workflows/ci-ready.yml, job pr-references: read-only token, body passed through env, printed lines start with line so PR text cannot form a workflow command this PR's ready run not a required check by decision
The rule is documented docs/agent-collaboration.md rule 6, docs/contributing.md, PR template comment review none

Why the existing ready-lane events suffice: for each of the eight closures in #273 F1, the closing sentence was already in the PR body at the last ready-lane event before merge. This was checked on 2026-10-31 by comparing each PR's body edit history (GraphQL userContentEdits) with its ci-ready run times and timeline events. A body edit after the last push is checked only at the next push.

Checks and dependencies

  • Checks actually run (result and tested scope): on Windows 11 with Python 3.13.5, on a tree identical to this head: pytest tests/test_pr_references.py tests/test_qualify_kv_reclamation.py tests/test_qualify_kv_edit_actor.py tests/test_knowledge_model_policy.py gave 187 passed and 3 failed. With PYTHONUTF8=1, the two tests that read ci-ready.yml pass, and tests/test_pr_references.py passes. ruff check src tests tools passed.
  • Failed, skipped, timed-out or not-run checks (if applicable): test_retained_actual_outputs_have_labelled_path_redactions fails on Windows because it expects POSIX paths; this PR changes neither that test nor its code. Without PYTHONUTF8=1, the two ci-ready.yml readers fail on a GBK locale because the file's first line already contains an em dash. The full suite was not run locally; the ready lane runs it on Linux.
  • Dependencies / shared interfaces / integration assumptions (if applicable): the KV live policy pins one specific ci-ready run ID, so an added job does not affect it. No existing job, trigger or concurrency setting changes.

Remaining work and Issue closure

🤖 Generated with Claude Code

GitHub treats a closing keyword followed by an Issue reference as closing
syntax even inside a negated sentence. Agents following the non-closing
reference rule wrote such sentences, and merges closed human-owned Issues.

Add a pr-references job to the ready lane. It fails when closing syntax
appears inside PR body text and allows a line that holds only the keyword
and one reference. It reads the body at each ready-lane event and is not a
required check. Document the rule in working rule 6, the contributing guide
and the PR template.

Agent-assisted-by: Claude Code / claude-opus-5-5 (author)
Signed-off-by: Dong1017 <55723162+Dong1017@users.noreply.github.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 1, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-01T02:31:15.003236Z b86caeb PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@Dong1017 Dong1017 left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Scoped LGTM for the accepted R1 slice at b86caeb1. All six current-head Ready jobs and the declaration check passed; no confirmed blocker remains in the inspected delta. This is a review conclusion, not formal approval or acceptance of the other #273 remedies.

  • Inspected all six changed files and the workflow invocation. Sentence-embedded/negated directives are reported; explicit standalone lines remain allowed. Existing events and required-check settings are unchanged.
  • Independently checked the published-head parser with 172 cases in an isolated, empty environment. Documented keyword/case/colon/reference forms, absent input and malicious-body handling passed. PR text remains an environment value rather than shell source; reported physical lines receive a fixed prefix.
  • The completed native review reports no findings, and the current review/thread lists contain no outstanding opinions requiring disposition. The author's Windows locale/path failures are not presented as a local full-suite pass; both Linux full-check jobs now pass.
  • Limits: this is an advisory syntax check, not closure authorization or full GitHub parser equivalence. Cross-line keyword/reference recognition is not covered; GitHub recognition of that form was not established, so it is not asserted as a verified blocker. Commit messages and sidebar links remain outside accepted scope.
Inspected revisions and evidence

Head: b86caeb1f898bca7468ee4bea6803f47a4433f8e; base: 218565698d850e955f85d0d394a5f0e5e3619812.
Accepted decision, Ready CI, declaration CI, native review.

This review used the actual PR implementation, not the separate unpublished-PR local candidate. Independent tests were scoped to the parser; full-suite evidence comes from hosted CI. No model, device or paid experiment was run for this review. No reviewer thread was resolved or repository setting changed.

@Dong1017
Dong1017 merged commit 50c19da into main Nov 1, 2026
9 checks passed
@Dong1017
Dong1017 deleted the ci/pr-closing-references branch November 1, 2026 02:59
@Dong1017
Dong1017 removed the request for review from david6666666 November 1, 2026 03:11
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.

1 participant