Skip to content

feat(raycast): add metadata-only local repo analyzer #116

Description

@JSONbored

Parent roadmap: #82

Background

Raycast can be useful inside a repo, but it must follow the same source-upload boundary as MCP.

Goal

Add local git metadata collection for Raycast branch analysis without source upload.

Current Behavior

Raycast extension does not exist, and no Raycast local repo analysis is implemented.

Desired Behavior

Raycast can collect remote, branch, base/head SHA, merge base, changed file metadata, test file count, validation hints, and linked issue refs without reading source contents.

Implementation Requirements

  • Implement metadata-only git inspection.
  • Reject source upload mode.
  • Detect binary/renamed/deleted files safely.
  • Add stale-base warning.
  • Send payload to branch-analysis API.

Public/Private Output Boundaries

Raycast is a client surface over the existing Gittensory API/MCP concepts. It must not store GitHub PATs, upload source contents, or expose private scoreability in public GitHub output.

Acceptance Criteria

  • Metadata payload excludes file contents.
  • Renamed/binary/deleted files are handled.
  • Stale base warning appears.
  • API errors degrade cleanly.

Testing Requirements

  • npm run test:ci must pass.
  • Global coverage must remain at or above 97% for lines, statements, functions, and branches.
  • Aim for 98%+ branch coverage locally to avoid CI variance.
  • Add tests for every new branch, fallback path, sanitizer rule, and regression.
  • Add invariant/property-style tests when behavior depends on sorting, gating, scoring, queue pressure, source-upload safety, public/private boundaries, or upstream drift.
  • Public GitHub output must be tested against forbidden language: wallet, hotkey, raw trust score, payout, reward estimate, farming, private reviewability, and public score estimate.
  • MCP/local tooling must prove source contents are not uploaded.

Additional Test Scenarios

  • Renamed file fixture.
  • Binary file fixture.
  • Deleted file fixture.
  • Stale base fixture.
  • Source-content rejection test.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions