shard(tick): 2059Z — PR #3239 Copilot thread fix (end-anchored plist regex)#3246
Merged
AceHack merged 2 commits intoMay 14, 2026
Merged
Conversation
…regex) Tick output: - PR #3239 (audit hygiene) Copilot review caught real regex bug: `\.gemini\/(launchd|service)\/.*\.plist` wasn't end-anchored, would over-exclude foo.plist.bak / foo.plist.md. Fixed in new commit 673fbd0 with end-anchored `[^/]+\.plist$`. Property-tested 8/8. Thread resolved via GraphQL mutation. - This shard. Rule blocked-green-ci-investigate-threads.md paid off: gate reported UNKNOWN/BLOCKED with green CI + autoMerge armed; investigated threads first, found the actionable Copilot finding. Prior-tick PRs: #3240 / #3244 / #3245 all still wait-ci with autoMerge armed. Cron sentinel 12fb713e armed; recurring. Co-Authored-By: Claude <noreply@anthropic.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Pull request overview
Adds the 2059Z hygiene tick log entry documenting a follow-up fix on PR #3239 (tightening the .plist exclusion regex to be end-anchored) and the resulting verification steps, so the hygiene-history timeline reflects the resolved “BLOCKED with green CI” thread scenario.
Changes:
- Added a new tick-history shard file for 2026-05-14 20:59Z describing the PR #3239 thread investigation and regex correction.
- Captured a small property-test evidence table (8 cases) showing the tightened regex behavior.
- Recorded the thread-resolution workflow and post-fix verification checklist.
Copilot caught: the shard described `gh api graphql resolveReviewThread`
as if it were a subcommand. That's not valid `gh api graphql` invocation
— `resolveReviewThread` is a GraphQL MUTATION FIELD, not a CLI
subcommand.
Corrected to show the canonical pattern:
gh api graphql -f query='mutation { resolveReviewThread(input:{threadId:"<id>"}) { thread { isResolved } } }'
The mutation is passed via `-f query=` (and parameters via `-f` for
variables). Future readers can copy-paste a runnable example.
The Verify section (line 57) already correctly said "GraphQL mutation"
— only the earlier narrative text was misleading.
Co-Authored-By: Claude <noreply@anthropic.com>
Merged
6 tasks
7 tasks
AceHack
added a commit
that referenced
this pull request
May 14, 2026
…gh api graphql fix) (#3249) * shard(tick): 2108Z — review-thread triage round 2 (B-0329 ID-collision renumber + gh api graphql usage fix) Tick output: - Commit 4407e4a on PR #3247: renumbers duplicate B-0329 (new-surface-audit file) to B-0520 + adds renumbered_from breadcrumb + regenerates index. Real data-integrity fix per Copilot's substantive catch. - Commit a5b812b on PR #3246: corrects 2059Z shard's gh api graphql usage description to show canonical -f query= pattern. Accuracy nit fix. - Both Copilot threads resolved with verification. - This shard. Patterns codified: - Backlog-ID-collision class of bug (multiple files claiming same id: B-NNNN) is a real data-integrity failure mode. - The renumbered_from frontmatter breadcrumb preserves archaeology without needing a separate ADR. Audit-discipline candidate filed mentally: tools/hygiene/audit-backlog-id-uniqueness.ts that would catch this at author-time. Not authoring this tick (defer). Cron sentinel 12fb713e armed; recurring. Co-Authored-By: Claude <noreply@anthropic.com> * fix(pr3249): add blank line before list per markdownlint MD032 CI failure: lint (markdownlint) flagged MD032/blanks-around-lists at 2108Z.md:32 — list right after "Fix:" without separating blank line. Repo's markdownlint-cli2 config keeps MD032 enabled (catches real readability issues; only MD040/MD004/MD013 are disabled per .markdownlint-cli2.jsonc). One-line fix; markdownlint-cli2 now clean on the file. Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
AceHack
added a commit
that referenced
this pull request
May 14, 2026
#3252) Tick output: - Commit 910067d on PR #3249 branch: adds blank line after `Fix:` so MD032 is satisfied. Real CI failure (the lint gate flagged the shard 2108Z.md authored last tick). Copilot's auto-review caught the same issue in parallel; both pointed at the same line. Thread resolved with reply pointing to the fix. - This shard. Proactive sweep: markdownlint-cli2 against all today's tick shards on origin/main passes. Only 2108Z had the MD032 violation (now fixed). Tip codified for future-Otto: when a section heading or paragraph is followed immediately by a list (e.g., `Fix:` -> `- item`), MD032 requires a blank line between them. Pattern: write `Section:` + blank line + list. Prior-tick PRs merged this batch: - #3246 (shard 2059Z) MERGED as 20a5288 - #3251 (shard 2113Z) MERGED as d37631d Session tally: 18 merged + 3 wait-ci. Cron sentinel 12fb713e armed; recurring. Co-authored-by: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Tick 2026-05-14T20:59Z shard. Substantive work was a thread fix on #3239 — Copilot caught a real regex bug (un-anchored
.plistwould over-excludefoo.plist.bak/foo.plist.md). Fixed + property-tested + thread resolved.What landed
673fbd0on chore(hygiene): exclude .gemini/{launchd,service}/*.plist from machine-specific-content audit #3239's branch — tightened regex to\.gemini\/(launchd|service)\/[^/]+\.plist$(end-anchored, no subdir traversal). 8/8 property tests pass; audit total unchanged at 46.Pattern this tick
blocked-green-ci-investigate-threads.mdpaid off. The gate-poller reportedUNKNOWNonce thenBLOCKEDwith 0 failed checks + autoMerge armed. The block was 1 thread with an addressable finding, not a CI failure. Investigated immediately, fixed in ~3 minutes.Why the Copilot review was substantive
The flag was not a nit.
EXCLUDE_RE.test(path)with.*\.plistmatchesfoo.plist.bak,foo.plist.md,foo.plist.anything— over-exclusion. End-anchoring with\.plist$+[^/]+for the filename slot eliminates the over-match without changing behavior for real plist files.Prior-tick PRs status
Test plan
resolveReviewThreadmutationgh pr create --headused🤖 Generated with Claude Code
Co-Authored-By: Claude noreply@anthropic.com