OptionalactionGranular reason for needs_addressing status. Undefined when waiting_on_maintainer.
OptionalactionAll applicable action reasons, ordered by priority. Primary reason is first.
OptionalbaseTarget branch name (e.g., "main", "master").
OptionalchecklistFailing checks with category classification (#81). Separates actionable failures from fork limitations and auth gates.
OptionalcommitsHow many commits the PR branch is behind the base branch.
Calendar days since the most recent activity (comment, commit, review).
Brief description of what's happening (#79). E.g., "3 checks failed", "@maintainer commented".
Human-readable status label for consistent display (#79). E.g., "[CI Failing]", "[Needs Response]".
Names of failing CI checks. Useful for distinguishing real CI failures from validation bots.
True when the PR body contains unchecked required checkboxes.
True when a maintainer commented after the contributor's last comment or commit.
OptionalheadOptionallastOptionallatestISO timestamp of the latest commit. Used to determine if changes were pushed after review feedback.
OptionallocalAbsolute path to local clone, if the repo is cloned on this machine.
Hints extracted from maintainer comments about what actions they are requesting.
OptionalmissingRequired files the PR is missing (e.g., ["changeset", "CLA"]).
How stale the PR is based on activity age. Independent of status — a PR can be both needs_addressing and dormant.
Computed by determineStatus() based on the fields below.
OptionalwaitGranular reason for waiting_on_maintainer status. Undefined when needs_addressing.
Ephemeral PR data fetched fresh from GitHub on each run (v2 architecture). This is never persisted in local state — it represents a point-in-time snapshot of a PR's current condition.