ConstOptionalanalyzedIssueConversations?: { analyzedAt: string; repo: string; url: string }[]OptionalclosedPRs?: {Extract per-repo learnings from freshly merged PRs automatically at
/oss startup and in /oss-overnight (#1696). When false, daily
offers the extraction as an extract_learnings action-menu item instead.
No effect since the hook was removed in #1642; kept for state-file compatibility.
Repos (owner/repo) to softly downrank in discovery results (#1464).
Milder than excludeRepos' hard filter: scout pushes matches below
equally-recommended candidates but does not remove them, and a strong
affinity boost can still outweigh the penalty (scout #168).
Threaded to scout via scout-bridge.ts.
Issue label types (e.g. "bug", "good first issue") to softly boost in
discovery ranking, matched case-insensitively against issue labels
(scout #168 / #1464). Does not filter results or change viability
scores. Threaded to scout via scout-bridge.ts.
OptionaldiffToolCustomCommand?: stringOptionalexcludeOrgs?: string[]No effect since the hook was removed in #1642; kept for state-file compatibility.
OptionalissueListPath?: stringOptionallocalRepoScanPaths?: string[]OptionalreviewMaxPasses?: numberConvergence cap for the multi-agent review loop in
workflows/dispatch-review.md (#1275). When unset, the workflow
falls back to per-mode defaults (5 for diff, 3 for plan). Lower
values shorten the loop at the cost of skipping later iterations
if findings persist; higher values give the loop more chances to
converge before bailing. Optional — leave unset to use the
defaults.
Optionalscope?: ("advanced" | "beginner" | "intermediate")[]OptionalsetupCompletedAt?: stringOptionalskippedIssuesPath?: stringOptional Ollama HTTP host override. Defaults to http://127.0.0.1:11434
when empty. Useful when Ollama runs on a different machine on the
local network.
Optional Ollama model for SLM pre-triage during issue vetting (#1122).
Empty disables the feature. Recommended: gemma4:e4b (default for
capable hardware), gemma4:e2b or qwen3:1.7b for low-RAM machines.
Threaded through to scout via the bridge in scout-bridge.ts.
OptionalstarredReposLastFetched?: stringOptionalstatusOverrides?: Record<No effect since the hook was removed in #1642; kept for state-file compatibility.
OptionalgistId?: stringOptionallastDigest?: {OptionallastDigestAt?: stringOptionallastOvernight?: {Latest overnight run (#1574). Absent until the first overnight.
OptionalimplementAttempts?: {OptionalimplementUrl?: stringThe one curated-list issue picked for implementation this run, if any (#1715).
OptionallastStrategyAt?: stringISO timestamp of the most recent computeStrategy invocation
embedded in a daily run output (#1270). The cadence gate in
daily.ts consults this — strategy snapshots fire every 30 days OR
when 5+ PRs have merged since the last snapshot, whichever comes
first. Below STRATEGY_MIN_PRS merged PRs the gate stays
silent regardless of cadence.
OptionallocalRepoCache?: {OptionalmergedPRs?: {OptionalmonthlyClosedCounts?: Record<string, number>OptionalmonthlyMergedCounts?: Record<string, number>OptionalmonthlyOpenedCounts?: Record<string, number>OptionalprFollowUpHistory?: Record<Per-PR follow-up history (#1277). Keyed by PR URL. Each entry
records a tier-bucketed follow-up that the user drafted (and
presumably posted via draft-review-post). The dormant-pr
workflow reads this before drafting to enforce the
one-follow-up-per-timeframe rule documented in
skills/pr-etiquette/SKILL.md.
OptionalsearchRotation?: {Broad-phase language rotation cursor (#1630), oss-scout's searchRotation.
Scout advances it after every search whose broad phase ran; autopilot runs
scout in persistence:'provided', so the advanced cursor is written back
here and fed into the next scout state. Absent until the first search.
Durable search seen-set for result rotation (#1528). Issue URLs surfaced
by recent searches, with the timestamp they were last surfaced. Fed into
oss-scout as savedResults so its rotation excludes recently-surfaced
issues, and updated after each search. Culled past the rotation window so
it cannot grow without bound.
OptionalworkflowState?: {Pause-point snapshot for resumable workflows (#1280). Set when
the user picks "Done for now" mid-workflow; cleared when the
workflow completes or the user explicitly discards. The router
reads this on every /oss invocation and offers Resume /
Restart / Discard when present.
Initial state written to
~/.oss-autopilot/state.jsonon first run. Uses v4 architecture.