[INFO] cloning repository https://github.com/topway-ai/rust-pi
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/topway-ai/rust-pi" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftopway-ai%2Frust-pi", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftopway-ai%2Frust-pi'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8309c53f43b3a2b1da8e97c2788858da8b58118e
[INFO] testing topway-ai/rust-pi against master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftopway-ai%2Frust-pi" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/topway-ai/rust-pi
[INFO] finished tweaking git repo https://github.com/topway-ai/rust-pi
[INFO] tweaked toml for git repo https://github.com/topway-ai/rust-pi written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/topway-ai/rust-pi on toolchain ec6f9a5b4413f74386267ef8efc93712c2ce6db6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/topway-ai/rust-pi 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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded log v0.4.29
[INFO] [stderr]   Downloaded http-body v1.0.1
[INFO] [stderr]   Downloaded tokio-rustls v0.26.4
[INFO] [stderr]   Downloaded crypto-common v0.1.7
[INFO] [stderr]   Downloaded stable_deref_trait v1.2.1
[INFO] [stderr]   Downloaded predicates-core v1.0.10
[INFO] [stderr]   Downloaded float-cmp v0.10.0
[INFO] [stderr]   Downloaded thiserror-impl v2.0.18
[INFO] [stderr]   Downloaded writeable v0.6.2
[INFO] [stderr]   Downloaded zmij v1.0.21
[INFO] [stderr]   Downloaded want v0.3.1
[INFO] [stderr]   Downloaded num-conv v0.2.1
[INFO] [stderr]   Downloaded ctrlc v3.5.2
[INFO] [stderr]   Downloaded once_cell_polyfill v1.70.2
[INFO] [stderr]   Downloaded once_cell v1.21.4
[INFO] [stderr]   Downloaded matchers v0.2.0
[INFO] [stderr]   Downloaded utf8_iter v1.0.4
[INFO] [stderr]   Downloaded tower-service v0.3.3
[INFO] [stderr]   Downloaded sync_wrapper v1.0.2
[INFO] [stderr]   Downloaded http v1.4.0
[INFO] [stderr]   Downloaded difflib v0.4.0
[INFO] [stderr]   Downloaded anstyle-query v1.1.5
[INFO] [stderr]   Downloaded leb128fmt v0.1.0
[INFO] [stderr]   Downloaded tower-layer v0.3.3
[INFO] [stderr]   Downloaded untrusted v0.9.0
[INFO] [stderr]   Downloaded try-lock v0.2.5
[INFO] [stderr]   Downloaded predicates-tree v1.0.13
[INFO] [stderr]   Downloaded serde_spanned v0.6.9
[INFO] [stderr]   Downloaded itoa v1.0.18
[INFO] [stderr]   Downloaded idna_adapter v1.2.1
[INFO] [stderr]   Downloaded anstyle-wincon v3.0.11
[INFO] [stderr]   Downloaded windows-link v0.2.1
[INFO] [stderr]   Downloaded toml_write v0.1.2
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.114
[INFO] [stderr]   Downloaded lru-slab v0.1.2
[INFO] [stderr]   Downloaded http-body-util v0.1.3
[INFO] [stderr]   Downloaded time-core v0.1.8
[INFO] [stderr]   Downloaded deranged v0.5.8
[INFO] [stderr]   Downloaded predicates v3.1.4
[INFO] [stderr]   Downloaded anstyle v1.0.14
[INFO] [stderr]   Downloaded wit-bindgen-rust-macro v0.51.0
[INFO] [stderr]   Downloaded zeroize v1.8.2
[INFO] [stderr]   Downloaded tinystr v0.8.2
[INFO] [stderr]   Downloaded rand_core v0.9.5
[INFO] [stderr]   Downloaded shell-words v1.1.1
[INFO] [stderr]   Downloaded is_terminal_polyfill v1.70.2
[INFO] [stderr]   Downloaded termtree v0.5.1
[INFO] [stderr]   Downloaded unicode-ident v1.0.24
[INFO] [stderr]   Downloaded assert_cmd v2.2.0
[INFO] [stderr]   Downloaded cfg-if v1.0.4
[INFO] [stderr]   Downloaded synstructure v0.13.2
[INFO] [stderr]   Downloaded clap_lex v1.1.0
[INFO] [stderr]   Downloaded semver v1.0.27
[INFO] [stderr]   Downloaded time-macros v0.2.27
[INFO] [stderr]   Downloaded httparse v1.10.1
[INFO] [stderr]   Downloaded normalize-line-endings v0.3.0
[INFO] [stderr]   Downloaded tokio-macros v2.6.1
[INFO] [stderr]   Downloaded wasm-metadata v0.244.0
[INFO] [stderr]   Downloaded yoke v0.8.1
[INFO] [stderr]   Downloaded displaydoc v0.2.5
[INFO] [stderr]   Downloaded dialoguer v0.12.0
[INFO] [stderr]   Downloaded proc-macro2 v1.0.106
[INFO] [stderr]   Downloaded toml v0.8.23
[INFO] [stderr]   Downloaded tempfile v3.27.0
[INFO] [stderr]   Downloaded bitflags v2.11.0
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.114
[INFO] [stderr]   Downloaded quinn-udp v0.5.14
[INFO] [stderr]   Downloaded getrandom v0.3.4
[INFO] [stderr]   Downloaded encode_unicode v1.0.0
[INFO] [stderr]   Downloaded block2 v0.6.2
[INFO] [stderr]   Downloaded find-msvc-tools v0.1.9
[INFO] [stderr]   Downloaded tinyvec v1.11.0
[INFO] [stderr]   Downloaded hyper-rustls v0.27.7
[INFO] [stderr]   Downloaded r-efi v6.0.0
[INFO] [stderr]   Downloaded icu_provider v2.1.1
[INFO] [stderr]   Downloaded clap v4.6.0
[INFO] [stderr]   Downloaded anstream v1.0.0
[INFO] [stderr]   Downloaded wit-bindgen-rust v0.51.0
[INFO] [stderr]   Downloaded rustls-webpki v0.103.10
[INFO] [stderr]   Downloaded quinn v0.11.9
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.47
[INFO] [stderr]   Downloaded dispatch2 v0.3.1
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.114
[INFO] [stderr]   Downloaded litemap v0.8.1
[INFO] [stderr]   Downloaded hyper-util v0.1.20
[INFO] [stderr]   Downloaded url v2.5.8
[INFO] [stderr]   Downloaded icu_properties v2.1.2
[INFO] [stderr]   Downloaded zerotrie v0.2.3
[INFO] [stderr]   Downloaded indexmap v2.13.0
[INFO] [stderr]   Downloaded socket2 v0.6.3
[INFO] [stderr]   Downloaded wit-bindgen v0.51.0
[INFO] [stderr]   Downloaded prettyplease v0.2.37
[INFO] [stderr]   Downloaded typenum v1.19.0
[INFO] [stderr]   Downloaded js-sys v0.3.91
[INFO] [stderr]   Downloaded icu_collections v2.1.1
[INFO] [stderr]   Downloaded icu_normalizer_data v2.1.1
[INFO] [stderr]   Downloaded iri-string v0.7.10
[INFO] [stderr]   Downloaded hyper v1.8.1
[INFO] [stderr]   Downloaded mio v1.1.1
[INFO] [stderr]   Downloaded bumpalo v3.20.2
[INFO] [stderr]   Downloaded tower v0.5.3
[INFO] [stderr]   Downloaded regex v1.12.3
[INFO] [stderr]   Downloaded clap_builder v4.6.0
[INFO] [stderr]   Downloaded wasip3 v0.4.0+wasi-0.3.0-rc-2026-01-06
[INFO] [stderr]   Downloaded wit-parser v0.244.0
[INFO] [stderr]   Downloaded wasip2 v1.0.2+wasi-0.2.9
[INFO] [stderr]   Downloaded reqwest v0.12.28
[INFO] [stderr]   Downloaded idna v1.1.0
[INFO] [stderr]   Downloaded tower-http v0.6.8
[INFO] [stderr]   Downloaded cc v1.2.57
[INFO] [stderr]   Downloaded aho-corasick v1.1.4
[INFO] [stderr]   Downloaded time v0.3.47
[INFO] [stderr]   Downloaded colorchoice v1.0.5
[INFO] [stderr]   Downloaded quinn-proto v0.11.14
[INFO] [stderr]   Downloaded objc2 v0.6.4
[INFO] [stderr]   Downloaded unicode-width v0.2.2
[INFO] [stderr]   Downloaded tracing-subscriber v0.3.23
[INFO] [stderr]   Downloaded syn v2.0.117
[INFO] [stderr]   Downloaded webpki-roots v1.0.6
[INFO] [stderr]   Downloaded rustls-pki-types v1.14.0
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.114
[INFO] [stderr]   Downloaded potential_utf v0.1.4
[INFO] [stderr]   Downloaded rustls v0.23.37
[INFO] [stderr]   Downloaded zerocopy v0.8.47
[INFO] [stderr]   Downloaded nix v0.31.2
[INFO] [stderr]   Downloaded bstr v1.12.1
[INFO] [stderr]   Downloaded quote v1.0.45
[INFO] [stderr]   Downloaded nu-ansi-term v0.50.3
[INFO] [stderr]   Downloaded id-arena v2.3.0
[INFO] [stderr]   Downloaded regex-syntax v0.8.10
[INFO] [stderr]   Downloaded errno v0.3.14
[INFO] [stderr]   Downloaded anyhow v1.0.102
[INFO] [stderr]   Downloaded zerofrom-derive v0.1.6
[INFO] [stderr]   Downloaded icu_locale_core v2.1.1
[INFO] [stderr]   Downloaded rustix v1.1.4
[INFO] [stderr]   Downloaded hashbrown v0.16.1
[INFO] [stderr]   Downloaded zerofrom v0.1.6
[INFO] [stderr]   Downloaded yoke-derive v0.8.1
[INFO] [stderr]   Downloaded winnow v0.7.15
[INFO] [stderr]   Downloaded wasm-encoder v0.244.0
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.64
[INFO] [stderr]   Downloaded zerovec-derive v0.11.2
[INFO] [stderr]   Downloaded icu_properties_data v2.1.2
[INFO] [stderr]   Downloaded thiserror v2.0.18
[INFO] [stderr]   Downloaded icu_normalizer v2.1.1
[INFO] [stderr]   Downloaded ring v0.17.14
[INFO] [stderr]   Downloaded web-sys v0.3.91
[INFO] [stderr]   Downloaded libc v0.2.183
[INFO] [stderr]   Downloaded wit-component v0.244.0
[INFO] [stderr]   Downloaded wasmparser v0.244.0
[INFO] [stderr]   Downloaded tokio v1.50.0
[INFO] [stderr]   Downloaded regex-automata v0.4.14
[INFO] [stderr]   Downloaded getrandom v0.4.2
[INFO] [stderr]   Downloaded linux-raw-sys v0.12.1
[INFO] [stderr]   Downloaded windows-sys v0.61.2
[INFO] [stderr]   Downloaded wait-timeout v0.2.1
[INFO] [stderr]   Downloaded zerovec v0.11.5
[INFO] [stderr]   Downloaded ipnet v2.12.0
[INFO] [stderr]   Downloaded serde_json v1.0.149
[INFO] [stderr]   Downloaded console v0.16.3
[INFO] [stderr]   Downloaded memchr v2.8.0
[INFO] [stderr]   Downloaded thread_local v1.1.9
[INFO] [stderr]   Downloaded hex v0.4.3
[INFO] [stderr]   Downloaded clap_derive v4.6.0
[INFO] [stderr]   Downloaded anstyle-parse v1.0.0
[INFO] [stderr]   Downloaded ryu v1.0.23
[INFO] [stderr]   Downloaded wit-bindgen-core v0.51.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fdab8bea060038c04b9d2bb3ff321052ceacdf156201e2705fde83e5f9af777d
[INFO] running `Command { std: "docker" "start" "-a" "fdab8bea060038c04b9d2bb3ff321052ceacdf156201e2705fde83e5f9af777d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fdab8bea060038c04b9d2bb3ff321052ceacdf156201e2705fde83e5f9af777d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fdab8bea060038c04b9d2bb3ff321052ceacdf156201e2705fde83e5f9af777d", kill_on_drop: false }`
[INFO] [stdout] fdab8bea060038c04b9d2bb3ff321052ceacdf156201e2705fde83e5f9af777d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 44e7b584b7cbd380430a3412f88b43828dbe72c5e03b4ea569f4c084a93567fe
[INFO] running `Command { std: "docker" "start" "-a" "44e7b584b7cbd380430a3412f88b43828dbe72c5e03b4ea569f4c084a93567fe", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling serde_core v1.0.228
[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 smallvec v1.15.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling cc v1.2.57
[INFO] [stderr]    Compiling litemap v0.8.1
[INFO] [stderr]    Compiling writeable v0.6.2
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling nix v0.31.2
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling rustls-webpki v0.103.10
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling console v0.16.3
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling num-conv v0.2.1
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling shell-words v1.1.1
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling dialoguer v0.12.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling ctrlc v3.5.2
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling topagent-core v0.1.0 (/opt/rustwide/workdir/crates/topagent-core)
[INFO] [stderr]    Compiling topagent-cli v0.1.0 (/opt/rustwide/workdir/crates/topagent-cli)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 36s
[INFO] running `Command { std: "docker" "inspect" "44e7b584b7cbd380430a3412f88b43828dbe72c5e03b4ea569f4c084a93567fe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "44e7b584b7cbd380430a3412f88b43828dbe72c5e03b4ea569f4c084a93567fe", kill_on_drop: false }`
[INFO] [stdout] 44e7b584b7cbd380430a3412f88b43828dbe72c5e03b4ea569f4c084a93567fe
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] dd944f8dd58a6d59eaafb31cd596686e6085a2554d28264c02200ace99f428b4
[INFO] running `Command { std: "docker" "start" "-a" "dd944f8dd58a6d59eaafb31cd596686e6085a2554d28264c02200ace99f428b4", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling predicates-core v1.0.10
[INFO] [stderr]    Compiling normalize-line-endings v0.3.0
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling assert_cmd v2.2.0
[INFO] [stderr]    Compiling difflib v0.4.0
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling topagent-core v0.1.0 (/opt/rustwide/workdir/crates/topagent-core)
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]    Compiling topagent-cli v0.1.0 (/opt/rustwide/workdir/crates/topagent-cli)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 48.07s
[INFO] running `Command { std: "docker" "inspect" "dd944f8dd58a6d59eaafb31cd596686e6085a2554d28264c02200ace99f428b4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dd944f8dd58a6d59eaafb31cd596686e6085a2554d28264c02200ace99f428b4", kill_on_drop: false }`
[INFO] [stdout] dd944f8dd58a6d59eaafb31cd596686e6085a2554d28264c02200ace99f428b4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 2272d3a83df932a50c0f2fc8a97adf3fb832cbc750b666e7f7f267d626a9d0d5
[INFO] running `Command { std: "docker" "start" "-a" "2272d3a83df932a50c0f2fc8a97adf3fb832cbc750b666e7f7f267d626a9d0d5", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.52s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/topagent-508edd2d6604b962)
[INFO] [stdout] 
[INFO] [stdout] running 259 tests
[INFO] [stdout] test access::tests::test_render_access_status_includes_profile_and_options ... ok
[INFO] [stdout] test commands::config::tests::test_render_contract_summary_shows_override_and_default_when_different ... ok
[INFO] [stdout] test commands::memory_cli::tests::test_lint_output_includes_summary_line ... ok
[INFO] [stdout] test commands::memory_cli::tests::test_lint_clean_memory_md_no_warnings ... ok
[INFO] [stdout] test commands::memory_cli::tests::test_lint_memory_md_procedure_redirect ... ok
[INFO] [stdout] test commands::memory_cli::tests::test_lint_memory_md_flags_verbose_instructions ... ok
[INFO] [stdout] test commands::memory_cli::tests::test_lint_valid_user_md_no_warnings ... ok
[INFO] [stdout] test commands::memory_cli::tests::test_lint_oversized_user_md_reports_error_or_warning ... ok
[INFO] [stdout] test commands::config::tests::test_render_contract_summary_shows_fields_without_secret_values ... ok
[INFO] [stdout] test commands::memory_cli::tests::test_render_memory_lint_clean_memory_and_user ... ok
[INFO] [stdout] test commands::memory_cli::tests::test_recall_total_prompt_bytes_is_bounded ... ok
[INFO] [stdout] test commands::config::tests::test_render_contract_summary_dm_access_shows_admission_state ... ok
[INFO] [stdout] test commands::memory_cli::tests::test_render_memory_lint_flags_forbidden_in_user ... ok
[INFO] [stdout] test commands::memory_cli::tests::test_render_memory_lint_flags_transient_in_memory ... ok
[INFO] [stdout] test commands::memory_cli::tests::test_render_memory_recall_shows_provenance ... ok
[INFO] [stdout] test commands::memory_cli::tests::test_render_memory_recall_empty_workspace ... ok
[INFO] [stdout] test commands::memory_cli::tests::test_recall_title_shows_file_path_in_provenance ... ok
[INFO] [stdout] test commands::memory_cli::tests::test_render_memory_status_reports_user_and_workspace_layers ... ok
[INFO] [stdout] test commands::oneshot::tests::test_prompt_for_cli_approval_defaults_to_no_on_blank ... ok
[INFO] [stdout] test commands::run::tests::test_restore_no_run_snapshot_returns_error ... ok
[INFO] [stdout] test commands::run::tests::test_restore_run_snapshot_clears_workspace_telegram_history ... ok
[INFO] [stdout] test commands::oneshot::tests::test_format_cli_approval_required_mentions_non_interactive_mode ... ok
[INFO] [stdout] test commands::oneshot::tests::test_format_cli_capability_approval_required_mentions_scope_and_retry ... ok
[INFO] [stdout] test commands::oneshot::tests::test_prompt_for_cli_approval_accepts_yes ... ok
[INFO] [stdout] test commands::surface::tests::test_parse_telegram_command_accepts_declared_commands_only ... ok
[INFO] [stdout] test commands::procedure_cli::tests::test_render_procedure_list_hides_non_active_by_default ... ok
[INFO] [stdout] test commands::types::tests::test_cli_current_nested_command_surfaces_are_exact ... ok
[INFO] [stdout] test commands::memory_cli::tests::test_recall_procedure_shows_trust_context ... ok
[INFO] [stdout] test commands::surface::tests::test_lifecycle_lanes_have_single_source_of_truth_commands ... ok
[INFO] [stdout] test commands::procedure_cli::tests::test_prune_procedures_removes_non_active_files ... ok
[INFO] [stdout] test config::defaults::tests::test_telegram_mode_defaults_canonicalize_allowed_username_on_read ... ok
[INFO] [stdout] test config::keys::tests::test_require_persisted_defaults_accept_trimmed_values ... ok
[INFO] [stdout] test config::model_selection::tests::test_build_route_from_resolved_uses_resolved_model_id ... ok
[INFO] [stdout] test commands::types::tests::test_cli_current_top_level_command_surface_is_exact ... ok
[INFO] [stdout] test config::model_selection::tests::test_canonicalize_allowed_username_strips_at_lowercases_and_trims ... ok
[INFO] [stdout] test config::model_selection::tests::test_current_configured_model_uses_persisted_then_built_in_fallback ... ok
[INFO] [stdout] test config::model_selection::tests::test_explicit_opencode_provider_routes_qwen_correctly ... ok
[INFO] [stdout] test config::model_selection::tests::test_resolve_model_choice_prefers_explicit_then_selected_then_persisted ... ok
[INFO] [stdout] test config::model_selection::tests::test_canonicalize_allowed_username_is_idempotent ... ok
[INFO] [stdout] test config::model_selection::tests::test_empty_persisted_model_falls_back_to_built_in_default ... ok
[INFO] [stdout] test config::model_selection::tests::test_explicit_openrouter_provider_routes_glm4_correctly ... ok
[INFO] [stdout] test config::runtime::tests::test_cli_model_override_does_not_alter_persisted_defaults ... ok
[INFO] [stdout] test config::model_selection::tests::test_resolve_runtime_model_selection_tracks_configured_and_effective_models ... ok
[INFO] [stdout] test config::runtime::tests::test_resolve_one_shot_config_cli_api_key_beats_persisted ... ok
[INFO] [stdout] test config::runtime::tests::test_resolve_one_shot_config_cli_opencode_key_beats_persisted ... ok
[INFO] [stdout] test config::runtime::tests::test_explicit_opencode_provider_requires_opencode_key_not_openrouter ... ok
[INFO] [stdout] test config::runtime::tests::test_foreground_and_background_telegram_resolve_identical_config_from_same_metadata ... ok
[INFO] [stdout] test config::runtime::tests::test_metadata_roundtrip_preserves_all_runtime_options ... ok
[INFO] [stdout] test config::runtime::tests::test_one_shot_config_explicit_opencode_provider_routes_correctly ... ok
[INFO] [stdout] test config::runtime::tests::test_resolve_one_shot_config_cli_override_beats_persisted_model ... ok
[INFO] [stdout] test config::runtime::tests::test_resolve_one_shot_config_fails_fast_when_opencode_key_missing ... ok
[INFO] [stdout] test commands::run::tests::test_restore_run_snapshot_preserves_durable_learning_artifacts ... ok
[INFO] [stdout] test config::runtime::tests::test_resolve_one_shot_config_fails_fast_when_openrouter_key_missing ... ok
[INFO] [stdout] test config::runtime::tests::test_resolve_telegram_mode_config_configured_default_falls_back_to_built_in ... ok
[INFO] [stdout] test config::runtime::tests::test_resolve_telegram_mode_config_fails_fast_when_opencode_route_has_no_opencode_key ... ok
[INFO] [stdout] test config::runtime::tests::test_resolve_one_shot_config_uses_built_in_defaults_for_steps_retries_timeout ... ok
[INFO] [stdout] test config::runtime::tests::test_resolve_telegram_mode_config_populates_configured_default_model ... ok
[INFO] [stdout] test config::runtime::tests::test_resolve_one_shot_config_resolves_workspace_and_api_key ... ok
[INFO] [stdout] test config::summary::tests::test_resolve_contract_summary_dm_access_shows_admission_state ... ok
[INFO] [stdout] test config::runtime::tests::test_resolve_telegram_mode_config_reuses_service_managed_defaults_for_foreground_telegram ... ok
[INFO] [stdout] test config::summary::tests::test_contract_summary_reflects_explicit_provider_not_model_heuristic ... ok
[INFO] [stdout] test config::runtime::tests::test_resolve_telegram_mode_config_uses_persisted_secrets_and_model_by_default ... ok
[INFO] [stdout] test config::runtime::tests::test_resolve_telegram_mode_config_fails_fast_when_openrouter_route_has_no_openrouter_key ... ok
[INFO] [stdout] test config::runtime::tests::test_resolve_telegram_mode_config_cli_model_override_beats_persisted_default ... ok
[INFO] [stdout] test config::summary::tests::test_resolve_contract_summary_override_and_default_when_different ... ok
[INFO] [stdout] test config::summary::tests::test_resolve_contract_summary_separates_override_from_configured_default ... ok
[INFO] [stdout] test config::summary::tests::test_resolve_contract_summary_uses_persisted_runtime_options_with_cli_overrides ... ok
[INFO] [stdout] test config::workspace::tests::test_workspace_accepts_dir_with_cargo_toml_even_if_exes_present ... ok
[INFO] [stdout] test config::summary::tests::test_resolve_contract_summary_shows_key_presence_without_values ... ok
[INFO] [stdout] test config::workspace::tests::test_workspace_defaults_to_current_directory_for_one_shot_and_telegram ... ok
[INFO] [stdout] test config::workspace::tests::test_workspace_override_beats_current_directory_for_one_shot_and_telegram ... ok
[INFO] [stdout] test config::workspace::tests::test_workspace_resolution_fails_when_current_directory_is_unavailable ... ok
[INFO] [stdout] test doctor::lint::tests::test_lint_memory_md_clean_content_passes ... ok
[INFO] [stdout] test doctor::lint::tests::test_lint_memory_md_flags_procedure_like_content ... ok
[INFO] [stdout] test doctor::lint::tests::test_lint_memory_md_flags_transcript_content ... ok
[INFO] [stdout] test doctor::lint::tests::test_lint_memory_md_flags_transient_content ... ok
[INFO] [stdout] test doctor::lint::tests::test_lint_user_md_clean_content_passes ... ok
[INFO] [stdout] test config::workspace::tests::test_workspace_rejects_flat_exe_dir_without_project_markers ... ok
[INFO] [stdout] test config::workspace::tests::test_workspace_override_ignores_invalid_current_directory ... ok
[INFO] [stdout] test config::workspace::tests::test_workspace_rejects_cargo_bin_directory ... ok
[INFO] [stdout] test doctor::lint::tests::test_lint_user_md_flags_transcript_content ... ok
[INFO] [stdout] test doctor::service::tests::test_doctor_reports_missing_model_config ... ok
[INFO] [stdout] test doctor::lint::tests::test_lint_user_md_flags_repo_facts ... ok
[INFO] [stdout] test doctor::tests::test_doctor_missing_topagent_dir_reports_error ... ok
[INFO] [stdout] test doctor::tests::test_doctor_read_only_guarantee ... ok
[INFO] [stdout] test doctor::tests::test_doctor_full_healthy_workspace_has_no_errors ... ok
[INFO] [stdout] test doctor::service::tests::test_doctor_api_key_check_uses_selected_opencode_provider ... ok
[INFO] [stdout] test doctor::workspace::tests::test_doctor_partial_layout_reports_warnings ... ok
[INFO] [stdout] test doctor::workspace::tests::test_doctor_reports_broken_workspace_layout ... ok
[INFO] [stdout] test doctor::workspace::tests::test_doctor_reports_missing_workspace_layout ... ok
[INFO] [stdout] test doctor::workspace::tests::test_doctor_memory_md_bad_format_warns ... ok
[INFO] [stdout] test doctor::workspace::tests::test_doctor_does_not_mutate_state ... ok
[INFO] [stdout] test doctor::workspace::tests::test_doctor_memory_md_error_size_and_procedure_redirect ... ok
[INFO] [stdout] test doctor::workspace::tests::test_doctor_memory_md_oversized_warns ... ok
[INFO] [stdout] test doctor::workspace::tests::test_doctor_reports_unsupported_topagent_state_paths ... ok
[INFO] [stdout] test doctor::workspace::tests::test_doctor_memory_md_too_many_entries_warns ... ok
[INFO] [stdout] test doctor::workspace::tests::test_doctor_succeeds_on_healthy_fixture ... ok
[INFO] [stdout] test doctor::workspace::tests::test_doctor_user_md_parse_error_reports ... ok
[INFO] [stdout] test managed_files::tests::test_remove_managed_env_file_requires_header_and_service_marker ... ok
[INFO] [stdout] test doctor::workspace::tests::test_doctor_user_md_oversized_warns ... ok
[INFO] [stdout] test memory::procedures::tests::test_quality_gate_allows_refine_when_proven_reuse ... ok
[INFO] [stdout] test memory::procedures::tests::test_quality_gate_allows_supersede_when_proven_reuse ... ok
[INFO] [stdout] test memory::memory_consolidation::tests::test_consolidate_promotes_active_procedure_into_index ... ok
[INFO] [stdout] test managed_files::tests::test_managed_file_detection_requires_current_header ... ok
[INFO] [stdout] test memory::procedures::tests::test_quality_gate_blocks_revision_on_low_trust ... ok
[INFO] [stdout] test memory::procedures::tests::test_quality_gate_exact_threshold_supersede_allowed ... ok
[INFO] [stdout] test memory::procedures::tests::test_quality_gate_high_trust_supersede_still_requires_threshold ... ok
[INFO] [stdout] test memory::procedures::tests::test_quality_gate_keeps_when_low_reuse_refine ... ok
[INFO] [stdout] test memory::procedures::tests::test_quality_gate_keeps_when_low_reuse_supersede ... ok
[INFO] [stdout] test memory::procedures::tests::test_quality_gate_low_trust_overrides_proven_reuse ... ok
[INFO] [stdout] test memory::procedures::tests::test_quality_gate_passes_through_keep ... ok
[INFO] [stdout] test memory::procedures::tests::test_quality_gate_threshold_boundary_refine ... ok
[INFO] [stdout] test memory::procedures::tests::test_quality_gate_threshold_boundary_supersede ... ok
[INFO] [stdout] test memory::promotion::scenario_tests::test_gate_downgrade_refine_to_keep_reason_text ... ok
[INFO] [stdout] test memory::promotion::scenario_tests::test_gate_downgrade_supersede_to_keep_reason_text ... ok
[INFO] [stdout] test memory::promotion::scenario_tests::test_gate_low_trust_always_downgrades_to_keep ... ok
[INFO] [stdout] test memory::promotion::scenario_tests::test_gate_no_downgrade_means_no_note ... ok
[INFO] [stdout] test memory::memory_consolidation::tests::test_consolidate_prunes_index_entries_pointing_to_missing_procedures ... ok
[INFO] [stdout] test memory::promotion::scenario_tests::test_promotion_no_auto_rewrite_on_keep ... ok
[INFO] [stdout] test memory::procedures::tests::test_quality_gate_exact_threshold_refine_allowed ... ok
[INFO] [stdout] test memory::memory_consolidation::tests::test_consolidate_prunes_superseded_procedure_from_index ... ok
[INFO] [stdout] test memory::tests::test_always_loaded_index_stays_small ... ok
[INFO] [stdout] test memory::tests::test_build_prompt_keeps_operator_model_separate_from_workspace_memory ... ok
[INFO] [stdout] test memory::tests::test_build_prompt_marks_transcript_snippets_as_low_trust ... ok
[INFO] [stdout] test memory::tests::test_build_prompt_never_loads_trajectory_artifacts ... ok
[INFO] [stdout] test memory::tests::test_build_prompt_loads_only_small_relevant_procedure_subset ... ok
[INFO] [stdout] test memory::tests::test_build_prompt_produces_provenance_notes_for_recalled_durable_notes ... ok
[INFO] [stdout] test memory::tests::test_build_prompt_produces_provenance_notes_for_recalled_transcript ... ok
[INFO] [stdout] test memory::tests::test_build_prompt_produces_provenance_notes_for_recalled_procedure ... ok
[INFO] [stdout] test memory::tests::test_consolidate_deduplicates_exact_entries ... ok
[INFO] [stdout] test commands::run::tests::test_resume_refusal_shows_confirmation_reason_for_blocked_action ... ok
[INFO] [stdout] test memory::tests::test_consolidate_prefers_verified_entry_and_prunes_stale_duplicate ... ok
[INFO] [stdout] test memory::tests::test_ensure_layout_creates_index_and_notes_dir ... ok
[INFO] [stdout] test memory::tests::test_consolidate_promotes_saved_note_with_absolute_date ... ok
[INFO] [stdout] test memory::tests::test_notes_are_lazy_loaded_by_relevance ... ok
[INFO] [stdout] test memory::tests::test_consolidate_prunes_curated_notes_to_policy_limit ... ok
[INFO] [stdout] test memory::tests::test_build_prompt_skips_superseded_procedure_entries ... ok
[INFO] [stdout] test memory::tests::test_build_prompt_ignores_many_superseded_procedures_without_growing_working_set ... ok
[INFO] [stdout] test memory::tests::test_promote_verified_task_skips_trivial_verified_work ... ok
[INFO] [stdout] test memory::tests::test_promote_verified_task_skips_when_memory_was_already_written ... ok
[INFO] [stdout] test memory::tests::test_promote_verified_task_skips_without_passing_verification ... ok
[INFO] [stdout] test memory::tests::test_promote_verified_task_creates_note_procedure_and_trajectory ... ok
[INFO] [stdout] test memory::tests::test_promote_verified_task_redacts_registered_secrets_from_saved_artifacts ... ok
[INFO] [stdout] test memory::tests::test_promote_verified_task_reuses_matching_loaded_procedure ... ok
[INFO] [stdout] test memory::tests::test_recall_query_without_keyword_match_falls_back_to_recent_exchange ... ok
[INFO] [stdout] test memory::tests::test_prompt_marks_memory_as_skeptical ... ok
[INFO] [stdout] test memory::tests::test_provenance_notes_stay_bounded ... ok
[INFO] [stdout] test memory::tests::test_promote_verified_task_refines_loaded_procedure_after_verified_reuse ... ok
[INFO] [stdout] test memory::tests::test_saved_memory_and_procedure_sources_are_advisory_not_authority ... ok
[INFO] [stdout] test memory::tests::test_transcript_prompt_never_replays_whole_history ... ok
[INFO] [stdout] test memory::tests::test_transcript_search_returns_targeted_snippets_only ... ok
[INFO] [stdout] test memory::tests::test_transcript_prompt_stats_stay_capped_under_growth ... ok
[INFO] [stdout] test openrouter_models::tests::test_discover_install_models_uses_curated_fallback_when_live_fetch_fails_without_cache ... ok
[INFO] [stdout] test memory::trajectories::tests::test_mark_trajectory_ready_refuses_low_trust_artifact ... ok
[INFO] [stdout] test openrouter_models::tests::test_discover_install_models_uses_stale_cache_when_live_fetch_fails ... ok
[INFO] [stdout] test openrouter_models::tests::test_match_openrouter_rankings_to_model_ids_prefers_canonical_slug_matches ... ok
[INFO] [stdout] test operational_paths::tests::test_service_paths_from_config_home_keeps_unit_and_env_paths_aligned ... ok
[INFO] [stdout] test commands::run::tests::test_run_status_includes_latest_evidence_without_raw_transcript ... ok
[INFO] [stdout] test openrouter_models::tests::test_parse_openrouter_ranking_slugs_reads_ordered_model_links ... ok
[INFO] [stdout] test memory::tests::test_promote_verified_task_blocks_procedure_under_low_trust_influence ... ok
[INFO] [stdout] test progress::tests::test_live_progress_renders_stopped_terminal_state ... ok
[INFO] [stdout] test memory::tests::test_repeat_task_prompt_working_set_stays_flat_as_irrelevant_artifacts_grow ... ok
[INFO] [stdout] test progress::tests::test_live_progress_renders_blocked_state_immediately ... ok
[INFO] [stdout] test service::detect::tests::test_detect_install_root_rejects_ambiguous_target_layout ... ok
[INFO] [stdout] test service::detect::tests::test_detect_install_root_uses_binary_directory_for_installed_binary ... ok
[INFO] [stdout] test service::detect::tests::test_detect_install_root_uses_repo_root_for_source_checkout_binary ... ok
[INFO] [stdout] test progress::tests::test_live_progress_renders_stopping_state ... ok
[INFO] [stdout] test service::install::tests::test_prompt_for_install_model_custom_entry_path_rejects_empty_input ... ok
[INFO] [stdout] test service::install::tests::test_prompt_for_install_model_enter_keeps_default_model ... ok
[INFO] [stdout] test service::install::tests::test_prompt_for_install_username_keeps_existing_on_empty_input ... ok
[INFO] [stdout] test service::install::tests::test_prompt_for_install_username_rejects_only_at_sign ... ok
[INFO] [stdout] test service::install::tests::test_prompt_for_install_username_strips_leading_at_and_lowercases ... ok
[INFO] [stdout] test service::lifecycle::tests::test_install_service_with_fake_systemd_writes_config_and_starts_new_service ... ok
[INFO] [stdout] test progress::tests::test_live_progress_emits_heartbeat_for_long_running_work ... ok
[INFO] [stdout] test run_context::tests::test_prepare_run_context_attaches_memory_prompt ... ok
[INFO] [stdout] test service::lifecycle::tests::test_service_lifecycle_with_fake_systemd_requires_managed_install_and_runs_command ... ok
[INFO] [stdout] test service::managed_env::tests::test_render_service_env_file_omits_optional_lines_when_unset ... ok
[INFO] [stdout] test service::managed_env::tests::test_render_service_env_file_round_trips_operator_config_in_one_write ... ok
[INFO] [stdout] test service::install::tests::test_prepare_install_workspace_creates_current_workspace_state_layout ... ok
[INFO] [stdout] test service::uninstall::tests::test_cleanup_binary_for_uninstall_removes_installed_binary ... ok
[INFO] [stdout] test service::upgrade::tests::test_parse_sha256_empty_lines_skipped ... ok
[INFO] [stdout] test service::upgrade::tests::test_parse_sha256_missing_asset_returns_error ... ok
[INFO] [stdout] test service::upgrade::tests::test_parse_sha256_normalises_uppercase ... ok
[INFO] [stdout] test service::lifecycle::tests::test_reinstall_with_fake_systemd_restarts_existing_service ... ok
[INFO] [stdout] test service::uninstall::tests::test_cleanup_binary_for_uninstall_preserves_source_checkout_binary ... ok
[INFO] [stdout] test service::upgrade::tests::test_parse_sha256_single_space_format ... ok
[INFO] [stdout] test service::upgrade::tests::test_parse_sha256_two_space_format ... ok
[INFO] [stdout] test service::upgrade::tests::test_parse_sha256_with_path_prefix ... ok
[INFO] [stdout] test service::upgrade::tests::test_release_target_on_linux_x86_64 ... ok
[INFO] [stdout] test telegram::admission::tests::test_decide_inbound_admission_binds_sender_user_id_in_private_dm ... ok
[INFO] [stdout] test telegram::admission::tests::test_decide_inbound_admission_passes_through_already_bound_allow ... ok
[INFO] [stdout] test telegram::admission::tests::test_decide_inbound_admission_passes_through_denied ... ok
[INFO] [stdout] test telegram::admission::tests::test_decide_inbound_admission_rejects_first_binding_without_identity ... ok
[INFO] [stdout] test telegram::admission::tests::test_decide_inbound_admission_rejects_group_before_any_admission_side_effect ... ok
[INFO] [stdout] test telegram::approval::tests::test_approval_reply_markup_contains_approve_and_deny_buttons ... ok
[INFO] [stdout] test telegram::approval::tests::test_capability_approval_includes_reason_and_scope_options ... ok
[INFO] [stdout] test telegram::approval::tests::test_parse_approval_callback_data_recognizes_buttons ... ok
[INFO] [stdout] test telegram::commands::tests::test_handle_help_includes_key_sections ... ok
[INFO] [stdout] test telegram::approval::tests::test_format_approval_resolution_includes_short_summary ... ok
[INFO] [stdout] test telegram::router::tests::test_classify_telegram_text_route_matches_declared_command_surface ... ok
[INFO] [stdout] test telegram::router::tests::test_classify_telegram_text_route_separates_payload_cases ... ok
[INFO] [stdout] test telegram::router::tests::test_deliver_task_start_response_with_fake_outbound_sends_and_acknowledges ... ok
[INFO] [stdout] test telegram::commands::tests::test_declared_telegram_commands_parse_and_route ... ok
[INFO] [stdout] test telegram::commands::tests::test_handle_reset_refuses_while_task_is_running ... ok
[INFO] [stdout] test telegram::router::tests::test_route_callback_with_fake_outbound_rejects_unsupported_payload ... ok
[INFO] [stdout] test telegram::router::tests::test_route_callback_with_fake_outbound_rejects_unusable_callback_context ... ok
[INFO] [stdout] test service::managed_env::tests::test_render_managed_env_values_keeps_all_existing_entries ... ok
[INFO] [stdout] test memory::tests::test_promote_verified_task_supersedes_loaded_procedure_when_verification_changes ... ok
[INFO] [stdout] test telegram::router::tests::test_route_callback_with_fake_outbound_answers_and_edits_approval ... ok
[INFO] [stdout] test telegram::router::tests::test_route_message_rejects_unsupported_payloads_without_starting_task ... ok
[INFO] [stdout] test telegram::router::tests::test_route_message_with_fake_outbound_rejects_non_private_chat ... ok
[INFO] [stdout] test telegram::router::tests::test_route_message_with_fake_outbound_binds_allowed_dm_and_handles_command ... ok
[INFO] [stdout] test telegram::session::tests::test_access_grant_command_normalizes_home_targets ... ok
[INFO] [stdout] test telegram::session::tests::test_bind_dm_user_id_preserves_allowed_username_key_in_env_file ... ok
[INFO] [stdout] test telegram::router::tests::test_route_message_with_fake_outbound_returns_task_start_for_plain_text ... ok
[INFO] [stdout] test telegram::session::tests::test_check_dm_admission_uses_user_id_not_chat_id_for_bound_check ... ok
[INFO] [stdout] test telegram::session::tests::test_clear_workspace_telegram_history_removes_all_chat_transcripts ... ok
[INFO] [stdout] test telegram::session::tests::test_current_model_label_for_help_shows_override_and_default ... ok
[INFO] [stdout] test telegram::session::tests::test_bind_dm_user_id_preserving_username_means_reinstall_preserves_binding ... ok
[INFO] [stdout] test telegram::session::tests::test_check_dm_admission_is_case_insensitive ... ok
[INFO] [stdout] test progress::tests::test_live_progress_dedupes_identical_retry_updates ... ok
[INFO] [stdout] test telegram::session::tests::test_help_model_label_falls_back_to_active_route_when_it_matches_default ... ok
[INFO] [stdout] test telegram::session::tests::test_help_model_label_shows_override_and_default_when_they_differ ... ok
[INFO] [stdout] test telegram::session::tests::test_dm_access_label_describes_admission_state ... ok
[INFO] [stdout] test telegram::session::tests::test_history_is_saved_to_disk_as_user_visible_transcript_only ... ok
[INFO] [stdout] test telegram::session::tests::test_memory_context_retrieves_targeted_transcript_snippet_instead_of_restoring_whole_history ... ok
[INFO] [stdout] test telegram::session::tests::test_notify_polling_recovered_emits_working_progress_to_running_chat ... ok
[INFO] [stdout] test telegram::session::tests::test_outcome_error_with_no_progress_persists_instruction ... ok
[INFO] [stdout] test telegram::session::tests::test_outcome_error_with_progress_persists_only_instruction ... ok
[INFO] [stdout] test telegram::session::tests::test_outcome_ok_with_promotion_notes_appends_trust_section ... ok
[INFO] [stdout] test telegram::session::tests::test_outcome_ok_persists_both_instruction_and_response ... ok
[INFO] [stdout] test telegram::router::tests::test_route_resume_command_starts_task_from_typed_evidence ... ok
[INFO] [stdout] test telegram::session::tests::test_notify_polling_retry_emits_retrying_progress_to_running_chat ... ok
[INFO] [stdout] test telegram::session::tests::test_outcome_stopped_persists_only_instruction ... ok
[INFO] [stdout] test telegram::session::tests::test_persist_visible_exchange_skips_undelivered_assistant_reply ... ok
[INFO] [stdout] test telegram::session::tests::test_persist_visible_exchange_stores_only_delivered_messages ... ok
[INFO] [stdout] test telegram::session::tests::test_pending_approvals_reply_lists_request_ids ... ok
[INFO] [stdout] test telegram::session::tests::test_resolve_approval_callback_updates_pending_request ... ok
[INFO] [stdout] test telegram::session::tests::test_resolve_approval_command_updates_pending_request ... ok
[INFO] [stdout] test telegram::session::tests::test_run_telegram_uses_config_admission_fields_not_defaults ... ok
[INFO] [stdout] test telegram::session::tests::test_reset_chat_clears_persisted_history_file ... ok
[INFO] [stdout] test telegram::session::tests::test_running_chat_task_instruction_is_preserved_through_stop ... ok
[INFO] [stdout] test telegram::session::tests::test_reset_chat_preserves_operator_and_workspace_memory_artifacts ... ok
[INFO] [stdout] test telegram::session::tests::test_running_chat_task_carries_instruction_and_start_time ... ok
[INFO] [stdout] test telegram::session::tests::test_post_restart_persist_keeps_pre_restart_exchange_in_file ... ok
[INFO] [stdout] test telegram::session::tests::test_stop_chat_cancels_running_task_and_emits_stopping_progress ... ok
[INFO] [stdout] test workspace_state::tests::test_ensure_workspace_state_creates_schema_marker_and_required_layout ... ok
[INFO] [stdout] test telegram::session::tests::test_stop_chat_returns_false_when_idle ... ok
[INFO] [stdout] test workspace_state::tests::test_ensure_workspace_state_rejects_wrong_state_model ... ok
[INFO] [stdout] test workspace_state::tests::test_inspect_workspace_state_rejects_wrong_state_model ... ok
[INFO] [stdout] test workspace_state::tests::test_supported_workspace_state_paths_are_the_current_layout ... ok
[INFO] [stdout] test workspace_state::tests::test_supported_workspace_state_paths_encode_prompt_boundaries ... ok
[INFO] [stdout] test workspace_state::tests::test_inspect_workspace_state_reports_unsupported_top_level_entries ... ok
[INFO] [stdout] test telegram::session::tests::test_telegram_build_run_context_matches_one_shot_context_and_keeps_prompt_targeted ... ok
[INFO] [stdout] test memory::tests::test_restore_followed_by_read_only_run_has_no_false_proof_or_promotion ... ok
[INFO] [stdout] test telegram::session::tests::test_telegram_run_evidence_commands_render_compact_proof ... ok
[INFO] [stdout] test telegram::session::tests::test_telegram_resume_refuses_blocked_approval_without_auto_execution ... ok
[INFO] [stdout] test telegram::router::tests::test_route_message_routes_each_declared_command_without_starting_task ... ok
[INFO] [stderr]      Running tests/current_flows_test.rs (/opt/rustwide/target/debug/deps/current_flows_test-6e0f06509f420ce2)
[INFO] [stdout] test memory::tests::test_actual_low_trust_verified_run_blocks_procedure_promotion ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 259 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.43s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test uninstall_flow_preserves_workspace_state_until_explicit_purge ... ok
[INFO] [stdout] test run_snapshot_absent_flow_reports_explicit_none_without_creating_state ... ok
[INFO] [stdout] test service_lifecycle_flow_controls_installed_background_service ... ok
[INFO] [stdout] test installed_runtime_contract_agrees_across_config_status_and_doctor ... ok
[INFO] [stdout] test run_snapshot_cli_flow_reports_diffs_restores_files_and_clears_transcripts ... ok
[INFO] [stdout] test model_lifecycle_preserves_provider_and_surfaces_current_contract ... ok
[INFO] [stdout] test workspace_learning_flow_keeps_prompt_memory_governance_and_exports_separate ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/installer_script_test.rs (/opt/rustwide/target/debug/deps/installer_script_test-aa25b4fb16a95ea4)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_install_script_installs_precompiled_release_asset_from_local_release_dir ... ok
[INFO] [stderr]      Running tests/release_gate_smoke_test.rs (/opt/rustwide/target/debug/deps/release_gate_smoke_test-b88f87a7361ca664)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.99s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test release_runs_full_quality_gate_before_packaging_or_publishing ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/review_rules_smoke_test.rs (/opt/rustwide/target/debug/deps/review_rules_smoke_test-6e502ca9e3ee9712)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test agents_md_points_to_review_rules_as_authoritative ... ok
[INFO] [stdout] test review_rules_has_required_sections ... ok
[INFO] [stderr]      Running tests/smoke_test.rs (/opt/rustwide/target/debug/deps/smoke_test-e5ed17bf6377a995)
[INFO] [stdout] test review_rules_has_no_placeholder_phrases ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 33 tests
[INFO] [stdout] test test_cli_docs_consistency_readme_covers_all_subcommands ... ok
[INFO] [stdout] test test_cli_config_inspect_shows_expected_fields ... ok
[INFO] [stdout] test test_cli_install_help_documents_operator_flags ... ok
[INFO] [stdout] test test_cli_help_uses_surface_constants_for_key_commands ... ok
[INFO] [stdout] test test_cli_memory_lint_clean_workspace_ok ... ok
[INFO] [stdout] test test_cli_help_mentions_workspace ... ok
[INFO] [stdout] test test_cli_memory_status_initializes_workspace_state_schema ... ok
[INFO] [stdout] test test_cli_config_inspect_graceful_without_install ... ok
[INFO] [stdout] test test_cli_smoke_help ... ok
[INFO] [stdout] test test_cli_memory_status_reports_learning_layers_for_fresh_workspace ... ok
[INFO] [stdout] test test_cli_telegram_help_documents_operator_flags ... ok
[INFO] [stdout] test test_cli_config_inspect_does_not_reveal_api_key_value ... ok
[INFO] [stdout] test test_install_script_has_valid_syntax ... ok
[INFO] [stdout] test test_install_script_points_users_to_topagent_install ... ok
[INFO] [stdout] test test_install_script_prefers_release_assets ... ok
[INFO] [stdout] test test_model_set_does_not_change_provider_is_documented ... ok
[INFO] [stdout] test test_operations_docs_cover_current_workspace_state_schema ... ok
[INFO] [stdout] test test_operations_docs_cover_lifecycle_sources_of_truth ... ok
[INFO] [stdout] test test_operations_docs_cover_model_management ... ok
[INFO] [stdout] test test_operations_docs_cover_run_snapshot_management ... ok
[INFO] [stdout] test test_readme_and_architecture_document_governed_learning_layers ... ok
[INFO] [stdout] test test_cli_status_reports_lifecycle_sources_of_truth ... ok
[INFO] [stdout] test test_readme_bot_commands_table_agrees_with_bot_commands_truth ... ok
[INFO] [stdout] test test_readme_documents_running_from_workspace_directory ... ok
[INFO] [stdout] test test_readme_documents_uninstall ... ok
[INFO] [stdout] test test_readme_documents_product_install_commands ... ok
[INFO] [stdout] test test_release_workflow_exists_and_uses_tag_trigger ... ok
[INFO] [stdout] test test_cli_invalid_workspace_fails_fast ... ok
[INFO] [stdout] test test_cli_bare_instruction_requires_api_key ... ok
[INFO] [stdout] test test_cli_telegram_requires_token ... ok
[INFO] [stdout] test test_cli_telegram_invalid_workspace_fails_fast ... ok
[INFO] [stdout] test test_cli_telegram_invalid_token_format ... ok
[INFO] [stdout] test test_cli_telegram_fails_fast_when_openrouter_api_key_missing ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 33 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.28s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/topagent_core-f1dd0c26c4a54dc5)
[INFO] [stdout] 
[INFO] [stdout] running 338 tests
[INFO] [stdout] test agent::planning_gate::tests::test_activate_resets_escalation_and_blocks ... ok
[INFO] [stdout] test agent::planning_gate::tests::test_deactivate_clears_gate_and_block_count ... ok
[INFO] [stdout] test agent::planning_gate::tests::test_activate_with_required_true_sets_active_state ... ok
[INFO] [stdout] test agent::planning_gate::tests::test_activate_with_required_false_keeps_inactive ... ok
[INFO] [stdout] test agent::planning_gate::tests::test_deactivate_preserves_required_for_task ... ok
[INFO] [stdout] test agent::planning_gate::tests::test_escalate_from_inactive_state ... ok
[INFO] [stdout] test agent::planning_gate::tests::test_is_blocked_requires_active_gate_no_plan_and_positive_blocks ... ok
[INFO] [stdout] test agent::planning_gate::tests::test_new_gate_is_inactive ... ok
[INFO] [stdout] test agent::planning_gate::tests::test_note_block_increments_count ... ok
[INFO] [stdout] test agent::planning_gate::tests::test_reset_block_count_zeros_count ... ok
[INFO] [stdout] test agent::planning_gate::tests::test_task_mode_varies_with_classification ... ok
[INFO] [stdout] test agent::run_loop::tests::test_suggest_verification_returns_some_when_cargo_toml_present ... ok
[INFO] [stdout] test agent::planning_gate::tests::test_escalate_activates_gate_and_sets_escalated ... ok
[INFO] [stdout] test agent::run_loop::tests::test_suggest_verification_returns_none_when_no_marker_file ... ok
[INFO] [stdout] test agent::run_loop::tests::test_suggest_verification_skips_non_matching_markers ... ok
[INFO] [stdout] test agent::tests::test_agent_provider_cannot_bypass_harness_with_hidden_mutation_tool ... ok
[INFO] [stdout] test agent::tests::test_agent_tool_calls_go_through_harness_dispatcher ... ok
[INFO] [stdout] test agent::tests::test_denied_capability_approval_renders_clear_tool_result ... ok
[INFO] [stdout] test agent::tests::test_approved_capability_request_executes_without_model_guessing ... ok
[INFO] [stdout] test agent::tests::test_extract_exit_code_negative ... ok
[INFO] [stdout] test agent::tests::test_extract_exit_code_no_prefix_defaults_to_failure ... ok
[INFO] [stdout] test agent::tests::test_extract_exit_code_nonzero ... ok
[INFO] [stdout] test agent::tests::test_extract_exit_code_zero ... ok
[INFO] [stdout] test agent::tests::test_compaction_preserves_objective_plan_and_approval_state_in_prompt_rebuild ... ok
[INFO] [stdout] test agent::tests::test_low_trust_context_requires_elevated_approval_for_destructive_bash ... ok
[INFO] [stdout] test agent::tests::test_inspection_only_task_does_not_get_blocked_unnecessarily ... ok
[INFO] [stdout] test agent::tests::test_memory_write_tool_sets_durable_memory_written_flag ... ok
[INFO] [stdout] test agent::tests::test_eval_jsonl_path_records_real_agent_run_without_prompt_memory ... ok
[INFO] [stdout] test agent::tests::test_no_mailbox_capability_approval_required_renders_structured_tool_result ... ok
[INFO] [stdout] test agent::tests::test_git_commit_requires_approval_and_does_not_execute_silently ... ok
[INFO] [stdout] test agent::tests::test_low_trust_context_does_not_block_read_only_bash_analysis ... ok
[INFO] [stdout] test agent::tests::test_approved_git_commit_executes_through_waiting_mailbox ... ok
[INFO] [stdout] test agent::tests::test_secret_redaction_applies_to_web_search_output ... ok
[INFO] [stdout] test agent::tests::test_text_response_accepted_after_plan_creation ... ok
[INFO] [stdout] test agent::tests::test_plan_required_task_can_verify_after_execution_happened ... ok
[INFO] [stdout] test agent::tests::test_waiting_cli_approval_resumes_exact_blocked_skill_call ... ok
[INFO] [stdout] test agent::tests::test_waiting_telegram_approval_resumes_exact_blocked_skill_call ... ok
[INFO] [stdout] test agent::tests::test_repeated_identical_commit_after_denial_requests_fresh_approval ... ok
[INFO] [stdout] test agent::tests::test_web_search_marks_remote_content_low_trust ... ok
[INFO] [stdout] test agent::tests::test_web_search_remote_content_cannot_authorize_risky_bash ... ok
[INFO] [stdout] test agent::tests::test_plan_required_task_cannot_verify_before_plan_exists ... ok
[INFO] [stdout] test agent::tests::test_web_search_remote_content_cannot_create_memory_directly ... ok
[INFO] [stdout] test approval::tests::test_mailbox_creates_inspectable_request ... ok
[INFO] [stdout] test approval::tests::test_mailbox_reissues_identical_request_after_approval ... ok
[INFO] [stdout] test approval::tests::test_mailbox_reissues_identical_request_after_denial ... ok
[INFO] [stdout] test approval::tests::test_mailbox_state_transitions_are_inspectable ... ok
[INFO] [stdout] test capability::risk::tests::test_bash_c_curl_pipe_shell_requires_approval ... ok
[INFO] [stdout] test capability::risk::tests::test_chmod_chown_outside_workspace_requires_approval ... ok
[INFO] [stdout] test capability::risk::tests::test_curl_pipe_shell_requires_approval ... ok
[INFO] [stdout] test capability::risk::tests::test_find_delete_requires_approval ... ok
[INFO] [stdout] test capability::risk::tests::test_find_exec_rm_requires_approval ... ok
[INFO] [stdout] test capability::risk::tests::test_git_push_requires_approval ... ok
[INFO] [stdout] test capability::risk::tests::test_global_package_install_requires_approval ... ok
[INFO] [stdout] test capability::risk::tests::test_network_read_command_requires_network_capability_in_workspace_profile ... ok
[INFO] [stdout] test agent::tests::test_web_search_remote_content_cannot_grant_outside_file_write ... ok
[INFO] [stdout] test capability::risk::tests::test_normal_cargo_test_does_not_require_high_risk_approval ... ok
[INFO] [stdout] test capability::risk::tests::test_python_inline_download_is_not_classified_safe ... ok
[INFO] [stdout] test capability::risk::tests::test_rm_rf_requires_approval ... ok
[INFO] [stdout] test capability::risk::tests::test_secret_path_read_requires_approval_even_in_full_profile ... ok
[INFO] [stdout] test capability::risk::tests::test_service_changes_require_approval ... ok
[INFO] [stdout] test capability::risk::tests::test_redirection_outside_workspace_requires_approval ... ok
[INFO] [stdout] test capability::risk::tests::test_sudo_requires_approval ... ok
[INFO] [stdout] test channel::telegram::tests::test_chunk_text_all_whitespace ... ok
[INFO] [stdout] test channel::telegram::tests::test_chunk_text_exact_boundary ... ok
[INFO] [stdout] test channel::telegram::tests::test_chunk_text_exactly_limit ... ok
[INFO] [stdout] test channel::telegram::tests::test_chunk_text_multiline ... ok
[INFO] [stdout] test agent::tests::test_web_search_remote_content_cannot_authorize_git_write ... ok
[INFO] [stdout] test channel::telegram::tests::test_chunk_text_nearly_empty_lines ... ok
[INFO] [stdout] test channel::telegram::tests::test_chunk_text_one_over_boundary ... ok
[INFO] [stdout] test channel::telegram::tests::test_chunk_text_short ... ok
[INFO] [stdout] test channel::telegram::tests::test_chunk_text_two_lines_exact ... ok
[INFO] [stdout] test channel::telegram::tests::test_chunk_text_very_long_line ... ok
[INFO] [stdout] test channel::telegram::tests::test_inline_keyboard_markup_serializes_callback_buttons ... ok
[INFO] [stdout] test channel::telegram::tests::test_poll_client_timeout_exceeds_poll_hold_time ... ok
[INFO] [stdout] test channel::telegram::tests::test_send_client_timeout_is_short ... ok
[INFO] [stdout] test command_availability::tests::ignores_non_executable_files_on_unix ... ok
[INFO] [stdout] test command_availability::tests::finds_executable_in_supplied_path_without_shell ... ok
[INFO] [stdout] test command_exec::tests::test_host_policy_uses_direct_command ... ok
[INFO] [stdout] test command_exec::tests::test_workspace_sandbox_plan_falls_back_when_bwrap_unavailable ... ok
[INFO] [stdout] test compaction::tests::test_auto_compaction_escalates_to_full_rebuild_when_recent_tail_is_still_too_large ... ok
[INFO] [stdout] test compaction::tests::test_auto_compaction_rebuilds_from_artifacts_and_preserves_recent_tail ... ok
[INFO] [stdout] test compaction::tests::test_auto_compaction_rejects_invalid_policy ... ok
[INFO] [stdout] test command_exec::tests::test_workspace_sandbox_plan_uses_bwrap_when_available ... ok
[INFO] [stdout] test compaction::tests::test_micro_compaction_dedupes_old_read_output_and_preserves_recent_tail ... ok
[INFO] [stdout] test context::tests::test_memory_context_round_trip ... ok
[INFO] [stdout] test context::tests::test_reject_absolute_path ... ok
[INFO] [stdout] test context::tests::test_reject_double_dot_in_path ... ok
[INFO] [stdout] test context::tests::test_reject_nested_parent_traversal ... ok
[INFO] [stdout] test context::tests::test_reject_parent_traversal ... ok
[INFO] [stdout] test context::tests::test_resolve_nested_path ... ok
[INFO] [stdout] test context::tests::test_resolve_simple_relative_path ... ok
[INFO] [stdout] test channel::telegram::tests::test_chunk_text_empty ... ok
[INFO] [stdout] test context::tests::test_run_snapshot_store_round_trip ... ok
[INFO] [stdout] test context::tests::test_run_trust_context_round_trip ... ok
[INFO] [stdout] test context::tests::test_write_inside_workspace ... ok
[INFO] [stdout] test eval::tests::test_eval_record_captures_required_fields ... ok
[INFO] [stdout] test context::tests::test_tool_context_exposes_authorized_runtime_boundary ... ok
[INFO] [stdout] test model::tests::test_default_route_is_openrouter ... ok
[INFO] [stdout] test model::tests::test_dual_provider_seam_uses_distinct_base_urls ... ok
[INFO] [stdout] test model::tests::test_model_route_equality ... ok
[INFO] [stdout] test model::tests::test_model_route_preserves_explicit_model_id_across_providers ... ok
[INFO] [stdout] test model::tests::test_opencode_route ... ok
[INFO] [stdout] test model::tests::test_opencode_route_uses_opencode_provider_kind ... ok
[INFO] [stdout] test model::tests::test_provider_kind_base_url ... ok
[INFO] [stdout] test model::tests::test_provider_kind_display ... ok
[INFO] [stdout] test eval::tests::test_eval_recorder_appends_jsonl ... ok
[INFO] [stdout] test model::tests::test_with_override_opencode_default ... ok
[INFO] [stdout] test eval::tests::test_eval_records_workflow_reliability_cases_without_prompt_memory ... ok
[INFO] [stdout] test model::tests::test_with_override_switches_provider_kind ... ok
[INFO] [stdout] test model::tests::test_with_override_uses_custom_model ... ok
[INFO] [stdout] test model::tests::test_with_override_uses_default_model ... ok
[INFO] [stdout] test openrouter::tests::test_parse_multiple_tool_calls_returns_success ... ok
[INFO] [stdout] test openrouter::tests::test_build_request_uses_default_tools ... ok
[INFO] [stdout] test openrouter::tests::test_parse_malformed_tool_args_fails ... ok
[INFO] [stdout] test openrouter::tests::test_parse_text_response ... ok
[INFO] [stdout] test openrouter::tests::test_parse_tool_call_response ... ok
[INFO] [stdout] test openrouter::tests::test_tool_order_deterministic ... ok
[INFO] [stdout] test openrouter::tests::test_wire_message_assistant_tool_request ... ok
[INFO] [stdout] test openrouter::tests::test_wire_message_tool_result ... ok
[INFO] [stdout] test openrouter::tests::test_wire_message_user_text ... ok
[INFO] [stdout] test operator_profile::tests::test_render_and_parse_operator_profile_round_trip ... ok
[INFO] [stdout] test plan::tests::test_classification_prompt_is_well_formed ... ok
[INFO] [stdout] test plan::tests::test_build_plan_generation_prompt_includes_instruction ... ok
[INFO] [stdout] test plan::tests::test_empty_plan_format_returns_no_plan_indicator ... ok
[INFO] [stdout] test plan::tests::test_coding_workflow_kind_uses_current_coding_agent_stages ... ok
[INFO] [stdout] test plan::tests::test_fast_path_broad_scope ... ok
[INFO] [stdout] test plan::tests::test_fast_path_ambiguous_returns_none ... ok
[INFO] [stdout] test plan::tests::test_fast_path_explicit_plan_request ... ok
[INFO] [stdout] test plan::tests::test_fast_path_short_instructions_are_direct ... ok
[INFO] [stdout] test plan::tests::test_fast_path_trivial_queries ... ok
[INFO] [stdout] test plan::tests::test_format_for_display_uses_symbols_not_strings ... ok
[INFO] [stdout] test plan::tests::test_parse_classification_ambiguous_defaults_to_direct ... ok
[INFO] [stdout] test plan::tests::test_parse_classification_direct ... ok
[INFO] [stdout] test plan::tests::test_parse_classification_plan ... ok
[INFO] [stdout] test plan::tests::test_parse_plan_generation_capped_at_seven ... ok
[INFO] [stdout] test plan::tests::test_parse_plan_generation_dash_bullets ... ok
[INFO] [stdout] test plan::tests::test_parse_plan_generation_empty_response ... ok
[INFO] [stdout] test plan::tests::test_parse_plan_generation_numbered_list ... ok
[INFO] [stdout] test plan::tests::test_parse_plan_generation_parenthesis_format ... ok
[INFO] [stdout] test plan::tests::test_parse_plan_generation_with_preamble ... ok
[INFO] [stdout] test plan::tests::test_plan_add_item ... ok
[INFO] [stdout] test plan::tests::test_plan_clear ... ok
[INFO] [stdout] test plan::tests::test_plan_after_clear_is_empty ... ok
[INFO] [stdout] test plan::tests::test_plan_clear_resets_next_id ... ok
[INFO] [stdout] test plan::tests::test_plan_format_empty ... ok
[INFO] [stdout] test plan::tests::test_plan_format_for_display ... ok
[INFO] [stdout] test plan::tests::test_plan_queue_status_counts_work_items ... ok
[INFO] [stdout] test plan::tests::test_plan_queue_status_tracks_coding_workflow_kinds ... ok
[INFO] [stdout] test plan::tests::test_plan_queue_status_reports_complete_only_when_all_done ... ok
[INFO] [stdout] test plan::tests::test_plan_remove_item ... ok
[INFO] [stdout] test plan::tests::test_plan_replace_removes_old_items ... ok
[INFO] [stdout] test plan::tests::test_plan_update_nonexistent_id ... ok
[INFO] [stdout] test plan::tests::test_plan_update_status ... ok
[INFO] [stdout] test plan::tests::test_task_mode_fast_path_defers_non_mutation_tasks ... ok
[INFO] [stdout] test plan::tests::test_task_mode_fast_path_detects_mutation ... ok
[INFO] [stdout] test plan::tests::test_task_mode_parse_response ... ok
[INFO] [stdout] test plan::tests::test_todo_status_always_serializes_to_canonical ... ok
[INFO] [stdout] test plan::tests::test_todo_status_deserializes_blocked ... ok
[INFO] [stdout] test plan::tests::test_todo_status_deserializes_canonical_in_progress ... ok
[INFO] [stdout] test project::tests::test_get_project_instructions_or_error_loaded ... ok
[INFO] [stdout] test project::tests::test_get_project_instructions_or_error_missing ... ok
[INFO] [stdout] test project::tests::test_load_existing_project_instructions ... ok
[INFO] [stdout] test project::tests::test_load_missing_project_instructions ... ok
[INFO] [stdout] test prompt::tests::test_render_system_prompt_includes_contract_sections ... ok
[INFO] [stdout] test prompt_budget::tests::prompt_budget_tracks_transcript_and_procedure_sections ... ok
[INFO] [stdout] test prompt_budget::tests::provider_budget_error_explains_what_to_inspect ... ok
[INFO] [stdout] test provenance::tests::test_fetched_content_source_detects_curl ... ok
[INFO] [stdout] test provenance::tests::test_low_trust_action_summary_only_mentions_action_driving_sources ... ok
[INFO] [stdout] test provenance::tests::test_operator_instruction_defaults_to_trusted_direct_source ... ok
[INFO] [stdout] test provenance::tests::test_operator_instruction_detects_pasted_untrusted_text ... ok
[INFO] [stdout] test provenance::tests::test_run_trust_context_deduplicates_sources ... ok
[INFO] [stdout] test provenance::tests::test_source_label_summary_is_compact ... ok
[INFO] [stdout] test provider::tests::test_scripted_provider_exhausted_error ... ok
[INFO] [stdout] test provider::tests::test_scripted_provider_returns_responses_in_order ... ok
[INFO] [stdout] test receipt_index::tests::receipt_index_does_not_clone_huge_outputs_into_summaries ... ok
[INFO] [stdout] test receipt_index::tests::receipt_index_identifies_local_inspection_but_not_web_search ... ok
[INFO] [stdout] test receipt_index::tests::receipt_index_redacts_secret_like_summary_content ... ok
[INFO] [stdout] test run_checkpoint::tests::run_checkpoint_includes_gaps_changed_files_and_failed_verification ... ok
[INFO] [stdout] test run_checkpoint::tests::run_checkpoint_stays_under_hard_budget ... ok
[INFO] [stdout] test run_checkpoint::tests::run_checkpoint_uses_compact_receipt_anchors_only ... ok
[INFO] [stdout] test run_evidence::tests::missing_and_corrupted_snapshot_return_useful_results ... ok
[INFO] [stdout] test run_evidence::tests::resume_prompt_uses_typed_evidence_and_stays_under_budget ... ok
[INFO] [stdout] test run_evidence::tests::snapshot_includes_blocked_approval_anchor_and_redacts_secret_like_content ... ok
[INFO] [stdout] test agent::tests::test_verification_only_task_does_not_get_blocked_unnecessarily ... ok
[INFO] [stdout] test run_evidence::tests::snapshot_includes_workflow_queue_files_and_failed_verification ... ok
[INFO] [stdout] test agent::tests::test_plan_required_task_cannot_verify_before_execution_happened ... ok
[INFO] [stdout] test run_evidence::tests::snapshot_json_round_trips ... ok
[INFO] [stdout] test run_snapshot::tests::test_capture_new_file_and_restore_removes_it ... ok
[INFO] [stdout] test run_snapshot::tests::test_capture_and_restore_existing_file ... ok
[INFO] [stdout] test run_snapshot::tests::test_directory_capture_restores_and_removes_unexpected_children ... ok
[INFO] [stdout] test run_snapshot::tests::test_latest_run_snapshot_prefers_newest_capture ... ok
[INFO] [stdout] test run_snapshot::tests::test_workspace_capture_restores_and_removes_new_root_files ... ok
[INFO] [stdout] test secrets::tests::test_check_bash_env_dump_blocked ... ok
[INFO] [stdout] test run_snapshot::tests::test_capture_prunes_old_run_snapshots ... ok
[INFO] [stdout] test secrets::tests::test_check_bash_proc_environ_blocked ... ok
[INFO] [stdout] test secrets::tests::test_check_bash_safe_commands_allowed ... ok
[INFO] [stdout] test secrets::tests::test_check_bash_secret_file_blocked ... ok
[INFO] [stdout] test secrets::tests::test_check_bash_secret_var_reference_blocked ... ok
[INFO] [stdout] test secrets::tests::test_empty_secrets_not_registered ... ok
[INFO] [stdout] test secrets::tests::test_check_bash_env_subcommands_allowed ... ok
[INFO] [stdout] test secrets::tests::test_redact_key_value_pattern ... ok
[INFO] [stdout] test secrets::tests::test_redact_known_secret_value ... ok
[INFO] [stdout] test secrets::tests::test_redact_preserves_safe_text ... ok
[INFO] [stdout] test secrets::tests::test_redact_multiple_secrets_in_one_string ... ok
[INFO] [stdout] test secrets::tests::test_redact_sk_key_pattern ... ok
[INFO] [stdout] test agent::tests::test_compaction_preserves_bash_missing_verification_warning_in_snapshot ... ok
[INFO] [stdout] test project::tests::test_load_unreadable_project_instructions ... FAILED
[INFO] [stdout] test secrets::tests::test_short_secrets_not_registered ... ok
[INFO] [stdout] test session::tests::test_session_add_message ... ok
[INFO] [stdout] test secrets::tests::test_redact_telegram_token_pattern ... ok
[INFO] [stdout] test session::tests::test_session_message_count ... ok
[INFO] [stdout] test session::tests::test_session_pop_last_if_no_match ... ok
[INFO] [stdout] test session::tests::test_session_raw_messages_excludes_system_prompt ... ok
[INFO] [stdout] test session::tests::test_session_replace_messages_restores_history_without_system_prompt ... ok
[INFO] [stdout] test session::tests::test_session_truncate_history_does_nothing_when_small ... ok
[INFO] [stdout] test session::tests::test_session_truncate_history_keeps_recent_messages ... ok
[INFO] [stdout] test session::tests::test_session_pop_last_if_matches ... ok
[INFO] [stdout] test session::tests::test_session_truncate_history_preserves_order ... ok
[INFO] [stdout] test session::tests::test_session_with_system_prompt ... ok
[INFO] [stdout] test task_result::tests::test_analysis_only_returns_summary ... ok
[INFO] [stdout] test task_result::tests::test_all_failures_summary ... ok
[INFO] [stdout] test task_result::tests::test_delivery_summary_includes_workflow_summary_without_raw_verification_output ... ok
[INFO] [stdout] test task_result::tests::test_delivery_summary_audit_success_includes_local_inspection_evidence ... ok
[INFO] [stdout] test task_result::tests::test_exit_code_zero_always_renders_pass ... ok
[INFO] [stdout] test task_result::tests::test_failure_then_success_summary ... ok
[INFO] [stdout] test task_result::tests::test_final_verification_passed_uses_latest_command ... ok
[INFO] [stdout] test task_result::tests::test_failed_or_blocked_receipts_are_visible_in_proof_summary ... ok
[INFO] [stdout] test task_result::tests::test_final_verification_passed_requires_a_command ... ok
[INFO] [stdout] test task_result::tests::test_format_delivery_summary_includes_workflow_status_when_present ... ok
[INFO] [stdout] test task_result::tests::test_format_delivery_summary_returns_none_for_pure_noop_runs ... ok
[INFO] [stdout] test task_result::tests::test_low_trust_sources_render_in_proof_of_work ... ok
[INFO] [stdout] test task_result::tests::test_format_delivery_summary_emits_structured_shape_for_analysis_with_verification ... ok
[INFO] [stdout] test task_result::tests::test_may_have_partial_changes_is_true_for_interrupted_outcomes ... ok
[INFO] [stdout] test task_result::tests::test_session_outcome_defaults_to_unknown ... ok
[INFO] [stdout] test task_result::tests::test_nonzero_exit_always_renders_fail ... ok
[INFO] [stdout] test task_result::tests::test_no_verification_has_no_summary ... ok
[INFO] [stdout] test task_result::tests::test_session_outcome_label_is_human_readable ... ok
[INFO] [stdout] test task_result::tests::test_task_result_files_changed_no_verification_shows_not_performed ... ok
[INFO] [stdout] test task_result::tests::test_single_success_summary ... ok
[INFO] [stdout] test task_result::tests::test_session_outcome_is_orthogonal_to_delivery_outcome ... ok
[INFO] [stdout] test task_result::tests::test_task_result_no_evidence_returns_summary ... ok
[INFO] [stdout] test task_result::tests::test_task_result_tool_receipts_are_structured_but_not_proof_noise ... ok
[INFO] [stdout] test task_result::tests::test_task_result_full_proof ... ok
[INFO] [stdout] test task_result::tests::test_task_result_with_failed_verification ... ok
[INFO] [stdout] test task_result::tests::test_task_result_with_files_changed ... ok
[INFO] [stdout] test task_result::tests::test_task_result_with_unresolved ... ok
[INFO] [stdout] test task_result::tests::test_task_result_with_verification ... ok
[INFO] [stdout] test task_result::tests::test_verification_failure_shows_summary ... ok
[INFO] [stdout] test task_result::tests::test_with_session_outcome_sets_and_reads_back ... ok
[INFO] [stdout] test task_result::tests::test_task_result_tool_trace_does_not_change_proof_format ... ok
[INFO] [stdout] test tools::bash::tests::test_bash_output_not_truncated_for_small_output ... ok
[INFO] [stdout] test agent::tests::test_run_exposes_last_task_result_for_verified_work ... ok
[INFO] [stdout] test tools::bash::tests::test_bash_respects_workspace_root ... ok
[INFO] [stdout] test tools::bash::tests::test_bash_run_snapshot_plan_classifies_expected_cases ... ok
[INFO] [stdout] test agent::tests::test_compaction_preserves_missing_verification_warning_in_snapshot ... ok
[INFO] [stdout] test tools::bash::tests::test_read_only_bash_does_not_create_run_snapshot ... ok
[INFO] [stdout] test tools::bash::tests::test_bash_echo ... ok
[INFO] [stdout] test tools::bash::tests::test_bash_exit_code ... ok
[INFO] [stdout] test tools::computer_use::tests::test_computer_use_denied_under_developer_profile ... ok
[INFO] [stdout] test tools::computer_use::tests::test_computer_use_profile_returns_explicit_scaffold_only_response ... ok
[INFO] [stdout] test tools::bash::tests::test_bash_output_truncation_respects_runtime_limit ... ok
[INFO] [stdout] test tools::edit::tests::test_edit_ambiguous_without_replace_all ... ok
[INFO] [stdout] test tools::bash::tests::test_failed_risky_bash_still_leaves_run_snapshot ... ok
[INFO] [stdout] test tools::edit::tests::test_edit_binary_file_rejected ... ok
[INFO] [stdout] test tools::edit::tests::test_edit_captures_original_file_for_run_snapshot_restore ... ok
[INFO] [stdout] test tools::edit::tests::test_edit_deterministic_single_replacement ... ok
[INFO] [stdout] test tools::edit::tests::test_edit_path_traversal_rejected ... ok
[INFO] [stdout] test tools::edit::tests::test_edit_not_found ... ok
[INFO] [stdout] test tools::edit::tests::test_edit_oversized_file_fails_clearly ... ok
[INFO] [stdout] test tools::edit::tests::test_edit_respects_custom_max_read_bytes ... ok
[INFO] [stdout] test tools::edit::tests::test_edit_replace_all ... ok
[INFO] [stdout] test tools::edit::tests::test_edit_unique_match ... ok
[INFO] [stdout] test run_evidence::tests::store_writes_latest_and_bounds_history ... ok
[INFO] [stdout] test tools::git::tests::test_git_add_empty_paths_fails ... ok
[INFO] [stdout] test tools::git::tests::test_git_branch ... ok
[INFO] [stdout] test tools::git::tests::test_git_add_stages_file ... ok
[INFO] [stdout] test tools::git::tests::test_git_status_clean_repo ... ok
[INFO] [stdout] test tools::git::tests::test_git_commit_empty_message_fails ... ok
[INFO] [stdout] test tools::operator_preference::tests::test_manage_operator_preference_blocks_low_trust_writes ... ok
[INFO] [stdout] test tools::operator_preference::tests::test_manage_operator_preference_list_empty ... ok
[INFO] [stdout] test tools::operator_preference::tests::test_manage_operator_preference_rejects_transient_session_state ... ok
[INFO] [stdout] test tools::git::tests::test_git_status_not_a_repo ... ok
[INFO] [stdout] test tools::git::tests::test_git_commit_commits_staged ... ok
[INFO] [stdout] test tools::planning::tests::test_update_plan_accepts_coding_workflow_kind ... ok
[INFO] [stdout] test tools::planning::tests::test_update_plan_canonical_in_progress_used_in_output ... ok
[INFO] [stdout] test tools::operator_preference::tests::test_manage_operator_preference_set_replaces_existing_entry_without_duplicates ... ok
[INFO] [stdout] test tools::operator_preference::tests::test_manage_operator_preference_set_list_and_remove ... ok
[INFO] [stdout] test tools::planning::tests::test_update_plan_creates_plan ... ok
[INFO] [stdout] test tools::git::tests::test_git_diff_no_changes ... ok
[INFO] [stdout] test tools::planning::tests::test_update_plan_empty_items_clears_plan ... ok
[INFO] [stdout] test tools::planning::tests::test_update_plan_rejects_invalid_status ... ok
[INFO] [stdout] test tools::planning::tests::test_update_plan_clears_with_empty_items ... ok
[INFO] [stdout] test tools::planning::tests::test_update_plan_rejects_missing_status_field ... ok
[INFO] [stdout] test tools::planning::tests::test_update_plan_rejects_missing_content_field ... ok
[INFO] [stdout] test tools::planning::tests::test_update_plan_replace_removes_stale_items ... ok
[INFO] [stdout] test tools::planning::tests::test_update_plan_updates_existing ... ok
[INFO] [stdout] test tools::read::tests::test_read_custom_max_bytes ... ok
[INFO] [stdout] test tools::read::tests::test_read_binary_file_rejected ... ok
[INFO] [stdout] test tools::read::tests::test_read_absolute_path_rejected ... ok
[INFO] [stdout] test tools::read::tests::test_read_nested_traversal_rejected ... ok
[INFO] [stdout] test tools::read::tests::test_read_file_inside_workspace ... ok
[INFO] [stdout] test tools::read::tests::test_read_path_traversal_rejected ... ok
[INFO] [stdout] test tools::read::tests::test_read_truncation ... ok
[INFO] [stdout] test tools::save_note::tests::test_save_note_creates_file ... ok
[INFO] [stdout] test tools::save_note::tests::test_save_note_minimal ... ok
[INFO] [stdout] test tools::save_note::tests::test_save_note_with_optional_fields ... ok
[INFO] [stdout] test tools::web_search::tests::test_disabled_provider_returns_clear_bounded_message ... ok
[INFO] [stdout] test tools::read::tests::test_read_truncation_preserves_utf8_boundary ... ok
[INFO] [stdout] test tools::web_search::tests::test_http_provider_distinguishes_http_failure ... ok
[INFO] [stdout] test tools::bash::tests::test_restore_after_risky_bash_move_recovers_workspace ... ok
[INFO] [stdout] test tools::web_search::tests::test_http_provider_reports_supported_empty_results ... ok
[INFO] [stdout] test tools::web_search::tests::test_http_provider_distinguishes_unsupported_json_schema ... ok
[INFO] [stdout] test tools::web_search::tests::test_http_provider_distinguishes_invalid_json ... ok
[INFO] [stdout] test tools::web_search::tests::test_output_is_bounded_and_result_count_is_capped ... ok
[INFO] [stdout] test tools::web_search::tests::test_query_length_and_max_results_are_capped_before_provider_call ... ok
[INFO] [stdout] test tools::web_search::tests::test_oversized_output_is_truncated ... ok
[INFO] [stdout] test tools::write::tests::test_write_file_inside_workspace ... ok
[INFO] [stdout] test tools::web_search::tests::test_http_provider_parses_json_results_from_configured_endpoint ... ok
[INFO] [stdout] test tools::write::tests::test_write_nested_path ... ok
[INFO] [stdout] test workflow_verification::tests::analysis_only_does_not_hide_unrecovered_receipt_issue ... ok
[INFO] [stdout] test tools::write::tests::test_write_path_traversal_rejected ... ok
[INFO] [stdout] test workflow_verification::tests::analysis_only_with_no_file_changes_can_satisfy_when_queue_complete ... ok
[INFO] [stdout] test workflow_verification::tests::analysis_only_requires_complete_queue ... ok
[INFO] [stdout] test workflow_verification::tests::audit_with_local_inspection_receipts_satisfies ... ok
[INFO] [stdout] test tools::write::tests::test_write_captures_preexisting_file_for_run_snapshot_restore ... ok
[INFO] [stdout] test workflow_verification::tests::audit_with_only_web_search_evidence_does_not_satisfy_local_repo_audit ... ok
[INFO] [stdout] test workflow_verification::tests::blocked_external_send_is_not_recovered_by_unrelated_successful_read ... ok
[INFO] [stdout] test workflow_verification::tests::failed_write_to_one_path_is_not_recovered_by_successful_write_to_another ... ok
[INFO] [stdout] test workflow_verification::tests::failed_cargo_test_is_not_recovered_by_successful_pwd ... ok
[INFO] [stdout] test workflow_verification::tests::commit_review_requires_git_diff_log_show_or_status_evidence ... ok
[INFO] [stdout] test workflow_verification::tests::failed_cargo_test_is_recovered_by_later_successful_cargo_test_but_count_remains ... ok
[INFO] [stdout] test workflow_verification::tests::patch_with_changed_files_requires_relevant_final_verification_pass ... ok
[INFO] [stdout] test workflow_verification::tests::test_workflow_requires_meaningful_verification_even_without_file_changes ... ok
[INFO] [stdout] test workflow_verification::tests::release_gate_requires_release_gate_or_equivalent_verification ... ok
[INFO] [stdout] test tools::web_search::tests::test_http_provider_parses_all_supported_result_shapes ... ok
[INFO] [stdout] test tools::bash::tests::test_risky_bash_creates_run_snapshot_with_bash_metadata ... ok
[INFO] [stdout] test openrouter::tests::test_transport_cancellation_stops_inflight_request ... ok
[INFO] [stdout] test tools::bash::tests::test_bash_can_be_cancelled ... ok
[INFO] [stderr] error: test failed, to rerun pass `-p topagent-core --lib`
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- project::tests::test_load_unreadable_project_instructions stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'project::tests::test_load_unreadable_project_instructions' (1066) panicked at crates/topagent-core/src/project.rs:89:18:
[INFO] [stdout] expected ReadError, got Loaded("test")
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x648a045c0e4a - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x648a045c0e4a - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x648a045c0e4a - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x648a045c0e4a - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x648a045d912a - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x648a045d912a - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x648a045c63f2 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x648a045c63f2 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x648a0459a72f - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x648a0459a72f - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x648a045b6a29 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x648a03d5367c - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x648a03d5367c - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x648a045b6ca2 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x648a045b6ca2 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x648a0459a7e8 - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x648a0458f629 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x648a0459b80d - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x648a045d999c - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x648a03c4f8bc - topagent_core[ee109e3a02cd990f]::project::tests::test_load_unreadable_project_instructions
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/topagent-core/src/project.rs:89:18
[INFO] [stdout]   20:     0x648a03c23547 - topagent_core[ee109e3a02cd990f]::project::tests::test_load_unreadable_project_instructions::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/topagent-core/src/project.rs:71:51
[INFO] [stdout]   21:     0x648a03b319a6 - <topagent_core[ee109e3a02cd990f]::project::tests::test_load_unreadable_project_instructions::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x648a03d4695b - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x648a03d4695b - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   24:     0x648a03d5414b - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   25:     0x648a03d5414b - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   26:     0x648a03d5414b - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x648a03d5414b - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x648a03d5414b - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x648a03d5414b - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   30:     0x648a03d5414b - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   31:     0x648a03d4d864 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   32:     0x648a03d4d864 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x648a03d56d52 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   34:     0x648a03d56d52 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   35:     0x648a03d56d52 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x648a03d56d52 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x648a03d56d52 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x648a03d56d52 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   39:     0x648a03d56d52 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x648a045bfb0f - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   41:     0x648a045bfb0f - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   42:     0x7b167f7deaa4 - <unknown>
[INFO] [stdout]   43:     0x7b167f86ba64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     project::tests::test_load_unreadable_project_instructions
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 337 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.95s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "2272d3a83df932a50c0f2fc8a97adf3fb832cbc750b666e7f7f267d626a9d0d5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2272d3a83df932a50c0f2fc8a97adf3fb832cbc750b666e7f7f267d626a9d0d5", kill_on_drop: false }`
[INFO] [stdout] 2272d3a83df932a50c0f2fc8a97adf3fb832cbc750b666e7f7f267d626a9d0d5
