Problem
The standards runner currently acts as a catch-all for unrelated concerns, which makes scores noisy and duplicates findings that have better owners.
Evidence from cli/src/runners/standards.ts:
- Naming and file-size conventions.
console.log, var, loose equality, strict-mode/config hygiene.
- Dangerous APIs such as
eval, new Function, innerHTML, dangerouslySetInnerHTML, document.write.
- HTTP URLs.
- TODO/FIXME comments.
- Magic-number heuristics.
Several of these are already covered more specifically by other runners:
- Dangerous APIs overlap
security and react.
- Large files overlap
complexity, context, and future file-cohesion work.
- TODO/FIXME comments overlap stale-comment and maintainability checks.
- Console/logging may belong to repo policy, lint, or production-readiness depending on context.
In the PAGS scan this category produced a low score with a large issue count, but it is hard to tell what engineering owner should act on it.
Why this belongs in VCQA
This is analyzer taxonomy and scoring ownership inside VCQA. Individual applications cannot fix ambiguous category semantics.
Proposed direction
Either decompose standards into smaller checks or make it an orchestration bucket that delegates to canonical owners.
Suggested ownership:
- Naming and project conventions:
standards or repo-conventions.
- Dangerous browser/runtime APIs:
security or react depending on context.
- File size and maintainability:
complexity or file-cohesion.
- TODO/FIXME and stale comments:
comment-staleness / maintainability.
- HTTP URLs:
security only when actually insecure or externally reachable.
- Console usage: lint/release-readiness rule with severity configurable by project type.
Acceptance criteria
- Each rule in
standards.ts has a documented canonical owner.
- Duplicate findings are removed or emitted once with cross-check references.
standards no longer reports security/XSS findings that are better owned by security or react.
- Score impact is calibrated so broad style-policy findings do not drown out actionable correctness/security issues.
- Docs explain what
standards means after the split.
Related issues
Related but not a duplicate:
Problem
The
standardsrunner currently acts as a catch-all for unrelated concerns, which makes scores noisy and duplicates findings that have better owners.Evidence from
cli/src/runners/standards.ts:console.log,var, loose equality, strict-mode/config hygiene.eval,new Function,innerHTML,dangerouslySetInnerHTML,document.write.Several of these are already covered more specifically by other runners:
securityandreact.complexity,context, and future file-cohesion work.In the PAGS scan this category produced a low score with a large issue count, but it is hard to tell what engineering owner should act on it.
Why this belongs in VCQA
This is analyzer taxonomy and scoring ownership inside VCQA. Individual applications cannot fix ambiguous category semantics.
Proposed direction
Either decompose
standardsinto smaller checks or make it an orchestration bucket that delegates to canonical owners.Suggested ownership:
standardsorrepo-conventions.securityorreactdepending on context.complexityorfile-cohesion.comment-staleness/ maintainability.securityonly when actually insecure or externally reachable.Acceptance criteria
standards.tshas a documented canonical owner.standardsno longer reports security/XSS findings that are better owned bysecurityorreact.standardsmeans after the split.Related issues
Related but not a duplicate:
error(only 1 of 79 'errors' was build-breaking) #12 covers severity inflation.