Skip to content

Decompose standards runner into scoped owners instead of one catch-all check #62

Description

@serge-ivo

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:

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    analyzer-platformAnalyzer engine, registry, contracts, and normalized resultsenhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions