Changelog
Changelog
Section titled “Changelog”Config (breaking) — pr-pipeline worktree setup
Section titled “Config (breaking) — pr-pipeline worktree setup”worktreeInstallDeps(boolean, previously defaulted totrue) has been removed. Replace it withworktreeSetupCommands(array of shell strings, defaults to[]). Each command runs viash -cwithcwdset to the worktree root; the token{{mainPath}}expands to the source repo path. Failures are non-fatal (logged as warnings). Migration example:The old automatic lock-file detection ("worktreeSetupCommands": ["pnpm install --frozen-lockfile","cp {{mainPath}}/docker/.env docker/.env"]pnpm-lock.yaml,package-lock.json,yarn.lock,composer.lock,go.mod) is no longer performed; add the relevant install command explicitly if your repo needs it.
Config (breaking)
Section titled “Config (breaking)”The following top-level and plugin fields were removed (they were ignored by older builds or unsafe to keep in JSON):
- Top level:
model(useagents.<id>.defaultModelorAGENTS_*_MODELenv),adapters(useplugins/ the serverGET /andGET /apipluginslist). - local-repos-plugin:
validation.validateOnStartup(onlyfailOnMissingis used),discovery, nestedrepoContext.summaryGeneration(use top-levelsummaryGeneration). - jira-adapter:
webhookPath(path is fixed under/plugins/.../webhook/jira).
Jira credentials: do not keep apiToken / email / baseUrl in committed example files; set JIRA_API_TOKEN, JIRA_EMAIL, JIRA_BASE_URL in production. Rotate any token that was ever in a local file.
pr-pipeline: configurable agent
Section titled “pr-pipeline: configurable agent”The PR pipeline no longer hardcodes opencode as the coding agent. Agent selection now follows a three-level precedence:
prAgentoption on@agent-detective/pr-pipeline(per-plugin override).- App-level
agentconfig field orAGENTenv var (global default). opencode(built-in fallback, unchanged behaviour when nothing is set).
New keys (defaults match previous hardcoded behavior)
Section titled “New keys (defaults match previous hardcoded behavior)”agents.runner:timeoutMs,maxBufferBytes,postFinalGraceMs,forceKillDelayMs— seeconfig/local.example.json.- Env:
AGENTS_RUNNER_TIMEOUT_MS,AGENTS_RUNNER_MAX_BUFFER_BYTES,AGENTS_RUNNER_POST_FINAL_GRACE_MS,AGENTS_RUNNER_FORCE_KILL_DELAY_MS,OBSERVABILITY_REQUEST_LOGGER_EXCLUDE_PATHS(comma-separated paths). - Jira (options or env
JIRA_AUTO_ANALYSIS_COOLDOWN_MS,JIRA_MISSING_LABELS_REMINDER_COOLDOWN_MS):autoAnalysisCooldownMs,missingLabelsReminderCooldownMs. - local-repos
repoContext(or envREPO_CONTEXT_GIT_COMMAND_TIMEOUT_MS,REPO_CONTEXT_GIT_MAX_BUFFER_BYTES,REPO_CONTEXT_DIFF_FROM_REF):gitCommandTimeoutMs,gitMaxBufferBytes,diffFromRef. - local-repos
summaryGeneration(orSUMMARY_MAX_OUTPUT_CHARSenv):maxOutputChars. - Observability:
observability.requestLogger.excludePaths.
Plugin option objects for bundled plugins are now validated with .strict(); unknown keys fail at plugin load with a Zod error.
GET /andGET /apiroot payload:adapterswas replaced withplugins(package names from config).
See also migration.md and configuration.md.