Skip to content

feat(outcomes): learn accepted and rejected PR patterns by repo #35

Description

@JSONbored

Parent: #32

Goal

Make recommendations reflect what maintainers actually merge or close.

Requirements

  • Analyze merged, closed-unmerged, stale, and open PRs by repo.
  • Extract outcome patterns by path, language, labels, size, linked issue presence, test evidence, review churn, and author role.
  • Separate maintainer-lane activity from outside-contributor evidence.
  • Feed success/failure patterns into decision packs and agent next actions.

Acceptance Criteria

  • Agent can say “you tend to merge well in this repo/path/type” or “this pattern has high closure risk.”
  • Maintainer-owned repo activity does not inflate miner-lane evidence.
  • Closed PRs and stale open PRs affect risk reasoning.
  • Recommendations remain deterministic.

Testing Requirements

This issue must preserve the repo's CI gate:

  • npm run test:ci must pass.
  • Global coverage must remain at or above 95% for lines, statements, functions, and branches.
  • Add or update tests for every new branch, fallback path, sanitizer rule, and regression.
  • Add invariant/property-style tests when behavior depends on sorting, gating, public/private boundaries, scoring, queue pressure, or source-upload safety.
  • Public GitHub output must be tested against forbidden language: wallet, hotkey, raw trust score, payout, reward estimate, farming, private reviewability, and public score estimate.

Required Test Scenarios

  • Merged PR pattern fixture.
  • Closed PR pattern fixture.
  • Maintainer-lane fixture.
  • Stale open PR fixture.
  • Deterministic sorting 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