Non-Blocking Review Concern: has_customization regex creates a fragile coupling to canonical-stub contents
Source: pre-push whole-codebase review
Location: bulk-install-claude-review.sh:153-156
Date: 2026-04-30
What was flagged
has_customization flags any file with a top-level paths-ignore, paths, extra_instructions, model, timeout_minutes, or env key (or a literal [skip-claude-review: token). If the canonical caller stub at smartwatermelon/.github/workflow-templates/claude-blocking-review.yml ever introduces any of these (e.g., a workflow- or job-level env: block, or a paths-ignore to skip docs-only PRs), every freshly installed copy will be permanently classified CUSTOMIZED on subsequent runs and never bumped — silently breaking the rollout/refresh loop. Mitigation: add an early self-check that runs has_customization against the just-fetched CANONICAL_CONTENT and aborts with a loud diagnostic if it returns true, so this can never get out of sync without the operator noticing.
Context
This issue was automatically created from a non-blocking concern identified
during pre-push whole-codebase review. It was flagged for tracking.
Created by lib-review-issues.sh
Non-Blocking Review Concern:
has_customizationregex creates a fragile coupling to canonical-stub contentsSource: pre-push whole-codebase review
Location:
bulk-install-claude-review.sh:153-156Date: 2026-04-30
What was flagged
has_customizationflags any file with a top-levelpaths-ignore,paths,extra_instructions,model,timeout_minutes, orenvkey (or a literal[skip-claude-review:token). If the canonical caller stub atsmartwatermelon/.github/workflow-templates/claude-blocking-review.ymlever introduces any of these (e.g., a workflow- or job-levelenv:block, or apaths-ignoreto skip docs-only PRs), every freshly installed copy will be permanently classifiedCUSTOMIZEDon subsequent runs and never bumped — silently breaking the rollout/refresh loop. Mitigation: add an early self-check that runshas_customizationagainst the just-fetchedCANONICAL_CONTENTand aborts with a loud diagnostic if it returns true, so this can never get out of sync without the operator noticing.Context
This issue was automatically created from a non-blocking concern identified
during pre-push whole-codebase review. It was flagged for tracking.
Created by lib-review-issues.sh