Skip to content

feat(scoring): model branch eligibility for issue-solving PRs #90

Description

@JSONbored

Parent roadmap: #82

Background

Upstream now gates issue-solving PRs on branch eligibility. A miner can otherwise believe a linked issue helps scoreability when the branch context makes it ineligible.

Goal

Reflect branch eligibility rules in private preflight and scoreability projections.

Current Behavior

Gittensory can reason about linked issues and local branch metadata, but branch eligibility is not modeled as a first-class scoring gate.

Desired Behavior

Local branch analysis separates branch-quality blockers from account/queue blockers and marks ineligible issue-solving assumptions clearly.

Implementation Requirements

  • Add branch eligibility inputs to local branch analysis and score preview.
  • Use GitHub/local metadata only; do not upload source.
  • Distinguish missing eligibility evidence from confirmed ineligibility.
  • Add rerun guidance when branch/base metadata is stale.

Public/Private Output Boundaries

Eligibility details can appear in private MCP/API output. Public PR packets may mention linked issue hygiene, but not private scoreability or reward impact.

Acceptance Criteria

  • Eligible branch scenario is accepted.
  • Ineligible branch scenario blocks issue multiplier assumptions.
  • Missing metadata produces caution, not a crash.
  • Stale base guidance remains actionable.

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

  • Branch eligibility fixtures.
  • Stale base fixture.
  • Missing metadata fallback.
  • Source upload guard.
  • Public packet sanitizer regression.

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