You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
gstack-diff-scope misses backend code in .mjs/.cjs/.mts/.cts files (review army skips backend reviewer) #1810
bin/gstack-diff-scope categorizes changed files into scope signals (SCOPE_FRONTEND, SCOPE_BACKEND, etc.) that the Review Army uses to decide which specialist reviewers to spin up (scripts/resolvers/review-army.ts, review.ts). Backend detection only matches *.ts and *.js:
*.ts|*.js) BACKEND=true ;;# Non-component TS/JS is backend
Modern Node projects ship backend code as ESM .mjs / CommonJS .cjs, and explicit-module TypeScript as .mts / .cts. None of these match *.ts or *.js (the glob requires the string to end in .ts/.js, and server.mjs does not). They also match no other category, so a PR touching only those files produces all-false scope flags.
$ printf 'y' > server.mjs # in a feature branch
$ gstack-diff-scope main
SCOPE_FRONTEND=false
SCOPE_BACKEND=false # <-- backend code, but no scope detected
...
Same for server.cjs, mod.mts, legacy.cts. With no scope flag set, the review army skips the backend (and security) reviewers for these changes.
Expected behavior
.mjs, .cjs, .mts, .cts are non-component code and should set SCOPE_BACKEND=true, exactly like .ts/.js.
Activity
garrytan commentedon Jun 8, 2026
Fixed in #1911 (v1.57.6.0).
gstack-diff-scopenow routes.mjs/.cjs/.mts/.ctsto the backend reviewer. Thanks @jbetala7. Auto-closes on merge.v1.57.6.0 fix wave: 8 community bugs (4 security guards failing open) (…