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.
Extends
Section titled “Extends”Properties
Section titled “Properties”checks
Section titled “checks”checks:
ChecksState
Defined in: src/forge/types.ts:123
Inherited from
Section titled “Inherited from”createdAt?
Section titled “createdAt?”
optionalcreatedAt?: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.
Inherited from
Section titled “Inherited from”deployConfigured
Section titled “deployConfigured”deployConfigured:
boolean
Defined in: src/forge/types.ts:138
A deploy workflow is configured for this host.
Inherited from
Section titled “Inherited from”handoff?
Section titled “handoff?”
optionalhandoff?:"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.
handoffInferred?
Section titled “handoffInferred?”
optionalhandoffInferred?: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.
handoffWho?
Section titled “handoffWho?”
optionalhandoffWho?:string
Defined in: src/forge/types.ts:151
The login to display for handoff (e.g. “scoop”); absent for self.
headSha?
Section titled “headSha?”
optionalheadSha?: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.
Inherited from
Section titled “Inherited from”isDraft?
Section titled “isDraft?”
optionalisDraft?:boolean
Defined in: src/forge/types.ts:134
true = PR is a draft / not ready-for-review. Optional; absent ⇒ treat as false downstream.
Inherited from
Section titled “Inherited from”issueUrl?
Section titled “issueUrl?”
optionalissueUrl?: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
latestReview?
Section titled “latestReview?”
optionallatestReview?:PrReview
Defined in: src/forge/types.ts:128
Newest human PR review (critic-marked reviews excluded), or undefined.
Inherited from
Section titled “Inherited from”mergeable?
Section titled “mergeable?”
optionalmergeable?:boolean|null
Defined in: src/forge/types.ts:122
null = host still computing mergeability.
Inherited from
Section titled “Inherited from”mergeStateStatus?
Section titled “mergeStateStatus?”
optionalmergeStateStatus?:MergeStateStatus
Defined in: src/forge/types.ts:136
GitHub’s merge-eligibility signal; undefined on forges that don’t supply it (Gitea).
Inherited from
Section titled “Inherited from”number?
Section titled “number?”
optionalnumber?:number
Defined in: src/forge/types.ts:115
Inherited from
Section titled “Inherited from”requestedReviewers?
Section titled “requestedReviewers?”
optionalrequestedReviewers?: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 [].
Inherited from
Section titled “Inherited from”state:
"none"|"open"|"merged"|"closed"
Defined in: src/forge/types.ts:114
Inherited from
Section titled “Inherited from”title?
Section titled “title?”
optionaltitle?:string
Defined in: src/forge/types.ts:117
Inherited from
Section titled “Inherited from”
optionalurl?:string
Defined in: src/forge/types.ts:116