Repository navigation
Conversation
Distill maintainer review feedback into docs/review_playbook.md so reviewers and authors share a single reference checklist across failure classes and project direction. Link the playbook and top review checks from the Code review section of AGENTS.md. Signed-off-by: Cong Liu <conliu@google.com>
Address review audit findings across docs/review_playbook.md, AGENTS.md, DEVELOPMENT.md, and CONTRIBUTING.md: align code-level claims with StrictDecoder, std-error-handling, metrics subsystems, and OTel TracerScope; deduplicate AGENTS.md and playbook rules; replace non-matching or multi-topic citations with verified single-topic comments; unbundle double-topic rules; restore KV-event sequence gap and dynamic priority-band clusters; and convert Project direction headings to imperative form. Signed-off-by: Cong Liu <conliu@google.com>
Signed-off-by: Cong Liu <conliu@google.com>
Rules that took a side on an unresolved maintainer debate state only the agreed invariant and carry the contested part as an Open question line with one link per position. Rules that contradicted the code (Screener scope, sidecar watches, E2E ports, make presubmit coverage, image tag policy, header prefixes, gosec suppressions, models-responder) are narrowed to what the code and reviewers enforce. Two inverted citations are replaced or dropped. AGENTS.md states which make targets use host Go. Signed-off-by: Cong Liu <conliu@google.com>
Add the Open Knowledge Format (OKF) v0.2 review bundle under docs/review/ (12 section Review Rule Set files, 28 settled Decision files, 12 Open Question files, 3 Reference files, and 3 Playbook files) and hack/render_playbook.py so docs/review_playbook.md renders deterministically from the structured bundle. Signed-off-by: Cong Liu <conliu@google.com>
…bundle Add a verify-review-playbook target to Makefile (running inside the builder container via python3 hack/render_playbook.py --check), append it to presubmit, and point the AGENTS.md Code review section at docs/review/ as the canonical source and docs/review_playbook.md as the rendered page. Signed-off-by: Cong Liu <conliu@google.com>
Signed-off-by: Cong Liu <conliu@google.com>
Signed-off-by: Cong Liu <conliu@google.com>
…idance Cap Representative review threads at three maintainer citations per rule, prune unreferenced frontmatter sources and footnote definitions, format sources as single-line YAML flow maps, enforce citation and unused-source checks in hack/render_playbook.py, and document context-bounded loading rules. Signed-off-by: Cong Liu <conliu@google.com>
Ensure trailing [^id]: footnote definitions in concept bodies cannot drift from inline [^id] references. Signed-off-by: Cong Liu <conliu@google.com>
|
@liu-cong This PR has merge conflicts with gh pr checkout 3854
git fetch origin main
git rebase origin/main
# resolve conflicts
git push --force-with-lease |
Signed-off-by: Cong Liu <conliu@google.com> # Conflicts: # Makefile
Align the review playbook's presubmit check list and observability path routing with docs/telemetry.md and the verify-telemetry and verify-review-playbook targets in Makefile. Signed-off-by: Cong Liu <conliu@google.com>
|
looks interesting, we can certainly test it, how do we keep it up-to-date? |
…-playbook Reviewers asked how docs/review/ stays current as the codebase moves. validate_bundle now fails when a backticked repository path, an Applies to glob, or a diff-path routing table glob matches nothing in the repo, and when a rules/*.md stale_after timestamp is missing, malformed, or in the past. The maintenance playbook documents the same-PR, rule-authoring, and six-month audit loops, and AGENTS.md points contract changes at it. Signed-off-by: Cong Liu <conliu@google.com>
Signed-off-by: Cong Liu <conliu@google.com>
|
Measured the context cost for review agents at
Concerns:
Suggestions:
|
Separate token-dense agent review rules from human provenance and rationale so coding and review agents load only compact matched sections under docs/review/rules/. Move citations, recurrence counts, per-rule consequences, and stale_after timestamps to docs/review/provenance.json, compile docs/review_playbook.md for human readers, drop five rules covered by AGENTS.md and CI linters, restrict path checks to routing-table globs, and gate stale_after expiry behind --check-staleness. Signed-off-by: Cong Liu <conliu@google.com>
…data Signed-off-by: Cong Liu <conliu@google.com>
Ensure diff-path routing covers every production Go package under cmd/, pkg/, and internal/ so review agents load subsystem rules on core runtime and common utility diffs, and enforce routing coverage, rules/index.md consistency, code-span-safe link rewriting, and provenance.json schema invariants in hack/render_playbook.py. Align AGENTS.md logging levels with settled V(logging.DEFAULT) guidance and drop duplicate v.Enabled() prose from observability.md. Signed-off-by: Cong Liu <conliu@google.com>
Eliminate exponential regex backtracking in Markdown code-span, link, and YAML flow-mapping parsing in hack/render_playbook.py by scanning delimiters in a single linear O(n) pass. Signed-off-by: Cong Liu <conliu@google.com>
|
Updated in
|
I plan to ship another PR with a skill |
|
@ahg-g I marked this Draft to do more thorough testing of this approach. |
… review Signed-off-by: Cong Liu <conliu@google.com>
|
Updated 1. What changed in Playbook v3
2. Three-Round Benchmark Summary (
|
| Metric | 30-PR Benchmark: Unpruned 53-Rule v2 (Round 2) | 30-PR Benchmark: AGENTS.md Only (Round 3) |
30-PR Benchmark: Pruned 17-Rule v3 (Round 3) | All 48 PRs: AGENTS.md Only |
All 48 PRs: Pruned 17-Rule v3 |
|---|---|---|---|---|---|
| Maintainer bugs caught (exact) | 34/77 (44.2%, vs 38/77 baseline) |
25/77 (32.5%) |
26/77 (33.8%, +1 vs baseline) |
41/117 (35.0%) |
39/117 (33.3%) |
| Maintainer bugs caught (incl. partial) | 36/77 (46.8%, vs 40/77 baseline) |
26/77 (33.8%) |
29/77 (37.7%, +3 vs baseline) |
44/117 (37.6%) |
42/117 (35.9%) |
| Total review comments posted | 85 (2.83/PR) |
49 (1.63/PR) |
38 (1.27/PR, -22.4%) |
89 (1.85/PR) |
63 (1.31/PR, -29.2%) |
| Share of comments that are real bugs | 69.4% (59/85) |
81.6% (40/49) |
92.1% (35/38) |
79.8% (71/89) |
93.7% (59/63) |
| False positives (wrong claims) | 2 (2.4%) |
2 (4.1%) |
0 (0.0%) |
8 (9.0%) |
0 (0.0%) |
| Minor style / nit noise | 24 (28.2%) |
7 (14.3%) |
3 (7.9%, -87.5% vs v2) |
10 (11.2%) |
4 (6.3%, -60.0%) |
Blind preference (Playbook / Tie / Baseline) |
10 / 7 / 13 (43.5% win rate) |
Baseline | 12 / 11 / 7 (63.2% win rate) |
Baseline | 15 / 18 / 15 (50.0% win rate) |
| Stage-1 rule tokens loaded per PR | 3,399 tok (6.90/12 files) |
0 tok |
830 tok (1.87/4 files, -75.6%) |
0 tok |
819 tok (1.83/4 files) |
3. Concrete Side-by-Side Review Comment Examples (AGENTS.md Only vs With Playbook v3 vs Maintainer)
- Catching external wire-contract & shared-memory bugs that
AGENTS.mdOnly missed (#3751 & #3884):- On #3751 (
check prompt-token parity between prefill and decode):- Maintainer (
@ahg-g,@roytman): Flagged (1) Anthropic/v1/messagesinput_tokensexcludescache_read_input_tokens + cache_creation_input_tokens, causing false parity mismatches whenever KV cache transfer works (comment); (2) injectinginclude_usage: truewhen the client setstream_options.continuous_usage_statsmutates every streaming chunk (comment); and (3)fieldChoicesduplicates response constants across packages (comment). AGENTS.mdOnly: Posted4comments (1hit on non-objectstream_options,1partial hit onfieldChoices,1SSE newline finding,1test nit), missing both Anthropic cached-token summation and vLLMcontinuous_usage_stats.With Playbook v3(guided byexternal_wire_and_engine_contracts.md&settled_architectural_boundaries.md): Posted3comments -- all3/3(100%) matching the maintainer's exact bugs with0nits and0false positives ([high] pkg/common/usage/prompt_tokens.go:55: "Suminput_tokens + cache_read_input_tokens + cache_creation_input_tokens...";[high] pkg/coordinator/steps/decode.go:220: "Check forcontinuous_usage_statsinstream_optionsand avoid injectinginclude_usage...";[low] pkg/common/usage/prompt_tokens.go:27: "promoteFieldChoicestopkg/common/request/constants.go...").
- Maintainer (
- On #3884 (
release the request body after it is forwarded):- Maintainer (
@ahg-g, comment): "ReplaceSchedulingRequest.Bodywith a new struct that holds only the kept fields, instead of clearing fields on the shared one... A tokenizer still running when the body is forwarded shares thisBody. IfReleaseContentruns in between, that second read is a nil dereference in a goroutine, which crashes the EPP process." AGENTS.mdOnly: Approved with0comments, missing the crash.With Playbook v3(guided byunencoded_runtime_hazards.mdRule 1): Caught the exact unjoinedDataProducergoroutine race ([high] pkg/epp/framework/common/request/types.go:175: "Replacer.SchedulingRequest.BodyinreleaseRequestBody()with a newInferenceRequestBodystruct containing only the retained metadata fields... instead of mutating the shared struct in place").
- Maintainer (
- On #3751 (
- Catching a wire-protocol fallback bug while eliminating a Round-2 false positive (#3706):
- Maintainer (
@ahg-g, comment): Flagged thatforward-prompt-token-idschecksbackend == "vllm"but still forwards approximate token IDs whentoken-producerfalls back to Go-side legacy/v1/messagesor/v1/responsestranslation, corrupting the prompt on vLLM workers. - Round-2 Unpruned 53-Rule Playbook v2: Loaded
11/12rule files (6,004.50rule tokens) and emitted2false-positive[high]security blockers claiming that internal EPP-to-sidecarkv_transfer_params.prompt_token_idsforwarding allowed external callers to spoof token IDs. - Round-3
AGENTS.mdOnly: Posted3comments (1constant hit,1json.RawMessage("null")check,1nit), missing the legacy translation fallback bug. - Round-3
With Playbook v3(guided bysettled_architectural_boundaries.mdRule 5 &unencoded_runtime_hazards.md): Emitted0false positives (recognizing internal EPP-to-sidecar hops as trusted) and caught the exact legacy-translation prompt-corruption bug ([medium] pkg/epp/framework/plugins/requestcontrol/forwardtokens/plugin.go:161: "forwardChatforwardsprompt_token_idseven whentoken-producer(backend: "vllm") fell back to legacy rendering for/v1/messagesor/v1/responses").
- Maintainer (
- Eliminating false positives on a clean PR (#3821) & catching Helm chart drift (#3804):
- On #3821 (
Send the prefill data-parallel rank through the P/D sidecar): Maintainer@sagearcapproved the Go code with0code bugs.AGENTS.mdOnly blocked the PR (request_changes) with4false positives (4/4=100%invalid), including claimingconnector_p2p.go:71bypassed a non-existent helperprefillDPRank(r)(whendispatch.go:133already validatedn >= 0) and claimingconnector_sglang.go:68allowed external body spoofing.With Playbook v3verifieddispatch.gocaller validation and internal sidecar trust and approved cleanly with0false positives and0nits. - On #3804 (
add startup probes to coordinator and EPP Deployments): Guided bygovernance_and_compatibility_policy.mdRule 4 (config/charts/Helm anddeploy/Kustomize parity),With Playbook v3caught the exact maintainer bug (comment) thatconfig/charts/routerlib/templates/_deployment.yamlwas missingstartupProbe(3/3=100%real bugs).
- On #3821 (
- Where
With Playbook v3was too conservative before the Pass-1 retention fix (Holdout #3828, #3883, & #3672):- On holdout PRs where
0Pass-2 Stage-1When:triggers matched the diff -- such as #3828 (firstMMContinuationskipping non-string identifier check inpkg/kvevents/pool.go:496, comment), #3883 (buf.Bytes()pinning ~2xbytes.Buffergrowth slack inRawBody, comment), and #3672 (dropped"non-JSON body"unit test case, comment) --AGENTS.mdOnly caught the localized code/test bug whileWith Playbook v3discarded its Pass-1 inspection when0Pass-2 triggers fired and approved with0comments. - Fix applied in
docs/review/playbooks/review_a_pull_request.mdandAGENTS.md: Pass-1 findings are now locked before Pass 2 opens any Stage-1 rule file ("Record all verified Pass-1 code findings before opening any Stage-1 rule file... matching0Stage-1When:triggers means only that no non-code rule fired, and must never drop, suppress, or downgrade verified Pass-1 code, concurrency, caller/callee, or test defects").
- On holdout PRs where
What type of PR is this?
/kind documentation
What this PR does / why we need it:
What this PR adds
Adds a two-stage review bundle under
docs/review/and a compiled human-readable maintainer playbook indocs/review_playbook.md:docs/review/rules/*.md):4compact, metadata-free files containing17When:-triggered rules (7,213B /1,803tokens total, with- Accept:exceptions and- Open:bounds).docs/review/playbooks/review_a_pull_request.mdroutes100%(540/540) of non-test.gofiles undercmd/,pkg/, andinternal/to0to2rule files per PR (~819rule tokens loaded on average;0rule files loaded for test-only, doc-only, build, CI, and self-contained utility diffs).docs/review/provenance.json,docs/review/decisions/(28settled maintainer tradeoffs),docs/review/open_questions/(12open design questions),docs/review/playbooks/, anddocs/review/references/store PR thread citations, recurrence counts, consequences, andstale_afterdates.hack/render_playbook.pycompiles Stage-1 rules and provenance intodocs/review_playbook.mdfor human readers while keepingprovenance.jsonanddocs/review_playbook.mdout of agent context (0B loaded).hack/render_playbook.py,make verify-review-playbook): Standard-library Python script wired intomake presubmitthat verifies byte-for-byte sync betweendocs/review/anddocs/review_playbook.md,provenance.jsonschema and 1-to-1 rule coverage (MAX_REPRESENTATIVE_THREADS = 3),rules/index.mdsection consistency,When:rule prefix enforcement, ASCII-only output, code-span-safe relative links and heading anchors, first-column routing-table glob existence, and100%production Go file routing coverage. Expiredstale_aftertimestamps emit a non-blockingWARNING:under--check(make verify-review-playbook) and fail under opt-in--check-staleness.AGENTS.md,CONTRIBUTING.md,DEVELOPMENT.md): EstablishAGENTS.mdas the single home for repository-wide coding, prose, logging (logger.V(logging.DEFAULT).Info(...)for once-per-request operational signals), constant-reuse, and PR rules; document the two-pass additive review flow; and specify same-PR updates when contracts or routed paths change.Design principle: non-code contracts and two-pass additive review
Everything discoverable from the repository via
rg/code search orAGENTS.mdbelongs in Pass 1 (code and full-repo search first): reviewers inspect the diff, read modified files in full, trace callers/callees/sibling implementations/tests across the checkout, and record all verified Pass-1 code findings before opening any Stage-1 rule file.Pass 2 (targeted non-code decisions, strictly additive) loads
0to2Stage-1 rule files covering only facts that cannot be derived from local source code alone:external_wire_and_engine_contracts.md(4rules,457tokens): externalvLLM/SGLangwire fields, OpenAI/Anthropic streaming chunk parity, Envoyext_procframe ordering, and ingress header stripping.unencoded_runtime_hazards.md(4rules,386tokens): async channel abandonment, shared map/slice reference mutation across plugins, background goroutine shutdown leaks, and nil-typed interface traps.governance_and_compatibility_policy.md(4rules,430tokens): config/CLI deprecation vs startup failure, CRD/API compatibility, and raw Deployment/Helm chart parity.settled_architectural_boundaries.md(5rules,530tokens): EPP vs sidecar responsibilities, plugin state isolation viaCycleState, and metric cardinality bounds.A Stage-1 rule applies only when its
When:condition appears in the diff. Matching0Stage-1When:triggers means only that no non-code rule fired, and never drops, suppresses, or downgrades verified Pass-1 code, concurrency, caller/callee, or test defects.Evaluation: three-round blinded post-cutoff benchmark (
48PRs,117maintainer bugs)Playbooks v2 (
12files,53rules,6,505tokens) and v3 (4files,17non-codeWhen:rules,1,803tokens) were mined strictly from pre-cutoff history (<= 2026-10-26,PR #1..#3659,Issue #1..#2284) with a verified blank-room firewall (0reads of evaluation data or post-cutoff PRs) and tested on48post-cutoff PRs (#3664..#3884,117maintainer-verified review findings) across three rounds:12PRs,27maintainer bugs, isolated diff sandbox,0repo searches): ComparedAGENTS.mdOnly against the unpruned53-Rule Playbook v2.30PRs,77maintainer bugs, full-repo search atbase_sha): Showed that loading6.90files (3,399rule tokens/PR) from the unpruned 53-rule v2 bundle diluted attention on complex diffs (34/77vs38/77exact maintainer bugs caught,24style/test nits, and a10wins vs13losses blind preference deficit).48PRs,117maintainer bugs, full-repo search +17-rule pruned non-code Playbook v3): EvaluatedWith Playbook v3(<= 2files /~819rule tokens loaded per PR) againstAGENTS.mdOnly on the same30benchmark PRs (77maintainer bugs) plus18unseen holdout PRs (40maintainer bugs).Did the pruned playbook work, and how well?
-75.6%(3,399->830tok/PR), caught more maintainer bugs than bothAGENTS.mdOnly and Playbook v2 (26/77vs25/77exact;29/77vs26/77including partial catches), eliminated100%of false positives (0/38), cut minor nit noise by-87.5%vs v2 (3vs24) and-57.1%vsAGENTS.mdOnly (3vs7), lifted the share of comments that are real bugs to92.1%(35/38vs81.6%40/49without playbook and69.4%59/85in v2), and flipped blind maintainer preference from10wins vs13losses (43.5%win rate) to12wins vs7losses (11ties,63.2%win rate).100%of false positives and lifted real-bug share to93.7%across all 48 PRs: Across all48post-cutoff PRs (117maintainer bugs),With Playbook v3produced0false positives out of63comments (0.0%vs8/89=9.0%without playbook), cut minor nit noise by-60.0%(4vs10), raised the share of comments that are real bugs from79.8%(71/89) to93.7%(59/63), and tied overall blind preference (15wins,18ties,15losses;50.0%win rate).18unseen holdout PRs (40maintainer bugs),With Playbook v3reached96.0%real-bug share (24/25,0FPs,1nit vs77.5%31/40,6FPs,3nits without playbook), but approved10/18PRs with0comments when0Stage-1When:triggers fired (13/40vs16/40exact bugs caught).review_a_pull_request.mdandAGENTS.mdnow lock verified Pass-1 code findings before Pass 2 opens any Stage-1 rule file.AGENTS.mdOnly (Round 3)AGENTS.mdOnly34/77(44.2%, vs38/77baseline)25/77(32.5%)26/77(33.8%,+1vs baseline)41/117(35.0%)39/117(33.3%)36/77(46.8%, vs40/77baseline)26/77(33.8%)29/77(37.7%,+3vs baseline)44/117(37.6%)42/117(35.9%)85(2.83/PR)49(1.63/PR)38(1.27/PR,-22.4%)89(1.85/PR)63(1.31/PR,-29.2%)69.4%(59/85)81.6%(40/49)92.1%(35/38)79.8%(71/89)93.7%(59/63)2(2.4%)2(4.1%)0(0.0%)8(9.0%)0(0.0%)24(28.2%)7(14.3%)3(7.9%,-87.5%vs v2)10(11.2%)4(6.3%,-60.0%)Playbook / Tie / Baseline)10 / 7 / 13(43.5%win rate)12 / 11 / 7(63.2%win rate)15 / 18 / 15(50.0%win rate)3,399tok (6.90/12files)0tok830tok (1.87/4files,-75.6%)0tok819tok (1.83/4files)Concrete Side-by-Side Review Comment Examples (
AGENTS.mdOnly vsWith Playbook v3vs Maintainer)AGENTS.mdOnly missed (#3751 & #3884):check prompt-token parity between prefill and decode):@ahg-g,@roytman): Flagged (1) Anthropic/v1/messagesinput_tokensexcludescache_read_input_tokens + cache_creation_input_tokens, causing false parity mismatches whenever KV cache transfer works (comment); (2) injectinginclude_usage: truewhen the client setstream_options.continuous_usage_statsmutates every streaming chunk (comment); and (3)fieldChoicesduplicates response constants across packages (comment).AGENTS.mdOnly: Posted4comments (1hit on non-objectstream_options,1partial hit onfieldChoices,1SSE newline finding,1test nit), missing both Anthropic cached-token summation and vLLMcontinuous_usage_stats.With Playbook v3(guided byexternal_wire_and_engine_contracts.md&settled_architectural_boundaries.md): Posted3comments -- all3/3(100%) matching the maintainer's exact bugs with0nits and0false positives ([high] pkg/common/usage/prompt_tokens.go:55: "Suminput_tokens + cache_read_input_tokens + cache_creation_input_tokens...";[high] pkg/coordinator/steps/decode.go:220: "Check forcontinuous_usage_statsinstream_optionsand avoid injectinginclude_usage...";[low] pkg/common/usage/prompt_tokens.go:27: "promoteFieldChoicestopkg/common/request/constants.go...").release the request body after it is forwarded):@ahg-g, comment): "ReplaceSchedulingRequest.Bodywith a new struct that holds only the kept fields, instead of clearing fields on the shared one... A tokenizer still running when the body is forwarded shares thisBody. IfReleaseContentruns in between, that second read is a nil dereference in a goroutine, which crashes the EPP process."AGENTS.mdOnly: Approved with0comments, missing the crash.With Playbook v3(guided byunencoded_runtime_hazards.mdRule 1): Caught the exact unjoinedDataProducergoroutine race ([high] pkg/epp/framework/common/request/types.go:175: "Replacer.SchedulingRequest.BodyinreleaseRequestBody()with a newInferenceRequestBodystruct containing only the retained metadata fields... instead of mutating the shared struct in place").@ahg-g, comment): Flagged thatforward-prompt-token-idschecksbackend == "vllm"but still forwards approximate token IDs whentoken-producerfalls back to Go-side legacy/v1/messagesor/v1/responsestranslation, corrupting the prompt on vLLM workers.11/12rule files (6,004.50rule tokens) and emitted2false-positive[high]security blockers claiming that internal EPP-to-sidecarkv_transfer_params.prompt_token_idsforwarding allowed external callers to spoof token IDs.AGENTS.mdOnly: Posted3comments (1constant hit,1json.RawMessage("null")check,1nit), missing the legacy translation fallback bug.With Playbook v3(guided bysettled_architectural_boundaries.mdRule 5 &unencoded_runtime_hazards.md): Emitted0false positives (recognizing internal EPP-to-sidecar hops as trusted) and caught the exact legacy-translation prompt-corruption bug ([medium] pkg/epp/framework/plugins/requestcontrol/forwardtokens/plugin.go:161: "forwardChatforwardsprompt_token_idseven whentoken-producer(backend: "vllm") fell back to legacy rendering for/v1/messagesor/v1/responses").Send the prefill data-parallel rank through the P/D sidecar): Maintainer@sagearcapproved the Go code with0code bugs.AGENTS.mdOnly blocked the PR (request_changes) with4false positives (4/4=100%invalid), including claimingconnector_p2p.go:71bypassed a non-existent helperprefillDPRank(r)(whendispatch.go:133already validatedn >= 0) and claimingconnector_sglang.go:68allowed external body spoofing.With Playbook v3verifieddispatch.gocaller validation and internal sidecar trust and approved cleanly with0false positives and0nits.add startup probes to coordinator and EPP Deployments): Guided bygovernance_and_compatibility_policy.mdRule 4 (config/charts/Helm anddeploy/Kustomize parity),With Playbook v3caught the exact maintainer bug (comment) thatconfig/charts/routerlib/templates/_deployment.yamlwas missingstartupProbe(3/3=100%real bugs).With Playbook v3was too conservative before the Pass-1 retention fix (Holdout #3828, #3883, & #3672):0Pass-2 Stage-1When:triggers matched the diff -- such as #3828 (firstMMContinuationskipping non-string identifier check inpkg/kvevents/pool.go:496, comment), #3883 (buf.Bytes()pinning ~2xbytes.Buffergrowth slack inRawBody, comment), and #3672 (dropped"non-JSON body"unit test case, comment) --AGENTS.mdOnly caught the localized code/test bug whileWith Playbook v3discarded its Pass-1 inspection when0Pass-2 triggers fired and approved with0comments.docs/review/playbooks/review_a_pull_request.mdandAGENTS.md: Pass-1 findings are now locked before Pass 2 opens any Stage-1 rule file ("Record all verified Pass-1 code findings before opening any Stage-1 rule file... matching0Stage-1When:triggers means only that no non-code rule fired, and must never drop, suppress, or downgrade verified Pass-1 code, concurrency, caller/callee, or test defects").Testing
make verify-review-playbook(python3 hack/render_playbook.py --check) and opt-in freshness checks viapython3 hack/render_playbook.py --check --check-staleness.docs/review_playbook.md, unrouted production.gofiles undercmd/,pkg/, orinternal/, non-matching first-column routing globs, orphan or missingprovenance.jsonrule entries, missingWhen:rule prefixes, broken relative links or heading anchors, and expiredstale_afterdates (WARNING:with exit0under--check; exit1under--check-staleness).make LINT_NEW_ONLY=true lint(golangci-lintandtypos) passes with zero issues.Which issue(s) this PR fixes:
Fixes #
Release note (write
NONEif no user-facing change):