Conversation
|
🐿️ Review errored. Flip to draft and back to ready, or mention @claude, to retry. |
|
🐿️ Review updated. |
The domain-selection tables in triage.md, docs-review.md, docs-review-ci.md, and docs-review-core.md all treated paths as an unordered set of globs. A PR touching static/programs/<name>/package.json matched BOTH static/programs/ (programs) and package.json (infra), so triage applied review:programs AND review:infra AND review:mixed -- which was noisy and semantically wrong (per-program package.json is programs territory, not site infra). Same issue for scripts/programs/ignore.txt (programs tooling, not site infra). Switch to explicit path-precedence order. A file matches the first rule and does not get classified again: 1. static/programs/** → programs (covers every nested file in a program directory: Pulumi.yaml, package.json, requirements.txt, source files, etc.) 2. content/blog/**, content/customers/** → blog 3. content/docs/**, content/learn/**, content/tutorials/**, content/what-is/** → docs 4. .github/workflows/**, scripts/** except scripts/programs/**, infrastructure/**, Makefile (repo root), package.json (repo root only), webpack.config.js, webpack.*.js → infra 5. Everything else → review-shared only Caught during fork-based end-to-end testing of PR #28 (a programs-only PR that was mislabeled review:infra + review:programs + review:mixed).
Claude Review — Last updated 2026-04-23T22:36:44Z
🚨 Outstanding in this PR
If you migrate to
|
|
🐿️ Review updated. |
The previous procedure said 'compute the target label set (existing minus removed, plus added)' which Sonnet glossed over: on PR #28, after the domain rules changed to path-precedence, triage saw review:infra + review:mixed as stale and should have removed them, but ran as a no-op. Rewrite the procedure in explicit TARGET / ADD / REMOVE steps: - TARGET is built from scratch per the classification rules. - EXISTING_TRIAGE excludes state labels (review:claude-ran, -stale, -working, needs-author-response) so those stay untouched. - ADD = TARGET − EXISTING_TRIAGE. - REMOVE = EXISTING_TRIAGE − TARGET. Any previously-applied review:* or fact-check:needed label that no longer applies under current rules is stale and must be dropped. - The gh pr edit call fires only when ADD or REMOVE is non-empty. - Summary log line now includes added/removed lists for traceability. Caught during fork-based end-to-end testing; Sonnet followed the re-written procedure correctly on the next run.
|
🐿️ Review errored. Flip to draft and back to ready, or mention @claude, to retry. |
|
🐿️ Review updated. |
Fork-only tweak so claude.yml works without org-side ESC setup. @claude retains all its capabilities (re-entrant reviews, Q&A, make-changes on PRs) -- only difference is commits pushed with GITHUB_TOKEN don't trigger downstream workflows, which is fine for fork testing. This commit is NOT for upstream. Origin/master and pulumi#18680 keep the ESC design. Do not cherry-pick.
|
🐿️ Review errored. Flip to draft and back to ready, or mention @claude, to retry. |
Adds a minimal TypeScript S3 bucket example for the PR review pipeline to exercise. Added to ignore.txt so the real program test suite skips it; the Claude review should flag the deliberate bugs.
bfde16b to
7c9a110
Compare
|
🐿️ Review updated. |
|
Test PR closed. The Claude PR review pipeline work is now tracked on pulumi#18680. |
Adds a minimal S3 bucket example at
static/programs/pipeline-test-bucket-typescript/.Pipeline test: exercises the
review:programsdomain (heightened scrutiny) and the chained triage → review path. The program contains deliberate issues (wrong package, wrong casing, deprecated resource, wrong versioning type) so the reviewer has material to flag. Added toscripts/programs/ignore.txtso the real program test suite skips it.