Skip to content

feat(miner-manage): CI check-run poller (read-only) #2323

Description

@JSONbored

Once a PR is open, Phase 4 needs to know its CI status without any write access — pure polling of the GitHub Checks API (or equivalent) on an interval, read-only, client-side. This is the data-gathering half of "CI + maintainer-gate status monitoring"; it does not decide anything, just observes and normalizes.

Deliverables

  • packages/gittensory-miner/src/manage/ci-poller.tspollCheckRuns(repoFullName, prNumber) returning a normalized { conclusion: "pending" | "success" | "failure" | "neutral", checks: [...] } shape
  • Exponential backoff between polls (configurable interval, sane default, e.g. 60s floor)
  • Read-only: no PR comments, no re-run triggers, no label writes — verified by a test asserting only GET-shaped calls are made
  • Unit tests covering pending/success/failure/mixed check-run states and backoff timing

References

  • src/mcp/server.ts:1176 (gittensory_monitor_open_prs) — existing read-only PR-queue-state classifier to mirror the read-only discipline of
  • packages/gittensory-miner/src/state/event-ledger.ts (new) — poll results get appended here as ci_status_changed events
  • New: packages/gittensory-miner/src/manage/ci-poller.ts

Metadata

Metadata

Assignees

No one assigned

    Labels

    gittensor:featureGittensor-scored feature linked to a feature issue — scores a 0.25x multiplier.help wantedExtra attention is needed

    Projects

    Status
    Done

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions