From 4e5b3b2ecf06d11dd209a741eb2e2774f598c422 Mon Sep 17 00:00:00 2001 From: fey Date: Sat, 21 Feb 2026 16:40:30 +0000 Subject: [PATCH 1/3] Add .worktrees/ to .gitignore --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index ee8ab5a..55db3f4 100644 --- a/.gitignore +++ b/.gitignore @@ -46,6 +46,9 @@ tmp/ temp/ *.tmp +# Git worktrees +.worktrees/ + # Package manager lock files (keep package-lock.json for npm ci in CI/CD) # package-lock.json - DO NOT IGNORE (needed for npm ci) yarn.lock From f06fd02bbb85710c32f84ff4d76371eb56fb8ab5 Mon Sep 17 00:00:00 2001 From: fey Date: Sat, 21 Feb 2026 17:25:05 +0000 Subject: [PATCH 2/3] fix: respect chibi's configured default model Previously buildInput never passed a model to chibi-json, so any model set via AgentConfig (including the hardcoded adapter default) was silently ignored. Now model flows through via config.model per chibi's protocol, and when no model is specified chibi falls back to the user's config.toml default rather than receiving an override. --- packages/autonav/src/adapter/navigator-adapter.ts | 3 ++- packages/autonav/src/harness/chibi-harness.ts | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/autonav/src/adapter/navigator-adapter.ts b/packages/autonav/src/adapter/navigator-adapter.ts index eb16366..10621f0 100644 --- a/packages/autonav/src/adapter/navigator-adapter.ts +++ b/packages/autonav/src/adapter/navigator-adapter.ts @@ -69,7 +69,8 @@ async function initializeLangSmith(): Promise { */ export interface NavigatorAdapterOptions { /** - * Claude model to use (defaults to claude-sonnet-4-5) + * Model to use. When omitted, each harness uses its own default + * (claude-sonnet-4-5 for ClaudeCodeHarness; user's configured default for ChibiHarness). */ model?: string; diff --git a/packages/autonav/src/harness/chibi-harness.ts b/packages/autonav/src/harness/chibi-harness.ts index 8bb09d5..d8ad16d 100644 --- a/packages/autonav/src/harness/chibi-harness.ts +++ b/packages/autonav/src/harness/chibi-harness.ts @@ -51,6 +51,10 @@ interface ChibiToolServer { * * When destroyAfterSecondsInactive is set, it is passed in `flags` so chibi * registers the TTL on the context entry at touch time. + * + * When `model` is provided it is passed via `config.model` so chibi uses + * that model for the invocation. When omitted chibi falls back to whatever + * model is configured in the user's config.toml (i.e. the user's default). */ function buildInput( command: Record | string, @@ -58,6 +62,7 @@ function buildInput( projectRoot?: string, home?: string, destroyAfterSecondsInactive?: number, + model?: string, ): string { const input: Record = { command, context }; if (projectRoot) { @@ -69,6 +74,9 @@ function buildInput( if (destroyAfterSecondsInactive !== undefined) { input.flags = { destroy_after_seconds_inactive: destroyAfterSecondsInactive }; } + if (model) { + input.config = { model }; + } return JSON.stringify(input); } @@ -265,6 +273,7 @@ class ChibiSession implements HarnessSession { config.cwd, this.ephemeralHome.homePath, CONTEXT_TTL_SECONDS, + config.model, ); try { runSync(input, { env: this.extraEnv, sandboxConfig: this.sandboxConfig }); @@ -291,6 +300,7 @@ class ChibiSession implements HarnessSession { this.contextName, this.config.cwd, this.ephemeralHome?.homePath, + this.config.model, ); const { command, args } = wrapCommand("chibi-json", [], this.sandboxConfig); From 5859220d02eccaab0ce0f892b8bf3e36d5a506e8 Mon Sep 17 00:00:00 2001 From: fey Date: Sat, 21 Feb 2026 20:22:52 +0000 Subject: [PATCH 3/3] fix: pass model as 6th arg to buildInput in spawnPrompt --- packages/autonav/src/harness/chibi-harness.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/autonav/src/harness/chibi-harness.ts b/packages/autonav/src/harness/chibi-harness.ts index d8ad16d..e3b2433 100644 --- a/packages/autonav/src/harness/chibi-harness.ts +++ b/packages/autonav/src/harness/chibi-harness.ts @@ -300,6 +300,7 @@ class ChibiSession implements HarnessSession { this.contextName, this.config.cwd, this.ephemeralHome?.homePath, + undefined, this.config.model, );