Skip to content

GitState

Defined in: src/forge/types.ts:143

A session’s forge kind plus its current PR status — the GET /api/sessions/:id/git payload and the value cached/pushed for the list overview.

checks: ChecksState

Defined in: src/forge/types.ts:123

PrStatus.checks


optional createdAt?: number

Defined in: src/forge/types.ts:120

ms epoch the PR was opened; undefined when there is no PR (or a cached payload predates the field). Drives the UI’s “PR open for X” wait line.

PrStatus.createdAt


deployConfigured: boolean

Defined in: src/forge/types.ts:138

A deploy workflow is configured for this host.

PrStatus.deployConfigured


optional handoff?: "reviewer" | "merger"

Defined in: src/forge/types.ts:149

Who is up once the PR is open + green, when it isn’t the operator — computed server-side from .shepherd/roles.json + the operator’s login. Absent = the operator’s turn (today’s “awaiting merge”). Drives the herd’s waiting-on-reviewer / waiting-on-merger groups.


optional handoffInferred?: boolean

Defined in: src/forge/types.ts:155

true when handoff was auto-inferred from PR reviewers (no .shepherd/roles.json); suppresses the outward issue-log comment, which stays opt-in to explicitly-configured roles.


optional handoffWho?: string

Defined in: src/forge/types.ts:151

The login to display for handoff (e.g. “scoop”); absent for self.


optional headSha?: string

Defined in: src/forge/types.ts:126

Head commit SHA of the PR branch; undefined when there is no PR. Drives “review this head once” dedup and per-push re-review.

PrStatus.headSha


optional isDraft?: boolean

Defined in: src/forge/types.ts:134

true = PR is a draft / not ready-for-review. Optional; absent ⇒ treat as false downstream.

PrStatus.isDraft


optional issueUrl?: string

Defined in: src/forge/types.ts:159

Web URL of the backlog issue this session was spawned for (session.issueNumber), or absent when the session has no linked issue or the repo has no web forge (LocalForge). Lets GitRail surface an “open issue” link.


kind: ForgeKind

Defined in: src/forge/types.ts:144


optional latestReview?: PrReview

Defined in: src/forge/types.ts:128

Newest human PR review (critic-marked reviews excluded), or undefined.

PrStatus.latestReview


optional mergeable?: boolean | null

Defined in: src/forge/types.ts:122

null = host still computing mergeability.

PrStatus.mergeable


optional mergeStateStatus?: MergeStateStatus

Defined in: src/forge/types.ts:136

GitHub’s merge-eligibility signal; undefined on forges that don’t supply it (Gitea).

PrStatus.mergeStateStatus


optional number?: number

Defined in: src/forge/types.ts:115

PrStatus.number


optional requestedReviewers?: string[]

Defined in: src/forge/types.ts:132

GitHub logins with a pending review request on the PR (teams/bots without a login are dropped). Drives merger auto-inference when the repo has no .shepherd/roles.json. Optional: a cached payload predating the field ⇒ treat as [].

PrStatus.requestedReviewers


state: "none" | "open" | "merged" | "closed"

Defined in: src/forge/types.ts:114

PrStatus.state


optional title?: string

Defined in: src/forge/types.ts:117

PrStatus.title


optional url?: string

Defined in: src/forge/types.ts:116

PrStatus.url