[INFO] cloning repository https://github.com/neohaskell/neo
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/neohaskell/neo" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fneohaskell%2Fneo", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fneohaskell%2Fneo'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1d3520545ba04a949c50a4566d7dd323523c6683
[INFO] testing neohaskell/neo against 1.98.0-beta.1 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fneohaskell%2Fneo" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/neohaskell/neo
[INFO] finished tweaking git repo https://github.com/neohaskell/neo
[INFO] tweaked toml for git repo https://github.com/neohaskell/neo written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/neohaskell/neo on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/neohaskell/neo already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 7fccd33e1baab58c3cd91ebf3f2446f4753b534d8f4e2f0d82bcf2aa92c03eb3
[INFO] running `Command { std: "docker" "start" "7fccd33e1baab58c3cd91ebf3f2446f4753b534d8f4e2f0d82bcf2aa92c03eb3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7fccd33e1baab58c3cd91ebf3f2446f4753b534d8f4e2f0d82bcf2aa92c03eb3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7fccd33e1baab58c3cd91ebf3f2446f4753b534d8f4e2f0d82bcf2aa92c03eb3" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7fccd33e1baab58c3cd91ebf3f2446f4753b534d8f4e2f0d82bcf2aa92c03eb3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7fccd33e1baab58c3cd91ebf3f2446f4753b534d8f4e2f0d82bcf2aa92c03eb3" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.185
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling gix-trace v0.1.18
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling tinyvec v1.11.0
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling sha1_smol v1.0.1
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling gix-utils v0.1.14
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling prodash v29.0.2
[INFO] [stderr]    Compiling jiff v0.2.23
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling winnow v0.6.26
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling memmap2 v0.9.10
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling unicode-width v0.2.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling cc v1.2.60
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling gix-validate v0.10.1
[INFO] [stderr]    Compiling gix-date v0.9.4
[INFO] [stderr]    Compiling gix-path v0.10.22
[INFO] [stderr]    Compiling gix-actor v0.33.2
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling gix-validate v0.9.4
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling gix-chunk v0.4.12
[INFO] [stderr]    Compiling gix-quote v0.4.15
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling unicode-bom v2.0.3
[INFO] [stderr]    Compiling tokio v1.52.1
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling kstring v2.0.2
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling faster-hex v0.9.0
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling gix-hash v0.16.0
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling gix-features v0.40.0
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling gix-fs v0.13.0
[INFO] [stderr]    Compiling gix-glob v0.18.0
[INFO] [stderr]    Compiling gix-hashtable v0.7.0
[INFO] [stderr]    Compiling gix-object v0.47.0
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling gix-commitgraph v0.26.0
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling gix-attributes v0.24.0
[INFO] [stderr]    Compiling gix-tempfile v16.0.0
[INFO] [stderr]    Compiling gix-lock v16.0.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling gix-sec v0.10.12
[INFO] [stderr]    Compiling gix-revwalk v0.18.0
[INFO] [stderr]    Compiling filetime v0.2.27
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling shell-words v1.1.1
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling gix-command v0.4.1
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling gix-ref v0.50.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling unicode-truncate v2.0.1
[INFO] [stderr]    Compiling compact_str v0.9.0
[INFO] [stderr]    Compiling kasuari v0.4.12
[INFO] [stderr]    Compiling lru v0.16.4
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling gimli v0.32.3
[INFO] [stderr]    Compiling rustls v0.23.38
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling ratatui-core v0.1.0
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling gix-traverse v0.44.0
[INFO] [stderr]    Compiling gix-url v0.29.0
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling gix-config-value v0.14.12
[INFO] [stderr]    Compiling gix-bitmap v0.2.16
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling num-conv v0.2.1
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling addr2line v0.25.1
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling rustc-demangle v0.1.27
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling owo-colors v4.3.0
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling gix-index v0.38.0
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling gix-revision v0.32.0
[INFO] [stderr]    Compiling gix-ignore v0.13.0
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling gix-packetline v0.18.4
[INFO] [stderr]    Compiling gix-packetline-blocking v0.18.3
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling backtrace v0.3.76
[INFO] [stderr]    Compiling clru v0.6.3
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling line-clipping v0.3.7
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling borrow-or-share v0.2.4
[INFO] [stderr]    Compiling is_ci v1.2.0
[INFO] [stderr]    Compiling data-encoding v2.11.0
[INFO] [stderr]    Compiling unicode-linebreak v0.1.5
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling textwrap v0.16.2
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling tungstenite v0.24.0
[INFO] [stderr]    Compiling backtrace-ext v0.2.1
[INFO] [stderr]    Compiling supports-color v3.0.2
[INFO] [stderr]    Compiling fluent-uri v0.3.2
[INFO] [stderr]    Compiling gix-filter v0.17.0
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling unicode-truncate v1.1.0
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling ratatui-widgets v0.3.0
[INFO] [stderr]    Compiling gix-pack v0.57.0
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling rust-embed-utils v8.11.0
[INFO] [stderr]    Compiling gix-transport v0.45.0
[INFO] [stderr]    Compiling gix-refspec v0.28.0
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]    Compiling gix-worktree v0.39.0
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling gix-pathspec v0.9.0
[INFO] [stderr]    Compiling gix-config v0.43.0
[INFO] [stderr]    Compiling gix-shallow v0.2.0
[INFO] [stderr]    Compiling imara-diff v0.1.8
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling webpki-roots v1.0.7
[INFO] [stderr]    Compiling compact_str v0.8.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling maybe-async v0.2.10
[INFO] [stderr]    Compiling miette-derive v7.6.0
[INFO] [stderr]    Compiling terminal_size v0.4.4
[INFO] [stderr]    Compiling arc-swap v1.9.1
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling instant v0.1.13
[INFO] [stderr]    Compiling outref v0.5.2
[INFO] [stderr]    Compiling supports-hyperlinks v3.2.0
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling supports-unicode v3.0.0
[INFO] [stderr]    Compiling vsimd v0.8.0
[INFO] [stderr]    Compiling iri-string v0.7.12
[INFO] [stderr]    Compiling axum-core v0.4.5
[INFO] [stderr]    Compiling ratatui v0.29.0
[INFO] [stderr]    Compiling miette v7.6.0
[INFO] [stderr]    Compiling uuid-simd v0.8.0
[INFO] [stderr]    Compiling inotify v0.10.2
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling notify-types v1.0.1
[INFO] [stderr]    Compiling gix-odb v0.67.0
[INFO] [stderr]    Compiling gix-protocol v0.48.0
[INFO] [stderr]    Compiling gix-submodule v0.17.0
[INFO] [stderr]    Compiling gix-diff v0.50.0
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.0
[INFO] [stderr]    Compiling ratatui-macros v0.7.0
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling derive_builder v0.20.2
[INFO] [stderr]    Compiling rust-embed-impl v8.11.0
[INFO] [stderr]    Compiling fraction v0.15.4
[INFO] [stderr]    Compiling referencing v0.30.0
[INFO] [stderr]    Compiling tokio-tungstenite v0.24.0
[INFO] [stderr]    Compiling fancy-regex v0.14.0
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling gix-discover v0.38.0
[INFO] [stderr]    Compiling email_address v0.2.9
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling nucleo-matcher v0.3.1
[INFO] [stderr]    Compiling xattr v1.6.1
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling memo-map v0.3.3
[INFO] [stderr]    Compiling num-cmp v0.1.0
[INFO] [stderr]    Compiling matchit v0.7.3
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling font8x8 v0.3.1
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling jsonschema v0.30.0
[INFO] [stderr]    Compiling tui-big-text v0.7.3
[INFO] [stderr]    Compiling nucleo v0.5.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling minijinja v2.19.0
[INFO] [stderr]    Compiling tar v0.4.45
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling gix v0.70.0
[INFO] [stderr]    Compiling rust-embed v8.11.0
[INFO] [stderr]    Compiling ratatui v0.30.0
[INFO] [stderr]    Compiling notify v7.0.0
[INFO] [stderr]    Compiling nodejs-semver v4.2.0
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]    Compiling neo v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5m 31s
[INFO] running `Command { std: "docker" "inspect" "7fccd33e1baab58c3cd91ebf3f2446f4753b534d8f4e2f0d82bcf2aa92c03eb3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7fccd33e1baab58c3cd91ebf3f2446f4753b534d8f4e2f0d82bcf2aa92c03eb3" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling predicates-core v1.0.10
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling assert_cmd v2.2.1
[INFO] [stderr]    Compiling normalize-line-endings v0.3.0
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling difflib v0.4.0
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling console v0.16.3
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]    Compiling gix-validate v0.10.1
[INFO] [stderr]    Compiling gix-date v0.9.4
[INFO] [stderr]    Compiling gix-validate v0.9.4
[INFO] [stderr]    Compiling gix-quote v0.4.15
[INFO] [stderr]    Compiling gix-commitgraph v0.26.0
[INFO] [stderr]    Compiling gix-path v0.10.22
[INFO] [stderr]    Compiling gix-actor v0.33.2
[INFO] [stderr]    Compiling gix-packetline-blocking v0.18.3
[INFO] [stderr]    Compiling gix-packetline v0.18.4
[INFO] [stderr]    Compiling gix-object v0.47.0
[INFO] [stderr]    Compiling gix-glob v0.18.0
[INFO] [stderr]    Compiling gix-command v0.4.1
[INFO] [stderr]    Compiling gix-config-value v0.14.12
[INFO] [stderr]    Compiling gix-url v0.29.0
[INFO] [stderr]    Compiling gix-shallow v0.2.0
[INFO] [stderr]    Compiling insta v1.47.2
[INFO] [stderr]    Compiling gix-attributes v0.24.0
[INFO] [stderr]    Compiling gix-ignore v0.13.0
[INFO] [stderr]    Compiling gix-transport v0.45.0
[INFO] [stderr]    Compiling gix-pathspec v0.9.0
[INFO] [stderr]    Compiling gix-revwalk v0.18.0
[INFO] [stderr]    Compiling gix-ref v0.50.0
[INFO] [stderr]    Compiling gix-filter v0.17.0
[INFO] [stderr]    Compiling gix-pack v0.57.0
[INFO] [stderr]    Compiling gix-traverse v0.44.0
[INFO] [stderr]    Compiling gix-revision v0.32.0
[INFO] [stderr]    Compiling gix-index v0.38.0
[INFO] [stderr]    Compiling gix-config v0.43.0
[INFO] [stderr]    Compiling gix-refspec v0.28.0
[INFO] [stderr]    Compiling gix-discover v0.38.0
[INFO] [stderr]    Compiling gix-protocol v0.48.0
[INFO] [stderr]    Compiling gix-odb v0.67.0
[INFO] [stderr]    Compiling gix-worktree v0.39.0
[INFO] [stderr]    Compiling gix-diff v0.50.0
[INFO] [stderr]    Compiling gix-submodule v0.17.0
[INFO] [stderr]    Compiling gix v0.70.0
[INFO] [stderr]    Compiling neo v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 50s
[INFO] running `Command { std: "docker" "inspect" "7fccd33e1baab58c3cd91ebf3f2446f4753b534d8f4e2f0d82bcf2aa92c03eb3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7fccd33e1baab58c3cd91ebf3f2446f4753b534d8f4e2f0d82bcf2aa92c03eb3" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.21s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/neo-c184fd2bf1672769)
[INFO] [stdout] 
[INFO] [stdout] running 620 tests
[INFO] [stdout] test app::tests::test_dispatch_ide_port_in_use_errors_actionably ... ok
[INFO] [stdout] test app::tests::test_dummy_state_update ... ok
[INFO] [stdout] test app::tests::test_dispatch_build ... ok
[INFO] [stdout] test app::tests::test_dispatch_lock ... ok
[INFO] [stdout] test app::tests::test_dispatch_none ... ok
[INFO] [stdout] test cli::tests::test_parse_build_default_lock_check ... ok
[INFO] [stdout] test cli::tests::test_parse_build_skip_lock_check ... ok
[INFO] [stdout] test cli::tests::test_parse_ci_flag ... ok
[INFO] [stdout] test cli::tests::test_parse_ide_custom_host_v6 ... ok
[INFO] [stdout] test cli::tests::test_parse_ide_custom_host_any_v4 ... ok
[INFO] [stdout] test cli::tests::test_parse_ide_custom_port ... ok
[INFO] [stdout] test cli::tests::test_parse_ide_defaults_to_loopback_and_2323 ... ok
[INFO] [stdout] test cli::tests::test_parse_ide_rejects_garbage_host ... ok
[INFO] [stdout] test cli::tests::test_parse_lock ... ok
[INFO] [stdout] test cli::tests::test_parse_ide_rejects_hostname ... ok
[INFO] [stdout] test cli::tests::test_parse_ide_rejects_out_of_range_port ... ok
[INFO] [stdout] test cli::tests::test_parse_inspect_sync ... ok
[INFO] [stdout] test cli::tests::test_parse_new ... ok
[INFO] [stdout] test cli::tests::test_parse_run ... ok
[INFO] [stdout] test cli::tests::test_parse_new_library ... ok
[INFO] [stdout] test cli::tests::test_parse_skills_bare ... ok
[INFO] [stdout] test cli::tests::test_parse_skills_setup ... ok
[INFO] [stdout] test cli::tests::test_parse_test ... ok
[INFO] [stdout] test commands::ide::tests::browseable_url_brackets_specific_v6_host ... ok
[INFO] [stdout] test commands::ide::tests::browseable_url_preserves_specific_v4_host ... ok
[INFO] [stdout] test cli::tests::test_parse_validate ... ok
[INFO] [stdout] test commands::ide::tests::browseable_url_swaps_unspecified_v4_for_loopback ... ok
[INFO] [stdout] test commands::ide::tests::browseable_url_swaps_unspecified_v6_for_loopback ... ok
[INFO] [stdout] test cli::tests::test_parse_skills_setup_all_tools ... ok
[INFO] [stdout] test commands::ide::tests::cache_control_for_favicon_revalidates ... ok
[INFO] [stdout] test commands::ide::tests::cache_control_for_html_revalidates ... ok
[INFO] [stdout] test commands::ide::tests::serve_path_root_returns_index_html_with_html_mime ... ok
[INFO] [stdout] test commands::ide::tests::serve_path_sets_no_cache_on_index_html ... ok
[INFO] [stdout] test commands::ide::tests::serve_path_strips_leading_slash ... ok
[INFO] [stdout] test commands::ide::tests::serve_path_unknown_path_falls_back_to_index_html ... ok
[INFO] [stdout] test cli::tests::test_parse_validate_with_path_and_json ... ok
[INFO] [stdout] test commands::ide::tests::cache_control_for_hashed_bundles_is_immutable ... ok
[INFO] [stdout] test commands::inspect::tests::project_summary_for_prompt_returns_none_when_no_domains ... ok
[INFO] [stdout] test app::tests::test_dispatch_new ... ok
[INFO] [stdout] test commands::new::tests::test_esc_quits ... ok
[INFO] [stdout] test commands::new::tests::test_input_handling ... ok
[INFO] [stdout] test commands::new::tests::test_new_project_state_transitions ... ok
[INFO] [stdout] test commands::skills::tests::test_confirm_state_toggle_and_enter ... ok
[INFO] [stdout] test commands::skills::tests::test_skills_setup_state_esc_cancels ... ok
[INFO] [stdout] test commands::skills::tests::test_skills_setup_state_toggle_confirm ... ok
[INFO] [stdout] test commands::validate::tests::report_invalid_empty_pointer_renders_root ... ok
[INFO] [stdout] test app::tests::test_dispatch_run ... ok
[INFO] [stdout] test commands::validate::tests::report_invalid_exits_2 ... ok
[INFO] [stdout] test commands::validate::tests::report_is_deterministic ... ok
[INFO] [stdout] test commands::validate::tests::report_json_stdout_is_pure_outcome ... ok
[INFO] [stdout] test commands::validate::tests::report_malformed_exits_3 ... ok
[INFO] [stdout] test commands::validate::tests::report_notfound_exits_4 ... ok
[INFO] [stdout] test app::tests::test_dispatch_test ... ok
[INFO] [stdout] test commands::validate::tests::report_valid_exits_0 ... ok
[INFO] [stdout] test config::tests::test_load_invalid_json ... ok
[INFO] [stdout] test config::tests::test_load_default_license ... ok
[INFO] [stdout] test config::tests::test_load_ignore_unknown_fields ... ok
[INFO] [stdout] test config::tests::test_load_kind_defaults_to_executable ... ok
[INFO] [stdout] test config::tests::test_load_kind_executable_explicit ... ok
[INFO] [stdout] test config::tests::test_load_kind_library ... ok
[INFO] [stdout] test config::tests::test_load_kind_invalid_value ... ok
[INFO] [stdout] test config::tests::test_load_missing_fields ... ok
[INFO] [stdout] test config::tests::test_load_missing_file ... ok
[INFO] [stdout] test errlog::tests::log_dir_falls_back_to_home_dot_neo ... ok
[INFO] [stdout] test errlog::tests::log_dir_prefers_neo_home_over_home ... ok
[INFO] [stdout] test errlog::tests::log_dir_treats_empty_neo_home_as_unset ... ok
[INFO] [stdout] test errlog::tests::log_dir_returns_none_when_neither_env_set ... ok
[INFO] [stdout] test errlog::tests::log_unrecognized_writes_under_neo_home_override ... ok
[INFO] [stdout] test app::tests::test_dispatch_skills ... ok
[INFO] [stdout] test errlog::tests::write_record_creates_parent_dir_and_appends_one_line ... ok
[INFO] [stdout] test errlog::tests::write_record_preserves_newlines_inside_full_output ... ok
[INFO] [stdout] test errors::tests::derive_next_version_appends_v2_to_plain_haskell_file ... ok
[INFO] [stdout] test errors::tests::derive_next_version_bumps_existing_v_suffix ... ok
[INFO] [stdout] test errlog::tests::write_record_preserves_unicode_verbatim ... ok
[INFO] [stdout] test errors::tests::derive_next_version_bumps_large_v_suffix ... ok
[INFO] [stdout] test errors::tests::derive_next_version_handles_file_with_no_directory ... ok
[INFO] [stdout] test errors::tests::derive_next_version_treats_lowercase_v_as_no_version_suffix ... ok
[INFO] [stdout] test errors::tests::derive_next_version_handles_file_with_no_extension ... ok
[INFO] [stdout] test errors::tests::ide_bind_help_names_addr_and_concrete_fix ... ok
[INFO] [stdout] test errors::tests::ide_bind_help_reflects_user_supplied_host ... ok
[INFO] [stdout] test errors::tests::every_variant_has_url ... ok
[INFO] [stdout] test errors::tests::ide_serve_help_points_at_bug_tracker ... ok
[INFO] [stdout] test errors::tests::invalid_config_at_eof_does_not_panic ... ok
[INFO] [stdout] test errors::tests::invalid_config_empty_content_does_not_panic ... ok
[INFO] [stdout] test errors::tests::invalid_config_help_no_longer_repeats_line_col ... ok
[INFO] [stdout] test errors::tests::invalid_config_renders_with_caret_block ... ok
[INFO] [stdout] test errors::tests::invalid_config_renders_deterministically ... ok
[INFO] [stdout] test errors::tests::invalid_config_with_unicode_content_does_not_panic ... ok
[INFO] [stdout] test errors::tests::invalid_dep_renders_without_span_when_no_source ... ok
[INFO] [stdout] test errors::tests::invalid_dep_renders_with_span_when_source_attached ... ok
[INFO] [stdout] test errors::tests::key_span_finds_quoted_key ... ok
[INFO] [stdout] test errors::tests::key_span_first_match_wins ... ok
[INFO] [stdout] test errors::tests::key_span_handles_unicode_key ... ok
[INFO] [stdout] test config::tests::test_load_valid_config ... ok
[INFO] [stdout] test errors::tests::key_span_returns_none_when_missing ... ok
[INFO] [stdout] test errors::tests::lock_violation_empty_paths_does_not_panic ... ok
[INFO] [stdout] test errors::tests::lock_violation_headline_carries_count ... ok
[INFO] [stdout] test errors::tests::lock_violation_help_drops_unlock_and_skip_flag ... ok
[INFO] [stdout] test errlog::tests::write_record_appends_does_not_overwrite ... ok
[INFO] [stdout] test errors::tests::lock_violation_help_multi_file_shares_explainer_and_one_example ... ok
[INFO] [stdout] test errors::tests::lock_violation_help_names_pre_build_check ... ok
[INFO] [stdout] test errors::tests::lock_violation_help_single_file_has_no_for_each_abstraction ... ok
[INFO] [stdout] test errors::tests::lock_violation_help_uses_git_restore_for_unintentional_branch ... ok
[INFO] [stdout] test errors::tests::subprocess_raw_constructor_writes_jsonl_under_neo_home ... ok
[INFO] [stdout] test errors::tests::subprocess_raw_help_does_not_mention_interpret_rs ... ok
[INFO] [stdout] test errors::tests::lock_violation_help_explains_event_sourcing_immutability ... ok
[INFO] [stdout] test errors::tests::lock_violation_help_includes_versioned_worked_example ... ok
[INFO] [stdout] test errors::tests::lock_violation_help_quotes_every_offending_path ... ok
[INFO] [stdout] test errors::tests::subprocess_raw_help_mentions_log_path_field ... ok
[INFO] [stdout] test errors::tests::subprocess_raw_help_points_at_gh_template ... ok
[INFO] [stdout] test errors::tests::subprocess_raw_renders_no_output_placeholder ... ok
[INFO] [stdout] test errors::tests::subprocess_raw_tail_still_renders ... ok
[INFO] [stdout] test errors::tests::test_error_messages ... ok
[INFO] [stdout] test errors::tests::test_io_error_carries_path ... ok
[INFO] [stdout] test errors::tests::test_network_error_mentions_offline_env_var ... ok
[INFO] [stdout] test errors::tests::test_subprocess_failed_carries_fix ... ok
[INFO] [stdout] test errors::tests::url_omitted_when_with_urls_false ... ok
[INFO] [stdout] test errors::tests::url_renders_as_link_when_links_on ... ok
[INFO] [stdout] test git::tests::test_install_lock_hook ... ok
[INFO] [stdout] test ide::heal::apply::tests::apply_adds_edge_with_deterministic_id ... ok
[INFO] [stdout] test ide::heal::apply::tests::apply_does_not_duplicate_existing_entity_by_name ... ok
[INFO] [stdout] test ide::heal::apply::tests::apply_does_not_duplicate_existing_node_by_type_and_name ... ok
[INFO] [stdout] test ide::heal::apply::tests::apply_does_not_overwrite_existing_layout_entries ... ok
[INFO] [stdout] test ide::heal::apply::tests::apply_inserts_entity_slice_node_into_empty_model ... ok
[INFO] [stdout] test ide::heal::apply::tests::apply_is_idempotent_on_existing_edges ... ok
[INFO] [stdout] test ide::heal::apply::tests::apply_remove_edges_drops_matching_heal_edges ... ok
[INFO] [stdout] test ide::heal::apply::tests::apply_writes_integration_node_with_kind ... ok
[INFO] [stdout] test ide::heal::apply::tests::apply_writes_kind_fix ... ok
[INFO] [stdout] test errors::tests::subprocess_raw_help_does_not_say_scroll_up ... ok
[INFO] [stdout] test ide::heal::apply::tests::apply_writes_layout_entry_when_missing ... ok
[INFO] [stdout] test errors::tests::subprocess_raw_renders_full_output_inline ... ok
[INFO] [stdout] test ide::heal::apply::tests::apply_writes_position_fix ... ok
[INFO] [stdout] test ide::heal::apply::tests::pipeline_is_fixed_point ... ok
[INFO] [stdout] test ide::heal::apply::tests::pipeline_materialises_full_structure_from_empty_model ... ok
[INFO] [stdout] test ide::heal::apply::tests::remove_edges_is_idempotent ... ok
[INFO] [stdout] test ide::heal::apply::tests::remove_edges_preserves_user_authored_edge ... ok
[INFO] [stdout] test ide::heal::diff::tests::chapter_order_drives_slice_columns ... ok
[INFO] [stdout] test ide::heal::diff::tests::diff_event_shared_by_two_commands_lives_in_alphabetically_first_slice ... ok
[INFO] [stdout] test ide::heal::diff::tests::chapter_reorder_keeps_flow_contiguous ... ok
[INFO] [stdout] test ide::heal::diff::tests::compute_options_fields_flag_matrix ... ok
[INFO] [stdout] test ide::heal::diff::tests::diff_fixes_integration_kind_when_code_says_reactive ... ok
[INFO] [stdout] test ide::heal::diff::tests::diff_fixes_integration_position_dropped_into_event_band ... ok
[INFO] [stdout] test ide::heal::diff::tests::diff_event_with_no_producer_gets_own_slice ... ok
[INFO] [stdout] test ide::heal::diff::tests::diff_includes_reactive_integration_wiring ... ok
[INFO] [stdout] test ide::heal::diff::tests::diff_materializes_command_event_query_integration_into_empty_model ... ok
[INFO] [stdout] test ide::heal::diff::tests::diff_materializes_missing_command_as_add_node ... ok
[INFO] [stdout] test ide::heal::diff::tests::diff_is_empty_when_model_already_has_all_edges_and_nodes ... ok
[INFO] [stdout] test ide::heal::diff::tests::diff_proposes_layout_entries_for_nodes_missing_positions ... ok
[INFO] [stdout] test ide::heal::diff::tests::diff_proposes_event_triggers_integration_edge ... ok
[INFO] [stdout] test ide::heal::diff::tests::diff_proposes_missing_command_produces_event_edges ... ok
[INFO] [stdout] test ide::heal::diff::tests::diff_proposes_event_feeds_query_edges ... ok
[INFO] [stdout] test ide::heal::diff::tests::diff_reports_orphan_model_node_when_not_in_inspection ... ok
[INFO] [stdout] test ide::heal::diff::tests::diff_removes_stale_heal_event_feeds_query_edges ... ok
[INFO] [stdout] test ide::heal::diff::tests::diff_wires_orphan_query_to_every_local_event ... ok
[INFO] [stdout] test ide::heal::diff::tests::fields_only_emits_no_structural_or_layout_ops ... ok
[INFO] [stdout] test ide::heal::diff::tests::empty_chapters_model_is_byte_identical_to_baseline ... ok
[INFO] [stdout] test ide::heal::diff::tests::fields_only_empty_source_leaves_node_untouched ... ok
[INFO] [stdout] test ide::heal::diff::tests::fields_only_overwrites_stale_fields_wholesale ... ok
[INFO] [stdout] test ide::heal::diff::tests::fields_only_preserves_positions_and_is_idempotent ... ok
[INFO] [stdout] test ide::heal::diff::tests::fields_only_reconciles_existing_node ... ok
[INFO] [stdout] test ide::heal::diff::tests::full_pass_materialises_new_node_with_fields ... ok
[INFO] [stdout] test ide::heal::diff::tests::grouping_does_not_touch_user_created_slices ... ok
[INFO] [stdout] test ide::heal::diff::tests::grouping_is_idempotent_when_chapter_already_correct ... ok
[INFO] [stdout] test ide::heal::diff::tests::grouping_reassigns_existing_heal_slice_into_chapter ... ok
[INFO] [stdout] test ide::heal::diff::tests::heal_structural_is_fixed_point_after_narrowing_and_removal ... ok
[INFO] [stdout] test ide::heal::diff::tests::layout_event_y_follows_entity_index ... ok
[INFO] [stdout] test ide::heal::diff::tests::diff_reuses_existing_entity_and_slice_by_name ... ok
[INFO] [stdout] test ide::heal::diff::tests::layout_is_idempotent_across_runs ... ok
[INFO] [stdout] test ide::heal::diff::tests::layout_new_slice_gets_clean_compact_column ... ok
[INFO] [stdout] test ide::heal::diff::tests::layout_stacks_siblings_of_same_kind_in_same_slice ... ok
[INFO] [stdout] test ide::heal::diff::tests::manual_chapter_reorder_is_fixed_point ... ok
[INFO] [stdout] test ide::heal::diff::tests::grouping_creates_chapter_per_flow_for_heal_slices ... ok
[INFO] [stdout] test ide::heal::diff::tests::materialised_diff_is_self_consistent ... ok
[INFO] [stdout] test ide::heal::diff::tests::rebalance_compacts_columns_to_left_anchored_grid ... ok
[INFO] [stdout] test ide::heal::diff::tests::rebalance_leaves_already_compact_slices_alone ... ok
[INFO] [stdout] test ide::heal::diff::tests::rebalance_is_fixed_point_after_apply ... ok
[INFO] [stdout] test ide::heal::diff::tests::relayout_prunes_empty_heal_slices_and_their_chapters ... ok
[INFO] [stdout] test ide::heal::diff::tests::relayout_does_not_remove_edges ... ok
[INFO] [stdout] test ide::heal::diff::tests::remove_edges_preserves_user_authored_edge ... ok
[INFO] [stdout] test ide::heal::diff::tests::ui_placeholders_are_not_reported_as_orphans ... ok
[INFO] [stdout] test ide::heal::diff::tests::reorder_then_new_flow_appends_and_is_idempotent ... ok
[INFO] [stdout] test ide::heal::diff::tests::wave_order_breaks_saga_cycle_deterministically ... ok
[INFO] [stdout] test ide::heal::diff::tests::wave_order_disconnected_flows_are_contiguous ... ok
[INFO] [stdout] test ide::heal::diff::tests::wave_order_deterministic_under_input_shuffle ... ok
[INFO] [stdout] test ide::heal::diff::tests::wave_order_follows_causal_flow_not_alphabetical ... ok
[INFO] [stdout] test ide::heal::diff::tests::wave_order_cross_entity_flow_is_one_chapter_and_events_keep_their_aggregate ... ok
[INFO] [stderr] 2026-07-10T12:26:03.607733Z  INFO neo::ide::methods::cancel_heal_event_model: heal: cancel requested cancelled=true
[INFO] [stderr] 2026-07-10T12:26:03.607863Z  INFO neo::ide::methods::cancel_heal_event_model: heal: cancel requested cancelled=false
[INFO] [stderr] 2026-07-10T12:26:03.608485Z  INFO neo::ide::methods::cancel_heal_event_model: heal: cancel requested cancelled=false
[INFO] [stdout] test ide::methods::cancel_heal_event_model::tests::cancel_signals_the_installed_notify_and_clears_on_guard_drop ... ok
[INFO] [stdout] test ide::methods::cancel_heal_event_model::tests::cancel_with_no_heal_in_flight_returns_false ... ok
[INFO] [stdout] test commands::ide::tests::serve_path_sets_immutable_on_assets ... ok
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_errors_when_file_missing ... ok
[INFO] [stdout] test git::tests::test_git_init ... ok
[INFO] [stderr] 2026-07-10T12:26:03.609088Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpuSQKJI/event-model.json mode=Validate
[INFO] [stderr] 2026-07-10T12:26:03.609504Z  INFO neo::ide::methods::heal_event_model: heal: deterministic pre-pass complete domains=0 inspection_ms=0 diff_ms=0 summary=0 chapters, 0 chapters removed, 0 entities, 0 slices, 0 slices removed, 0 nodes, 0 edges, 0 edges removed, 0 slice updates, 0 kind fixes, 0 position fixes, 0 layout entries, 0 field updates, 0 residuals applied=0
[INFO] [stderr] 2026-07-10T12:26:03.613061Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpzu6exX/event-model.json mode=Improve
[INFO] [stderr] 2026-07-10T12:26:03.613243Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpteKzi6/event-model.json mode=Improve
[INFO] [stderr] 2026-07-10T12:26:03.613715Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpPQbJg9/event-model.json mode=Validate
[INFO] [stderr] 2026-07-10T12:26:03.614570Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpOKjAS8/event-model.json mode=Validate
[INFO] [stderr] 2026-07-10T12:26:03.614718Z  INFO neo::ide::methods::heal_event_model: heal: deterministic pre-pass complete domains=0 inspection_ms=0 diff_ms=0 summary=0 chapters, 0 chapters removed, 0 entities, 0 slices, 0 slices removed, 0 nodes, 0 edges, 0 edges removed, 0 slice updates, 0 kind fixes, 0 position fixes, 0 layout entries, 0 field updates, 0 residuals applied=0
[INFO] [stderr] 2026-07-10T12:26:03.618250Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmppLnqvo/event-model.json mode=Validate
[INFO] [stderr] 2026-07-10T12:26:03.620395Z  INFO neo::ide::methods::heal_event_model: heal: deterministic pre-pass complete domains=0 inspection_ms=0 diff_ms=1 summary=0 chapters, 0 chapters removed, 0 entities, 0 slices, 0 slices removed, 0 nodes, 0 edges, 0 edges removed, 0 slice updates, 0 kind fixes, 2 position fixes, 0 layout entries, 0 field updates, 0 residuals applied=2
[INFO] [stderr] 2026-07-10T12:26:03.681778Z  INFO neo::ide::methods::heal_event_model: heal: deterministic pre-pass complete domains=1 inspection_ms=65 diff_ms=0 summary=1 chapters, 0 chapters removed, 0 entities, 1 slices, 0 slices removed, 2 nodes, 1 edges, 0 edges removed, 1 slice updates, 0 kind fixes, 3 position fixes, 2 layout entries, 0 field updates, 2 residuals applied=11
[INFO] [stderr] 2026-07-10T12:26:03.705145Z  INFO neo::ide::methods::heal_event_model: heal: deterministic pre-pass complete domains=1 inspection_ms=91 diff_ms=0 summary=0 chapters, 0 chapters removed, 0 entities, 0 slices, 0 slices removed, 0 nodes, 1 edges, 0 edges removed, 0 slice updates, 0 kind fixes, 1 position fixes, 0 layout entries, 0 field updates, 0 residuals applied=2
[INFO] [stdout] test commands::inspect::tests::project_summary_for_prompt_emits_pretty_json_with_wiring ... ok
[INFO] [stdout] test commands::inspect::tests::domains_view_lists_counts_per_domain ... ok
[INFO] [stderr] 2026-07-10T12:26:03.757106Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpGIMDgb/event-model.json mode=Improve
[INFO] [stdout] test commands::inspect::tests::wiring_view_indexes_events_with_producers_and_handlers ... ok
[INFO] [stderr] 2026-07-10T12:26:03.758119Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpMzOllE/event-model.json mode=Validate
[INFO] [stderr] 2026-07-10T12:26:03.758294Z  INFO neo::ide::methods::heal_event_model: heal: deterministic pre-pass complete domains=0 inspection_ms=0 diff_ms=0 summary=0 chapters, 0 chapters removed, 0 entities, 0 slices, 0 slices removed, 0 nodes, 0 edges, 0 edges removed, 0 slice updates, 0 kind fixes, 0 position fixes, 0 layout entries, 0 field updates, 0 residuals applied=0
[INFO] [stderr] 2026-07-10T12:26:03.758779Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpfud3Sp/event-model.json mode=Improve
[INFO] [stderr] 2026-07-10T12:26:03.758924Z  INFO neo::ide::methods::heal_event_model: heal: deterministic pre-pass complete domains=0 inspection_ms=0 diff_ms=0 summary=0 chapters, 0 chapters removed, 0 entities, 0 slices, 0 slices removed, 0 nodes, 0 edges, 0 edges removed, 0 slice updates, 0 kind fixes, 0 position fixes, 0 layout entries, 0 field updates, 0 residuals applied=0
[INFO] [stderr] 2026-07-10T12:26:03.842914Z  INFO neo::ide::methods::heal_event_model: heal: deterministic pre-pass complete domains=1 inspection_ms=83 diff_ms=0 summary=1 chapters, 0 chapters removed, 1 entities, 1 slices, 0 slices removed, 2 nodes, 1 edges, 0 edges removed, 0 slice updates, 0 kind fixes, 0 position fixes, 2 layout entries, 0 field updates, 0 residuals applied=8
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_improve_mode_skips_subprocess_when_no_residuals ... ok
[INFO] [stderr] 2026-07-10T12:26:04.195985Z  INFO neo::ide::methods::heal_event_model: heal: file already valid AND inspection matches — no-op
[INFO] [stderr] 2026-07-10T12:26:04.195985Z  INFO neo::ide::methods::heal_event_model: heal: composing prompt for LLM pass has_neo_summary=false residual_count=0 validation_errors=1 model="opus"
[INFO] [stderr] 2026-07-10T12:26:04.196139Z  INFO neo::ide::methods::heal_event_model: heal: composing prompt for LLM pass has_neo_summary=false residual_count=0 validation_errors=1 model="opus"
[INFO] [stderr] 2026-07-10T12:26:04.196273Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmp6Qx5dR/claude cwd=/tmp/.tmpuSQKJI timeout_secs=15 prompt_bytes=11231 args=["-p", "--add-dir", "/tmp/.tmpuSQKJI", "--allowed-tools", "Read", "--json-schema", "{\"additionalProperties\":false,\"properties\":{\"changesMade\":{\"items\":{\"type\":\"string\"},\"type\":\"array\"},\"eventModel\":{\"type\":\"object\"},\"summary\":{\"type\":\"string\"}},\"required\":[\"eventModel\"],\"type\":\"object\"}", "--model", "opus", "--verbose", "--output-format", "stream-json", "--include-partial-messages", "<prompt 11231 bytes>"]
[INFO] [stderr] 2026-07-10T12:26:04.196275Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmpMzOllE/.test-claude-stub.sh cwd=/tmp/.tmpMzOllE timeout_secs=10 prompt_bytes=11231 args=["-p", "--add-dir", "/tmp/.tmpMzOllE", "--allowed-tools", "Read", "--json-schema", "{\"additionalProperties\":false,\"properties\":{\"changesMade\":{\"items\":{\"type\":\"string\"},\"type\":\"array\"},\"eventModel\":{\"type\":\"object\"},\"summary\":{\"type\":\"string\"}},\"required\":[\"eventModel\"],\"type\":\"object\"}", "--model", "opus", "--verbose", "--output-format", "stream-json", "--include-partial-messages", "<prompt 11231 bytes>"]
[INFO] [stderr] 2026-07-10T12:26:04.196309Z  INFO neo::ide::methods::heal_event_model: heal: deterministic pass alone fixed the file — no LLM round-trip needed applied=8
[INFO] [stderr] 2026-07-10T12:26:04.196605Z  INFO neo::ide::methods::heal_event_model: heal: deterministic pass alone fixed the file — no LLM round-trip needed applied=2
[INFO] [stderr] 2026-07-10T12:26:04.197714Z  INFO neo::ide::methods::heal_event_model: heal: deterministic pass alone fixed the file — no LLM round-trip needed applied=2
[INFO] [stderr] 2026-07-10T12:26:04.197928Z  INFO neo::ide::methods::heal_event_model: heal: composing prompt for LLM pass has_neo_summary=true residual_count=2 validation_errors=0 model="haiku"
[INFO] [stderr] 2026-07-10T12:26:04.198013Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmpUiNqkz/claude cwd=/tmp/.tmpzu6exX timeout_secs=15 prompt_bytes=14587 args=["-p", "--add-dir", "/tmp/.tmpzu6exX", "--allowed-tools", "Read", "--json-schema", "{\"additionalProperties\":false,\"properties\":{\"changesMade\":{\"items\":{\"type\":\"string\"},\"type\":\"array\"},\"eventModel\":{\"type\":\"object\"},\"summary\":{\"type\":\"string\"}},\"required\":[\"eventModel\"],\"type\":\"object\"}", "--model", "haiku", "--verbose", "--output-format", "stream-json", "--include-partial-messages", "<prompt 14587 bytes>"]
[INFO] [stderr] 2026-07-10T12:26:04.198077Z  INFO neo::ide::methods::heal_event_model: heal: composing prompt for LLM pass has_neo_summary=false residual_count=0 validation_errors=1 model="opus"
[INFO] [stderr] 2026-07-10T12:26:04.198490Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmpQUA0hf/claude cwd=/tmp/.tmpOKjAS8 timeout_secs=10 prompt_bytes=11231 args=["-p", "--add-dir", "/tmp/.tmpOKjAS8", "--allowed-tools", "Read", "--json-schema", "{\"additionalProperties\":false,\"properties\":{\"changesMade\":{\"items\":{\"type\":\"string\"},\"type\":\"array\"},\"eventModel\":{\"type\":\"object\"},\"summary\":{\"type\":\"string\"}},\"required\":[\"eventModel\"],\"type\":\"object\"}", "--model", "opus", "--verbose", "--output-format", "stream-json", "--include-partial-messages", "<prompt 11231 bytes>"]
[INFO] [stderr] 2026-07-10T12:26:04.198258Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5371)
[INFO] [stderr] 2026-07-10T12:26:04.199150Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpnP4bUl/event-model.json mode=Validate
[INFO] [stderr] 2026-07-10T12:26:04.199367Z  INFO neo::ide::methods::heal_event_model: heal: deterministic pre-pass complete domains=0 inspection_ms=0 diff_ms=0 summary=0 chapters, 0 chapters removed, 0 entities, 0 slices, 0 slices removed, 0 nodes, 0 edges, 0 edges removed, 0 slice updates, 0 kind fixes, 0 position fixes, 0 layout entries, 0 field updates, 0 residuals applied=0
[INFO] [stderr] 2026-07-10T12:26:04.199476Z  INFO neo::ide::methods::heal_event_model: heal: composing prompt for LLM pass has_neo_summary=false residual_count=0 validation_errors=1 model="opus"
[INFO] [stderr] 2026-07-10T12:26:04.199582Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmpnP4bUl/.test-claude-stub.sh cwd=/tmp/.tmpnP4bUl timeout_secs=10 prompt_bytes=11231 args=["-p", "--add-dir", "/tmp/.tmpnP4bUl", "--allowed-tools", "Read", "--json-schema", "{\"additionalProperties\":false,\"properties\":{\"changesMade\":{\"items\":{\"type\":\"string\"},\"type\":\"array\"},\"eventModel\":{\"type\":\"object\"},\"summary\":{\"type\":\"string\"}},\"required\":[\"eventModel\"],\"type\":\"object\"}", "--model", "opus", "--verbose", "--output-format", "stream-json", "--include-partial-messages", "<prompt 11231 bytes>"]
[INFO] [stderr] 2026-07-10T12:26:04.205493Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5372)
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_improve_mode_materialises_missing_nodes_without_llm ... ok
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_deterministic_pass_alone_repairs_missing_edge_without_llm ... ok
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_fixes_positions_when_no_neohaskell_inspection ... ok
[INFO] [stderr] 2026-07-10T12:26:04.205746Z  INFO neo::ide::methods::heal_event_model: heal: user cancelled; killing claude subprocess
[INFO] [stderr] 2026-07-10T12:26:04.206223Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5373)
[INFO] [stderr] 2026-07-10T12:26:04.206326Z  INFO neo::ide::methods::heal_event_model: heal: user cancelled; killing claude subprocess
[INFO] [stderr] 2026-07-10T12:26:04.207029Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpNQq36f/event-model.json mode=Validate
[INFO] [stderr] 2026-07-10T12:26:04.207229Z  INFO neo::ide::methods::heal_event_model: heal: deterministic pre-pass complete domains=0 inspection_ms=0 diff_ms=0 summary=0 chapters, 0 chapters removed, 0 entities, 0 slices, 0 slices removed, 0 nodes, 0 edges, 0 edges removed, 0 slice updates, 0 kind fixes, 0 position fixes, 0 layout entries, 0 field updates, 0 residuals applied=0
[INFO] [stderr] 2026-07-10T12:26:04.207296Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmp3z8IfE/event-model.json mode=Validate
[INFO] [stderr] 2026-07-10T12:26:04.207373Z  INFO neo::ide::methods::heal_event_model: heal: composing prompt for LLM pass has_neo_summary=false residual_count=0 validation_errors=1 model="opus"
[INFO] [stderr] 2026-07-10T12:26:04.207444Z  INFO neo::ide::methods::heal_event_model: heal: deterministic pre-pass complete domains=0 inspection_ms=0 diff_ms=0 summary=0 chapters, 0 chapters removed, 0 entities, 0 slices, 0 slices removed, 0 nodes, 0 edges, 0 edges removed, 0 slice updates, 0 kind fixes, 0 position fixes, 0 layout entries, 0 field updates, 0 residuals applied=0
[INFO] [stderr] 2026-07-10T12:26:04.207455Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmpNQq36f/.test-claude-stub.sh cwd=/tmp/.tmpNQq36f timeout_secs=10 prompt_bytes=11231 args=["-p", "--add-dir", "/tmp/.tmpNQq36f", "--allowed-tools", "Read", "--json-schema", "{\"additionalProperties\":false,\"properties\":{\"changesMade\":{\"items\":{\"type\":\"string\"},\"type\":\"array\"},\"eventModel\":{\"type\":\"object\"},\"summary\":{\"type\":\"string\"}},\"required\":[\"eventModel\"],\"type\":\"object\"}", "--model", "opus", "--verbose", "--output-format", "stream-json", "--include-partial-messages", "<prompt 11231 bytes>"]
[INFO] [stderr] 2026-07-10T12:26:04.207531Z  INFO neo::ide::methods::heal_event_model: heal: composing prompt for LLM pass has_neo_summary=false residual_count=0 validation_errors=1 model="opus"
[INFO] [stderr] 2026-07-10T12:26:04.207602Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmp3z8IfE/.test-claude-stub.sh cwd=/tmp/.tmp3z8IfE timeout_secs=10 prompt_bytes=11231 args=["-p", "--add-dir", "/tmp/.tmp3z8IfE", "--allowed-tools", "Read", "--json-schema", "{\"additionalProperties\":false,\"properties\":{\"changesMade\":{\"items\":{\"type\":\"string\"},\"type\":\"array\"},\"eventModel\":{\"type\":\"object\"},\"summary\":{\"type\":\"string\"}},\"required\":[\"eventModel\"],\"type\":\"object\"}", "--model", "opus", "--verbose", "--output-format", "stream-json", "--include-partial-messages", "<prompt 11231 bytes>"]
[INFO] [stderr] 2026-07-10T12:26:04.207863Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmp1yoRG2/event-model.json mode=Validate
[INFO] [stderr] 2026-07-10T12:26:04.208002Z  INFO neo::ide::methods::heal_event_model: heal: deterministic pre-pass complete domains=0 inspection_ms=0 diff_ms=0 summary=0 chapters, 0 chapters removed, 0 entities, 0 slices, 0 slices removed, 0 nodes, 0 edges, 0 edges removed, 0 slice updates, 0 kind fixes, 0 position fixes, 0 layout entries, 0 field updates, 0 residuals applied=0
[INFO] [stderr] 2026-07-10T12:26:04.208092Z  INFO neo::ide::methods::heal_event_model: heal: composing prompt for LLM pass has_neo_summary=false residual_count=0 validation_errors=1 model="opus"
[INFO] [stderr] 2026-07-10T12:26:04.208163Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmp1yoRG2/.test-claude-stub.sh cwd=/tmp/.tmp1yoRG2 timeout_secs=10 prompt_bytes=11231 args=["-p", "--add-dir", "/tmp/.tmp1yoRG2", "--allowed-tools", "Read", "--json-schema", "{\"additionalProperties\":false,\"properties\":{\"changesMade\":{\"items\":{\"type\":\"string\"},\"type\":\"array\"},\"eventModel\":{\"type\":\"object\"},\"summary\":{\"type\":\"string\"}},\"required\":[\"eventModel\"],\"type\":\"object\"}", "--model", "opus", "--verbose", "--output-format", "stream-json", "--include-partial-messages", "<prompt 11231 bytes>"]
[INFO] [stderr] 2026-07-10T12:26:04.208237Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5375)
[INFO] [stderr] 2026-07-10T12:26:04.209065Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5377)
[INFO] [stderr] 2026-07-10T12:26:04.209222Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5382)
[INFO] [stderr] 2026-07-10T12:26:04.209390Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5381)
[INFO] [stderr] 2026-07-10T12:26:04.210445Z  INFO neo::ide::heal::claude: {"is_error":false,"result":"{\"changesMade\":[\"stub change\"],\"eventModel\":{\"chapters\":[],\"edges\":[],\"entities\":[],\"id\":\"HEALED_FROM_LEGACY\",\"layout\":{\"nodePositions\":{},\"viewport\":{\"x\":0,\"y\":0,\"zoom\":1}},\"name\":\"legacy-output\",\"nodes\":[],\"slices\":[]},\"summary\":\"stub test (legacy)\"}","subtype":"success","type":"result"} stream="stdout"
[INFO] [stderr] 2026-07-10T12:26:04.210562Z  INFO neo::ide::methods::heal_event_model: heal: claude exited elapsed_secs=0 exit_code=Some(0) stdout_lines=1 stderr_lines=0
[INFO] [stderr] 2026-07-10T12:26:04.210666Z  INFO neo::ide::methods::heal_event_model: heal: agent returned structured output summary_chars=18 change_count=1
[INFO] [stderr] 2026-07-10T12:26:04.210685Z  INFO neo::ide::methods::heal_event_model: heal: agent summary summary=stub test (legacy)
[INFO] [stderr] 2026-07-10T12:26:04.210696Z  INFO neo::ide::methods::heal_event_model: heal: agent change change=stub change
[INFO] [stderr] 2026-07-10T12:26:04.210961Z  INFO neo::ide::methods::heal_event_model: heal: file is now valid — healed and saved
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_extracts_structured_output_from_legacy_result_string ... ok
[INFO] [stderr] 2026-07-10T12:26:04.211362Z  INFO neo::ide::methods::heal_event_model: heal: claude exited elapsed_secs=0 exit_code=Some(0) stdout_lines=0 stderr_lines=0
[INFO] [stderr] 2026-07-10T12:26:04.211407Z ERROR neo::ide::methods::heal_event_model: heal: could not extract structured output from claude error=no `{type:"result"}` event found in claude stdout
[INFO] [stderr] 2026-07-10T12:26:04.211546Z  INFO neo::ide::methods::heal_event_model: heal: claude exited elapsed_secs=0 exit_code=Some(0) stdout_lines=0 stderr_lines=0
[INFO] [stderr] 2026-07-10T12:26:04.211572Z ERROR neo::ide::methods::heal_event_model: heal: could not extract structured output from claude error=no `{type:"result"}` event found in claude stdout
[INFO] [stderr] 2026-07-10T12:26:04.212155Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpEiKiKp/event-model.json mode=Validate
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_prompt_contains_file_path ... ok
[INFO] [stderr] 2026-07-10T12:26:04.212284Z  INFO neo::ide::methods::heal_event_model: heal: deterministic pre-pass complete domains=0 inspection_ms=0 diff_ms=0 summary=0 chapters, 0 chapters removed, 0 entities, 0 slices, 0 slices removed, 0 nodes, 0 edges, 0 edges removed, 0 slice updates, 0 kind fixes, 0 position fixes, 0 layout entries, 0 field updates, 0 residuals applied=0
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_passes_allowed_tools_flag ... ok
[INFO] [stderr] 2026-07-10T12:26:04.212620Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmp7O5gva/event-model.json mode=Validate
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_cancel_kills_subprocess_and_returns_cancelled ... ok
[INFO] [stderr] 2026-07-10T12:26:04.212744Z  INFO neo::ide::methods::heal_event_model: heal: deterministic pre-pass complete domains=0 inspection_ms=0 diff_ms=0 summary=0 chapters, 0 chapters removed, 0 entities, 0 slices, 0 slices removed, 0 nodes, 0 edges, 0 edges removed, 0 slice updates, 0 kind fixes, 0 position fixes, 0 layout entries, 0 field updates, 0 residuals applied=0
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_cancel_persists_deterministic_patches_to_disk ... ok
[INFO] [stderr] 2026-07-10T12:26:04.212840Z  INFO neo::ide::methods::heal_event_model: heal: composing prompt for LLM pass has_neo_summary=false residual_count=0 validation_errors=1 model="opus"
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_returns_claude_missing_when_binary_absent ... ok
[INFO] [stderr] 2026-07-10T12:26:04.212870Z  INFO neo::ide::methods::heal_event_model: heal: composing prompt for LLM pass has_neo_summary=false residual_count=0 validation_errors=1 model="opus"
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_prompt_contains_validation_errors ... ok
[INFO] [stderr] 2026-07-10T12:26:04.212919Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/nonexistent/path/to/claude-does-not-exist-12345 cwd=/tmp/.tmp7O5gva timeout_secs=10 prompt_bytes=11231 args=["-p", "--add-dir", "/tmp/.tmp7O5gva", "--allowed-tools", "Read", "--json-schema", "{\"additionalProperties\":false,\"properties\":{\"changesMade\":{\"items\":{\"type\":\"string\"},\"type\":\"array\"},\"eventModel\":{\"type\":\"object\"},\"summary\":{\"type\":\"string\"}},\"required\":[\"eventModel\"],\"type\":\"object\"}", "--model", "opus", "--verbose", "--output-format", "stream-json", "--include-partial-messages", "<prompt 11231 bytes>"]
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_prompt_states_mode_and_includes_schema_plus_model ... ok
[INFO] [stderr] 2026-07-10T12:26:04.212942Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmpEiKiKp/.test-claude-stub.sh cwd=/tmp/.tmpEiKiKp timeout_secs=10 prompt_bytes=11231 args=["-p", "--add-dir", "/tmp/.tmpEiKiKp", "--allowed-tools", "Read", "--json-schema", "{\"additionalProperties\":false,\"properties\":{\"changesMade\":{\"items\":{\"type\":\"string\"},\"type\":\"array\"},\"eventModel\":{\"type\":\"object\"},\"summary\":{\"type\":\"string\"}},\"required\":[\"eventModel\"],\"type\":\"object\"}", "--model", "opus", "--verbose", "--output-format", "stream-json", "--include-partial-messages", "<prompt 11231 bytes>"]
[INFO] [stderr] 2026-07-10T12:26:04.213122Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5380)
[INFO] [stderr] 2026-07-10T12:26:04.214468Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5388)
[INFO] [stderr] 2026-07-10T12:26:04.214826Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmplEPF36/event-model.json mode=Validate
[INFO] [stderr] 2026-07-10T12:26:04.214974Z  INFO neo::ide::methods::heal_event_model: heal: deterministic pre-pass complete domains=0 inspection_ms=0 diff_ms=0 summary=0 chapters, 0 chapters removed, 0 entities, 0 slices, 0 slices removed, 0 nodes, 0 edges, 0 edges removed, 0 slice updates, 0 kind fixes, 0 position fixes, 0 layout entries, 0 field updates, 0 residuals applied=0
[INFO] [stderr] 2026-07-10T12:26:04.215070Z  INFO neo::ide::methods::heal_event_model: heal: composing prompt for LLM pass has_neo_summary=false residual_count=0 validation_errors=1 model="opus"
[INFO] [stderr] 2026-07-10T12:26:04.215146Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmpAY7xOz/claude cwd=/tmp/.tmplEPF36 timeout_secs=10 prompt_bytes=11231 args=["-p", "--add-dir", "/tmp/.tmplEPF36", "--allowed-tools", "Read", "--json-schema", "{\"additionalProperties\":false,\"properties\":{\"changesMade\":{\"items\":{\"type\":\"string\"},\"type\":\"array\"},\"eventModel\":{\"type\":\"object\"},\"summary\":{\"type\":\"string\"}},\"required\":[\"eventModel\"],\"type\":\"object\"}", "--model", "opus", "--verbose", "--output-format", "stream-json", "--include-partial-messages", "<prompt 11231 bytes>"]
[INFO] [stderr] 2026-07-10T12:26:04.215406Z ERROR neo::ide::methods::heal_event_model: heal: claude binary not found on PATH binary=/nonexistent/path/to/claude-does-not-exist-12345
[INFO] [stderr] 2026-07-10T12:26:04.215574Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpdWjc3S/event-model.json mode=Validate
[INFO] [stderr] 2026-07-10T12:26:04.215714Z  INFO neo::ide::methods::heal_event_model: heal: deterministic pre-pass complete domains=0 inspection_ms=0 diff_ms=0 summary=0 chapters, 0 chapters removed, 0 entities, 0 slices, 0 slices removed, 0 nodes, 0 edges, 0 edges removed, 0 slice updates, 0 kind fixes, 0 position fixes, 0 layout entries, 0 field updates, 0 residuals applied=0
[INFO] [stderr] 2026-07-10T12:26:04.215806Z  INFO neo::ide::methods::heal_event_model: heal: composing prompt for LLM pass has_neo_summary=false residual_count=0 validation_errors=1 model="opus"
[INFO] [stderr] 2026-07-10T12:26:04.215878Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmp20HpyB/claude cwd=/tmp/.tmpdWjc3S timeout_secs=10 prompt_bytes=11231 args=["-p", "--add-dir", "/tmp/.tmpdWjc3S", "--allowed-tools", "Read", "--json-schema", "{\"additionalProperties\":false,\"properties\":{\"changesMade\":{\"items\":{\"type\":\"string\"},\"type\":\"array\"},\"eventModel\":{\"type\":\"object\"},\"summary\":{\"type\":\"string\"}},\"required\":[\"eventModel\"],\"type\":\"object\"}", "--model", "opus", "--verbose", "--output-format", "stream-json", "--include-partial-messages", "<prompt 11231 bytes>"]
[INFO] [stderr] 2026-07-10T12:26:04.216196Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpix6lcK/event-model.json mode=Validate
[INFO] [stderr] 2026-07-10T12:26:04.216311Z  INFO neo::ide::methods::heal_event_model: heal: deterministic pre-pass complete domains=0 inspection_ms=0 diff_ms=0 summary=0 chapters, 0 chapters removed, 0 entities, 0 slices, 0 slices removed, 0 nodes, 0 edges, 0 edges removed, 0 slice updates, 0 kind fixes, 0 position fixes, 0 layout entries, 0 field updates, 0 residuals applied=0
[INFO] [stderr] 2026-07-10T12:26:04.216669Z  INFO neo::ide::methods::heal_event_model: heal: claude exited elapsed_secs=0 exit_code=Some(0) stdout_lines=0 stderr_lines=0
[INFO] [stderr] 2026-07-10T12:26:04.216697Z ERROR neo::ide::methods::heal_event_model: heal: could not extract structured output from claude error=no `{type:"result"}` event found in claude stdout
[INFO] [stderr] 2026-07-10T12:26:04.217424Z  INFO neo::ide::methods::heal_event_model: heal: composing prompt for LLM pass has_neo_summary=false residual_count=0 validation_errors=1 model="opus"
[INFO] [stderr] 2026-07-10T12:26:04.217491Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmp0vVsU2/claude cwd=/tmp/.tmpix6lcK timeout_secs=10 prompt_bytes=11231 args=["-p", "--add-dir", "/tmp/.tmpix6lcK", "--allowed-tools", "Read", "--json-schema", "{\"additionalProperties\":false,\"properties\":{\"changesMade\":{\"items\":{\"type\":\"string\"},\"type\":\"array\"},\"eventModel\":{\"type\":\"object\"},\"summary\":{\"type\":\"string\"}},\"required\":[\"eventModel\"],\"type\":\"object\"}", "--model", "opus", "--verbose", "--output-format", "stream-json", "--include-partial-messages", "<prompt 11231 bytes>"]
[INFO] [stderr] 2026-07-10T12:26:04.217781Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpCET8DG/event-model.json mode=Validate
[INFO] [stderr] 2026-07-10T12:26:04.217909Z  INFO neo::ide::methods::heal_event_model: heal: deterministic pre-pass complete domains=0 inspection_ms=0 diff_ms=0 summary=0 chapters, 0 chapters removed, 0 entities, 0 slices, 0 slices removed, 0 nodes, 0 edges, 0 edges removed, 0 slice updates, 0 kind fixes, 0 position fixes, 0 layout entries, 0 field updates, 0 residuals applied=0
[INFO] [stderr] 2026-07-10T12:26:04.217948Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpGE6pA7/event-model.json mode=Validate
[INFO] [stderr] 2026-07-10T12:26:04.217997Z  INFO neo::ide::methods::heal_event_model: heal: composing prompt for LLM pass has_neo_summary=false residual_count=0 validation_errors=1 model="opus"
[INFO] [stderr] 2026-07-10T12:26:04.218066Z  INFO neo::ide::methods::heal_event_model: heal: deterministic pre-pass complete domains=0 inspection_ms=0 diff_ms=0 summary=0 chapters, 0 chapters removed, 0 entities, 0 slices, 0 slices removed, 0 nodes, 0 edges, 0 edges removed, 0 slice updates, 0 kind fixes, 0 position fixes, 0 layout entries, 0 field updates, 0 residuals applied=0
[INFO] [stderr] 2026-07-10T12:26:04.218070Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmpiIYvb0/claude cwd=/tmp/.tmpCET8DG timeout_secs=0 prompt_bytes=11231 args=["-p", "--add-dir", "/tmp/.tmpCET8DG", "--allowed-tools", "Read", "--json-schema", "{\"additionalProperties\":false,\"properties\":{\"changesMade\":{\"items\":{\"type\":\"string\"},\"type\":\"array\"},\"eventModel\":{\"type\":\"object\"},\"summary\":{\"type\":\"string\"}},\"required\":[\"eventModel\"],\"type\":\"object\"}", "--model", "opus", "--verbose", "--output-format", "stream-json", "--include-partial-messages", "<prompt 11231 bytes>"]
[INFO] [stderr] 2026-07-10T12:26:04.218146Z  INFO neo::ide::methods::heal_event_model: heal: composing prompt for LLM pass has_neo_summary=false residual_count=0 validation_errors=1 model="opus"
[INFO] [stderr] 2026-07-10T12:26:04.218205Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmpKqj3Q7/claude cwd=/tmp/.tmpGE6pA7 timeout_secs=10 prompt_bytes=11231 args=["-p", "--add-dir", "/tmp/.tmpGE6pA7", "--allowed-tools", "Read", "--json-schema", "{\"additionalProperties\":false,\"properties\":{\"changesMade\":{\"items\":{\"type\":\"string\"},\"type\":\"array\"},\"eventModel\":{\"type\":\"object\"},\"summary\":{\"type\":\"string\"}},\"required\":[\"eventModel\"],\"type\":\"object\"}", "--model", "opus", "--verbose", "--output-format", "stream-json", "--include-partial-messages", "<prompt 11231 bytes>"]
[INFO] [stderr] 2026-07-10T12:26:04.218266Z  INFO neo::ide::methods::heal_event_model: heal: claude exited elapsed_secs=0 exit_code=Some(0) stdout_lines=0 stderr_lines=0
[INFO] [stderr] 2026-07-10T12:26:04.218290Z ERROR neo::ide::methods::heal_event_model: heal: could not extract structured output from claude error=no `{type:"result"}` event found in claude stdout
[INFO] [stderr] 2026-07-10T12:26:04.219331Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpIHLw11/event-model.json mode=Validate
[INFO] [stderr] 2026-07-10T12:26:04.219430Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5395)
[INFO] [stderr] 2026-07-10T12:26:04.219487Z  INFO neo::ide::methods::heal_event_model: heal: deterministic pre-pass complete domains=0 inspection_ms=0 diff_ms=0 summary=0 chapters, 0 chapters removed, 0 entities, 0 slices, 0 slices removed, 0 nodes, 0 edges, 0 edges removed, 0 slice updates, 0 kind fixes, 0 position fixes, 0 layout entries, 0 field updates, 0 residuals applied=0
[INFO] [stderr] 2026-07-10T12:26:04.219574Z  INFO neo::ide::methods::heal_event_model: heal: composing prompt for LLM pass has_neo_summary=false residual_count=0 validation_errors=1 model="opus"
[INFO] [stderr] 2026-07-10T12:26:04.219642Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmptp9Iy3/claude cwd=/tmp/.tmpIHLw11 timeout_secs=10 prompt_bytes=11231 args=["-p", "--add-dir", "/tmp/.tmpIHLw11", "--allowed-tools", "Read", "--json-schema", "{\"additionalProperties\":false,\"properties\":{\"changesMade\":{\"items\":{\"type\":\"string\"},\"type\":\"array\"},\"eventModel\":{\"type\":\"object\"},\"summary\":{\"type\":\"string\"}},\"required\":[\"eventModel\"],\"type\":\"object\"}", "--model", "opus", "--verbose", "--output-format", "stream-json", "--include-partial-messages", "<prompt 11231 bytes>"]
[INFO] [stderr] 2026-07-10T12:26:04.220050Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5392)
[INFO] [stderr] 2026-07-10T12:26:04.220276Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5394)
[INFO] [stderr] 2026-07-10T12:26:04.220694Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5397)
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_passes_opus_when_workspace_is_not_neohaskell ... ok
[INFO] [stderr] 2026-07-10T12:26:04.223494Z  INFO neo::ide::methods::heal_event_model: heal: claude exited elapsed_secs=0 exit_code=Some(0) stdout_lines=0 stderr_lines=0
[INFO] [stderr] 2026-07-10T12:26:04.223532Z ERROR neo::ide::methods::heal_event_model: heal: could not extract structured output from claude error=no `{type:"result"}` event found in claude stdout
[INFO] [stderr] 2026-07-10T12:26:04.226471Z  INFO neo::ide::heal::claude: bang stream="stderr"
[INFO] [stderr] 2026-07-10T12:26:04.226752Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpb3ECJV/event-model.json mode=Validate
[INFO] [stderr] 2026-07-10T12:26:04.229335Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5390)
[INFO] [stderr] 2026-07-10T12:26:04.231030Z  INFO neo::ide::heal::claude: no structured output here stream="stdout"
[INFO] [stderr] 2026-07-10T12:26:04.233803Z  INFO neo::ide::methods::heal_event_model: heal: claude exited elapsed_secs=0 exit_code=Some(1) stdout_lines=0 stderr_lines=1
[INFO] [stderr] 2026-07-10T12:26:04.233891Z  INFO neo::ide::methods::heal_event_model: heal: claude exited elapsed_secs=0 exit_code=Some(0) stdout_lines=1 stderr_lines=0
[INFO] [stderr] 2026-07-10T12:26:04.233900Z ERROR neo::ide::methods::heal_event_model: heal: claude failed
[INFO] [stderr] --- captured stdout (0 lines) ---
[INFO] [stderr] (empty — claude wrote nothing to stdout)
[INFO] [stderr] --- captured stderr (1 lines) ---
[INFO] [stderr] bang
[INFO] [stderr] --- end claude output --- exit_code=1
[INFO] [stderr] 2026-07-10T12:26:04.233932Z ERROR neo::ide::methods::heal_event_model: heal: could not extract structured output from claude error=no `{type:"result"}` event found in claude stdout
[INFO] [stderr] 2026-07-10T12:26:04.234285Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5398)
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_returns_failed_when_subprocess_nonzero_exit ... ok
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_returns_failed_when_agent_emits_no_result_event ... ok
[INFO] [stderr] 2026-07-10T12:26:04.235453Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpWN7OjC/event-model.json mode=Improve
[INFO] [stderr] 2026-07-10T12:26:04.235934Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpMgMsna/event-model.json mode=Validate
[INFO] [stderr] 2026-07-10T12:26:04.236173Z  INFO neo::ide::methods::heal_event_model: heal: deterministic pre-pass complete domains=0 inspection_ms=0 diff_ms=0 summary=0 chapters, 0 chapters removed, 0 entities, 0 slices, 0 slices removed, 0 nodes, 0 edges, 0 edges removed, 0 slice updates, 0 kind fixes, 0 position fixes, 0 layout entries, 0 field updates, 0 residuals applied=0
[INFO] [stderr] 2026-07-10T12:26:04.236298Z  INFO neo::ide::methods::heal_event_model: heal: composing prompt for LLM pass has_neo_summary=false residual_count=0 validation_errors=1 model="opus"
[INFO] [stderr] 2026-07-10T12:26:04.241393Z  INFO neo::ide::methods::heal_event_model: heal: deterministic pre-pass complete domains=1 inspection_ms=4 diff_ms=1 summary=1 chapters, 0 chapters removed, 0 entities, 1 slices, 0 slices removed, 2 nodes, 1 edges, 0 edges removed, 0 slice updates, 0 kind fixes, 0 position fixes, 7 layout entries, 0 field updates, 5 residuals applied=12
[INFO] [stderr] 2026-07-10T12:26:04.241420Z  INFO neo::ide::heal::claude: {"is_error":false,"result":"stub closing message","structured_output":{"changesMade":["stub change"],"eventModel":{"chapters":[],"edges":[],"entities":[],"layout":{"nodePositions":{},"viewport":{"x":0,"y":0,"zoom":1}},"name":"missing id","nodes":[],"slices":[]},"summary":"stub test"},"subtype":"success","type":"result"} stream="stdout"
[INFO] [stderr] 2026-07-10T12:26:04.243752Z  INFO neo::ide::methods::heal_event_model: heal: claude exited elapsed_secs=0 exit_code=Some(0) stdout_lines=1 stderr_lines=0
[INFO] [stderr] 2026-07-10T12:26:04.244063Z  INFO neo::ide::methods::heal_event_model: heal: agent returned structured output summary_chars=9 change_count=1
[INFO] [stderr] 2026-07-10T12:26:04.244373Z  INFO neo::ide::methods::heal_event_model: heal: agent summary summary=stub test
[INFO] [stderr] 2026-07-10T12:26:04.244419Z  INFO neo::ide::methods::heal_event_model: heal: agent change change=stub change
[INFO] [stderr] 2026-07-10T12:26:04.244655Z  INFO neo::ide::heal::claude: {"is_error":false,"result":"stub closing message","structured_output":{"changesMade":["stub change"],"eventModel":{"chapters":[],"edges":[],"entities":[],"id":"HEALED_FROM_AGENT","layout":{"nodePositions":{},"viewport":{"x":0,"y":0,"zoom":1}},"name":"agent-output","nodes":[],"slices":[]},"summary":"stub test"},"subtype":"success","type":"result"} stream="stdout"
[INFO] [stderr] 2026-07-10T12:26:04.244777Z  INFO neo::ide::methods::heal_event_model: heal: claude exited elapsed_secs=0 exit_code=Some(0) stdout_lines=1 stderr_lines=0
[INFO] [stderr] 2026-07-10T12:26:04.257678Z  INFO neo::ide::methods::heal_event_model: heal: agent returned structured output summary_chars=9 change_count=1
[INFO] [stderr] 2026-07-10T12:26:04.257769Z  INFO neo::ide::methods::heal_event_model: heal: agent summary summary=stub test
[INFO] [stderr] 2026-07-10T12:26:04.257808Z  INFO neo::ide::methods::heal_event_model: heal: agent change change=stub change
[INFO] [stderr] 2026-07-10T12:26:04.258237Z  INFO neo::ide::methods::heal_event_model: heal: file is now valid — healed and saved
[INFO] [stderr] 2026-07-10T12:26:04.245540Z  WARN neo::ide::methods::heal_event_model: heal: agent's output still has validation errors — file NOT written remaining_errors=1
[INFO] [stderr] 2026-07-10T12:26:04.251701Z  INFO neo::ide::methods::heal_event_model: heal: claude exited elapsed_secs=0 exit_code=Some(0) stdout_lines=0 stderr_lines=0
[INFO] [stderr] 2026-07-10T12:26:04.257497Z  INFO neo::ide::heal::claude: {"is_error":false,"result":"stub closing message","structured_output":{"changesMade":["stub change"],"eventModel":{"chapters":[],"edges":[],"entities":[],"id":"m1","layout":{"nodePositions":{},"viewport":{"x":0,"y":0,"zoom":1}},"name":"demo","nodes":[],"slices":[]},"summary":"stub test"},"subtype":"success","type":"result"} stream="stdout"
[INFO] [stderr] 2026-07-10T12:26:04.258580Z  INFO neo::ide::methods::heal_event_model: heal: claude exited elapsed_secs=0 exit_code=Some(0) stdout_lines=1 stderr_lines=0
[INFO] [stderr] 2026-07-10T12:26:04.258683Z  INFO neo::ide::methods::heal_event_model: heal: agent returned structured output summary_chars=9 change_count=1
[INFO] [stderr] 2026-07-10T12:26:04.258700Z  INFO neo::ide::methods::heal_event_model: heal: agent summary summary=stub test
[INFO] [stderr] 2026-07-10T12:26:04.258709Z  INFO neo::ide::methods::heal_event_model: heal: agent change change=stub change
[INFO] [stderr] 2026-07-10T12:26:04.258988Z  INFO neo::ide::methods::heal_event_model: heal: file is now valid — healed and saved
[INFO] [stderr] 2026-07-10T12:26:04.244545Z  INFO neo::ide::methods::heal_event_model: heal: composing prompt for LLM pass has_neo_summary=true residual_count=5 validation_errors=0 model="sonnet"
[INFO] [stderr] 2026-07-10T12:26:04.259606Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmpWN7OjC/.test-claude-stub.sh cwd=/tmp/.tmpWN7OjC timeout_secs=10 prompt_bytes=15848 args=["-p", "--add-dir", "/tmp/.tmpWN7OjC", "--allowed-tools", "Read", "--json-schema", "{\"additionalProperties\":false,\"properties\":{\"changesMade\":{\"items\":{\"type\":\"string\"},\"type\":\"array\"},\"eventModel\":{\"type\":\"object\"},\"summary\":{\"type\":\"string\"}},\"required\":[\"eventModel\"],\"type\":\"object\"}", "--model", "sonnet", "--verbose", "--output-format", "stream-json", "--include-partial-messages", "<prompt 15848 bytes>"]
[INFO] [stderr] 2026-07-10T12:26:04.244369Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmpMgMsna/.test-claude-stub.sh cwd=/tmp/.tmpMgMsna timeout_secs=10 prompt_bytes=11231 args=["-p", "--add-dir", "/tmp/.tmpMgMsna", "--allowed-tools", "Read", "--json-schema", "{\"additionalProperties\":false,\"properties\":{\"changesMade\":{\"items\":{\"type\":\"string\"},\"type\":\"array\"},\"eventModel\":{\"type\":\"object\"},\"summary\":{\"type\":\"string\"}},\"required\":[\"eventModel\"],\"type\":\"object\"}", "--model", "opus", "--verbose", "--output-format", "stream-json", "--include-partial-messages", "<prompt 11231 bytes>"]
[INFO] [stderr] 2026-07-10T12:26:04.259857Z ERROR neo::ide::methods::heal_event_model: heal: could not extract structured output from claude error=no `{type:"result"}` event found in claude stdout
[INFO] [stderr] 2026-07-10T12:26:04.262495Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5404)
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_returns_still_invalid_when_stub_leaves_errors ... ok
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_prompt_contains_schema ... ok
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_returns_healed_when_stub_fixes_file ... ok
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_returns_healed_writes_agent_payload_to_disk_atomically ... ok
[INFO] [stderr] 2026-07-10T12:26:04.269751Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmps3dspc/event-model.json mode=Validate
[INFO] [stderr] 2026-07-10T12:26:04.269966Z  INFO neo::ide::methods::heal_event_model: heal: deterministic pre-pass complete domains=0 inspection_ms=0 diff_ms=0 summary=0 chapters, 0 chapters removed, 0 entities, 0 slices, 0 slices removed, 0 nodes, 0 edges, 0 edges removed, 0 slice updates, 0 kind fixes, 0 position fixes, 0 layout entries, 0 field updates, 0 residuals applied=0
[INFO] [stderr] 2026-07-10T12:26:04.270064Z  INFO neo::ide::methods::heal_event_model: heal: file already valid AND inspection matches — no-op
[INFO] [stdout] test ide::methods::initialize::tests::initialize_returns_server_info_and_workspace ... ok
[INFO] [stdout] test ide::methods::initialize::tests::initialize_reports_project_when_neo_json_present ... ok
[INFO] [stdout] test ide::methods::initialize::tests::initialize_serialized_uses_camel_case ... ok
[INFO] [stdout] test ide::methods::read_event_model::tests::read_preserves_byte_for_byte_when_valid ... ok
[INFO] [stderr] 2026-07-10T12:26:04.273589Z  INFO neo::ide::methods::heal_event_model: heal: claude exited elapsed_secs=0 exit_code=Some(0) stdout_lines=0 stderr_lines=0
[INFO] [stderr] 2026-07-10T12:26:04.274081Z ERROR neo::ide::methods::heal_event_model: heal: could not extract structured output from claude error=no `{type:"result"}` event found in claude stdout
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_validate_mode_skips_subprocess_on_valid_file ... ok
[INFO] [stderr] 2026-07-10T12:26:04.275509Z  INFO neo::ide::methods::read_event_model: readEventModel: file is malformed JSON path=/tmp/.tmpgJOOjJ/event-model.json parse_error=key must be a string at line 1 column 2
[INFO] [stdout] test ide::methods::read_event_model::tests::read_returns_validation_not_found_for_missing_file ... ok
[INFO] [stdout] test ide::methods::read_event_model::tests::read_returns_validation_valid_for_good_file ... ok
[INFO] [stdout] test ide::methods::read_event_model::tests::read_returns_validation_malformed_json_for_unparseable ... ok
[INFO] [stderr] 2026-07-10T12:26:04.280459Z  INFO neo::ide::methods::read_event_model: readEventModel: file is malformed JSON path=/tmp/.tmpBDQ7mj/event-model.json parse_error=key must be a string at line 1 column 2
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_uses_workspace_root_as_cwd ... ok
[INFO] [stderr] 2026-07-10T12:26:04.281012Z  INFO neo::ide::methods::read_event_model: readEventModel: validation errors path=/tmp/.tmpnard4B/event-model.json error_count=1
[INFO] [stderr] 2026-07-10T12:26:04.282689Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5403)
[INFO] [stderr] 2026-07-10T12:26:04.282929Z  INFO neo::ide::methods::relayout_event_model: relayout: deterministic layout pass complete applied=7 summary=0 chapters, 0 chapters removed, 0 entities, 0 slices, 0 slices removed, 0 nodes, 0 edges, 0 edges removed, 2 slice updates, 0 kind fixes, 5 position fixes, 0 layout entries, 0 field updates, 0 residuals
[INFO] [stderr] 2026-07-10T12:26:04.284713Z  INFO neo::ide::methods::relayout_event_model: relayout: deterministic layout pass complete applied=0 summary=0 chapters, 0 chapters removed, 0 entities, 0 slices, 0 slices removed, 0 nodes, 0 edges, 0 edges removed, 0 slice updates, 0 kind fixes, 0 position fixes, 0 layout entries, 0 field updates, 0 residuals
[INFO] [stdout] test ide::methods::read_event_model::tests::read_includes_content_even_when_invalid ... ok
[INFO] [stdout] test ide::methods::read_event_model::tests::read_returns_validation_invalid_for_schema_violation ... ok
[INFO] [stderr] 2026-07-10T12:26:04.290940Z  INFO neo::ide::methods::relayout_event_model: relayout: deterministic layout pass complete applied=0 summary=0 chapters, 0 chapters removed, 0 entities, 0 slices, 0 slices removed, 0 nodes, 0 edges, 0 edges removed, 0 slice updates, 0 kind fixes, 0 position fixes, 0 layout entries, 0 field updates, 0 residuals
[INFO] [stdout] test ide::methods::read_event_model::tests::read_serialized_uses_camel_case ... ok
[INFO] [stdout] test ide::methods::relayout_event_model::tests::relayout_orders_slices_by_wave_and_is_fixed_point ... ok
[INFO] [stdout] test ide::methods::write_event_model::tests::write_creates_file_with_exact_content ... ok
[INFO] [stdout] test ide::methods::relayout_event_model::tests::relayout_returns_zero_applied_when_file_already_canonical ... ok
[INFO] [stderr] 2026-07-10T12:26:04.296029Z  INFO neo::ide::methods::read_event_model: readEventModel: validation errors path=/tmp/.tmpy2r9S2/event-model.json error_count=9
[INFO] [stdout] test ide::methods::write_event_model::tests::write_does_not_leave_tmp_file_behind ... ok
[INFO] [stdout] test ide::methods::write_event_model::tests::write_then_read_round_trips ... ok
[INFO] [stdout] test ide::registry::tests::dispatch_bad_params_yields_invalid_params ... ok
[INFO] [stdout] test ide::registry::tests::dispatch_propagates_neo_error_as_server_error ... ok
[INFO] [stdout] test ide::methods::relayout_event_model::tests::relayout_prunes_orphan_empty_heal_slices ... ok
[INFO] [stdout] test ide::registry::tests::registry_is_clone_cheap_and_shareable ... ok
[INFO] [stdout] test ide::rpc::tests::neo_error_serializes_invalid_dep_with_full_payload ... ok
[INFO] [stdout] test ide::registry::tests::dispatch_unknown_method_yields_method_not_found ... ok
[INFO] [stdout] test ide::rpc::tests::neo_error_serializes_with_code_message_help ... ok
[INFO] [stdout] test ide::registry::tests::register_then_dispatch_typed_handler ... ok
[INFO] [stdout] test ide::rpc::tests::notification_has_no_id_field_in_serialized_form ... ok
[INFO] [stderr] 2026-07-10T12:26:04.294509Z  INFO neo::ide::methods::relayout_event_model: relayout: deterministic layout pass complete applied=4 summary=0 chapters, 1 chapters removed, 0 entities, 0 slices, 1 slices removed, 0 nodes, 0 edges, 0 edges removed, 0 slice updates, 0 kind fixes, 0 position fixes, 2 layout entries, 0 field updates, 0 residuals
[INFO] [stderr] 2026-07-10T12:26:04.298854Z  INFO neo::ide::methods::relayout_event_model: relayout: deterministic layout pass complete applied=0 summary=0 chapters, 0 chapters removed, 0 entities, 0 slices, 0 slices removed, 0 nodes, 0 edges, 0 edges removed, 0 slice updates, 0 kind fixes, 0 position fixes, 0 layout entries, 0 field updates, 0 residuals
[INFO] [stdout] test ide::rpc::tests::notification_parses_without_id_field ... ok
[INFO] [stdout] test ide::rpc::tests::parse_error_for_invalid_json ... ok
[INFO] [stdout] test ide::rpc::tests::request_id_round_trips_through_json ... ok
[INFO] [stdout] test ide::rpc::tests::request_parses_string_id ... ok
[INFO] [stderr] 2026-07-10T12:26:04.301517Z  INFO neo::ide::server: rpc request method=initialize session_id=session_53@1783686364
[INFO] [stdout] test ide::rpc::tests::request_rejects_wrong_jsonrpc_version ... ok
[INFO] [stdout] test ide::rpc::tests::response_serializes_result_xor_error ... ok
[INFO] [stdout] test ide::rpc::tests::response_with_null_id_serializes_id_field_as_json_null ... ok
[INFO] [stderr] 2026-07-10T12:26:04.303058Z  INFO neo::ide::methods::heal_event_model: heal: deterministic pre-pass complete domains=1 inspection_ms=75 diff_ms=0 summary=1 chapters, 0 chapters removed, 1 entities, 1 slices, 0 slices removed, 2 nodes, 1 edges, 0 edges removed, 0 slice updates, 0 kind fixes, 0 position fixes, 2 layout entries, 0 field updates, 0 residuals applied=8
[INFO] [stderr] 2026-07-10T12:26:04.303869Z  INFO neo::ide::methods::relayout_event_model: relayout: deterministic layout pass complete applied=2 summary=0 chapters, 0 chapters removed, 0 entities, 0 slices, 0 slices removed, 0 nodes, 0 edges, 0 edges removed, 0 slice updates, 0 kind fixes, 2 position fixes, 0 layout entries, 0 field updates, 0 residuals
[INFO] [stderr] 2026-07-10T12:26:04.304589Z  INFO neo::ide::server: rpc request method=does/not/exist session_id=session_60@1783686364
[INFO] [stderr] 2026-07-10T12:26:04.304624Z  WARN neo::ide::server: rpc request failed method=does/not/exist code=-32601 method `does/not/exist` is not registered
[INFO] [stderr] 2026-07-10T12:26:04.305738Z  INFO neo::ide::methods::heal_event_model: heal: composing prompt for LLM pass has_neo_summary=true residual_count=0 validation_errors=1 model="haiku"
[INFO] [stderr] 2026-07-10T12:26:04.305840Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmpb3ECJV/.test-claude-stub.sh cwd=/tmp/.tmpb3ECJV timeout_secs=10 prompt_bytes=13476 args=["-p", "--add-dir", "/tmp/.tmpb3ECJV", "--allowed-tools", "Read", "--json-schema", "{\"additionalProperties\":false,\"properties\":{\"changesMade\":{\"items\":{\"type\":\"string\"},\"type\":\"array\"},\"eventModel\":{\"type\":\"object\"},\"summary\":{\"type\":\"string\"}},\"required\":[\"eventModel\"],\"type\":\"object\"}", "--model", "haiku", "--verbose", "--output-format", "stream-json", "--include-partial-messages", "<prompt 13476 bytes>"]
[INFO] [stderr] 2026-07-10T12:26:04.306490Z  INFO neo::ide::methods::heal_event_model: heal: claude exited elapsed_secs=0 exit_code=Some(0) stdout_lines=0 stderr_lines=0
[INFO] [stderr] 2026-07-10T12:26:04.306520Z ERROR neo::ide::methods::heal_event_model: heal: could not extract structured output from claude error=no `{type:"result"}` event found in claude stdout
[INFO] [stderr] 2026-07-10T12:26:04.307138Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5451)
[INFO] [stdout] test ide::rpc::tests::request_parses_minimal_envelope ... ok
[INFO] [stdout] test ide::rpc::tests::request_parses_null_id ... ok
[INFO] [stdout] test ide::server::tests::handle_text_frame_initialize_returns_success_response ... ok
[INFO] [stdout] test ide::server::tests::handle_text_frame_invalid_json_returns_parse_error_with_null_id ... ok
[INFO] [stdout] test ide::server::tests::handle_text_frame_notification_yields_no_response ... ok
[INFO] [stdout] test ide::session::tests::session_attaches_workspace ... ok
[INFO] [stdout] test ide::server::tests::model_changed_emits_event_model_changed_notification ... ok
[INFO] [stdout] test ide::session::tests::session_id_is_uniquely_minted ... ok
[INFO] [stdout] test ide::server::tests::handle_text_frame_unknown_method_returns_method_not_found ... ok
[INFO] [stdout] test ide::session::tests::session_id_displays_grep_able ... ok
[INFO] [stdout] test ide::methods::relayout_event_model::tests::relayout_only_fixes_positions_does_not_materialize ... ok
[INFO] [stdout] test ide::sync::tests::sync_event_model_missing_file_errors_actionably ... ok
[INFO] [stdout] test ide::transport::tests::local_transport_accept_mints_session_with_workspace ... ok
[INFO] [stdout] test ide::transport::tests::local_transport_two_accepts_share_workspace_but_have_distinct_session_ids ... ok
[INFO] [stdout] test ide::validate::tests::additional_root_property_fails ... ok
[INFO] [stdout] test ide::validate::tests::edge_with_unknown_type_fails ... ok
[INFO] [stdout] test ide::validate::tests::empty_string_input_returns_malformed_json ... ok
[INFO] [stdout] test ide::validate::tests::event_node_missing_entity_id_fails ... ok
[INFO] [stdout] test ide::validate::tests::id_collision_currently_allowed ... ok
[INFO] [stdout] test ide::validate::tests::integration_node_invalid_kind_fails ... ok
[INFO] [stdout] test ide::validate::tests::invalid_node_field_missing_type_rejected ... ok
[INFO] [stdout] test ide::validate::tests::invalid_node_fields_rejected ... ok
[INFO] [stdout] test ide::validate::tests::missing_required_root_field_id_fails ... ok
[INFO] [stdout] test ide::sync::tests::sync_event_model_writes_event_fields_without_moving_layout ... ok
[INFO] [stdout] test ide::validate::tests::missing_required_root_field_nodes_fails ... ok
[INFO] [stdout] test ide::validate::tests::model_without_submodels_array_is_valid_backcompat ... ok
[INFO] [stdout] test ide::validate::tests::multiple_errors_all_reported ... ok
[INFO] [stdout] test ide::validate::tests::node_with_unknown_type_fails ... ok
[INFO] [stdout] test ide::validate::tests::non_object_root_returns_schema_error ... ok
[INFO] [stdout] test ide::validate::tests::null_root_returns_schema_error ... ok
[INFO] [stdout] test ide::validate::tests::referential_chapter_null_submodel_ok ... ok
[INFO] [stdout] test ide::validate::tests::referential_chapter_unknown_submodel_fails ... ok
[INFO] [stdout] test ide::validate::tests::referential_node_unknown_entity_fails ... ok
[INFO] [stdout] test ide::validate::tests::referential_node_null_entity_ok ... ok
[INFO] [stdout] test ide::validate::tests::referential_orphan_edge_source_fails ... ok
[INFO] [stdout] test ide::validate::tests::referential_slice_unknown_chapter_fails ... ok
[INFO] [stdout] test ide::validate::tests::referential_orphan_edge_target_fails ... ok
[INFO] [stdout] test ide::validate::tests::schema_compiles_at_runtime ... ok
[INFO] [stdout] test ide::validate::tests::truncated_json_returns_malformed_json_with_position ... ok
[INFO] [stdout] test ide::validate::tests::unicode_node_name_passes ... ok
[INFO] [stdout] test ide::validate::tests::valid_full_model_passes ... ok
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_uses_sonnet_when_orphan_residual_is_large ... ok
[INFO] [stdout] test ide::validate::tests::valid_minimal_model_passes ... ok
[INFO] [stdout] test ide::validate::tests::valid_model_with_bysubmodel_layout_passes ... ok
[INFO] [stdout] test ide::validate::tests::validate_is_deterministic ... ok
[INFO] [stdout] test ide::validate::tests::valid_model_with_submodel_and_chapter_membership_passes ... ok
[INFO] [stdout] test ide::validate::tests::valid_node_with_fields_passes ... ok
[INFO] [stdout] test ide::validate::tests::whitespace_only_input_returns_malformed_json ... ok
[INFO] [stdout] test ide::sync::tests::sync_event_model_is_idempotent ... ok
[INFO] [stdout] test ide::workspace::tests::workspace_project_is_none_when_no_neo_json ... ok
[INFO] [stdout] test ide::workspace::tests::workspace_project_is_none_when_neo_json_malformed ... ok
[INFO] [stdout] test ide::workspace::tests::workspace_project_is_some_when_neo_json_present ... ok
[INFO] [stdout] test inspect::parse::tests::brace_body_balances_nested_braces ... ok
[INFO] [stdout] test inspect::parse::tests::contains_word_respects_token_boundaries ... ok
[INFO] [stdout] test ide::sync::tests::sync_event_model_full_heal_when_source_adds_node ... ok
[INFO] [stdout] test ide::workspace::tests::workspace_id_is_canonical_path_string ... ok
[INFO] [stdout] test ide::methods::write_event_model::tests::write_overwrites_existing_file ... ok
[INFO] [stdout] test inspect::parse::tests::data_type_record_fields_empty_for_recordless_and_excludes_deriving ... ok
[INFO] [stdout] test inspect::parse::tests::data_type_record_fields_extracts_command_payload_only ... ok
[INFO] [stdout] test inspect::parse::tests::event_write_sets_absent_fold_is_low_confidence ... ok
[INFO] [stdout] test inspect::parse::tests::events_in_domain_attaches_inline_record_fields ... ok
[INFO] [stdout] test inspect::parse::tests::events_in_domain_keeps_bare_file_events_when_no_sum_type ... ok
[INFO] [stderr] 2026-07-10T12:26:04.345036Z  INFO neo::ide::methods::heal_event_model: heal: claude exited elapsed_secs=0 exit_code=Some(0) stdout_lines=0 stderr_lines=0
[INFO] [stderr] 2026-07-10T12:26:04.345098Z ERROR neo::ide::methods::heal_event_model: heal: could not extract structured output from claude error=no `{type:"result"}` event found in claude stdout
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_uses_haiku_when_neo_inspect_finds_a_small_residual ... ok
[INFO] [stdout] test inspect::parse::tests::events_in_domain_skips_payload_modules_and_keeps_constructors ... ok
[INFO] [stdout] test inspect::parse::tests::extract_combine_noop_values_no_case_returns_none ... ok
[INFO] [stdout] test inspect::parse::tests::extract_combine_noop_values_nested_case_returns_none ... ok
[INFO] [stdout] test inspect::parse::tests::extract_emitted_commands_catches_callback_return_type_record ... ok
[INFO] [stdout] test inspect::parse::tests::event_write_sets_handles_evolve_named_fold ... ok
[INFO] [stdout] test inspect::parse::tests::event_write_sets_parses_update_fold ... ok
[INFO] [stdout] test inspect::parse::tests::extract_emitted_commands_record_scan_ignores_non_command_records ... ok
[INFO] [stdout] test inspect::parse::tests::extract_emitted_commands_dedups ... ok
[INFO] [stdout] test inspect::parse::tests::extract_event_constructor_fields_deterministic_under_reparse ... ok
[INFO] [stdout] test inspect::parse::tests::extract_entity_field_reads_collects_accessors ... ok
[INFO] [stdout] test inspect::parse::tests::events_in_domain_reads_payload_module_fields ... ok
[INFO] [stdout] test inspect::parse::tests::extract_event_constructor_payload_modules_maps_ctor_to_module ... ok
[INFO] [stdout] test inspect::parse::tests::extract_event_constructors_returns_empty_when_no_event_sum ... ok
[INFO] [stdout] test inspect::parse::tests::extract_event_constructor_fields_per_constructor ... ok
[INFO] [stderr] 2026-07-10T12:26:04.430463Z  WARN neo::ide::methods::heal_event_model: heal: claude timed out, killing timeout_secs=0
[INFO] [stdout] test inspect::parse::tests::extract_event_payload_modules_empty_for_inline_record_arms ... ok
[INFO] [stdout] test inspect::parse::tests::extract_event_constructor_fields_empty_for_payload_module_arm ... ok
[INFO] [stdout] test inspect::parse::tests::extract_method_body_slurps_indented_combine ... ok
[INFO] [stdout] test inspect::parse::tests::extracts_decide_body_until_next_top_level ... ok
[INFO] [stdout] test inspect::parse::tests::extract_event_payload_modules_pulls_module_qualifiers ... ok
[INFO] [stdout] test inspect::parse::tests::filter_present_returns_only_real_matches_in_order ... ok
[INFO] [stdout] test inspect::parse::tests::parse_field_decl_rejects_non_fields ... ok
[INFO] [stdout] test inspect::parse::tests::parse_record_fields_ignores_record_update_equals ... ok
[INFO] [stdout] test inspect::parse::tests::parse_record_fields_multiline_and_leading_comma ... ok
[INFO] [stdout] test inspect::parse::tests::parse_record_fields_multiple_in_source_order ... ok
[INFO] [stdout] test inspect::parse::tests::parse_record_fields_qualified_and_applied_types_kept_verbatim ... ok
[INFO] [stdout] test inspect::parse::tests::parse_record_fields_single ... ok
[INFO] [stdout] test inspect::parse::tests::parse_record_fields_strips_trailing_line_comment ... ok
[INFO] [stdout] test inspect::parse::tests::parse_record_fields_tuple_type_not_split_on_inner_comma ... ok
[INFO] [stdout] test inspect::parse::tests::queries_in_domain_extracts_read_model_fields ... ok
[INFO] [stdout] test inspect::parse::tests::single_ctor_token_rejects_applications ... ok
[INFO] [stdout] test inspect::parse::tests::extract_function_body_returns_none_when_function_missing ... ok
[INFO] [stdout] test inspect::parse::tests::extracts_event_constructors_from_data_block ... ok
[INFO] [stdout] test inspect::parse::tests::write_set_full_record_excludes_copy_through ... ok
[INFO] [stdout] test inspect::parse::tests::write_set_qualified_enum_value_strips_module ... ok
[INFO] [stdout] test inspect::parse::tests::write_set_records_hub_value_for_enum_field ... ok
[INFO] [stdout] test inspect::parse::tests::write_set_partial_update_lists_only_named_fields ... ok
[INFO] [stdout] test inspect::parse::tests::extract_emitted_commands_finds_command_dot_emit ... ok
[INFO] [stdout] test inspect::parse::tests::extract_combine_noop_values_inline_branches ... ok
[INFO] [stdout] test inspect::parse::tests::extract_emitted_commands_recognises_integration_emit_command_idiom ... ok
[INFO] [stdout] test inspect::tests::inspect_defaults_orphan_query_subscriptions_to_local_events ... ok
[INFO] [stdout] test inspect::tests::inspect_discovers_a_domain_with_core_hs_and_commands_dir ... ok
[INFO] [stdout] test inspect::parse::tests::extract_combine_noop_values_flat_case ... ok
[INFO] [stdout] test inspect::tests::inspect_classifies_reactive_integration_when_emits_command ... ok
[INFO] [stdout] test inspect::tests::inspect_drops_plumbing_only_integration ... ok
[INFO] [stdout] test inspect::tests::inspect_local_comment_mention_does_not_pin_subscription ... ok
[INFO] [stdout] test inspect::tests::inspect_falls_back_to_all_local_when_no_entity_fold ... ok
[INFO] [stdout] test inspect::tests::inspect_project_returns_empty_when_no_src ... ok
[INFO] [stdout] test inspect::tests::inspect_passes_global_event_set_to_query_parser ... ok
[INFO] [stdout] test inspect::tests::inspect_detects_callback_idiom_emitted_command_via_record_construction ... ok
[INFO] [stdout] test inspect::tests::inspect_field_overlap_narrows_to_writing_events ... ok
[INFO] [stdout] test inspect::tests::inspect_classifies_outbound_integration_when_no_command_emit ... ok
[INFO] [stdout] test inspect::tests::inspect_keeps_event_handling_integration_that_emits_no_command ... ok
[INFO] [stdout] test interpret::patterns::cabal_unknown_package::tests::empty_package_name ... ok
[INFO] [stdout] test interpret::patterns::cabal_unknown_package::tests::handles_trailing_newline ... ok
[INFO] [stdout] test interpret::patterns::cabal_unknown_package::tests::matches_typical_cabal_output ... ok
[INFO] [stdout] test interpret::patterns::cabal_could_not_resolve::tests::matches ... ok
[INFO] [stdout] test interpret::patterns::git_missing_ref::tests::unicode_ref_preserved_verbatim ... ok
[INFO] [stdout] test interpret::patterns::git_unknown_revision::tests::matches ... ok
[INFO] [stdout] test interpret::patterns::nix_attribute_missing_backticks::tests::matches ... ok
[INFO] [stdout] test interpret::patterns::git_repo_not_found::tests::matches ... ok
[INFO] [stdout] test inspect::tests::inspect_value_level_drops_noop_states ... ok
[INFO] [stdout] test interpret::patterns::nix_attribute_missing_single_quotes::tests::matches ... ok
[INFO] [stdout] test interpret::patterns::hurl_connection_refused::tests::matches ... ok
[INFO] [stdout] test interpret::patterns::nix_deadbeef_hash::tests::matches_across_lines ... ok
[INFO] [stdout] test interpret::patterns::nix_builder_failed::tests::matches_quoted_drv ... ok
[INFO] [stdout] test inspect::tests::inspect_value_level_is_deterministic_under_event_reorder ... ok
[INFO] [stdout] test interpret::patterns::nix_builder_failed::tests::matches_unquoted_drv ... ok
[INFO] [stdout] test interpret::patterns::nix_deadbeef_hash::tests::matches_inline ... ok
[INFO] [stdout] test interpret::patterns::nix_tarball_download::tests::matches_getting_attributes ... ok
[INFO] [stdout] test interpret::tests::compiled_registry_length_matches_const ... ok
[INFO] [stdout] test interpret::patterns::nix_tarball_download::tests::matches_unable_to_download ... ok
[INFO] [stdout] test interpret::patterns::nix_tarball_download::tests::matches_tarball ... ok
[INFO] [stdout] test interpret::tests::match_any_first_entry_wins_on_overlap ... ok
[INFO] [stdout] test interpret::tests::entry_count_matches_documented ... ok
[INFO] [stdout] test interpret::tests::match_any_returns_none_on_empty_input ... ok
[INFO] [stdout] test interpret::tests::every_entry_id_is_unique_kebab ... ok
[INFO] [stdout] test interpret::patterns::git_missing_ref::tests::matches_typical ... ok
[INFO] [stdout] test interpret::tests::render_escapes_double_braces ... ok
[INFO] [stdout] test interpret::tests::match_any_returns_none_on_whitespace_input ... ok
[INFO] [stdout] test interpret::tests::match_kind_filters_to_requested_kind ... ok
[INFO] [stdout] test interpret::tests::render_handles_template_without_placeholders ... ok
[INFO] [stdout] test interpret::tests::render_substitutes_named_captures ... ok
[INFO] [stdout] test interpret::tests::render_unknown_var_renders_literally ... ok
[INFO] [stdout] test lock::tests::test_discover_domain_files ... ok
[INFO] [stdout] test lock::tests::test_find_locked_violations_empty_manifest ... ok
[INFO] [stdout] test lock::tests::test_find_locked_violations_no_manifest ... ok
[INFO] [stdout] test interpret::tests::match_any_returns_none_on_unknown_pattern ... ok
[INFO] [stdout] test lock::tests::test_fuzzy_match ... ok
[INFO] [stdout] test lock::tests::test_lock_manifest ... ok
[INFO] [stdout] test interpret::tests::render_handles_lone_brace_in_prose ... ok
[INFO] [stdout] test lock::tests::test_lock_manifest_sorting ... ok
[INFO] [stdout] test interpret::tests::render_preserves_unicode_in_capture ... ok
[INFO] [stdout] test lock::tests::test_lock_manifest_no_duplicates ... ok
[INFO] [stdout] test inspect::tests::inspect_catches_dispatcher_routed_integration ... ok
[INFO] [stdout] test lock::tests::test_parse_porcelain_multiple_lines ... ok
[INFO] [stdout] test lock::tests::test_parse_porcelain_empty ... ok
[INFO] [stdout] test lock::tests::test_parse_porcelain_renamed_includes_both_paths ... ok
[INFO] [stdout] test lock::tests::test_parse_porcelain_skips_blank_and_short_lines ... ok
[INFO] [stdout] test lock::tests::test_parse_porcelain_copied_includes_both_paths ... ok
[INFO] [stdout] test lock::tests::test_parse_porcelain_staged ... ok
[INFO] [stdout] test lock::tests::test_parse_porcelain_deleted ... ok
[INFO] [stdout] test lock::tests::test_parse_porcelain_staged_and_modified ... ok
[INFO] [stdout] test lock::tests::test_parse_porcelain_unstaged ... ok
[INFO] [stdout] test network::tests::parse_ls_remote_tags_annotated_prefers_peeled ... ok
[INFO] [stdout] test lock::tests::test_parse_porcelain_untracked ... ok
[INFO] [stdout] test network::tests::parse_ls_remote_tags_empty ... ok
[INFO] [stdout] test network::tests::parse_ls_remote_tags_ignores_unrelated_refs ... ok
[INFO] [stdout] test network::tests::parse_ls_remote_tags_lightweight ... ok
[INFO] [stdout] test network::tests::test_check_for_updates ... ok
[INFO] [stdout] test network::tests::test_fetch_skills_repo_skip_network_stub ... ok
[INFO] [stdout] test network::tests::test_fetch_starter_template ... ok
[INFO] [stdout] test output::tests::test_output_mode_is_ci ... ok
[INFO] [stdout] test prereqs::tests::test_warn_direnv ... ok
[INFO] [stdout] test reconcile::cabal::tests::cabal_emits_or_range_parenthesized ... ok
[INFO] [stdout] test reconcile::cabal::tests::cabal_emits_hackage_dep_with_constraint ... ok
[INFO] [stdout] test reconcile::cabal::tests::cabal_emits_hackage_dep_empty_constraint ... ok
[INFO] [stdout] test reconcile::cabal::tests::cabal_emits_test_suite ... ok
[INFO] [stdout] test reconcile::cabal::tests::cabal_no_dependencies ... ok
[INFO] [stdout] test reconcile::cabal::tests::cabal_executable_stanza_by_default ... ok
[INFO] [stdout] test reconcile::cabal::tests::cabal_omits_executable_stanza_for_library ... ok
[INFO] [stdout] test interpret::tests::every_interpreter_regex_compiles ... ok
[INFO] [stdout] test reconcile::cabal::tests::cabal_omits_git_deps_from_build_depends_constraint ... ok
[INFO] [stdout] test reconcile::cabal::tests::cabal_test_suite_omits_other_modules_when_only_driver ... ok
[INFO] [stdout] test interpret::tests::every_template_var_has_a_named_capture ... ok
[INFO] [stdout] test reconcile::cabal::tests::test_generate_cabal_with_modules ... ok
[INFO] [stdout] test reconcile::cabal_project::tests::cabal_project_always_enables_tests_for_app_package ... ok
[INFO] [stdout] test reconcile::cabal_project::tests::cabal_project_emits_file_packages ... ok
[INFO] [stdout] test reconcile::cabal_project::tests::cabal_project_emits_git_source_repo_package ... ok
[INFO] [stdout] test prereqs::tests::test_require_git ... ok
[INFO] [stdout] test reconcile::cabal_project::tests::cabal_project_only_neo_pinned_when_no_deps ... ok
[INFO] [stdout] test reconcile::cabal_project::tests::cabal_project_emits_neopackages_as_git ... ok
[INFO] [stdout] test reconcile::cabal_project::tests::cabal_project_multiple_git_stanzas ... ok
[INFO] [stdout] test reconcile::cabal_project::tests::cabal_project_omits_hackage_deps ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_bare_exact ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_bare_hyphen_range ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_bare_latest ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_bare_or_range ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_bare_tilde ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_bare_wildcard ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_bare_x_range ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_build_metadata_stripped ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_conflicting_key_value ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_file_absolute ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_bare_and_range ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_bare_caret ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_file_empty_path ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_file_relative ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_git_https_url ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_git_no_url ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_git_ref_with_slash ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_git_ssh_url ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_git_with_ref ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_git_without_ref ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_github_full ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_github_missing_repo ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_github_no_ref ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_github_too_many_slashes ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_hackage_caret ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_hackage_empty ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_hackage_empty_pkg_name ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_hackage_prefix_case_sensitive ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_invalid_semver_bare ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_invalid_semver_hackage ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_neo_excluded ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_pre_release_version ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_value_with_newlines ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_unicode_pkg_name ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_and_range ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_caret_partial_minor ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_caret_normal ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_caret_zero_minor ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_caret_zero_partial ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_caret_partial_major ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_caret_zero_zero_patch ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_unknown_protocol ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_value_whitespace_trimmed ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_caret_x_y_z_inclusive ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_complex_mixed ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_exact ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_greater_than_partial ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_hyphen_range_partial_lower ... ok
[INFO] [stdout] test reconcile::cabal::tests::cabal_test_suite_present_for_library_projects_too ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_hyphen_range_partial_upper ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_caret_zero_zero_zero ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_or_no_parens_when_single_clause ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_less_than_or_equal_partial ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_or_range_parenthesized ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_partial_one_part ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_or_three_clauses ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_hyphen_range_full ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_partial_two_part ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_pre_release_passthrough ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_tilde_full ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_tilde_partial_major ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_tilde_partial_minor ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_wildcard_empty ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_x_range_major ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_x_range_minor ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_bare_empty_registry_under_skip_network ... ok
[INFO] [stdout] test reconcile::modules::tests::test_discover_modules_empty ... ok
[INFO] [stdout] test reconcile::flake::tests::test_generate_flake ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_bare_exact_version ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_bare_accepts_v_prefixed_tags ... ok
[INFO] [stdout] test reconcile::modules::tests::test_discover_modules ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_bare_latest ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_bare_package_missing_from_registry ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_bare_no_registry_match ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_bare_picks_highest_match ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_bare_no_semver_tags_at_all ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_bare_registry_version_not_semver ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_git_default_main ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_git_with_ref ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_github_shorthand ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_git_preserves_scheme ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_determinism ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_git_preserves_ssh_url ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_hackage_empty_constraint ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_hackage_translates_caret ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_invalid_semver_input ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_neo_with_protocol_prefix_skipped ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_output_sorted ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_unknown_protocol ... ok
[INFO] [stdout] test reconcile::test_suite::tests::ensure_driver_creates_test_dir_from_scratch ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_excludes_neo ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_file_passthrough ... ok
[INFO] [stdout] test reconcile::test_suite::tests::ensure_driver_is_idempotent_and_preserves_custom_driver ... ok
[INFO] [stdout] test reconcile::test_suite::tests::other_modules_empty_when_only_driver ... ok
[INFO] [stdout] test reconcile::test_suite::tests::other_modules_excludes_driver ... ok
[INFO] [stdout] test reconcile::test_suite::tests::other_modules_includes_nested_and_helpers ... ok
[INFO] [stdout] test reconcile::test_suite::tests::ensure_driver_writes_when_missing ... ok
[INFO] [stdout] test reconcile::tests::test_reconcile_emits_test_suite_and_ensures_driver ... ok
[INFO] [stdout] test reconcile::tests::test_reconcile_full ... ok
[INFO] [stdout] test reconcile::tests::test_reconcile_always_provides_test_suite_even_without_test_dir ... ok
[INFO] [stdout] test skills::tests::build_primer_plan_cursor_is_mdc_rule_with_no_wire ... ok
[INFO] [stdout] test skills::tests::build_primer_plan_create_skip_overwrite_and_preserves_user_content ... ok
[INFO] [stdout] test skills::tests::discover_skills_happy_sorted ... ok
[INFO] [stdout] test skills::tests::discover_skills_missing_dir_is_empty ... ok
[INFO] [stdout] test skills::tests::discover_skills_missing_description_errors ... ok
[INFO] [stdout] test reconcile::tests::test_reconcile_idempotent ... ok
[INFO] [stdout] test skills::tests::cursor_rule_flags_bundled_and_copy_preserves_them ... ok
[INFO] [stdout] test skills::tests::discover_skills_flags_bundled_files ... ok
[INFO] [stdout] test skills::tests::discover_skills_name_dir_mismatch_errors ... ok
[INFO] [stdout] test skills::tests::filter_skills_unknown_name_errors ... ok
[INFO] [stdout] test skills::tests::discover_skills_missing_skill_md_errors ... ok
[INFO] [stdout] test skills::tests::build_plan_create_then_skip_then_overwrite ... ok
[INFO] [stdout] test skills::tests::parse_front_matter_no_fence_is_all_body ... ok
[INFO] [stdout] test skills::tests::parse_front_matter_empty_value_is_empty_string ... ok
[INFO] [stdout] test skills::tests::filter_skills_subset ... ok
[INFO] [stdout] test skills::tests::parse_front_matter_unterminated_fence_is_all_body ... ok
[INFO] [stdout] test skills::tests::primer_block_append_then_idempotent ... ok
[INFO] [stdout] test skills::tests::parse_front_matter_valid ... ok
[INFO] [stdout] test skills::tests::folder_copy_overwrite_is_clean_replace ... ok
[INFO] [stdout] test skills::tests::primer_block_malformed_markers_left_untouched_with_warning ... ok
[INFO] [stdout] test skills::tests::primer_block_multiple_pairs_updates_first_warns_rest ... ok
[INFO] [stdout] test skills::tests::primer_block_end_before_begin_is_malformed ... ok
[INFO] [stdout] test skills::tests::primer_block_replaces_in_place_and_preserves_surroundings ... ok
[INFO] [stdout] test skills::tests::primer_tool_table_exact ... ok
[INFO] [stdout] test skills::tests::read_primer_absent_is_none ... ok
[INFO] [stdout] test skills::tests::render_cursor_mdc_shape ... ok
[INFO] [stdout] test skills::tests::render_primer_mdc_is_always_apply ... ok
[INFO] [stdout] test skills::tests::resolve_tools_dedupes ... ok
[INFO] [stdout] test skills::tests::read_primer_present_returns_body ... ok
[INFO] [stdout] test skills::tests::primer_file_overwrite_and_skip_honored_on_apply ... ok
[INFO] [stdout] test skills::tests::resolve_tools_unknown_id_errors_and_lists_valid ... ok
[INFO] [stdout] test skills::tests::parse_front_matter_handles_crlf_and_bom_and_quotes ... ok
[INFO] [stdout] test subprocess::ghci::tests::test_read_until_prompt_eof_error ... ok
[INFO] [stdout] test subprocess::ghci::tests::test_read_until_prompt ... ok
[INFO] [stdout] test subprocess::ghci::tests::test_read_until_prompt_empty ... ok
[INFO] [stdout] test subprocess::ghci::tests::test_read_until_prompt_multiline ... ok
[INFO] [stdout] test skills::tests::tool_table_dest_paths_exact ... ok
[INFO] [stdout] test subprocess::nix::tests::full_output_or_placeholder_empty_yields_placeholder ... ok
[INFO] [stdout] test subprocess::nix::tests::test_last_meaningful_lines_all_blank ... ok
[INFO] [stdout] test subprocess::nix::tests::test_last_meaningful_lines_empty ... ok
[INFO] [stdout] test subprocess::hurl::tests::test_hurl_discovery_empty ... ok
[INFO] [stdout] test subprocess::nix::tests::full_output_or_placeholder_joins_lines_with_newline ... ok
[INFO] [stdout] test subprocess::nix::tests::test_last_meaningful_lines_picks_cabal_line_when_no_error ... ok
[INFO] [stdout] test subprocess::nix::tests::test_last_meaningful_lines_picks_last_error_line ... ok
[INFO] [stdout] test subprocess::nix::tests::test_parse_cabal_progress ... ok
[INFO] [stdout] test subprocess::ghci::tests::test_read_until_prompt_with_pipe ... ok
[INFO] [stdout] test tests::graphical_handler_emits_unicode_and_color ... ok
[INFO] [stdout] test tests::graphical_handler_is_installed ... ok
[INFO] [stdout] test tests::narratable_handler_not_installed ... ok
[INFO] [stdout] test subprocess::hurl::tests::test_hurl_discovery ... ok
[INFO] [stdout] test tests::no_color_theme_strips_ansi_keeps_unicode ... ok
[INFO] [stdout] test subprocess::nix::tests::test_nix_not_found ... ok
[INFO] [stdout] test tests::none_theme_strips_ansi_and_unicode ... ok
[INFO] [stdout] test subprocess::nix::tests::test_spawn_app ... ok
[INFO] [stdout] test tui::confirm::tests::test_confirm_render ... ok
[INFO] [stdout] test subprocess::nix::tests::test_last_meaningful_lines_falls_back_to_last_nonempty ... ok
[INFO] [stdout] test theme::tests::test_theme_styles ... ok
[INFO] [stdout] test tui::footer::tests::test_footer_render ... ok
[INFO] [stdout] test tui::footer::tests::test_footer_render_update ... ok
[INFO] [stdout] test tui::multiselect::tests::test_multiselect_render ... ok
[INFO] [stdout] test tui::progress::tests::test_progress_bar_render ... ok
[INFO] [stdout] test tui::prompt::tests::test_prompt_render ... ok
[INFO] [stdout] test tui::prompt::tests::test_prompt_render_no_cursor ... ok
[INFO] [stdout] test tui::prompt::tests::test_prompt_render_placeholder ... ok
[INFO] [stdout] test tui::selection::tests::test_selection_render ... ok
[INFO] [stdout] test tui::spinner::tests::test_spinner_animation ... ok
[INFO] [stdout] test tui::selection::tests::test_selection_render_second_option ... ok
[INFO] [stdout] test tui::spinner::tests::test_spinner_render ... ok
[INFO] [stdout] test tui::banner::tests::test_banner_render ... ok
[INFO] [stdout] test tui::error_display::tests::test_error_display_render ... ok
[INFO] [stdout] test tui::watch::tests::test_watch_state_init ... ok
[INFO] [stdout] test tui::watch::tests::test_watch_state_set_status ... ok
[INFO] [stdout] test tui::watch::tests::test_watch_state_update_quit ... ok
[INFO] [stdout] test subprocess::nix::tests::full_output_or_placeholder_preserves_single_blank_line ... ok
[INFO] [stdout] test theme::tests::test_neo_theme_colors ... ok
[INFO] [stdout] test tui::success::tests::test_success_display_render ... ok
[INFO] [stdout] test prereqs::tests::test_require_nix ... FAILED
[INFO] [stderr] 2026-07-10T12:26:14.229450Z ERROR neo::ide::methods::heal_event_model: heal: claude killed after timeout — output captured before kill:
[INFO] [stderr] --- captured stdout ---
[INFO] [stderr] (empty)
[INFO] [stderr] --- captured stderr ---
[INFO] [stderr] (empty)
[INFO] [stderr] --- end claude output --- timeout_secs=0
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_returns_failed_on_timeout ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- prereqs::tests::test_require_nix stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'prereqs::tests::test_require_nix' (5614) panicked at src/prereqs.rs:51:29:
[INFO] [stdout] nix must be present in the test environment: neo::nix_missing (https://nixos.org/download)
[INFO] [stdout] 
[INFO] [stdout]   × Nix is required but was not found on PATH
[INFO] [stdout]   help: Install Nix from https://nixos.org/download (Determinate Systems
[INFO] [stdout]         installer recommended on macOS), then open a new shell and re-run.
[INFO] [stdout] 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x56f51c5c0161 - std[73adb7dc35730857]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x56f51c5c0161 - std[73adb7dc35730857]::backtrace_rs::backtrace::trace_unsynchronized::<std[73adb7dc35730857]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x56f51c5c0161 - std[73adb7dc35730857]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x56f51c5c0161 - <<std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6883ba1bc0fe4ed1]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x56f51c5da41a - <core[6883ba1bc0fe4ed1]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x56f51c5da41a - core[6883ba1bc0fe4ed1]::fmt::write
[INFO] [stdout]    6:     0x56f51c5c57ec - std[73adb7dc35730857]::io::default_write_fmt::<alloc[55a36b64bcbf2c0d]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:626:11
[INFO] [stdout]    7:     0x56f51c5c57ec - <alloc[55a36b64bcbf2c0d]::vec::Vec<u8> as std[73adb7dc35730857]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:1730:13
[INFO] [stdout]    8:     0x56f51c597bf6 - <std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x56f51c597bf6 - std[73adb7dc35730857]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x56f51c5b4a99 - std[73adb7dc35730857]::panicking::default_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x56f51b7fff50 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   12:     0x56f51b7fff50 - test[980ffaebd391d06d]::test_main_inner::<test[980ffaebd391d06d]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x56f51c5b4dc2 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   14:     0x56f51c5b4dc2 - std[73adb7dc35730857]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:823:13
[INFO] [stdout]   15:     0x56f51c597ca2 - std[73adb7dc35730857]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:688:13
[INFO] [stdout]   16:     0x56f51c58ee09 - std[73adb7dc35730857]::sys::backtrace::__rust_end_short_backtrace::<std[73adb7dc35730857]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x56f51c5990bd - __rustc[a7b7b02e776dd976]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:679:5
[INFO] [stdout]   18:     0x56f51c5daccc - core[6883ba1bc0fe4ed1]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x56f51c5daa12 - core[6883ba1bc0fe4ed1]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/result.rs:1870:5
[INFO] [stdout]   20:     0x56f51b20a57c - <core[6883ba1bc0fe4ed1]::result::Result<(), miette[839564fb59369660]::eyreish::Report>>::expect
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/result.rs:1183:23
[INFO] [stdout]   21:     0x56f51b07f7fe - neo[96ffde8d4a490142]::prereqs::tests::test_require_nix::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/prereqs.rs:51:29
[INFO] [stdout]   22:     0x56f51b3c5642 - <core[6883ba1bc0fe4ed1]::pin::Pin<&mut dyn core[6883ba1bc0fe4ed1]::future::future::Future<Output = ()>> as core[6883ba1bc0fe4ed1]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/future/future.rs:133:9
[INFO] [stdout]   23:     0x56f51b3c56bd - <core[6883ba1bc0fe4ed1]::pin::Pin<&mut core[6883ba1bc0fe4ed1]::pin::Pin<&mut dyn core[6883ba1bc0fe4ed1]::future::future::Future<Output = ()>>> as core[6883ba1bc0fe4ed1]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/future/future.rs:133:9
[INFO] [stdout]   24:     0x56f51b20365d - <tokio[b32100a7a516d28d]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[6883ba1bc0fe4ed1]::pin::Pin<&mut core[6883ba1bc0fe4ed1]::pin::Pin<&mut dyn core[6883ba1bc0fe4ed1]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:778:70
[INFO] [stdout]   25:     0x56f51b2034db - tokio[b32100a7a516d28d]::task::coop::with_budget::<core[6883ba1bc0fe4ed1]::task::poll::Poll<()>, <tokio[b32100a7a516d28d]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[6883ba1bc0fe4ed1]::pin::Pin<&mut core[6883ba1bc0fe4ed1]::pin::Pin<&mut dyn core[6883ba1bc0fe4ed1]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]   26:     0x56f51b2034db - tokio[b32100a7a516d28d]::task::coop::budget::<core[6883ba1bc0fe4ed1]::task::poll::Poll<()>, <tokio[b32100a7a516d28d]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[6883ba1bc0fe4ed1]::pin::Pin<&mut core[6883ba1bc0fe4ed1]::pin::Pin<&mut dyn core[6883ba1bc0fe4ed1]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   27:     0x56f51b2034db - <tokio[b32100a7a516d28d]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[6883ba1bc0fe4ed1]::pin::Pin<&mut core[6883ba1bc0fe4ed1]::pin::Pin<&mut dyn core[6883ba1bc0fe4ed1]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:778:25
[INFO] [stdout]   28:     0x56f51b1ea990 - <tokio[b32100a7a516d28d]::runtime::scheduler::current_thread::Context>::enter::<core[6883ba1bc0fe4ed1]::task::poll::Poll<()>, <tokio[b32100a7a516d28d]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[6883ba1bc0fe4ed1]::pin::Pin<&mut core[6883ba1bc0fe4ed1]::pin::Pin<&mut dyn core[6883ba1bc0fe4ed1]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:451:19
[INFO] [stdout]   29:     0x56f51b1ff20d - <tokio[b32100a7a516d28d]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[6883ba1bc0fe4ed1]::pin::Pin<&mut core[6883ba1bc0fe4ed1]::pin::Pin<&mut dyn core[6883ba1bc0fe4ed1]::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:777:44
[INFO] [stdout]   30:     0x56f51b1fe4b4 - <tokio[b32100a7a516d28d]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[b32100a7a516d28d]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[6883ba1bc0fe4ed1]::pin::Pin<&mut core[6883ba1bc0fe4ed1]::pin::Pin<&mut dyn core[6883ba1bc0fe4ed1]::future::future::Future<Output = ()>>>>::{closure#0}, core[6883ba1bc0fe4ed1]::option::Option<()>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:865:68
[INFO] [stdout]   31:     0x56f51afed18b - <tokio[b32100a7a516d28d]::runtime::context::scoped::Scoped<tokio[b32100a7a516d28d]::runtime::scheduler::Context>>::set::<<tokio[b32100a7a516d28d]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[b32100a7a516d28d]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[6883ba1bc0fe4ed1]::pin::Pin<&mut core[6883ba1bc0fe4ed1]::pin::Pin<&mut dyn core[6883ba1bc0fe4ed1]::future::future::Future<Output = ()>>>>::{closure#0}, core[6883ba1bc0fe4ed1]::option::Option<()>>::{closure#0}, (alloc[55a36b64bcbf2c0d]::boxed::Box<tokio[b32100a7a516d28d]::runtime::scheduler::current_thread::Core>, core[6883ba1bc0fe4ed1]::option::Option<()>)>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   32:     0x56f51b134869 - tokio[b32100a7a516d28d]::runtime::context::set_scheduler::<(alloc[55a36b64bcbf2c0d]::boxed::Box<tokio[b32100a7a516d28d]::runtime::scheduler::current_thread::Core>, core[6883ba1bc0fe4ed1]::option::Option<()>), <tokio[b32100a7a516d28d]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[b32100a7a516d28d]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[6883ba1bc0fe4ed1]::pin::Pin<&mut core[6883ba1bc0fe4ed1]::pin::Pin<&mut dyn core[6883ba1bc0fe4ed1]::future::future::Future<Output = ()>>>>::{closure#0}, core[6883ba1bc0fe4ed1]::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/context.rs:181:38
[INFO] [stdout]   33:     0x56f51b3cda12 - <std[73adb7dc35730857]::thread::local::LocalKey<tokio[b32100a7a516d28d]::runtime::context::Context>>::try_with::<tokio[b32100a7a516d28d]::runtime::context::set_scheduler<(alloc[55a36b64bcbf2c0d]::boxed::Box<tokio[b32100a7a516d28d]::runtime::scheduler::current_thread::Core>, core[6883ba1bc0fe4ed1]::option::Option<()>), <tokio[b32100a7a516d28d]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[b32100a7a516d28d]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[6883ba1bc0fe4ed1]::pin::Pin<&mut core[6883ba1bc0fe4ed1]::pin::Pin<&mut dyn core[6883ba1bc0fe4ed1]::future::future::Future<Output = ()>>>>::{closure#0}, core[6883ba1bc0fe4ed1]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[55a36b64bcbf2c0d]::boxed::Box<tokio[b32100a7a516d28d]::runtime::scheduler::current_thread::Core>, core[6883ba1bc0fe4ed1]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/local.rs:463:12
[INFO] [stdout]   34:     0x56f51b3cd59e - <std[73adb7dc35730857]::thread::local::LocalKey<tokio[b32100a7a516d28d]::runtime::context::Context>>::with::<tokio[b32100a7a516d28d]::runtime::context::set_scheduler<(alloc[55a36b64bcbf2c0d]::boxed::Box<tokio[b32100a7a516d28d]::runtime::scheduler::current_thread::Core>, core[6883ba1bc0fe4ed1]::option::Option<()>), <tokio[b32100a7a516d28d]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[b32100a7a516d28d]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[6883ba1bc0fe4ed1]::pin::Pin<&mut core[6883ba1bc0fe4ed1]::pin::Pin<&mut dyn core[6883ba1bc0fe4ed1]::future::future::Future<Output = ()>>>>::{closure#0}, core[6883ba1bc0fe4ed1]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[55a36b64bcbf2c0d]::boxed::Box<tokio[b32100a7a516d28d]::runtime::scheduler::current_thread::Core>, core[6883ba1bc0fe4ed1]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/local.rs:427:20
[INFO] [stdout]   35:     0x56f51b12bf0d - tokio[b32100a7a516d28d]::runtime::context::set_scheduler::<(alloc[55a36b64bcbf2c0d]::boxed::Box<tokio[b32100a7a516d28d]::runtime::scheduler::current_thread::Core>, core[6883ba1bc0fe4ed1]::option::Option<()>), <tokio[b32100a7a516d28d]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[b32100a7a516d28d]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[6883ba1bc0fe4ed1]::pin::Pin<&mut core[6883ba1bc0fe4ed1]::pin::Pin<&mut dyn core[6883ba1bc0fe4ed1]::future::future::Future<Output = ()>>>>::{closure#0}, core[6883ba1bc0fe4ed1]::option::Option<()>>::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/context.rs:181:17
[INFO] [stdout]   36:     0x56f51b1f0ca0 - <tokio[b32100a7a516d28d]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[b32100a7a516d28d]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[6883ba1bc0fe4ed1]::pin::Pin<&mut core[6883ba1bc0fe4ed1]::pin::Pin<&mut dyn core[6883ba1bc0fe4ed1]::future::future::Future<Output = ()>>>>::{closure#0}, core[6883ba1bc0fe4ed1]::option::Option<()>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:865:27
[INFO] [stdout]   37:     0x56f51b1f0f96 - <tokio[b32100a7a516d28d]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[6883ba1bc0fe4ed1]::pin::Pin<&mut core[6883ba1bc0fe4ed1]::pin::Pin<&mut dyn core[6883ba1bc0fe4ed1]::future::future::Future<Output = ()>>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:765:24
[INFO] [stdout]   38:     0x56f51b1fdf20 - <tokio[b32100a7a516d28d]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[6883ba1bc0fe4ed1]::pin::Pin<&mut dyn core[6883ba1bc0fe4ed1]::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:205:33
[INFO] [stdout]   39:     0x56f51afbd703 - tokio[b32100a7a516d28d]::runtime::context::runtime::enter_runtime::<<tokio[b32100a7a516d28d]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[6883ba1bc0fe4ed1]::pin::Pin<&mut dyn core[6883ba1bc0fe4ed1]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   40:     0x56f51b1e3171 - <tokio[b32100a7a516d28d]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[6883ba1bc0fe4ed1]::pin::Pin<&mut dyn core[6883ba1bc0fe4ed1]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:193:9
[INFO] [stdout]   41:     0x56f51ae9d8f4 - <tokio[b32100a7a516d28d]::runtime::runtime::Runtime>::block_on_inner::<core[6883ba1bc0fe4ed1]::pin::Pin<&mut dyn core[6883ba1bc0fe4ed1]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/runtime.rs:371:52
[INFO] [stdout]   42:     0x56f51ae9dabf - <tokio[b32100a7a516d28d]::runtime::runtime::Runtime>::block_on::<core[6883ba1bc0fe4ed1]::pin::Pin<&mut dyn core[6883ba1bc0fe4ed1]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/runtime.rs:345:18
[INFO] [stdout]   43:     0x56f51b08fdc1 - neo[96ffde8d4a490142]::prereqs::tests::test_require_nix
[INFO] [stdout]                                at /opt/rustwide/workdir/src/prereqs.rs:51:82
[INFO] [stdout]   44:     0x56f51b07f3e7 - neo[96ffde8d4a490142]::prereqs::tests::test_require_nix::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/prereqs.rs:50:32
[INFO] [stdout]   45:     0x56f51afe4106 - <neo[96ffde8d4a490142]::prereqs::tests::test_require_nix::{closure#0} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46:     0x56f51b7f328b - <fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   47:     0x56f51b7f328b - test[980ffaebd391d06d]::__rust_begin_short_backtrace::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:724:18
[INFO] [stdout]   48:     0x56f51b8008d5 - test[980ffaebd391d06d]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:74
[INFO] [stdout]   49:     0x56f51b8008d5 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   50:     0x56f51b8008d5 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   51:     0x56f51b8008d5 - std[73adb7dc35730857]::panicking::catch_unwind::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   52:     0x56f51b8008d5 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   53:     0x56f51b8008d5 - test[980ffaebd391d06d]::run_test_in_process
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:27
[INFO] [stdout]   54:     0x56f51b8008d5 - test[980ffaebd391d06d]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:668:43
[INFO] [stdout]   55:     0x56f51b7fb384 - test[980ffaebd391d06d]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:698:41
[INFO] [stdout]   56:     0x56f51b7fb384 - std[73adb7dc35730857]::sys::backtrace::__rust_begin_short_backtrace::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   57:     0x56f51b803a22 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   58:     0x56f51b803a22 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   59:     0x56f51b803a22 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   60:     0x56f51b803a22 - std[73adb7dc35730857]::panicking::catch_unwind::<(), core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   61:     0x56f51b803a22 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   62:     0x56f51b803a22 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   63:     0x56f51b803a22 - <std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   64:     0x56f51c5be65f - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn core[6883ba1bc0fe4ed1]::ops::function::FnOnce<(), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2319:9
[INFO] [stdout]   65:     0x56f51c5be65f - <std[73adb7dc35730857]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stdout]   66:     0x7995bfa1baa4 - <unknown>
[INFO] [stdout]   67:     0x7995bfaa8a64 - clone
[INFO] [stdout]   68:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     prereqs::tests::test_require_nix
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 619 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 10.81s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin neo`
[INFO] running `Command { std: "docker" "inspect" "7fccd33e1baab58c3cd91ebf3f2446f4753b534d8f4e2f0d82bcf2aa92c03eb3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7fccd33e1baab58c3cd91ebf3f2446f4753b534d8f4e2f0d82bcf2aa92c03eb3", kill_on_drop: false }`
[INFO] [stdout] 7fccd33e1baab58c3cd91ebf3f2446f4753b534d8f4e2f0d82bcf2aa92c03eb3
