@oss-autopilot/core - v1.6.3
    Preparing search index...

    Interface FetchedPR

    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.

    interface FetchedPR {
        actionReason?: ActionReason;
        actionReasons?: ActionReason[];
        baseRefName?: string;
        checklistStats?: { checked: number; total: number };
        ciStatus: CIStatus;
        classifiedChecks: ClassifiedCheck[];
        commitsBehindUpstream?: number;
        createdAt: string;
        daysSinceActivity: number;
        displayDescription: string;
        displayLabel: string;
        failingCheckNames: string[];
        hasIncompleteChecklist: boolean;
        hasMergeConflict: boolean;
        hasUnrespondedComment: boolean;
        headRefName?: string;
        id: number;
        lastMaintainerComment?: { author: string; body: string; createdAt: string };
        latestCommitDate?: string;
        localRepoPath?: string;
        maintainerActionHints: MaintainerActionHint[];
        missingRequiredFiles?: string[];
        number: number;
        repo: string;
        reviewDecision: ReviewDecision;
        stalenessTier: StalenessTier;
        status: "needs_addressing" | "waiting_on_maintainer";
        title: string;
        updatedAt: string;
        url: string;
        waitReason?: WaitReason;
    }
    Index

    Properties

    actionReason?: ActionReason

    Granular reason for needs_addressing status. Undefined when waiting_on_maintainer.

    actionReasons?: ActionReason[]

    All applicable action reasons, ordered by priority. Primary reason is first.

    baseRefName?: string

    Target branch name (e.g., "main", "master").

    checklistStats?: { checked: number; total: number }
    ciStatus: CIStatus
    classifiedChecks: ClassifiedCheck[]

    Failing checks with category classification (#81). Separates actionable failures from fork limitations and auth gates.

    commitsBehindUpstream?: number

    How many commits the PR branch is behind the base branch.

    createdAt: string
    daysSinceActivity: number

    Calendar days since the most recent activity (comment, commit, review).

    displayDescription: string

    Brief description of what's happening (#79). E.g., "3 checks failed", "@maintainer commented".

    displayLabel: string

    Human-readable status label for consistent display (#79). E.g., "[CI Failing]", "[Needs Response]".

    failingCheckNames: string[]

    Names of failing CI checks. Useful for distinguishing real CI failures from validation bots.

    hasIncompleteChecklist: boolean

    True when the PR body contains unchecked required checkboxes.

    hasMergeConflict: boolean
    hasUnrespondedComment: boolean

    True when a maintainer commented after the contributor's last comment or commit.

    headRefName?: string
    id: number
    lastMaintainerComment?: { author: string; body: string; createdAt: string }
    latestCommitDate?: string

    ISO timestamp of the latest commit. Used to determine if changes were pushed after review feedback.

    localRepoPath?: string

    Absolute path to local clone, if the repo is cloned on this machine.

    maintainerActionHints: MaintainerActionHint[]

    Hints extracted from maintainer comments about what actions they are requesting.

    missingRequiredFiles?: string[]

    Required files the PR is missing (e.g., ["changeset", "CLA"]).

    number: number
    repo: string
    reviewDecision: ReviewDecision
    stalenessTier: StalenessTier

    How stale the PR is based on activity age. Independent of status — a PR can be both needs_addressing and dormant.

    status: "needs_addressing" | "waiting_on_maintainer"

    Computed by determineStatus() based on the fields below.

    title: string
    updatedAt: string
    url: string
    waitReason?: WaitReason

    Granular reason for waiting_on_maintainer status. Undefined when needs_addressing.