[INFO] cloning repository https://github.com/iamwjun/localcoder
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/iamwjun/localcoder" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fiamwjun%2Flocalcoder", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fiamwjun%2Flocalcoder'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] facf05f38aa530b9b4aafd48e8cfd929021f12ed
[INFO] testing iamwjun/localcoder against 1.95.0 for beta-1.96-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fiamwjun%2Flocalcoder" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/iamwjun/localcoder
[INFO] finished tweaking git repo https://github.com/iamwjun/localcoder
[INFO] tweaked toml for git repo https://github.com/iamwjun/localcoder written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/iamwjun/localcoder on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/iamwjun/localcoder already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wit-bindgen-rust v0.51.0
[INFO] [stderr]   Downloaded wit-bindgen-rust-macro v0.51.0
[INFO] [stderr]   Downloaded id-arena v2.3.0
[INFO] [stderr]   Downloaded leb128fmt v0.1.0
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.117
[INFO] [stderr]   Downloaded error-code v3.3.2
[INFO] [stderr]   Downloaded futures-macro v0.3.32
[INFO] [stderr]   Downloaded winapi-util v0.1.11
[INFO] [stderr]   Downloaded windows-registry v0.6.1
[INFO] [stderr]   Downloaded crossbeam-deque v0.8.6
[INFO] [stderr]   Downloaded clipboard-win v5.4.1
[INFO] [stderr]   Downloaded colored v2.2.0
[INFO] [stderr]   Downloaded glob v0.3.3
[INFO] [stderr]   Downloaded openssl-sys v0.9.112
[INFO] [stderr]   Downloaded rustls-webpki v0.103.10
[INFO] [stderr]   Downloaded cc v1.2.59
[INFO] [stderr]   Downloaded unicode-segmentation v1.13.2
[INFO] [stderr]   Downloaded regex v1.12.3
[INFO] [stderr]   Downloaded reqwest v0.12.28
[INFO] [stderr]   Downloaded hashbrown v0.15.5
[INFO] [stderr]   Downloaded wit-parser v0.244.0
[INFO] [stderr]   Downloaded wasip3 v0.4.0+wasi-0.3.0-rc-2026-01-06
[INFO] [stderr]   Downloaded rustyline v14.0.0
[INFO] [stderr]   Downloaded radix_trie v0.2.1
[INFO] [stderr]   Downloaded wasmparser v0.244.0
[INFO] [stderr]   Downloaded openssl v0.10.76
[INFO] [stderr]   Downloaded nix v0.28.0
[INFO] [stderr]   Downloaded bstr v1.12.1
[INFO] [stderr]   Downloaded regex-syntax v0.8.10
[INFO] [stderr]   Downloaded rustls v0.23.37
[INFO] [stderr]   Downloaded unicode-width v0.1.14
[INFO] [stderr]   Downloaded wit-component v0.244.0
[INFO] [stderr]   Downloaded security-framework v3.7.0
[INFO] [stderr]   Downloaded js-sys v0.3.94
[INFO] [stderr]   Downloaded wasm-encoder v0.244.0
[INFO] [stderr]   Downloaded indexmap v2.13.1
[INFO] [stderr]   Downloaded bumpalo v3.20.2
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.117
[INFO] [stderr]   Downloaded r-efi v6.0.0
[INFO] [stderr]   Downloaded prettyplease v0.2.37
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.117
[INFO] [stderr]   Downloaded ryu v1.0.23
[INFO] [stderr]   Downloaded web-sys v0.3.94
[INFO] [stderr]   Downloaded unsafe-libyaml v0.2.11
[INFO] [stderr]   Downloaded libc v0.2.184
[INFO] [stderr]   Downloaded crossbeam-epoch v0.9.18
[INFO] [stderr]   Downloaded tokio v1.51.0
[INFO] [stderr]   Downloaded globset v0.4.18
[INFO] [stderr]   Downloaded serde_yaml v0.9.34+deprecated
[INFO] [stderr]   Downloaded ignore v0.4.25
[INFO] [stderr]   Downloaded rustls-pki-types v1.14.0
[INFO] [stderr]   Downloaded schannel v0.1.29
[INFO] [stderr]   Downloaded native-tls v0.2.18
[INFO] [stderr]   Downloaded wasm-streams v0.4.2
[INFO] [stderr]   Downloaded wit-bindgen-core v0.51.0
[INFO] [stderr]   Downloaded wasm-metadata v0.244.0
[INFO] [stderr]   Downloaded semver v1.0.28
[INFO] [stderr]   Downloaded bitflags v2.11.0
[INFO] [stderr]   Downloaded hyper-rustls v0.27.7
[INFO] [stderr]   Downloaded system-configuration v0.7.0
[INFO] [stderr]   Downloaded zmij v1.0.21
[INFO] [stderr]   Downloaded core-foundation v0.10.1
[INFO] [stderr]   Downloaded security-framework-sys v2.17.0
[INFO] [stderr]   Downloaded tokio-macros v2.7.0
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.117
[INFO] [stderr]   Downloaded fd-lock v4.0.4
[INFO] [stderr]   Downloaded cfg_aliases v0.1.1
[INFO] [stderr]   Downloaded endian-type v0.1.2
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.67
[INFO] [stderr]   Downloaded nibble_vec v0.1.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 60983a0a9613ffe14a48de18b412b41583ac57f86b9c38f8b45facd0fb8035c0
[INFO] running `Command { std: "docker" "start" "-a" "60983a0a9613ffe14a48de18b412b41583ac57f86b9c38f8b45facd0fb8035c0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "60983a0a9613ffe14a48de18b412b41583ac57f86b9c38f8b45facd0fb8035c0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "60983a0a9613ffe14a48de18b412b41583ac57f86b9c38f8b45facd0fb8035c0", kill_on_drop: false }`
[INFO] [stdout] 60983a0a9613ffe14a48de18b412b41583ac57f86b9c38f8b45facd0fb8035c0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bc9bbf06df7cb5233843c2a305912328a856ee8a9b5c555c4809b985a99eb465
[INFO] running `Command { std: "docker" "start" "-a" "bc9bbf06df7cb5233843c2a305912328a856ee8a9b5c555c4809b985a99eb465", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling cc v1.2.59
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling openssl v0.10.76
[INFO] [stderr]    Compiling foreign-types-shared v0.1.1
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling foreign-types v0.3.2
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling openssl-probe v0.2.1
[INFO] [stderr]    Compiling cfg_aliases v0.1.1
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling nix v0.28.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling indexmap v2.13.1
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling nibble_vec v0.1.0
[INFO] [stderr]    Compiling iri-string v0.7.12
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling endian-type v0.1.2
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling radix_trie v0.2.1
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling home v0.5.12
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling openssl-sys v0.9.112
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling fd-lock v4.0.4
[INFO] [stderr]    Compiling rustyline v14.0.0
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling tokio v1.51.0
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling localcoder v0.1.9 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `tool_calls` is never read
[INFO] [stdout]   --> src/api.rs:89:5
[INFO] [stdout]    |
[INFO] [stdout] 87 | struct OpenAIMessage {
[INFO] [stdout]    |        ------------- field in this struct
[INFO] [stdout] 88 |     content: Option<String>,
[INFO] [stdout] 89 |     tool_calls: Option<Vec<OpenAIToolCall>>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OpenAIMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `function` are never read
[INFO] [stdout]    --> src/api.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 122 | struct OpenAIToolCall {
[INFO] [stdout]     |        -------------- fields in this struct
[INFO] [stdout] 123 |     id: String,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 124 |     function: OpenAIFunctionCall,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OpenAIToolCall` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `arguments` are never read
[INFO] [stdout]    --> src/api.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 128 | struct OpenAIFunctionCall {
[INFO] [stdout]     |        ------------------ fields in this struct
[INFO] [stdout] 129 |     name: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 130 |     arguments: String,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OpenAIFunctionCall` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_model` and `set_max_tokens` are never used
[INFO] [stdout]    --> src/api.rs:689:12
[INFO] [stdout]     |
[INFO] [stdout] 151 | impl LLMClient {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 689 |     pub fn set_model(&mut self, model: String) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 694 |     pub fn set_max_tokens(&mut self, max_tokens: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_agent_loop` is never used
[INFO] [stdout]   --> src/engine.rs:33:14
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub async fn run_agent_loop(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_staged_changes` is never used
[INFO] [stdout]   --> src/git.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn has_staged_changes(cwd: &Path) -> Result<bool> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `filename` is never read
[INFO] [stdout]   --> src/memory.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub struct SavedMemory {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 69 |     pub filename: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SavedMemory` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `child` is never read
[INFO] [stdout]   --> src/services/lsp/client.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct LspClient {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 11 |     server_name: String,
[INFO] [stdout] 12 |     child: Child,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `shutdown` is never used
[INFO] [stdout]   --> src/services/lsp/client.rs:96:18
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl LspClient {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub async fn shutdown(&mut self) -> Result<()> {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `shutdown` is never used
[INFO] [stdout]    --> src/services/lsp/manager.rs:144:18
[INFO] [stdout]     |
[INFO] [stdout]  42 | impl LspServerManager {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub async fn shutdown(&self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `localcoder_home` is never used
[INFO] [stdout]    --> src/session.rs:273:4
[INFO] [stdout]     |
[INFO] [stdout] 273 | fn localcoder_home() -> Result<PathBuf> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `len`, `is_empty`, and `names` are never used
[INFO] [stdout]    --> src/tools/mod.rs:191:12
[INFO] [stdout]     |
[INFO] [stdout] 116 | impl ToolRegistry {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn names(&self) -> Vec<&str> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `role` is never read
[INFO] [stdout]   --> src/types.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct OllamaMessage {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 66 |     pub role: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OllamaMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_messages` is never used
[INFO] [stdout]    --> src/types.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout]  87 | impl ConversationHistory {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn get_messages(&self) -> &[Message] {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 11s
[INFO] running `Command { std: "docker" "inspect" "bc9bbf06df7cb5233843c2a305912328a856ee8a9b5c555c4809b985a99eb465", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bc9bbf06df7cb5233843c2a305912328a856ee8a9b5c555c4809b985a99eb465", kill_on_drop: false }`
[INFO] [stdout] bc9bbf06df7cb5233843c2a305912328a856ee8a9b5c555c4809b985a99eb465
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ef64fab86c6c3a93b159ce892e6f7c72197fc304c20b1624f80c1480893d2027
[INFO] running `Command { std: "docker" "start" "-a" "ef64fab86c6c3a93b159ce892e6f7c72197fc304c20b1624f80c1480893d2027", kill_on_drop: false }`
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling localcoder v0.1.9 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `tool_calls` is never read
[INFO] [stdout]   --> src/api.rs:89:5
[INFO] [stdout]    |
[INFO] [stdout] 87 | struct OpenAIMessage {
[INFO] [stdout]    |        ------------- field in this struct
[INFO] [stdout] 88 |     content: Option<String>,
[INFO] [stdout] 89 |     tool_calls: Option<Vec<OpenAIToolCall>>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OpenAIMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `function` are never read
[INFO] [stdout]    --> src/api.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 122 | struct OpenAIToolCall {
[INFO] [stdout]     |        -------------- fields in this struct
[INFO] [stdout] 123 |     id: String,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 124 |     function: OpenAIFunctionCall,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OpenAIToolCall` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `arguments` are never read
[INFO] [stdout]    --> src/api.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 128 | struct OpenAIFunctionCall {
[INFO] [stdout]     |        ------------------ fields in this struct
[INFO] [stdout] 129 |     name: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 130 |     arguments: String,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OpenAIFunctionCall` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_agent_loop` is never used
[INFO] [stdout]   --> src/engine.rs:33:14
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub async fn run_agent_loop(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `filename` is never read
[INFO] [stdout]   --> src/memory.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub struct SavedMemory {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 69 |     pub filename: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SavedMemory` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `child` is never read
[INFO] [stdout]   --> src/services/lsp/client.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct LspClient {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 11 |     server_name: String,
[INFO] [stdout] 12 |     child: Child,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `shutdown` is never used
[INFO] [stdout]   --> src/services/lsp/client.rs:96:18
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl LspClient {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub async fn shutdown(&mut self) -> Result<()> {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `shutdown` is never used
[INFO] [stdout]    --> src/services/lsp/manager.rs:144:18
[INFO] [stdout]     |
[INFO] [stdout]  42 | impl LspServerManager {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub async fn shutdown(&self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `localcoder_home` is never used
[INFO] [stdout]    --> src/session.rs:273:4
[INFO] [stdout]     |
[INFO] [stdout] 273 | fn localcoder_home() -> Result<PathBuf> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `role` is never read
[INFO] [stdout]   --> src/types.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct OllamaMessage {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 66 |     pub role: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OllamaMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 14.65s
[INFO] running `Command { std: "docker" "inspect" "ef64fab86c6c3a93b159ce892e6f7c72197fc304c20b1624f80c1480893d2027", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ef64fab86c6c3a93b159ce892e6f7c72197fc304c20b1624f80c1480893d2027", kill_on_drop: false }`
[INFO] [stdout] ef64fab86c6c3a93b159ce892e6f7c72197fc304c20b1624f80c1480893d2027
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 254b032793e8408f1ef1c936f7e28fae1a6fa68bada15ea86b9d436783b363ff
[INFO] running `Command { std: "docker" "start" "-a" "254b032793e8408f1ef1c936f7e28fae1a6fa68bada15ea86b9d436783b363ff", kill_on_drop: false }`
[INFO] [stderr] warning: field `tool_calls` is never read
[INFO] [stderr]   --> src/api.rs:89:5
[INFO] [stderr]    |
[INFO] [stderr] 87 | struct OpenAIMessage {
[INFO] [stderr]    |        ------------- field in this struct
[INFO] [stderr] 88 |     content: Option<String>,
[INFO] [stderr] 89 |     tool_calls: Option<Vec<OpenAIToolCall>>,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `OpenAIMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `id` and `function` are never read
[INFO] [stderr]    --> src/api.rs:123:5
[INFO] [stderr]     |
[INFO] [stderr] 122 | struct OpenAIToolCall {
[INFO] [stderr]     |        -------------- fields in this struct
[INFO] [stderr] 123 |     id: String,
[INFO] [stderr]     |     ^^
[INFO] [stderr] 124 |     function: OpenAIFunctionCall,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `OpenAIToolCall` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `name` and `arguments` are never read
[INFO] [stderr]    --> src/api.rs:129:5
[INFO] [stderr]     |
[INFO] [stderr] 128 | struct OpenAIFunctionCall {
[INFO] [stderr]     |        ------------------ fields in this struct
[INFO] [stderr] 129 |     name: String,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] 130 |     arguments: String,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `OpenAIFunctionCall` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `run_agent_loop` is never used
[INFO] [stderr]   --> src/engine.rs:33:14
[INFO] [stderr]    |
[INFO] [stderr] 33 | pub async fn run_agent_loop(
[INFO] [stderr]    |              ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `filename` is never read
[INFO] [stderr]   --> src/memory.rs:69:9
[INFO] [stderr]    |
[INFO] [stderr] 68 | pub struct SavedMemory {
[INFO] [stderr]    |            ----------- field in this struct
[INFO] [stderr] 69 |     pub filename: String,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `SavedMemory` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `child` is never read
[INFO] [stderr]   --> src/services/lsp/client.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct LspClient {
[INFO] [stderr]    |            --------- field in this struct
[INFO] [stderr] 11 |     server_name: String,
[INFO] [stderr] 12 |     child: Child,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `shutdown` is never used
[INFO] [stderr]   --> src/services/lsp/client.rs:96:18
[INFO] [stderr]    |
[INFO] [stderr] 18 | impl LspClient {
[INFO] [stderr]    | -------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 96 |     pub async fn shutdown(&mut self) -> Result<()> {
[INFO] [stderr]    |                  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `shutdown` is never used
[INFO] [stderr]    --> src/services/lsp/manager.rs:144:18
[INFO] [stderr]     |
[INFO] [stderr]  42 | impl LspServerManager {
[INFO] [stderr]     | --------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 144 |     pub async fn shutdown(&self) -> Result<()> {
[INFO] [stderr]     |                  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `localcoder_home` is never used
[INFO] [stderr]    --> src/session.rs:273:4
[INFO] [stderr]     |
[INFO] [stderr] 273 | fn localcoder_home() -> Result<PathBuf> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `role` is never read
[INFO] [stderr]   --> src/types.rs:66:9
[INFO] [stderr]    |
[INFO] [stderr] 65 | pub struct OllamaMessage {
[INFO] [stderr]    |            ------------- field in this struct
[INFO] [stderr] 66 |     pub role: String,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `OllamaMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: `localcoder` (bin "localcoder" test) generated 10 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.30s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/localcoder-f1736a3c373f1b58)
[INFO] [stdout] 
[INFO] [stdout] running 175 tests
[INFO] [stdout] test api::tests::handle_openai_stream_event_recognizes_done ... ok
[INFO] [stdout] test api::tests::handle_ollama_stream_line_appends_content ... ok
[INFO] [stdout] test api::tests::handle_openai_stream_event_accumulates_tool_calls ... ok
[INFO] [stdout] test api::tests::handle_ollama_stream_line_recognizes_done ... ok
[INFO] [stdout] test api::tests::map_message_for_openai_preserves_tool_call_id ... ok
[INFO] [stdout] test api::tests::ensure_settings_file_with_prefers_existing_home_settings ... ok
[INFO] [stdout] test api::tests::ensure_settings_file_with_creates_default_settings_in_home ... ok
[INFO] [stdout] test api::tests::load_settings_from_path_reads_ollama_values ... ok
[INFO] [stdout] test api::tests::ensure_settings_file_with_migrates_legacy_ollama_settings ... ok
[INFO] [stdout] test api::tests::load_settings_from_path_reads_openai_values ... ok
[INFO] [stdout] test api::tests::ensure_settings_file_with_adds_type_to_llm_when_missing ... ok
[INFO] [stdout] test api::tests::load_settings_from_path_requires_llm_type ... ok
[INFO] [stdout] test api::tests::load_settings_from_path_requires_llm ... ok
[INFO] [stdout] test api::tests::ensure_settings_file_with_migrates_legacy_openai_settings ... ok
[INFO] [stdout] test api::tests::next_sse_event_extracts_event_blocks ... ok
[INFO] [stdout] test compact::tests::summarize_for_prompt_formats_roles ... ok
[INFO] [stdout] test api::tests::persist_model_to_path_creates_llm_settings ... ok
[INFO] [stdout] test api::tests::persist_model_to_path_updates_existing_llm_model ... ok
[INFO] [stdout] test config::tests::load_defaults_when_missing_ui ... ok
[INFO] [stdout] test engine::tests::build_assistant_message_text_and_tool ... ok
[INFO] [stdout] test engine::tests::build_assistant_message_text_only ... ok
[INFO] [stdout] test compact::tests::estimate_tokens_uses_content_length ... ok
[INFO] [stdout] test config::tests::save_and_reload_ui_config ... ok
[INFO] [stdout] test engine::tests::build_assistant_message_tool_only ... ok
[INFO] [stdout] test engine::tests::response_needs_trailing_newline_for_text_without_newline ... ok
[INFO] [stdout] test engine::tests::build_request_messages_prefixes_system_prompt ... ok
[INFO] [stdout] test engine::tests::response_needs_trailing_newline_rejects_text_with_newline ... ok
[INFO] [stdout] test engine::tests::response_section_break_for_empty_text_is_single_newline ... ok
[INFO] [stdout] test engine::tests::response_section_break_for_text_with_newline_is_single_newline ... ok
[INFO] [stdout] test engine::tests::response_section_break_for_text_without_newline_is_double_newline ... ok
[INFO] [stdout] test engine::tests::prioritize_tool_calls_moves_control_tools_first ... ok
[INFO] [stdout] test engine::tests::response_needs_trailing_newline_for_empty_text ... ok
[INFO] [stdout] test engine::tests::build_request_messages_appends_active_skill_prompt ... ok
[INFO] [stdout] test engine::tests::build_request_messages_appends_plan_prompt ... ok
[INFO] [stdout] test memory::tests::save_memory_rebuilds_index ... ok
[INFO] [stdout] test output_style::tests::parse_style_text_reads_frontmatter ... ok
[INFO] [stdout] test api::tests::handle_ollama_stream_line_collects_tool_calls ... ok
[INFO] [stdout] test api::tests::handle_openai_stream_event_appends_content ... ok
[INFO] [stdout] test output_style::tests::project_style_overrides_built_in ... ok
[INFO] [stdout] test output_style::tests::apply_selected_style_appends_when_keep_is_true ... ok
[INFO] [stdout] test plan::tests::enter_mode_limits_tools ... ok
[INFO] [stdout] test plan::tests::build_system_prompt_includes_todos ... ok
[INFO] [stdout] test repl::tests::clear_command_returns_false ... ok
[INFO] [stdout] test repl::tests::clear_command_empties_history ... ok
[INFO] [stdout] test memory::tests::build_system_prompt_includes_memory_content ... ok
[INFO] [stdout] test memory::tests::parse_extract_response_accepts_fenced_json ... ok
[INFO] [stdout] test plan::tests::replace_todos_assigns_ids_and_renders ... ok
[INFO] [stdout] test repl::tests::command_arg_rejects_prefix_without_separator ... ok
[INFO] [stdout] test repl::tests::exit_command_returns_true ... ok
[INFO] [stdout] test repl::tests::help_command_returns_false ... ok
[INFO] [stdout] test repl::tests::command_arg_extracts_argument ... ok
[INFO] [stdout] test repl::tests::command_arg_matches_exact_command ... ok
[INFO] [stdout] test repl::tests::parse_slash_skill_handles_name_only ... ok
[INFO] [stdout] test repl::tests::rebuild_display_history_only_user_assistant ... ok
[INFO] [stdout] test repl::tests::quit_command_returns_true ... ok
[INFO] [stdout] test repl::tests::unknown_command_does_not_modify_history ... ok
[INFO] [stdout] test repl::tests::version_command_returns_false ... ok
[INFO] [stdout] test repl::tests::history_command_preserves_history ... ok
[INFO] [stdout] test repl::tests::commands_are_case_insensitive ... ok
[INFO] [stdout] test repl::tests::parse_slash_skill_extracts_name_and_args ... ok
[INFO] [stdout] test repl::tests::count_command_preserves_history ... ok
[INFO] [stdout] test services::lsp::client::tests::read_message_rejects_missing_content_length ... ok
[INFO] [stdout] test services::lsp::client::tests::write_and_read_message_roundtrip ... ok
[INFO] [stdout] test services::lsp::manager::tests::render_status_lists_servers ... ok
[INFO] [stdout] test services::lsp::types::tests::detect_workspace_extensions_collects_gitignored_aware_set ... ok
[INFO] [stdout] test services::lsp::manager::tests::resolve_path_handles_relative_inputs ... ok
[INFO] [stdout] test services::lsp::types::tests::file_uri_roundtrip_preserves_path ... ok
[INFO] [stdout] test services::lsp::manager::tests::workspace_configs_fall_back_when_no_files_detected ... ok
[INFO] [stdout] test services::lsp::types::tests::load_custom_lsp_servers_from_settings ... ok
[INFO] [stdout] test services::lsp::types::tests::load_defaults_when_settings_missing ... ok
[INFO] [stdout] test session::tests::load_latest_returns_some_after_create ... ok
[INFO] [stdout] test session::tests::list_returns_sessions ... ok
[INFO] [stdout] test services::lsp::types::tests::disabled_lsp_returns_no_servers ... ok
[INFO] [stdout] test session::tests::message_event_roundtrip_user_and_assistant ... ok
[INFO] [stdout] test skills::tests::parse_skill_text_reads_frontmatter_fields ... ok
[INFO] [stdout] test session::tests::replace_messages_rewrites_file_with_system_message ... ok
[INFO] [stdout] test tests::parse_args_continue ... ok
[INFO] [stdout] test tests::parse_args_prompt_only ... ok
[INFO] [stdout] test skills::tests::project_skill_overrides_bundled ... ok
[INFO] [stdout] test skills::tests::resolve_and_activate_substitutes_arguments_and_session ... ok
[INFO] [stdout] test tests::parse_command_arg_extracts_argument ... ok
[INFO] [stdout] test tests::parse_slash_skill_extracts_name_and_args ... ok
[INFO] [stdout] test tests::parse_slash_skill_handles_name_only ... ok
[INFO] [stdout] test tests::parse_command_arg_rejects_partial_prefix ... ok
[INFO] [stdout] test tests::parse_args_resume_with_id ... ok
[INFO] [stdout] test session::tests::store_create_append_and_load ... ok
[INFO] [stdout] test tests::parse_slash_skill_rejects_non_slash_input ... ok
[INFO] [stdout] test tools::bash_tool::tests::bash_missing_command_errors ... ok
[INFO] [stdout] test tools::bash_tool::tests::bash_blocks_dangerous_command ... ok
[INFO] [stdout] test api::tests::next_ndjson_line_extracts_lines ... ok
[INFO] [stdout] test api::tests::resolve_settings_path_with_requires_home_settings ... ok
[INFO] [stdout] test tools::bash_tool::tests::bash_background_returns_pid_message ... ok
[INFO] [stdout] test repl::tests::unknown_command_returns_false ... ok
[INFO] [stdout] test tools::bash_tool::tests::bash_executes_simple_command ... ok
[INFO] [stdout] test tools::file_read::tests::read_full_file ... ok
[INFO] [stdout] test tools::file_read::tests::read_missing_file_errors ... ok
[INFO] [stdout] test tools::file_read::tests::read_missing_file_path_errors ... ok
[INFO] [stdout] test tools::file_edit::tests::edit_errors_if_same_string ... ok
[INFO] [stdout] test tools::file_read::tests::read_with_offset_and_limit ... ok
[INFO] [stdout] test tools::file_edit::tests::edit_errors_on_multiple_matches_without_replace_all ... ok
[INFO] [stdout] test tools::file_edit::tests::edit_errors_on_not_found ... ok
[INFO] [stdout] test tools::file_write::tests::write_creates_new_file ... ok
[INFO] [stdout] test tools::file_edit::tests::edit_missing_file_path_errors ... ok
[INFO] [stdout] test tools::file_edit::tests::edit_replaces_single_occurrence ... ok
[INFO] [stdout] test tools::file_edit::tests::edit_replace_all ... ok
[INFO] [stdout] test tools::file_write::tests::write_creates_parent_directories ... ok
[INFO] [stdout] test tools::file_write::tests::write_missing_content_errors ... ok
[INFO] [stdout] test tools::glob_tool::tests::glob_errors_on_nonexistent_directory ... ok
[INFO] [stdout] test tools::file_write::tests::write_missing_file_path_errors ... ok
[INFO] [stdout] test tools::file_write::tests::write_overwrites_existing_file ... ok
[INFO] [stdout] test git::tests::stage_all_makes_changes_staged ... ok
[INFO] [stdout] test tools::glob_tool::tests::glob_finds_matching_files ... ok
[INFO] [stdout] test tools::grep_tool::tests::glob_match_brace ... ok
[INFO] [stdout] test tools::glob_tool::tests::glob_missing_pattern_errors ... ok
[INFO] [stdout] test tools::grep_tool::tests::glob_match_extension ... ok
[INFO] [stdout] test tools::glob_tool::tests::glob_no_matches_returns_not_found ... ok
[INFO] [stdout] test tools::grep_tool::tests::grep_count_mode ... ok
[INFO] [stdout] test tools::grep_tool::tests::grep_context_lines ... ok
[INFO] [stdout] test tools::grep_tool::tests::grep_files_with_matches ... ok
[INFO] [stdout] test tools::grep_tool::tests::grep_case_insensitive ... ok
[INFO] [stdout] test tools::grep_tool::tests::grep_content_mode ... ok
[INFO] [stdout] test tools::grep_tool::tests::glob_match_comma_separated ... ok
[INFO] [stdout] test tools::grep_tool::tests::grep_missing_pattern_errors ... ok
[INFO] [stdout] test tools::lsp_tool::tests::parse_location_targets_accepts_location_links ... ok
[INFO] [stdout] test tools::lsp_tool::tests::format_location_line_includes_source_snippet ... ok
[INFO] [stdout] test tools::grep_tool::tests::grep_no_matches ... ok
[INFO] [stdout] test tools::lsp_tool::tests::format_location_line_remaps_container_style_prefixes ... ok
[INFO] [stdout] test tools::grep_tool::tests::grep_type_filter ... ok
[INFO] [stdout] test tools::grep_tool::tests::grep_invalid_regex_errors ... ok
[INFO] [stdout] test tools::lsp_tool::tests::render_hover_contents_flattens_nested_values ... ok
[INFO] [stdout] test tools::lsp_tool::tests::tool_input_requires_known_operation ... ok
[INFO] [stdout] test tools::bash_tool::tests::bash_respects_timeout ... ok
[INFO] [stdout] test tools::tests::echo_tool_schema_has_required_text ... ok
[INFO] [stdout] test tools::tests::echo_tool_returns_input_text ... ok
[INFO] [stdout] test tools::tests::execute_known_tool_succeeds ... ok
[INFO] [stdout] test tools::plan_tools::tests::enter_plan_mode_updates_state ... ok
[INFO] [stdout] test tools::tests::merge_allowed_tools_intersects_sets ... ok
[INFO] [stdout] test tools::tests::execute_unknown_tool_errors ... ok
[INFO] [stdout] test tools::tests::get_schemas_includes_name_and_description ... ok
[INFO] [stdout] test tools::tests::names_returns_sorted_names ... ok
[INFO] [stdout] test tools::plan_tools::tests::todo_write_requires_todos ... ok
[INFO] [stdout] test tools::tests::echo_tool_errors_on_missing_text ... ok
[INFO] [stdout] test tools::tests::echo_tool_name ... ok
[INFO] [stdout] test tools::tests::new_registry_is_empty ... ok
[INFO] [stdout] test tools::tests::register_increments_len ... ok
[INFO] [stdout] test tools::tests::tool_is_allowed_is_case_insensitive ... ok
[INFO] [stdout] test tools::web_fetch::tests::focus_content_prefers_matching_blocks ... ok
[INFO] [stdout] test tools::tests::tool_is_allowed_accepts_missing_policy ... ok
[INFO] [stdout] test tools::web_fetch::tests::validate_public_web_url_blocks_localhost ... ok
[INFO] [stdout] test tools::web_search::tests::format_search_results_renders_cards ... ok
[INFO] [stdout] test tools::web_search::tests::sanitize_domain_rejects_invalid_chars ... ok
[INFO] [stdout] test tools::skill_tool::tests::skill_tool_requires_skill_name ... ok
[INFO] [stdout] test tools::tests::register_same_name_overwrites ... ok
[INFO] [stdout] test types::tests::add_assistant_message_increments_len ... ok
[INFO] [stdout] test types::tests::message_assistant_sets_role ... ok
[INFO] [stdout] test git::tests::combined_diff_returns_working_tree_changes ... ok
[INFO] [stdout] test types::tests::messages_stored_in_order ... ok
[INFO] [stdout] test types::tests::clear_removes_all_messages ... ok
[INFO] [stdout] test types::tests::new_history_is_empty ... ok
[INFO] [stdout] test types::tests::default_history_is_empty ... ok
[INFO] [stdout] test types::tests::message_user_sets_role ... ok
[INFO] [stdout] test tools::web_search::tests::parse_bing_rss_results_reads_items ... ok
[INFO] [stdout] test types::tests::add_user_message_increments_len ... ok
[INFO] [stdout] test types::tests::message_new_stores_role_and_content ... ok
[INFO] [stdout] test types::tests::to_json_contains_role_and_content ... ok
[INFO] [stdout] test types::tests::to_json_empty_history_returns_array ... ok
[INFO] [stdout] test types::tests::to_json_roundtrips ... ok
[INFO] [stdout] test tools::glob_tool::tests::glob_truncates_at_max_results ... ok
[INFO] [stdout] test tools::web_fetch::tests::html_to_markdown_like_strips_tags ... ok
[INFO] [stdout] test api::tests::set_model_updates_model ... ok
[INFO] [stdout] test api::tests::from_settings_normalizes_lmstudio_v1_base_url ... ok
[INFO] [stdout] test api::tests::from_settings_sets_ollama_defaults ... ok
[INFO] [stdout] test api::tests::from_settings_detects_lmstudio ... ok
[INFO] [stdout] test api::tests::set_max_tokens_updates_value ... ok
[INFO] [stdout] test api::tests::from_settings_detects_openai ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 175 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.53s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "254b032793e8408f1ef1c936f7e28fae1a6fa68bada15ea86b9d436783b363ff", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "254b032793e8408f1ef1c936f7e28fae1a6fa68bada15ea86b9d436783b363ff", kill_on_drop: false }`
[INFO] [stdout] 254b032793e8408f1ef1c936f7e28fae1a6fa68bada15ea86b9d436783b363ff
