From b7367a7cd516935e6cf02cf42fcaa8d22c28dbab Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Mon, 20 Jul 2026 18:50:00 -0700 Subject: [PATCH 1/2] Fix release note reference extraction Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 679c77fb-c5f7-4643-bbd5-910902c0a14c --- .github/scripts/draft-release-notes/fetch.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/scripts/draft-release-notes/fetch.py b/.github/scripts/draft-release-notes/fetch.py index 1d4c648a0605..73636967cbcd 100644 --- a/.github/scripts/draft-release-notes/fetch.py +++ b/.github/scripts/draft-release-notes/fetch.py @@ -28,7 +28,10 @@ SRC_MAIN_JAVA_PATHSPEC = "*/src/main/**/*.java" PR_SUFFIX_RE = re.compile(r"\s*\(#(\d+)\)$") VERSION_RE = re.compile(r'val stableVersion = "(\d+\.\d+\.\d+)') -ISSUE_REF_RE = re.compile(r"(?:issues|pull)/(\d+)|(? Date: Mon, 20 Jul 2026 19:04:53 -0700 Subject: [PATCH 2/2] Require escaped classifier JSON Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 679c77fb-c5f7-4643-bbd5-910902c0a14c --- .github/scripts/draft-release-notes/rules.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/scripts/draft-release-notes/rules.md b/.github/scripts/draft-release-notes/rules.md index 93c29522b33f..16553390d79a 100644 --- a/.github/scripts/draft-release-notes/rules.md +++ b/.github/scripts/draft-release-notes/rules.md @@ -21,6 +21,11 @@ by the parser but discouraged — prefer a bare JSON object: } ``` +The response must be parseable by `json.loads`. JSON-escape every special +character in string values, including `"` as `\"`, `\` as `\\`, and newlines +as `\n`. Pay particular attention to Java string literals copied into +`evidence`, and verify the complete object is valid JSON before responding. + ## Core rule Classify every PR from its diff only. PR titles, manifest `subject`,