[INFO] cloning repository https://github.com/bn-l/devlogger [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/bn-l/devlogger" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbn-l%2Fdevlogger", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbn-l%2Fdevlogger'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b14c0a81043a20bcbb16c819687957bc8e3c0af8 [INFO] testing bn-l/devlogger against master#f9988fefd3add01f414f52b414308e7872622fee for pr-155114 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbn-l%2Fdevlogger" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/bn-l/devlogger [INFO] finished tweaking git repo https://github.com/bn-l/devlogger [INFO] tweaked toml for git repo https://github.com/bn-l/devlogger written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/bn-l/devlogger on toolchain f9988fefd3add01f414f52b414308e7872622fee [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/bn-l/devlogger 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" "+f9988fefd3add01f414f52b414308e7872622fee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded tracing-serde v0.2.0 [INFO] [stderr] Downloaded quote v1.0.45 [INFO] [stderr] Downloaded once_cell v1.21.4 [INFO] [stderr] Downloaded tokio-macros v2.7.0 [INFO] [stderr] Downloaded ref-cast-impl v1.0.25 [INFO] [stderr] Downloaded dyn-clone v1.0.20 [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.118 [INFO] [stderr] Downloaded matchers v0.2.0 [INFO] [stderr] Downloaded ref-cast v1.0.25 [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.118 [INFO] [stderr] Downloaded windows-collections v0.3.2 [INFO] [stderr] Downloaded itoa v1.0.18 [INFO] [stderr] Downloaded serde_derive_internals v0.29.1 [INFO] [stderr] Downloaded signal-hook-registry v1.4.8 [INFO] [stderr] Downloaded schemars_derive v1.2.1 [INFO] [stderr] Downloaded pin-project-lite v0.2.17 [INFO] [stderr] Downloaded windows-threading v0.2.1 [INFO] [stderr] Downloaded cfg_aliases v0.2.1 [INFO] [stderr] Downloaded indenter v0.3.4 [INFO] [stderr] Downloaded is_terminal_polyfill v1.70.2 [INFO] [stderr] Downloaded fastrand v2.4.1 [INFO] [stderr] Downloaded semver v1.0.28 [INFO] [stderr] Downloaded clap_lex v1.1.0 [INFO] [stderr] Downloaded colorchoice v1.0.5 [INFO] [stderr] Downloaded fs2 v0.4.3 [INFO] [stderr] Downloaded darling_macro v0.23.0 [INFO] [stderr] Downloaded windows-numerics v0.3.1 [INFO] [stderr] Downloaded tempfile v3.27.0 [INFO] [stderr] Downloaded anstyle-wincon v3.0.11 [INFO] [stderr] Downloaded tracing-error v0.2.1 [INFO] [stderr] Downloaded color-spantrace v0.3.0 [INFO] [stderr] Downloaded utf8parse v0.2.2 [INFO] [stderr] Downloaded once_cell_polyfill v1.70.2 [INFO] [stderr] Downloaded strsim v0.11.1 [INFO] [stderr] Downloaded anstyle-query v1.1.5 [INFO] [stderr] Downloaded bitflags v2.11.1 [INFO] [stderr] Downloaded indoc v2.0.7 [INFO] [stderr] Downloaded rmcp-macros v1.4.0 [INFO] [stderr] Downloaded pastey v0.2.1 [INFO] [stderr] Downloaded rustc-demangle v0.1.27 [INFO] [stderr] Downloaded anstream v1.0.0 [INFO] [stderr] Downloaded darling v0.23.0 [INFO] [stderr] Downloaded anstyle v1.0.14 [INFO] [stderr] Downloaded anstyle-parse v1.0.0 [INFO] [stderr] Downloaded getrandom v0.4.2 [INFO] [stderr] Downloaded clap_derive v4.6.1 [INFO] [stderr] Downloaded r-efi v6.0.0 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.118 [INFO] [stderr] Downloaded owo-colors v4.3.0 [INFO] [stderr] Downloaded wasm-bindgen v0.2.118 [INFO] [stderr] Downloaded addr2line v0.25.1 [INFO] [stderr] Downloaded eyre v0.6.12 [INFO] [stderr] Downloaded windows-future v0.3.2 [INFO] [stderr] Downloaded futures v0.3.32 [INFO] [stderr] Downloaded clap v4.6.1 [INFO] [stderr] Downloaded mio v1.2.0 [INFO] [stderr] Downloaded indexmap v2.14.0 [INFO] [stderr] Downloaded darling_core v0.23.0 [INFO] [stderr] Downloaded schemars v1.2.1 [INFO] [stderr] Downloaded backtrace v0.3.76 [INFO] [stderr] Downloaded js-sys v0.3.95 [INFO] [stderr] Downloaded cc v1.2.60 [INFO] [stderr] Downloaded hashbrown v0.17.0 [INFO] [stderr] Downloaded tracing-subscriber v0.3.23 [INFO] [stderr] Downloaded process-wrap v9.1.0 [INFO] [stderr] Downloaded clap_builder v4.6.0 [INFO] [stderr] Downloaded chrono v0.4.44 [INFO] [stderr] Downloaded unicode-width v0.2.2 [INFO] [stderr] Downloaded gimli v0.32.3 [INFO] [stderr] Downloaded rmcp v1.4.0 [INFO] [stderr] Downloaded object v0.37.3 [INFO] [stderr] Downloaded nix v0.31.2 [INFO] [stderr] Downloaded regex-syntax v0.8.10 [INFO] [stderr] Downloaded color-eyre v0.6.5 [INFO] [stderr] Downloaded libc v0.2.185 [INFO] [stderr] Downloaded tokio v1.52.0 [INFO] [stderr] Downloaded windows v0.62.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+f9988fefd3add01f414f52b414308e7872622fee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 29fca7b20255bcbedecb08830c30278b96cc3143566ca3a633b47c0b6211d12e [INFO] running `Command { std: "docker" "start" "-a" "29fca7b20255bcbedecb08830c30278b96cc3143566ca3a633b47c0b6211d12e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "29fca7b20255bcbedecb08830c30278b96cc3143566ca3a633b47c0b6211d12e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "29fca7b20255bcbedecb08830c30278b96cc3143566ca3a633b47c0b6211d12e", kill_on_drop: false }` [INFO] [stdout] 29fca7b20255bcbedecb08830c30278b96cc3143566ca3a633b47c0b6211d12e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+f9988fefd3add01f414f52b414308e7872622fee" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] adb354ec3bb8c262e00de2f54ab67872bd998c8f2ffe3a8811476f7ab9ac81b5 [INFO] running `Command { std: "docker" "start" "-a" "adb354ec3bb8c262e00de2f54ab67872bd998c8f2ffe3a8811476f7ab9ac81b5", 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.185 [INFO] [stderr] Compiling pin-project-lite v0.2.17 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling itoa v1.0.18 [INFO] [stderr] Compiling cfg-if v1.0.4 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Compiling cfg_aliases v0.2.1 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling futures-task v0.3.32 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling futures-io v0.3.32 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling nix v0.31.2 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling nu-ansi-term v0.50.3 [INFO] [stderr] Compiling object v0.37.3 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling owo-colors v4.3.0 [INFO] [stderr] Compiling ref-cast v1.0.25 [INFO] [stderr] Compiling anstyle-parse v1.0.0 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling adler2 v2.0.1 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling bitflags v2.11.1 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling colorchoice v1.0.5 [INFO] [stderr] Compiling hashbrown v0.17.0 [INFO] [stderr] Compiling color-spantrace v0.3.0 [INFO] [stderr] Compiling anstyle v1.0.14 [INFO] [stderr] Compiling gimli v0.32.3 [INFO] [stderr] Compiling eyre v0.6.12 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling indenter v0.3.4 [INFO] [stderr] Compiling rustc-demangle v0.1.27 [INFO] [stderr] Compiling rmcp v1.4.0 [INFO] [stderr] Compiling dyn-clone v1.0.20 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling indexmap v2.14.0 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling base64 v0.22.1 [INFO] [stderr] Compiling pastey v0.2.1 [INFO] [stderr] Compiling unicode-width v0.2.2 [INFO] [stderr] Compiling indoc v2.0.7 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling mio v1.2.0 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling fs2 v0.4.3 [INFO] [stderr] Compiling addr2line v0.25.1 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling serde_derive_internals v0.29.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling tokio-macros v2.7.0 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling ref-cast-impl v1.0.25 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling schemars_derive v1.2.1 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling clap_derive v4.6.1 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling tokio v1.52.0 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling backtrace v0.3.76 [INFO] [stderr] Compiling clap v4.6.1 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling rmcp-macros v1.4.0 [INFO] [stderr] Compiling tracing-serde v0.2.0 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling tracing-subscriber v0.3.23 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling schemars v1.2.1 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling tracing-error v0.2.1 [INFO] [stderr] Compiling color-eyre v0.6.5 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling process-wrap v9.1.0 [INFO] [stderr] Compiling devlogger v1.3.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 58.65s [INFO] running `Command { std: "docker" "inspect" "adb354ec3bb8c262e00de2f54ab67872bd998c8f2ffe3a8811476f7ab9ac81b5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "adb354ec3bb8c262e00de2f54ab67872bd998c8f2ffe3a8811476f7ab9ac81b5", kill_on_drop: false }` [INFO] [stdout] adb354ec3bb8c262e00de2f54ab67872bd998c8f2ffe3a8811476f7ab9ac81b5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+f9988fefd3add01f414f52b414308e7872622fee" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c6625ff08c0600441f9ec6714e5eb953a4ad64ecd802ebddb347ca3f8bbbb5b7 [INFO] running `Command { std: "docker" "start" "-a" "c6625ff08c0600441f9ec6714e5eb953a4ad64ecd802ebddb347ca3f8bbbb5b7", kill_on_drop: false }` [INFO] [stderr] Compiling bitflags v2.11.1 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling fastrand v2.4.1 [INFO] [stderr] Compiling nix v0.31.2 [INFO] [stderr] Compiling process-wrap v9.1.0 [INFO] [stderr] Compiling rmcp v1.4.0 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling devlogger v1.3.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 35.69s [INFO] running `Command { std: "docker" "inspect" "c6625ff08c0600441f9ec6714e5eb953a4ad64ecd802ebddb347ca3f8bbbb5b7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c6625ff08c0600441f9ec6714e5eb953a4ad64ecd802ebddb347ca3f8bbbb5b7", kill_on_drop: false }` [INFO] [stdout] c6625ff08c0600441f9ec6714e5eb953a4ad64ecd802ebddb347ca3f8bbbb5b7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+f9988fefd3add01f414f52b414308e7872622fee" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] c8cbdb6f96ac6b6124a1632353a9946b8e21801134c580e3a4a9c25012ac97ca [INFO] running `Command { std: "docker" "start" "-a" "c8cbdb6f96ac6b6124a1632353a9946b8e21801134c580e3a4a9c25012ac97ca", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.31s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/devlogger-4a9a59957d829f55) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/devlogger-41feb2a08b55b3e3) [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/devlogger-mcp.rs (/opt/rustwide/target/debug/deps/devlogger_mcp-e323c6c8fdb48fd8) [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stderr] Running tests/cli_tests.rs (/opt/rustwide/target/debug/deps/cli_tests-da801951a25b71d4) [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 37 tests [INFO] [stdout] test cli_tests::global_file_flag::file_flag_defaults_to_none ... ok [INFO] [stdout] test cli_tests::global_file_flag::long_flag_is_also_global ... ok [INFO] [stdout] test cli_tests::global_file_flag::long_flag_before_subcommand ... ok [INFO] [stdout] test cli_tests::global_file_flag::short_flag_after_subcommand_with_positional ... ok [INFO] [stdout] test cli_tests::global_file_flag::short_flag_before_subcommand ... ok [INFO] [stdout] test cli_tests::global_file_flag::short_flag_after_subcommand ... ok [INFO] [stdout] test cli_tests::help_and_version::version_flag_exits_with_version_error ... ok [INFO] [stdout] test cli_tests::help_and_version::unknown_subcommand_is_error ... ok [INFO] [stdout] test cli_tests::list_parse::list_with_section_arg ... ok [INFO] [stdout] test cli_tests::help_and_version::help_flag_exits_with_help_error ... ok [INFO] [stdout] test cli_tests::list_parse::list_without_args_parses_as_list_all ... ok [INFO] [stdout] test cli_tests::move_parse::move_with_four_args_is_error ... ok [INFO] [stdout] test cli_tests::move_parse::move_accepts_date_as_id ... ok [INFO] [stdout] test cli_tests::list_parse::list_with_two_args_is_error ... ok [INFO] [stdout] test cli_tests::move_parse::move_with_one_arg_is_error ... ok [INFO] [stdout] test cli_tests::move_parse::move_with_two_args_is_error ... ok [INFO] [stdout] test cli_tests::new_parse::new_preserves_entry_whitespace_inside_quotes ... ok [INFO] [stdout] test cli_tests::help_and_version::no_subcommand_is_error ... ok [INFO] [stdout] test cli_tests::move_parse::move_with_three_args_is_from_id_to ... ok [INFO] [stdout] test cli_tests::new_parse::new_with_zero_args_is_error ... ok [INFO] [stdout] test cli_tests::new_parse::new_with_two_args_is_section_and_entry ... ok [INFO] [stdout] test cli_tests::read_parse::read_with_section_and_count ... ok [INFO] [stdout] test cli_tests::sections_parse::sections_accepts_global_file_flag ... ok [INFO] [stdout] test cli_tests::sections_parse::sections_rejects_positional_arg ... ok [INFO] [stdout] test cli_tests::update_parse::update_accepts_date_as_id ... ok [INFO] [stdout] test cli_tests::sections_parse::sections_parses_without_args ... ok [INFO] [stdout] test cli_tests::update_parse::update_with_four_args_is_error ... ok [INFO] [stdout] test cli_tests::move_parse::move_with_zero_args_is_error ... ok [INFO] [stdout] test cli_tests::new_parse::new_with_one_arg_is_error ... ok [INFO] [stdout] test cli_tests::update_parse::update_with_one_arg_is_error ... ok [INFO] [stdout] test cli_tests::update_parse::update_with_three_args_is_section_id_entry ... ok [INFO] [stdout] test cli_tests::read_parse::read_with_no_args_is_error ... ok [INFO] [stdout] test cli_tests::new_parse::new_with_three_args_is_error ... ok [INFO] [stdout] test cli_tests::update_parse::update_with_zero_args_is_error ... ok [INFO] [stderr] Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-59994f70b534b355) [INFO] [stdout] test cli_tests::read_parse::read_with_three_args_is_error ... ok [INFO] [stdout] test cli_tests::read_parse::read_with_section_arg ... ok [INFO] [stdout] test cli_tests::update_parse::update_with_two_args_is_error ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 37 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 133 tests [INFO] [stdout] test integration::edge_cases::list_on_file_with_only_prose_returns_empty_output ... ok [INFO] [stdout] test integration::duplicate_numbers::update_by_exact_date_targets_correct_entry_even_with_duplicate_numbers ... ok [INFO] [stdout] test integration::concurrency::section_gets_its_own_lockfile ... ok [INFO] [stdout] test integration::edge_cases::f_flag_accepts_relative_path ... ok [INFO] [stdout] test integration::edge_cases::long_entry_text_at_limit_is_accepted ... ok [INFO] [stdout] test integration::duplicate_numbers::list_still_works_on_file_with_duplicate_numbers ... ok [INFO] [stdout] test integration::edge_cases::empty_entry_text_is_accepted ... ok [INFO] [stdout] test integration::edge_cases::no_trailing_newline_preserved_on_update ... ok [INFO] [stdout] test integration::edge_cases::read_whole_file_dumps_bytes_verbatim_including_prose ... ok [INFO] [stdout] test integration::edge_cases::read_n_on_prose_only_file_returns_empty ... ok [INFO] [stdout] test integration::edge_cases::read_n_skips_prose_and_returns_only_entry_lines ... ok [INFO] [stdout] test integration::edge_cases::whitespace_only_entry_text_is_accepted_and_preserved ... ok [INFO] [stdout] test integration::concurrency::parallel_writers_to_different_sections_do_not_corrupt_each_other ... ok [INFO] [stdout] test integration::edge_cases::update_to_identical_text_is_a_noop_in_content_but_succeeds ... ok [INFO] [stdout] test integration::concurrency::ten_parallel_new_on_a_different_section_also_safe ... ok [INFO] [stdout] test integration::entry_text::new_accepts_entry_exactly_at_length_limit ... ok [INFO] [stdout] test integration::entry_text::new_accepts_tab_in_entry ... ok [INFO] [stdout] test integration::concurrency::twenty_parallel_new_produces_twenty_unique_numbered_entries ... ok [INFO] [stdout] test integration::entry_text::new_accepts_unicode_entry ... ok [INFO] [stdout] test integration::edge_cases::updating_last_entry_works_correctly ... ok [INFO] [stdout] test integration::edge_cases::updating_first_entry_works_correctly ... ok [INFO] [stdout] test integration::concurrency::concurrent_updates_do_not_lose_writes ... ok [INFO] [stdout] test integration::duplicate_numbers::update_by_date_prefix_errors_when_multiple_entries_match ... ok [INFO] [stdout] test integration::edge_cases::update_errors_when_no_entries_exist_even_if_file_present ... ok [INFO] [stdout] test integration::entry_text::new_rejects_entry_with_crlf ... ok [INFO] [stdout] test integration::entry_text::new_rejects_entry_with_carriage_return ... ok [INFO] [stdout] test integration::error_messages::consecutive_hyphens_section_name_error ... ok [INFO] [stdout] test integration::entry_text::update_rejects_entry_exceeding_length_limit ... ok [INFO] [stdout] test integration::file_layout::creates_parents_when_devlog_dir_missing ... ok [INFO] [stdout] test integration::file_layout::devlog_folder_is_named_uppercase_devlog ... ok [INFO] [stdout] test integration::file_layout::file_ends_with_newline ... ok [INFO] [stdout] test integration::file_layout::no_temp_file_left_behind_after_update ... ok [INFO] [stdout] test integration::entry_text::new_rejects_entry_with_newline ... ok [INFO] [stdout] test integration::duplicate_numbers::update_by_ambiguous_number_errors_with_guidance ... ok [INFO] [stdout] test integration::file_layout::section_file_matches_section_name_convention ... ok [INFO] [stdout] test integration::help_output::binary_runs_correctly_after_help_invocations ... ok [INFO] [stdout] test integration::help_output::help_exits_zero_and_lists_all_subcommands ... ok [INFO] [stdout] test integration::help_output::no_args_shows_error_and_nonzero_exit ... ok [INFO] [stdout] test integration::help_output::help_works_in_empty_directory ... ok [INFO] [stdout] test integration::file_layout::section_devlog_nests_section_subdirectory ... ok [INFO] [stdout] test integration::help_output::short_help_flag_works_too ... ok [INFO] [stdout] test integration::help_output::version_exits_zero_and_has_nonempty_output ... ok [INFO] [stdout] test integration::help_output::subcommand_help_describes_subcommand ... ok [INFO] [stdout] test integration::line_endings::crlf_file_preserved_after_update ... ok [INFO] [stdout] test integration::line_endings::crlf_preserved_across_prose_in_update ... ok [INFO] [stdout] test integration::entry_text::new_rejects_arbitrary_control_char ... ok [INFO] [stdout] test integration::line_endings::crlf_file_preserved_after_new ... ok [INFO] [stdout] test integration::line_endings::fresh_file_uses_lf_by_default ... ok [INFO] [stdout] test integration::line_endings::lf_file_stays_lf_after_new ... ok [INFO] [stdout] test integration::line_endings::list_reads_crlf_file_correctly ... ok [INFO] [stdout] test integration::line_endings::lf_file_stays_lf_after_update ... ok [INFO] [stdout] test integration::list_flow::list_all_rows_fit_in_80_columns_including_prefix ... ok [INFO] [stdout] test integration::list_flow::list_elided_count_is_accurate ... ok [INFO] [stdout] test integration::list_flow::list_output_shape_matches_canonical_entry_line ... ok [INFO] [stdout] test integration::list_flow::list_does_not_truncate_short_entries ... ok [INFO] [stdout] test integration::list_flow::list_all_prefixes_each_line_with_section_name ... ok [INFO] [stdout] test integration::entry_text::update_rejects_entry_with_newline ... ok [INFO] [stdout] test integration::list_flow::list_sections_are_independent ... ok [INFO] [stdout] test integration::duplicate_numbers::update_by_ambiguous_number_does_not_mutate_file ... ok [INFO] [stdout] test integration::list_flow::list_truncates_by_display_width_for_wide_glyphs ... ok [INFO] [stdout] test integration::entry_text::update_rejects_entry_with_carriage_return ... ok [INFO] [stdout] test integration::list_flow::list_shows_entries_in_order ... ok [INFO] [stdout] test integration::move_flow::move_appends_newer_entry_to_end_of_dest ... ok [INFO] [stdout] test integration::move_flow::move_by_exact_date_resolves_target ... ok [INFO] [stdout] test integration::list_flow::list_with_no_args_on_empty_project_prints_nothing ... ok [INFO] [stdout] test integration::move_flow::move_preserves_prose_in_both_files ... ok [INFO] [stdout] test integration::move_flow::move_renumbers_source_after_removal ... ok [INFO] [stdout] test integration::list_flow::list_truncates_long_entries_to_80_chars_with_suffix ... ok [INFO] [stdout] test integration::error_messages::numeric_section_name_error_mentions_the_bad_char ... ok [INFO] [stdout] test integration::move_flow::move_slots_entry_in_middle_by_date ... ok [INFO] [stdout] test integration::move_flow::move_to_new_section_creates_it ... ok [INFO] [stdout] test integration::new_flow::each_entry_on_its_own_line ... ok [INFO] [stdout] test integration::error_messages::leading_hyphen_section_name_error ... ok [INFO] [stdout] test integration::new_flow::entry_text_with_pipes_survives_round_trip ... ok [INFO] [stdout] test integration::new_flow::entry_text_with_colons_survives_round_trip ... ok [INFO] [stdout] test integration::error_messages::parse_error_on_read_also_surfaces ... ok [INFO] [stdout] test integration::new_flow::new_appends_rather_than_overwriting ... ok [INFO] [stdout] test integration::new_flow::first_entry_numbered_one ... ok [INFO] [stdout] test integration::new_flow::first_new_creates_devlog_directory_and_file ... ok [INFO] [stdout] test integration::new_flow::new_without_dash_f_uses_cwd ... ok [INFO] [stdout] test integration::new_flow::section_new_creates_section_subdir ... ok [INFO] [stdout] test integration::error_messages::trailing_hyphen_section_name_error ... ok [INFO] [stdout] test integration::new_flow::section_numbering_is_independent ... ok [INFO] [stdout] test integration::new_flow::sequential_numbering ... ok [INFO] [stdout] test integration::numbering::new_after_large_existing_number_continues_correctly ... ok [INFO] [stdout] test integration::numbering::first_entry_in_empty_file_gets_number_one ... ok [INFO] [stdout] test integration::numbering::next_new_continues_past_hand_edited_gap ... ok [INFO] [stdout] test integration::entry_text::new_rejects_entry_exceeding_length_limit ... ok [INFO] [stdout] test integration::numbering::update_preserves_number_even_for_hand_edited_non_sequential_file ... ok [INFO] [stdout] test integration::numbering::update_does_not_shift_subsequent_numbers ... ok [INFO] [stdout] test integration::numbering::numbering_is_per_section ... ok [INFO] [stdout] test integration::read_flow::read_last_n_returns_tail ... ok [INFO] [stdout] test integration::read_flow::read_full_file ... ok [INFO] [stdout] test integration::read_flow::read_n_larger_than_count_returns_all ... ok [INFO] [stdout] test integration::read_flow::read_last_two ... ok [INFO] [stdout] test integration::read_flow::read_section_last_n ... ok [INFO] [stdout] test integration::read_flow::read_section_full ... ok [INFO] [stdout] test integration::read_flow::read_without_section_is_error ... ok [INFO] [stdout] test integration::section_flow::hyphenated_section_names_work ... ok [INFO] [stdout] test integration::read_flow::read_zero_returns_empty ... ok [INFO] [stdout] test integration::section_flow::section_creates_expected_path ... ok [INFO] [stdout] test integration::section_flow::multiple_sections_are_isolated ... ok [INFO] [stdout] test integration::error_messages::parse_error_does_not_dump_file_contents_via_cli ... ok [INFO] [stdout] test integration::sections_flow::sections_lists_multiple_real_sections ... ok [INFO] [stdout] test integration::sections_flow::sections_on_empty_project_prints_nothing ... ok [INFO] [stdout] test integration::sections_flow::sections_prints_created_sections_alphabetically ... ok [INFO] [stdout] test integration::sections_flow::sections_reflects_added_sections_across_invocations ... ok [INFO] [stdout] test integration::update_flow::update_by_date_prefix_when_unique ... ok [INFO] [stdout] test integration::update_flow::update_by_exact_date ... ok [INFO] [stdout] test integration::update_flow::update_by_number_replaces_text ... ok [INFO] [stdout] test integration::error_messages::read_fails_on_invalid_n_format ... ok [INFO] [stdout] test integration::move_flow::move_unknown_id_errors ... ok [INFO] [stdout] test integration::new_flow::new_fails_on_invalid_section_name ... ok [INFO] [stdout] test integration::error_messages::parse_error_is_single_line_with_path_and_line_number ... ok [INFO] [stdout] test integration::error_messages::uppercase_section_name_error ... ok [INFO] [stdout] test integration::update_flow::update_preserves_prose_between_entries ... ok [INFO] [stdout] test integration::update_flow::update_preserves_other_entries ... ok [INFO] [stdout] test integration::update_flow::update_section_entry ... ok [INFO] [stdout] test integration::update_flow::update_preserves_entry_number_and_date ... ok [INFO] [stdout] test integration::move_flow::move_rejects_invalid_dest_section ... ok [INFO] [stdout] test integration::move_flow::move_same_section_errors ... ok [INFO] [stdout] test integration::list_flow::list_missing_section_errors ... ok [INFO] [stdout] test integration::list_flow::list_section_on_missing_file_errors ... ok [INFO] [stdout] test integration::new_flow::new_reports_exhaustion_instead_of_overflowing_u32_max ... ok [INFO] [stdout] test integration::list_flow::list_rejects_invalid_section_name ... ok [INFO] [stdout] test integration::read_flow::read_missing_file_errors ... ok [INFO] [stdout] test integration::update_flow::update_missing_file_errors ... ok [INFO] [stdout] test integration::move_flow::move_missing_source_errors ... ok [INFO] [stdout] test integration::sections_flow::sections_ignores_stray_directories ... ok [INFO] [stdout] test integration::update_flow::update_invalid_id_errors ... ok [INFO] [stdout] test integration::update_flow::update_rejects_invalid_section_name ... ok [INFO] [stdout] test integration::update_flow::update_nonexistent_number_errors ... ok [INFO] [stdout] test integration::section_flow::section_name_validation_errors_on_every_command ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 133 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 11.77s [INFO] [stdout] [INFO] [stderr] Running tests/mcp.rs (/opt/rustwide/target/debug/deps/mcp-9c521f9f13176197) [INFO] [stdout] [INFO] [stdout] running 170 tests [INFO] [stdout] test mcp::args_schema::list_args_schema_has_no_required_fields ... ok [INFO] [stdout] test mcp::args_schema::new_args_schema_has_required_section_and_text ... ok [INFO] [stdout] test mcp::args_schema::arg_descriptions_travel_from_doc_comments_to_schema ... ok [INFO] [stdout] test mcp::args_schema::update_args_schema_requires_section_id_and_text ... ok [INFO] [stdout] test mcp::args_schema::move_args_schema_requires_from_section_id_and_to_section ... ok [INFO] [stdout] test mcp::args_schema::sections_args_schema_has_no_required_fields ... ok [INFO] [stdout] test mcp::base_dir::default_base_accessor_returns_configured_path ... ok [INFO] [stdout] test mcp::base_dir::empty_string_base_dir_falls_back_to_default ... ok [INFO] [stdout] test mcp::base_dir::list_reads_from_override_base_dir ... ok [INFO] [stdout] test mcp::args_schema::read_args_schema_requires_only_section ... ok [INFO] [stdout] test mcp::base_dir::new_honours_base_dir_override ... ok [INFO] [stdout] test mcp::convert_roundtrip::entries_to_json_preserves_input_order ... ok [INFO] [stdout] test mcp::convert_roundtrip::entry_json_serializes_to_expected_json_shape ... ok [INFO] [stdout] test mcp::convert_roundtrip::entry_json_has_number_date_text_and_line ... ok [INFO] [stderr] 2026-05-04T12:29:34.846146Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stderr] 2026-05-04T12:29:34.847240Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::convert_roundtrip::section_entries_json_serializes_as_object_with_section_and_entries ... ok [INFO] [stderr] 2026-05-04T12:29:34.851785Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stderr] 2026-05-04T12:29:34.854969Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stderr] 2026-05-04T12:29:34.854969Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stderr] 2026-05-04T12:29:34.859814Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::convert_roundtrip::owned_entry_into_entry_json_works ... ok [INFO] [stderr] 2026-05-04T12:29:34.863041Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::base_dir::new_writes_to_default_base_when_override_omitted ... ok [INFO] [stdout] test mcp::base_dir::sections_honours_override_base_dir ... ok [INFO] [stderr] 2026-05-04T12:29:34.876592Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stderr] 2026-05-04T12:29:34.878432Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stderr] 2026-05-04T12:29:34.890020Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stderr] 2026-05-04T12:29:34.890557Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stderr] 2026-05-04T12:29:34.892025Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::concurrency::parallel_mixed_sections_do_not_interfere ... ok [INFO] [stderr] 2026-05-04T12:29:34.895094Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stderr] 2026-05-04T12:29:34.897636Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stderr] 2026-05-04T12:29:34.908661Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::concurrency::parallel_new_calls_produce_unique_contiguous_numbers ... ok [INFO] [stderr] 2026-05-04T12:29:34.927349Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stderr] 2026-05-04T12:29:35.353696Z WARN rmcp::service: response error id=1 error=ErrorData { code: ErrorCode(-32602), message: "failed to deserialize parameters: missing field `text`", data: None } [INFO] [stdout] test mcp::e2e_all_tools_errors::list_invalid_section_name_is_tool_error_over_wire ... ok [INFO] [stdout] test mcp::e2e_all_tools_errors::missing_required_argument_surfaces_as_protocol_error ... ok [INFO] [stderr] 2026-05-04T12:29:35.359648Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::e2e_all_tools_errors::new_with_digits_in_section_is_tool_error_over_wire ... ok [INFO] [stdout] test mcp::e2e_all_tools_errors::new_with_empty_section_is_tool_error_over_wire ... ok [INFO] [stdout] test mcp::e2e_all_tools_errors::move_missing_source_section_is_tool_error_over_wire ... ok [INFO] [stderr] 2026-05-04T12:29:35.365120Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stderr] 2026-05-04T12:29:35.366217Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stderr] 2026-05-04T12:29:35.367541Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stderr] 2026-05-04T12:29:35.367908Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::e2e_all_tools_errors::list_missing_section_is_tool_error_over_wire ... ok [INFO] [stdout] test mcp::e2e_all_tools_errors::move_invalid_dest_section_is_tool_error_over_wire ... ok [INFO] [stderr] 2026-05-04T12:29:35.378738Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stderr] 2026-05-04T12:29:35.379649Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::e2e_all_tools_errors::new_with_newline_in_text_is_tool_error_over_wire ... ok [INFO] [stderr] 2026-05-04T12:29:35.390089Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::e2e_all_tools_errors::invalid_base_dir_override_read_is_tool_error ... ok [INFO] [stderr] 2026-05-04T12:29:35.400874Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::e2e_all_tools_errors::new_with_oversized_text_is_tool_error_over_wire ... ok [INFO] [stdout] test mcp::e2e_all_tools_errors::new_with_control_character_in_text_is_tool_error_over_wire ... ok [INFO] [stdout] test mcp::e2e_all_tools_errors::new_with_uppercase_section_is_tool_error_over_wire ... ok [INFO] [stdout] test mcp::e2e_all_tools_errors::move_to_same_section_is_tool_error_over_wire ... ok [INFO] [stderr] 2026-05-04T12:29:35.410127Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stderr] 2026-05-04T12:29:35.410239Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::e2e_all_tools_errors::read_missing_section_is_tool_error_over_wire ... ok [INFO] [stderr] 2026-05-04T12:29:35.412659Z WARN rmcp::service: response error id=1 error=ErrorData { code: ErrorCode(-32602), message: "tool not found", data: None } [INFO] [stderr] 2026-05-04T12:29:35.414484Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::e2e_all_tools_errors::unknown_tool_name_surfaces_as_protocol_error ... ok [INFO] [stderr] 2026-05-04T12:29:35.416574Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stderr] 2026-05-04T12:29:35.416657Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stderr] 2026-05-04T12:29:35.419754Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::e2e_all_tools_errors::update_missing_section_is_tool_error_over_wire ... ok [INFO] [stderr] 2026-05-04T12:29:35.451060Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stderr] 2026-05-04T12:29:35.870348Z WARN rmcp::service: response error id=1 error=ErrorData { code: ErrorCode(-32602), message: "failed to deserialize parameters: invalid type: integer `42`, expected a string", data: None } [INFO] [stdout] test mcp::e2e_all_tools_errors::update_rejects_multiline_replacement_over_wire ... ok [INFO] [stdout] test mcp::e2e_all_tools_errors::wrong_argument_type_is_rejected_at_protocol_layer ... ok [INFO] [stdout] test mcp::e2e_all_tools_errors::update_with_oversized_text_is_tool_error_over_wire ... ok [INFO] [stderr] 2026-05-04T12:29:35.876383Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::e2e_all_tools_errors::update_unknown_id_is_tool_error_over_wire ... ok [INFO] [stderr] 2026-05-04T12:29:35.883617Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::e2e_binary_cli::help_flag_prints_usage_and_exits_zero ... ok [INFO] [stdout] test mcp::e2e_all_tools_happy::devlog_list_with_section_over_wire_returns_ordered_entries ... ok [INFO] [stdout] test mcp::e2e_all_tools_happy::devlog_move_over_wire_relocates_entry_and_preserves_date ... ok [INFO] [stdout] test mcp::e2e_binary_cli::short_help_flag_works ... ok [INFO] [stdout] test mcp::e2e_all_tools_happy::devlog_list_without_section_over_wire_groups_by_section ... ok [INFO] [stdout] test mcp::e2e_binary_cli::unknown_flag_exits_nonzero ... ok [INFO] [stdout] test mcp::e2e_binary_cli::version_flag_prints_crate_version ... ok [INFO] [stdout] test mcp::e2e_all_tools_happy::devlog_new_over_wire_writes_and_returns_confirmation ... ok [INFO] [stderr] 2026-05-04T12:29:35.900704Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stderr] 2026-05-04T12:29:35.903224Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::e2e_all_tools_happy::devlog_new_via_wire_with_explicit_base_dir_argument ... ok [INFO] [stderr] 2026-05-04T12:29:35.909940Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stderr] 2026-05-04T12:29:35.910934Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stderr] 2026-05-04T12:29:35.911130Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stderr] 2026-05-04T12:29:35.918013Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::e2e_base_dir::empty_string_base_dir_falls_back_to_default_over_wire ... ok [INFO] [stdout] test mcp::e2e_all_tools_happy::devlog_update_over_wire_preserves_number_and_date ... ok [INFO] [stdout] test mcp::e2e_all_tools_happy::devlog_read_full_over_wire_returns_exact_file_bytes ... ok [INFO] [stderr] 2026-05-04T12:29:35.932045Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::e2e_base_dir::list_override_reads_from_override_directory ... ok [INFO] [stdout] test mcp::e2e_all_tools_happy::devlog_read_last_n_over_wire_returns_entry_lines_only ... ok [INFO] [stdout] test mcp::e2e_all_tools_happy::devlog_sections_over_wire_round_trips_alphabetical ... ok [INFO] [stderr] 2026-05-04T12:29:35.954064Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::e2e_base_dir::new_override_routes_write_to_override_directory ... ok [INFO] [stderr] 2026-05-04T12:29:35.970686Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::e2e_base_dir::sections_override_reflects_override_layout ... ok [INFO] [stderr] 2026-05-04T12:29:36.410730Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::e2e_handshake::initialize_completes_and_reports_crate_identity ... ok [INFO] [stdout] test mcp::e2e_handshake::initialize_completes_within_ten_seconds ... ok [INFO] [stdout] test mcp::e2e_binary_cli::dir_flag_is_respected_by_server ... ok [INFO] [stderr] 2026-05-04T12:29:36.420742Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stderr] 2026-05-04T12:29:36.421794Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stderr] 2026-05-04T12:29:36.481333Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::e2e_inprocess_duplex::inprocess_tool_error_surfaces_as_wire_error ... ok [INFO] [stderr] 2026-05-04T12:29:36.484414Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::e2e_large_payload::long_section_name_writes_and_reads_back ... ok [INFO] [stdout] test mcp::e2e_handshake::server_instructions_are_non_empty_and_mention_every_tool ... ok [INFO] [stdout] test mcp::e2e_handshake::tools_list_exposes_the_full_devlog_surface ... ok [INFO] [stdout] test mcp::e2e_concurrency::concurrent_mixed_tool_calls_do_not_cross_contaminate ... ok [INFO] [stdout] test mcp::e2e_base_dir::read_and_update_honour_override_base_dir ... ok [INFO] [stdout] test mcp::e2e_inprocess_duplex::inprocess_handshake_and_tools_list_match_subprocess ... ok [INFO] [stderr] 2026-05-04T12:29:36.493090Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stderr] 2026-05-04T12:29:36.493278Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stderr] 2026-05-04T12:29:36.500044Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stderr] 2026-05-04T12:29:36.525221Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::e2e_inprocess_duplex::inprocess_full_tool_round_trip ... ok [INFO] [stderr] 2026-05-04T12:29:36.529142Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stderr] 2026-05-04T12:29:36.530604Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stderr] 2026-05-04T12:29:36.630448Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::e2e_concurrency::many_concurrent_new_calls_share_one_stdio_pipe ... ok [INFO] [stderr] 2026-05-04T12:29:36.653695Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::e2e_large_payload::multibyte_unicode_text_round_trips_intact ... ok [INFO] [stdout] test mcp::e2e_lifecycle::client_cancel_terminates_the_server_cleanly ... ok [INFO] [stdout] test mcp::e2e_large_payload::single_max_length_entry_text_round_trips_intact ... ok [INFO] [stdout] test mcp::e2e_inprocess_duplex::inprocess_two_clients_with_separate_base_dirs_do_not_cross_contaminate ... ok [INFO] [stderr] 2026-05-04T12:29:36.992456Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::e2e_lifecycle::initialize_and_list_tools_is_fast ... ok [INFO] [stderr] 2026-05-04T12:29:36.996457Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stderr] 2026-05-04T12:29:37.010238Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::e2e_logging::log_file_contains_tool_completion_records ... ok [INFO] [stderr] 2026-05-04T12:29:37.015141Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stderr] 2026-05-04T12:29:37.015710Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::e2e_lifecycle::server_survives_error_call_followed_by_valid_call ... ok [INFO] [stderr] 2026-05-04T12:29:37.064794Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::e2e_lifecycle::server_handles_rapid_sequential_calls_without_stalling ... ok [INFO] [stderr] 2026-05-04T12:29:37.127278Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::e2e_logging::log_file_does_not_contain_entry_text ... ok [INFO] [stderr] 2026-05-04T12:29:37.146364Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::e2e_lifecycle::stdin_close_after_tool_call_exits_cleanly ... ok [INFO] [stderr] 2026-05-04T12:29:37.156718Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::e2e_logging::log_file_is_created_at_devlogger_log_dir ... ok [INFO] [stderr] 2026-05-04T12:29:37.171855Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::e2e_lifecycle::session_survives_sustained_tool_call_volume ... ok [INFO] [stdout] test mcp::e2e_logging::concurrent_tool_calls_produce_intact_log_lines ... ok [INFO] [stdout] test mcp::e2e_logging::server_does_not_crash_when_home_is_unset ... ok [INFO] [stdout] test mcp::e2e_stdout_cleanliness::server_exits_cleanly_when_stdin_closes ... ok [INFO] [stdout] test mcp::e2e_logging::stdout_stays_clean_when_log_dir_is_unwritable ... ok [INFO] [stdout] test mcp::e2e_logging::server_does_not_crash_when_log_dir_is_unwritable ... ok [INFO] [stderr] 2026-05-04T12:29:37.504593Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::e2e_schemas::devlog_list_schema_has_no_required_fields ... ok [INFO] [stdout] test mcp::e2e_timing::workaround_has_not_outlived_its_welcome ... ok [INFO] [stdout] test mcp::errors::consecutive_hyphens_section_is_tool_error ... ok [INFO] [stdout] test mcp::errors::digits_in_section_name_rejected ... ok [INFO] [stdout] test mcp::errors::empty_section_name_is_tool_error_not_protocol ... ok [INFO] [stdout] test mcp::errors::entry_text_with_cr_rejected ... ok [INFO] [stdout] test mcp::errors::entry_text_with_null_rejected ... ok [INFO] [stdout] test mcp::errors::leading_hyphen_section_is_tool_error ... ok [INFO] [stdout] test mcp::errors::list_missing_section_is_tool_error_not_protocol ... ok [INFO] [stdout] test mcp::e2e_schemas::devlog_new_schema_required_section_and_text ... ok [INFO] [stdout] test mcp::e2e_schemas::devlog_move_schema_requires_from_section_id_to_section ... ok [INFO] [stdout] test mcp::errors::trailing_hyphen_section_is_tool_error ... ok [INFO] [stdout] test mcp::errors::tab_in_entry_text_is_allowed ... ok [INFO] [stdout] test mcp::errors::read_missing_file_is_tool_error_not_protocol ... ok [INFO] [stdout] test mcp::errors::underscore_in_section_name_rejected ... ok [INFO] [stdout] test mcp::errors::update_missing_file_is_tool_error_not_protocol ... ok [INFO] [stdout] test mcp::registration::default_base_is_exposed_on_the_server ... ok [INFO] [stdout] test mcp::registration::server_info_advertises_tools_capability ... ok [INFO] [stdout] test mcp::registration::server_info_reports_crate_name_and_version ... ok [INFO] [stdout] test mcp::registration::server_info_has_instructions_mentioning_each_tool ... ok [INFO] [stdout] test mcp::result_shape::list_single_section_structured_is_array_of_entries ... ok [INFO] [stdout] test mcp::result_shape::new_result_has_both_text_and_structured ... ok [INFO] [stdout] test mcp::result_shape::list_all_sections_structured_is_grouped ... ok [INFO] [stdout] test mcp::result_shape::tool_errors_flip_is_error_and_still_carry_content ... ok [INFO] [stdout] test mcp::result_shape::sections_structured_is_array_of_strings ... ok [INFO] [stdout] test mcp::tool_list::list_missing_section_is_tool_error ... ok [INFO] [stdout] test mcp::tool_list::list_rejects_invalid_section_name ... ok [INFO] [stdout] test mcp::result_shape::update_result_carries_full_entry_fields ... ok [INFO] [stdout] test mcp::tool_list::list_single_section_returns_entries_in_order ... ok [INFO] [stdout] test mcp::tool_list::list_with_section_text_matches_entries ... ok [INFO] [stdout] test mcp::tool_list::list_without_section_and_no_sections_returns_empty_array ... ok [INFO] [stdout] test mcp::tool_list::list_without_section_text_uses_bracket_prefix ... ok [INFO] [stdout] test mcp::tool_list::list_without_section_groups_by_section_alphabetically ... ok [INFO] [stdout] test mcp::tool_move::move_entry_appends_to_dest_when_newer_than_all_existing ... ok [INFO] [stdout] test mcp::e2e_lifecycle::two_independent_server_processes_do_not_share_state ... ok [INFO] [stdout] test mcp::tool_move::move_entry_inserts_in_middle_renumbering_trailing_entries ... ok [INFO] [stdout] test mcp::result_shape::read_structured_wraps_contents_in_object ... ok [INFO] [stdout] test mcp::e2e_schemas::devlog_read_schema_requires_only_section ... ok [INFO] [stdout] test mcp::tool_move::move_entry_prepends_to_dest_when_older_than_all_existing ... ok [INFO] [stdout] test mcp::tool_move::move_entry_by_exact_date_resolves_correctly ... ok [INFO] [stdout] test mcp::tool_move::move_entry_renumbers_source_without_holes ... ok [INFO] [stdout] test mcp::tool_move::move_missing_source_section_is_tool_error ... ok [INFO] [stdout] test mcp::tool_move::move_rejects_invalid_section_name_as_tool_error ... ok [INFO] [stdout] test mcp::tool_move::move_entry_to_new_section_creates_it ... ok [INFO] [stdout] test mcp::tool_move::move_preserves_prose_in_both_sections ... ok [INFO] [stdout] test mcp::tool_move::move_preserves_original_date_on_moved_entry ... ok [INFO] [stdout] test mcp::tool_move::move_unknown_id_is_tool_error ... ok [INFO] [stdout] test mcp::tool_move::move_to_same_section_is_tool_error ... ok [INFO] [stdout] test mcp::tool_new::new_entry_increments_number_on_successive_calls ... ok [INFO] [stdout] test mcp::tool_new::new_entry_rejects_multiline_text_as_tool_error ... ok [INFO] [stdout] test mcp::tool_new::new_entry_rejects_invalid_section_as_tool_error ... ok [INFO] [stdout] test mcp::tool_new::new_entry_creates_file_and_returns_success_message ... ok [INFO] [stdout] test mcp::tool_new::new_entry_structured_content_has_number_date_and_message_only ... ok [INFO] [stdout] test mcp::tool_new::new_entry_writes_the_entry_to_disk ... ok [INFO] [stdout] test mcp::tool_read::read_missing_section_is_tool_error ... ok [INFO] [stdout] test mcp::tool_read::read_invalid_section_name_is_tool_error ... ok [INFO] [stdout] test mcp::tool_read::read_entire_file_returns_full_contents ... ok [INFO] [stdout] test mcp::e2e_schemas::devlog_sections_schema_has_only_optional_base_dir ... ok [INFO] [stdout] test mcp::tool_sections::sections_empty_base_returns_empty_array ... ok [INFO] [stdout] test mcp::tool_sections::sections_ignores_invalidly_named_directories ... ok [INFO] [stdout] test mcp::tool_sections::sections_text_is_one_name_per_line ... ok [INFO] [stdout] test mcp::tool_sections::sections_returns_sorted_unique_names ... ok [INFO] [stdout] test mcp::tool_read::read_last_n_returns_only_entry_lines ... ok [INFO] [stdout] test mcp::tool_update::update_by_date_prefix_when_unique ... ok [INFO] [stdout] test mcp::tool_update::update_missing_section_is_tool_error ... ok [INFO] [stdout] test mcp::tool_update::update_by_number_replaces_text_and_preserves_id_and_date ... ok [INFO] [stdout] test mcp::tool_read::read_n_larger_than_total_returns_all_entries ... ok [INFO] [stdout] test mcp::tool_update::update_rejects_multiline_replacement ... ok [INFO] [stdout] test mcp::tool_update::update_preserves_number_and_date_exactly ... ok [INFO] [stdout] test mcp::tool_sections::sections_ignores_section_dirs_without_a_devlog_file ... ok [INFO] [stdout] test mcp::tool_update::update_unknown_id_is_tool_error ... ok [INFO] [stdout] test mcp::tool_new::new_entry_creates_independent_sections ... ok [INFO] [stdout] test mcp::tool_update::update_unknown_number_is_tool_error ... ok [INFO] [stdout] test mcp::tool_update::update_by_exact_date_targets_the_matching_entry ... ok [INFO] [stdout] test mcp::e2e_schemas::every_schema_declares_type_object ... ok [INFO] [stdout] test mcp::e2e_schemas::every_tool_has_non_empty_description ... ok [INFO] [stdout] test mcp::e2e_stdout_cleanliness::default_startup_has_no_banner_on_stderr ... ok [INFO] [stdout] test mcp::e2e_stdout_cleanliness::every_line_on_stdout_is_a_valid_jsonrpc_frame_even_with_rust_log_trace ... ok [INFO] [stdout] test mcp::e2e_timing::every_tool_call_completes_in_milliseconds ... ok [INFO] [stderr] 2026-05-04T12:29:38.020573Z WARN devlogger::mcp::claude_code_race_workaround: applying claude-code initialize-race workaround — delete src/mcp/claude_code_race_workaround.rs when upstream is fixed delay_ms=500 review_by="2026-07-20" upstream="anthropics/claude-code#50095, #43299, #40207" [INFO] [stdout] test mcp::e2e_timing::initialize_and_tools_list_complete_in_milliseconds ... ok [INFO] [stdout] test mcp::e2e_stdout_cleanliness::startup_log_goes_to_stderr_not_stdout_when_enabled ... ok [INFO] [stdout] test mcp::e2e_large_payload::many_entries_round_trip_over_wire ... ok [INFO] [stdout] test mcp::e2e_handshake::repeated_initialize_cycles_leave_no_leftover_state ... ok [INFO] [stdout] test mcp::e2e_schemas::devlog_update_schema_requires_section_id_text has been running for over 60 seconds [ERROR] error running command: no output for 300 seconds [INFO] running `Command { std: "docker" "inspect" "c8cbdb6f96ac6b6124a1632353a9946b8e21801134c580e3a4a9c25012ac97ca", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c8cbdb6f96ac6b6124a1632353a9946b8e21801134c580e3a4a9c25012ac97ca", kill_on_drop: false }` [INFO] [stdout] c8cbdb6f96ac6b6124a1632353a9946b8e21801134c580e3a4a9c25012ac97ca