Skip to content

feat(rees): generate analyzer config and self-host profiles #1813

Description

@JSONbored

Context

Self-host operators need to understand and tune REES analyzer cost without editing scattered docs or guessing which analyzers call GitHub, package registries, OSV, or other services.

This issue turns analyzer metadata into operator-facing config, docs, and UI data so analyzers can be enabled, disabled, and profiled cleanly.

Parent: #1499

Deliverables

  • Generate analyzer config metadata from analyzer manifests.
  • Add documented profiles: fast, balanced, and deep.
  • Add analyzer groups such as security, supply-chain, github, history, performance, docs, and correctness.
  • Document per-analyzer knobs: enabled/default, timeout, cost class, external requirements, max files/deps/network calls where available.
  • Keep REES_ANALYZERS as an explicit override.
  • Update self-host docs and UI metadata from the same source where practical.
  • Add clear guidance for temporarily disabling expensive analyzers during incidents.

Requirements

  • Generated/operator docs must not expose secrets or private config values.
  • Config docs should state whether an analyzer uses forwarded GitHub credentials, public registry calls, or local-only PR data.
  • Unknown analyzer names should fail closed or warn clearly without silently enabling unexpected work.
  • Defaults should prioritize useful bounded review context over exhaustive scans.

Acceptance criteria

  • Self-host operators can enable/disable individual analyzers without reading source files.
  • The UI/docs analyzer list does not drift from the REES runtime registry.
  • Profile defaults are test-covered.
  • Incident mitigation guidance exists for expensive analyzers such as history/GitHub-heavy checks.

Validation

  • Tests for profile resolution and explicit REES_ANALYZERS overrides.
  • Snapshot or schema test for generated analyzer metadata.
  • Docs/config validation if the repo has an existing docs validation command.

Ownership

Maintainer-only. No gittensor:* labels.

Metadata

Metadata

Assignees

No one assigned

    Labels

    gittensor:featureGittensor-scored feature linked to a feature issue — scores a 0.25x multiplier.

    Projects

    Status
    Done

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions