Repository navigation
Conversation
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configuration
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
unbraind
force-pushed
the
feat/blocker-revalidation
branch
from
October 12, 2026 12:15
8e43b10 to
6f9d8ef
Compare
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
unbraind
force-pushed
the
feat/blocker-revalidation
branch
from
October 12, 2026 13:12
50c41c6 to
b978b21
Compare
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
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.
Blocked pm items retain static GitHub blocker text after an upstream issue closes. The motivating pm-rl records stayed blocked for 27 days after unbraind/pm-cli#854 closed on 2026-08-01. This adds
pm github blockersto surface those stale blockers without changing item status.The command certifies the complete SDK read, selects blocked items and non-terminal items with external GitHub blocked_by dependencies, deduplicates references from dependency targets/reason/description/comments, and queries live issue/PR state in GraphQL batches of 25 using the existing auth and rate-limit client. Reports use the host TOON/JSON renderer. Exit 4 alerts on clearance or partial clearance; query or annotation failures take precedence with exit 1. Optional comments group newly cleared reference states once per fully cleared item, with per-reference state/timestamp markers under a lock. The reusable sync warns on exit 4, writes no comments, and stops on failures. README documents examples and the required PM CLI 2026.10.5 compatibility floor.
Before: a closed GitHub blocker leaves a static blocked item with no live-state receipt. After: a report identifies its current state, reason, date and verdict for human revalidation; status remains blocked. Private/missing GitHub references can both appear as not_found, and unknown references never clear an item.
Validation uses real scratch trackers and recorded public GitHub GraphQL responses, recaptured with the query builder. Permission denials are explicitly constructed around recorded data; no private-resource fixture is published. Behavioural revert proof disabled only the parser body, then only the verdict body in separate isolated copies: each made its unit regression and the real-tracker mixed scenario fail, 0/2 passing per revert, exit 1. The production source stayed intact. A final-head CodeQL alert identified polynomial marker matching; the matcher now uses repository grammar and cannot span HTML delimiters. Restoring only the old regex makes its bounded performance regression time out (0/1 pass); the fixed regression completes promptly. Provenance hints are validated before GraphQL, and reference handling covers .github-style repo names, HTTP/case variants and unresolved-form deduplication. Both complete gates were rerun after these corrections.
npm run release:check, isolated HOME/Git identitybun run release:check, isolated HOME/Git identityBoth release gates also passed typecheck/build, docstrings, lint, zero duplication, privacy, audit, pack dry-run, changelog and attestation checks. The required identity-isolated npm command used
env HOME=$(mktemp -d) GIT_CONFIG_GLOBAL=/dev/null GIT_CONFIG_NOSYSTEM=1. Source checksums stayed unchanged across both release runs. Scratch workflow fixtures isolate unrelated global extensions so host/SDK skew cannot contaminate health checks.Read-only fleet acceptance: pm-rl read 78 items with zero candidates (both historical motivating items are now closed); the companion read 937 items with six candidates, two cleared and four unresolvable. Item/history/settings bytes stayed unchanged. --comment was used only on scratch trackers. No merge, release, tag or publication is requested; callers must pin a release containing this command before adopting the updated reusable workflow.
Owner item: pm-github-fmrf (proposed). Companion context: pm-cli-website-5o9j. The owner item remains in_progress and its claim was released for orchestrator verification.
Summary by Sourcery
Add report-only GitHub blocker revalidation so stale blocked items can be identified for human follow-up without automatically changing their status.
New Features:
pm github blockersto report the live state of GitHub issue and pull-request blockers without changing item status.Bug Fixes:
Enhancements:
Build:
CI:
Documentation:
Tests:
Chores: