Skip to content

feat(agent): build contributor evidence graph snapshots #93

Description

@JSONbored

Parent roadmap: #82

Background

Gittensory has multiple useful signals, but high-quality planning needs a reusable evidence graph rather than recomputing disconnected facts per request.

Goal

Create contributor evidence graph snapshots that join official Gittensor stats, GitHub outcomes, repo roles, labels, paths, languages, review churn, and open-work pressure.

Current Behavior

Decision packs can use official stats and cached GitHub context, but evidence is not modeled as a graph with provenance and freshness per relationship.

Desired Behavior

Agent planning can query a compact, freshness-aware evidence graph for contributor/repo/path/label/outcome relationships.

Implementation Requirements

  • Define evidence graph snapshot shape.
  • Build snapshots from official Gittensor first, mirror second, GitHub cache third.
  • Separate maintainer-lane evidence from outside-contributor evidence.
  • Include freshness/provenance per major relationship.
  • Keep snapshots bounded and Worker-safe.

Public/Private Output Boundaries

Private MCP/API may include scoreability, risk, and confidence. Public GitHub output must use sanitized summaries only and must not expose private scoring, reward/risk, raw trust, wallet/hotkey, or reviewability internals.

Acceptance Criteria

  • Snapshot includes repo/path/label/outcome evidence.
  • Maintainer-owned repo activity does not inflate miner evidence.
  • Stale source is marked.
  • Request-time planning reads snapshots, not broad issue/PR scans.

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

  • Maintainer-lane fixture.
  • Official API preferred fixture.
  • GitHub fallback fixture.
  • Deterministic graph ordering.
  • Large contributor fixture.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions