[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.97.0-beta.6 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-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/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-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/neohaskell/neo on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "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.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tui-big-text v0.7.3
[INFO] [stderr]   Downloaded font8x8 v0.3.1
[INFO] [stderr]   Downloaded tokio-tungstenite v0.24.0
[INFO] [stderr]   Downloaded rust-embed-impl v8.11.0
[INFO] [stderr]   Downloaded rust-embed-utils v8.11.0
[INFO] [stderr]   Downloaded redox_syscall v0.7.4
[INFO] [stderr]   Downloaded compact_str v0.8.1
[INFO] [stderr]   Downloaded rustls-pki-types v1.14.0
[INFO] [stderr]   Downloaded tungstenite v0.24.0
[INFO] [stderr]   Downloaded normalize-line-endings v0.3.0
[INFO] [stderr]   Downloaded predicates-core v1.0.10
[INFO] [stderr]   Downloaded float-cmp v0.10.0
[INFO] [stderr]   Downloaded tar v0.4.45
[INFO] [stderr]   Downloaded difflib v0.4.0
[INFO] [stderr]   Downloaded notify-types v1.0.1
[INFO] [stderr]   Downloaded backtrace-ext v0.2.1
[INFO] [stderr]   Downloaded terminal_size v0.4.4
[INFO] [stderr]   Downloaded uuid-simd v0.8.0
[INFO] [stderr]   Downloaded is_ci v1.2.0
[INFO] [stderr]   Downloaded memo-map v0.3.3
[INFO] [stderr]   Downloaded borrow-or-share v0.2.4
[INFO] [stderr]   Downloaded predicates v3.1.4
[INFO] [stderr]   Downloaded nucleo v0.5.0
[INFO] [stderr]   Downloaded notify v7.0.0
[INFO] [stderr]   Downloaded supports-color v3.0.2
[INFO] [stderr]   Downloaded supports-hyperlinks v3.2.0
[INFO] [stderr]   Downloaded num-cmp v0.1.0
[INFO] [stderr]   Downloaded gix-date v0.9.4
[INFO] [stderr]   Downloaded gix-validate v0.9.4
[INFO] [stderr]   Downloaded gix-trace v0.1.18
[INFO] [stderr]   Downloaded gix-hashtable v0.7.0
[INFO] [stderr]   Downloaded gix-revwalk v0.18.0
[INFO] [stderr]   Downloaded gix-chunk v0.4.12
[INFO] [stderr]   Downloaded gix-fs v0.13.0
[INFO] [stderr]   Downloaded gix-shallow v0.2.0
[INFO] [stderr]   Downloaded supports-unicode v3.0.0
[INFO] [stderr]   Downloaded miette-derive v7.6.0
[INFO] [stderr]   Downloaded jiff-tzdb-platform v0.1.3
[INFO] [stderr]   Downloaded gix-validate v0.10.1
[INFO] [stderr]   Downloaded gix-hash v0.16.0
[INFO] [stderr]   Downloaded gix-bitmap v0.2.16
[INFO] [stderr]   Downloaded gix-lock v16.0.0
[INFO] [stderr]   Downloaded gix-ignore v0.13.0
[INFO] [stderr]   Downloaded gix-url v0.29.0
[INFO] [stderr]   Downloaded gix-submodule v0.17.0
[INFO] [stderr]   Downloaded gix-sec v0.10.12
[INFO] [stderr]   Downloaded gix-config-value v0.14.12
[INFO] [stderr]   Downloaded shell-words v1.1.1
[INFO] [stderr]   Downloaded nodejs-semver v4.2.0
[INFO] [stderr]   Downloaded owo-colors v4.3.0
[INFO] [stderr]   Downloaded termtree v0.5.1
[INFO] [stderr]   Downloaded gix-features v0.40.0
[INFO] [stderr]   Downloaded predicates-tree v1.0.13
[INFO] [stderr]   Downloaded gix-commitgraph v0.26.0
[INFO] [stderr]   Downloaded gix-tempfile v16.0.0
[INFO] [stderr]   Downloaded kstring v2.0.2
[INFO] [stderr]   Downloaded gix-worktree v0.39.0
[INFO] [stderr]   Downloaded gix-pathspec v0.9.0
[INFO] [stderr]   Downloaded clru v0.6.3
[INFO] [stderr]   Downloaded gix-glob v0.18.0
[INFO] [stderr]   Downloaded gix-attributes v0.24.0
[INFO] [stderr]   Downloaded nucleo-matcher v0.3.1
[INFO] [stderr]   Downloaded fluent-uri v0.3.2
[INFO] [stderr]   Downloaded gix-revision v0.32.0
[INFO] [stderr]   Downloaded gix-refspec v0.28.0
[INFO] [stderr]   Downloaded gix-packetline v0.18.4
[INFO] [stderr]   Downloaded gix-packetline-blocking v0.18.3
[INFO] [stderr]   Downloaded assert_cmd v2.2.1
[INFO] [stderr]   Downloaded referencing v0.30.0
[INFO] [stderr]   Downloaded textwrap v0.16.2
[INFO] [stderr]   Downloaded gix-path v0.10.22
[INFO] [stderr]   Downloaded gix-traverse v0.44.0
[INFO] [stderr]   Downloaded gix-index v0.38.0
[INFO] [stderr]   Downloaded gix-filter v0.17.0
[INFO] [stderr]   Downloaded gix-discover v0.38.0
[INFO] [stderr]   Downloaded gix-protocol v0.48.0
[INFO] [stderr]   Downloaded gix-object v0.47.0
[INFO] [stderr]   Downloaded jiff-tzdb v0.1.6
[INFO] [stderr]   Downloaded gix-config v0.43.0
[INFO] [stderr]   Downloaded gix-ref v0.50.0
[INFO] [stderr]   Downloaded gix-transport v0.45.0
[INFO] [stderr]   Downloaded gix-odb v0.67.0
[INFO] [stderr]   Downloaded arc-swap v1.9.1
[INFO] [stderr]   Downloaded gix-diff v0.50.0
[INFO] [stderr]   Downloaded fraction v0.15.4
[INFO] [stderr]   Downloaded fancy-regex v0.14.0
[INFO] [stderr]   Downloaded miette v7.6.0
[INFO] [stderr]   Downloaded jiff-static v0.2.23
[INFO] [stderr]   Downloaded prodash v29.0.2
[INFO] [stderr]   Downloaded gix-pack v0.57.0
[INFO] [stderr]   Downloaded jsonschema v0.30.0
[INFO] [stderr]   Downloaded imara-diff v0.1.8
[INFO] [stderr]   Downloaded minijinja v2.19.0
[INFO] [stderr]   Downloaded rustls v0.23.38
[INFO] [stderr]   Downloaded gix v0.70.0
[INFO] [stderr]   Downloaded rust-embed v8.11.0
[INFO] [stderr]   Downloaded jiff v0.2.23
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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] 0463a6d261d1e62ec89c5b4652a7c397cb65dab6773f1445d940ecac2ce2293b
[INFO] running `Command { std: "docker" "start" "0463a6d261d1e62ec89c5b4652a7c397cb65dab6773f1445d940ecac2ce2293b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0463a6d261d1e62ec89c5b4652a7c397cb65dab6773f1445d940ecac2ce2293b", 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" "0463a6d261d1e62ec89c5b4652a7c397cb65dab6773f1445d940ecac2ce2293b" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0463a6d261d1e62ec89c5b4652a7c397cb65dab6773f1445d940ecac2ce2293b", 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" "0463a6d261d1e62ec89c5b4652a7c397cb65dab6773f1445d940ecac2ce2293b" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.117
[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 log v0.4.29
[INFO] [stderr]    Compiling lock_api v0.4.14
[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 itoa v1.0.18
[INFO] [stderr]    Compiling bitflags v2.11.1
[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 tinyvec v1.11.0
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]    Compiling sha1_smol v1.0.1
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling gix-utils v0.1.14
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling jiff v0.2.23
[INFO] [stderr]    Compiling prodash v29.0.2
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling rustversion v1.0.22
[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 synstructure v0.13.2
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling memmap2 v0.9.10
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling icu_properties_data v2.2.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 getrandom v0.2.17
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling unicode-width v0.2.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling gix-validate v0.10.1
[INFO] [stderr]    Compiling gix-path v0.10.22
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling gix-date v0.9.4
[INFO] [stderr]    Compiling gix-validate v0.9.4
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling gix-actor v0.33.2
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling gix-chunk v0.4.12
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling gix-quote v0.4.15
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling cc v1.2.60
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling tokio v1.52.1
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling unicode-bom v2.0.3
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling ring v0.17.14
[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 gix-hash v0.16.0
[INFO] [stderr]    Compiling gix-features v0.40.0
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling gix-fs v0.13.0
[INFO] [stderr]    Compiling gix-commitgraph v0.26.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 kstring v2.0.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling gix-tempfile v16.0.0
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling gix-lock v16.0.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling gix-revwalk v0.18.0
[INFO] [stderr]    Compiling gix-attributes v0.24.0
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling gix-sec v0.10.12
[INFO] [stderr]    Compiling filetime v0.2.27
[INFO] [stderr]    Compiling shell-words v1.1.1
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling gix-command v0.4.1
[INFO] [stderr]    Compiling gix-ref v0.50.0
[INFO] [stderr]    Compiling unicode-truncate v2.0.1
[INFO] [stderr]    Compiling tracing v0.1.44
[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 futures-channel v0.3.32
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rustls v0.23.38
[INFO] [stderr]    Compiling gimli v0.32.3
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling ratatui-core v0.1.0
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling gix-url v0.29.0
[INFO] [stderr]    Compiling gix-traverse v0.44.0
[INFO] [stderr]    Compiling gix-config-value v0.14.12
[INFO] [stderr]    Compiling gix-bitmap v0.2.16
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling addr2line v0.25.1
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling num-conv v0.2.1
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling rustc-demangle v0.1.27
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling owo-colors v4.3.0
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling gix-index v0.38.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling gix-revision v0.32.0
[INFO] [stderr]    Compiling gix-ignore v0.13.0
[INFO] [stderr]    Compiling backtrace v0.3.76
[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 clru v0.6.3
[INFO] [stderr]    Compiling strum_macros v0.26.4
[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 unicode-linebreak v0.1.5
[INFO] [stderr]    Compiling data-encoding v2.11.0
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling textwrap v0.16.2
[INFO] [stderr]    Compiling tungstenite v0.24.0
[INFO] [stderr]    Compiling supports-color v3.0.2
[INFO] [stderr]    Compiling fluent-uri v0.3.2
[INFO] [stderr]    Compiling ratatui-widgets v0.3.0
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling gix-pack v0.57.0
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling unicode-truncate v1.1.0
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling gix-filter v0.17.0
[INFO] [stderr]    Compiling rust-embed-utils v8.11.0
[INFO] [stderr]    Compiling backtrace-ext v0.2.1
[INFO] [stderr]    Compiling gix-refspec v0.28.0
[INFO] [stderr]    Compiling gix-transport v0.45.0
[INFO] [stderr]    Compiling gix-worktree v0.39.0
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling gix-config v0.43.0
[INFO] [stderr]    Compiling gix-pathspec v0.9.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 gix-shallow v0.2.0
[INFO] [stderr]    Compiling compact_str v0.8.1
[INFO] [stderr]    Compiling miette-derive v7.6.0
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling maybe-async v0.2.10
[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 uuid v1.23.1
[INFO] [stderr]    Compiling supports-hyperlinks v3.2.0
[INFO] [stderr]    Compiling vsimd v0.8.0
[INFO] [stderr]    Compiling iri-string v0.7.12
[INFO] [stderr]    Compiling supports-unicode v3.0.0
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling axum-core v0.4.5
[INFO] [stderr]    Compiling gix-protocol v0.48.0
[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 gix-odb v0.67.0
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling notify-types v1.0.1
[INFO] [stderr]    Compiling gix-submodule v0.17.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling gix-diff v0.50.0
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.0
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling derive_builder v0.20.2
[INFO] [stderr]    Compiling ratatui-macros v0.7.0
[INFO] [stderr]    Compiling rust-embed-impl v8.11.0
[INFO] [stderr]    Compiling referencing v0.30.0
[INFO] [stderr]    Compiling fraction v0.15.4
[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 tracing-log v0.2.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling email_address v0.2.9
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling clap_derive v4.6.1
[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 matchit v0.7.3
[INFO] [stderr]    Compiling font8x8 v0.3.1
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling num-cmp v0.1.0
[INFO] [stderr]    Compiling memo-map v0.3.3
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling nucleo v0.5.0
[INFO] [stderr]    Compiling jsonschema v0.30.0
[INFO] [stderr]    Compiling minijinja v2.19.0
[INFO] [stderr]    Compiling tui-big-text v0.7.3
[INFO] [stderr]    Compiling axum v0.7.9
[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 nodejs-semver v4.2.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 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 26s
[INFO] running `Command { std: "docker" "inspect" "0463a6d261d1e62ec89c5b4652a7c397cb65dab6773f1445d940ecac2ce2293b", 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" "0463a6d261d1e62ec89c5b4652a7c397cb65dab6773f1445d940ecac2ce2293b" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "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 termtree v0.5.1
[INFO] [stderr]    Compiling difflib v0.4.0
[INFO] [stderr]    Compiling normalize-line-endings v0.3.0
[INFO] [stderr]    Compiling assert_cmd v2.2.1
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling console v0.16.3
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling similar v2.7.0
[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-packetline v0.18.4
[INFO] [stderr]    Compiling gix-packetline-blocking v0.18.3
[INFO] [stderr]    Compiling gix-actor v0.33.2
[INFO] [stderr]    Compiling gix-shallow v0.2.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-object v0.47.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-pack v0.57.0
[INFO] [stderr]    Compiling gix-filter v0.17.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-refspec v0.28.0
[INFO] [stderr]    Compiling gix-config v0.43.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 48s
[INFO] running `Command { std: "docker" "inspect" "0463a6d261d1e62ec89c5b4652a7c397cb65dab6773f1445d940ecac2ce2293b", 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" "0463a6d261d1e62ec89c5b4652a7c397cb65dab6773f1445d940ecac2ce2293b" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.43s
[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_none ... ok
[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 cli::tests::test_parse_build_skip_lock_check ... ok
[INFO] [stdout] test cli::tests::test_parse_build_default_lock_check ... ok
[INFO] [stdout] test cli::tests::test_parse_ci_flag ... ok
[INFO] [stdout] test cli::tests::test_parse_ide_custom_host_any_v4 ... ok
[INFO] [stdout] test cli::tests::test_parse_ide_custom_host_v6 ... 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_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_lock ... ok
[INFO] [stdout] test cli::tests::test_parse_new ... ok
[INFO] [stdout] test cli::tests::test_parse_new_library ... ok
[INFO] [stdout] test cli::tests::test_parse_run ... 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_skills_setup_all_tools ... ok
[INFO] [stdout] test cli::tests::test_parse_test ... ok
[INFO] [stdout] test cli::tests::test_parse_validate ... ok
[INFO] [stdout] test cli::tests::test_parse_validate_with_path_and_json ... 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 commands::ide::tests::browseable_url_swaps_unspecified_v4_for_loopback ... ok
[INFO] [stdout] test commands::ide::tests::cache_control_for_favicon_revalidates ... ok
[INFO] [stdout] test commands::ide::tests::cache_control_for_hashed_bundles_is_immutable ... 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::browseable_url_swaps_unspecified_v6_for_loopback ... 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 app::tests::test_dispatch_new ... ok
[INFO] [stdout] test app::tests::test_dispatch_build ... ok
[INFO] [stdout] test commands::inspect::tests::project_summary_for_prompt_returns_none_when_no_domains ... ok
[INFO] [stdout] test app::tests::test_dispatch_run ... ok
[INFO] [stdout] test app::tests::test_dispatch_lock ... ok
[INFO] [stdout] test commands::new::tests::test_esc_quits ... ok
[INFO] [stdout] test app::tests::test_dispatch_test ... 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 commands::validate::tests::report_invalid_exits_2 ... 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::validate::tests::report_is_deterministic ... 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 commands::validate::tests::report_valid_exits_0 ... 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_invalid_json ... ok
[INFO] [stdout] test config::tests::test_load_kind_executable_explicit ... 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_kind_library ... 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 config::tests::test_load_valid_config ... ok
[INFO] [stdout] test errlog::tests::log_dir_prefers_neo_home_over_home ... ok
[INFO] [stdout] test app::tests::test_dispatch_skills ... 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 errlog::tests::log_dir_treats_empty_neo_home_as_unset ... ok
[INFO] [stdout] test errlog::tests::write_record_appends_does_not_overwrite ... ok
[INFO] [stdout] test errlog::tests::write_record_preserves_unicode_verbatim ... ok
[INFO] [stdout] test errlog::tests::write_record_creates_parent_dir_and_appends_one_line ... 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 commands::validate::tests::report_json_stdout_is_pure_outcome ... ok
[INFO] [stdout] test errlog::tests::write_record_preserves_newlines_inside_full_output ... ok
[INFO] [stdout] test errors::tests::derive_next_version_handles_file_with_no_extension ... 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::ide_bind_help_names_addr_and_concrete_fix ... ok
[INFO] [stdout] test errors::tests::every_variant_has_url ... ok
[INFO] [stdout] test errors::tests::ide_bind_help_reflects_user_supplied_host ... 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_renders_deterministically ... ok
[INFO] [stdout] test errors::tests::invalid_config_renders_with_caret_block ... ok
[INFO] [stdout] test errors::tests::invalid_config_help_no_longer_repeats_line_col ... ok
[INFO] [stdout] test errors::tests::invalid_config_with_unicode_content_does_not_panic ... ok
[INFO] [stdout] test errors::tests::invalid_dep_renders_with_span_when_source_attached ... ok
[INFO] [stdout] test errors::tests::invalid_dep_renders_without_span_when_no_source ... 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 errors::tests::key_span_finds_quoted_key ... 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::key_span_returns_none_when_missing ... ok
[INFO] [stdout] test errors::tests::lock_violation_help_explains_event_sourcing_immutability ... ok
[INFO] [stdout] test errors::tests::lock_violation_help_drops_unlock_and_skip_flag ... 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_includes_versioned_worked_example ... ok
[INFO] [stdout] test errors::tests::lock_violation_help_names_pre_build_check ... ok
[INFO] [stdout] test errors::tests::lock_violation_help_quotes_every_offending_path ... ok
[INFO] [stdout] test errors::tests::lock_violation_help_uses_git_restore_for_unintentional_branch ... ok
[INFO] [stdout] test errors::tests::subprocess_raw_help_does_not_mention_interpret_rs ... 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_say_scroll_up ... ok
[INFO] [stdout] test errors::tests::subprocess_raw_help_points_at_gh_template ... ok
[INFO] [stdout] test errors::tests::subprocess_raw_help_mentions_log_path_field ... ok
[INFO] [stdout] test errors::tests::subprocess_raw_renders_full_output_inline ... 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::subprocess_raw_renders_no_output_placeholder ... 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 errors::tests::lock_violation_help_single_file_has_no_for_each_abstraction ... ok
[INFO] [stdout] test errors::tests::test_io_error_carries_path ... 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_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_does_not_duplicate_existing_node_by_type_and_name ... ok
[INFO] [stdout] test ide::heal::apply::tests::apply_writes_kind_fix ... ok
[INFO] [stdout] test ide::heal::apply::tests::apply_does_not_overwrite_existing_layout_entries ... ok
[INFO] [stdout] test ide::heal::apply::tests::apply_writes_position_fix ... ok
[INFO] [stdout] test ide::heal::apply::tests::apply_writes_layout_entry_when_missing ... ok
[INFO] [stdout] test ide::heal::apply::tests::remove_edges_is_idempotent ... ok
[INFO] [stdout] test ide::heal::apply::tests::pipeline_materialises_full_structure_from_empty_model ... ok
[INFO] [stdout] test ide::heal::apply::tests::pipeline_is_fixed_point ... ok
[INFO] [stdout] test ide::heal::apply::tests::remove_edges_preserves_user_authored_edge ... ok
[INFO] [stdout] test ide::heal::diff::tests::compute_options_fields_flag_matrix ... ok
[INFO] [stdout] test ide::heal::diff::tests::chapter_reorder_keeps_flow_contiguous ... 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::diff_event_with_no_producer_gets_own_slice ... 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_fixes_integration_kind_when_code_says_reactive ... ok
[INFO] [stdout] test ide::heal::diff::tests::diff_includes_reactive_integration_wiring ... 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_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_proposes_event_feeds_query_edges ... ok
[INFO] [stdout] test ide::heal::diff::tests::diff_proposes_event_triggers_integration_edge ... ok
[INFO] [stdout] test commands::ide::tests::serve_path_sets_immutable_on_assets ... 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_layout_entries_for_nodes_missing_positions ... 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_reuses_existing_entity_and_slice_by_name ... ok
[INFO] [stdout] test ide::heal::diff::tests::chapter_order_drives_slice_columns ... ok
[INFO] [stdout] test ide::heal::diff::tests::diff_wires_orphan_query_to_every_local_event ... 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::empty_chapters_model_is_byte_identical_to_baseline ... ok
[INFO] [stdout] test ide::heal::diff::tests::fields_only_emits_no_structural_or_layout_ops ... ok
[INFO] [stdout] test git::tests::test_git_init ... 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::grouping_creates_chapter_per_flow_for_heal_slices ... ok
[INFO] [stdout] test ide::heal::diff::tests::full_pass_materialises_new_node_with_fields ... ok
[INFO] [stdout] test ide::heal::diff::tests::fields_only_reconciles_existing_node ... ok
[INFO] [stdout] test ide::heal::diff::tests::grouping_does_not_touch_user_created_slices ... ok
[INFO] [stdout] test ide::heal::diff::tests::layout_event_y_follows_entity_index ... 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::grouping_is_idempotent_when_chapter_already_correct ... ok
[INFO] [stdout] test ide::heal::diff::tests::layout_is_idempotent_across_runs ... ok
[INFO] [stdout] test ide::heal::diff::tests::grouping_reassigns_existing_heal_slice_into_chapter ... ok
[INFO] [stdout] test ide::heal::diff::tests::manual_chapter_reorder_is_fixed_point ... ok
[INFO] [stdout] test ide::heal::diff::tests::layout_new_slice_gets_clean_compact_column ... ok
[INFO] [stdout] test ide::heal::diff::tests::rebalance_compacts_columns_to_left_anchored_grid ... 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::materialised_diff_is_self_consistent ... ok
[INFO] [stdout] test ide::heal::diff::tests::rebalance_leaves_already_compact_slices_alone ... ok
[INFO] [stdout] test ide::heal::diff::tests::relayout_does_not_remove_edges ... 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::remove_edges_preserves_user_authored_edge ... ok
[INFO] [stdout] test ide::heal::diff::tests::reorder_then_new_flow_appends_and_is_idempotent ... ok
[INFO] [stdout] test ide::heal::diff::tests::ui_placeholders_are_not_reported_as_orphans ... ok
[INFO] [stdout] test ide::heal::diff::tests::wave_order_breaks_saga_cycle_deterministically ... ok
[INFO] [stdout] test ide::heal::diff::tests::wave_order_cross_entity_flow_is_one_chapter_and_events_keep_their_aggregate ... ok
[INFO] [stdout] test ide::heal::diff::tests::wave_order_deterministic_under_input_shuffle ... ok
[INFO] [stdout] test ide::heal::diff::tests::wave_order_disconnected_flows_are_contiguous ... ok
[INFO] [stdout] test ide::heal::diff::tests::wave_order_follows_causal_flow_not_alphabetical ... ok
[INFO] [stderr] 2026-07-10T12:18:25.987542Z  INFO neo::ide::methods::cancel_heal_event_model: heal: cancel requested cancelled=false
[INFO] [stderr] 2026-07-10T12:18:25.987698Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmplrqXUa/event-model.json mode=Validate
[INFO] [stdout] test ide::methods::cancel_heal_event_model::tests::cancel_with_no_heal_in_flight_returns_false ... ok
[INFO] [stderr] 2026-07-10T12:18:25.987868Z  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_errors_when_file_missing ... ok
[INFO] [stderr] 2026-07-10T12:18:25.988174Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpEzvIP7/event-model.json mode=Validate
[INFO] [stdout] test ide::methods::cancel_heal_event_model::tests::cancel_signals_the_installed_notify_and_clears_on_guard_drop ... ok
[INFO] [stderr] 2026-07-10T12:18:25.988591Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpc5hR17/event-model.json mode=Improve
[INFO] [stderr] 2026-07-10T12:18:25.988888Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpJOrkoR/event-model.json mode=Improve
[INFO] [stderr] 2026-07-10T12:18:25.989380Z  INFO neo::ide::methods::cancel_heal_event_model: heal: cancel requested cancelled=true
[INFO] [stderr] 2026-07-10T12:18:25.989468Z  INFO neo::ide::methods::cancel_heal_event_model: heal: cancel requested cancelled=false
[INFO] [stderr] 2026-07-10T12:18:25.990021Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmp4ghRob/event-model.json mode=Validate
[INFO] [stderr] 2026-07-10T12:18:25.990027Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpRW1yXN/event-model.json mode=Validate
[INFO] [stderr] 2026-07-10T12:18:25.990141Z  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:18:25.990280Z  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, 2 position fixes, 0 layout entries, 0 field updates, 0 residuals applied=2
[INFO] [stderr] 2026-07-10T12:18:26.028494Z  INFO neo::ide::methods::heal_event_model: heal: deterministic pre-pass complete domains=1 inspection_ms=26 diff_ms=12 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:18:26.072246Z  INFO neo::ide::methods::heal_event_model: heal: deterministic pre-pass complete domains=1 inspection_ms=83 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::domains_view_lists_counts_per_domain ... ok
[INFO] [stdout] test commands::inspect::tests::wiring_view_indexes_events_with_producers_and_handlers ... ok
[INFO] [stdout] test commands::inspect::tests::project_summary_for_prompt_emits_pretty_json_with_wiring ... ok
[INFO] [stderr] 2026-07-10T12:18:26.112102Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpi3L5kY/event-model.json mode=Improve
[INFO] [stderr] 2026-07-10T12:18:26.112129Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpjDUOMA/event-model.json mode=Improve
[INFO] [stderr] 2026-07-10T12:18:26.114561Z  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:18:26.112750Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpCy1ujh/event-model.json mode=Validate
[INFO] [stderr] 2026-07-10T12:18:26.115130Z  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:18:26.127270Z  INFO neo::ide::methods::heal_event_model: heal: deterministic pre-pass complete domains=1 inspection_ms=14 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:18:26.630581Z  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:18:26.630740Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmptZFxWB/claude cwd=/tmp/.tmp4ghRob timeout_secs=10 prompt_bytes=11231 args=["-p", "--add-dir", "/tmp/.tmp4ghRob", "--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:18:26.630581Z  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:18:26.630989Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmpCy1ujh/.test-claude-stub.sh cwd=/tmp/.tmpCy1ujh timeout_secs=10 prompt_bytes=11231 args=["-p", "--add-dir", "/tmp/.tmpCy1ujh", "--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:18:26.632045Z  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:18:26.632559Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmpu1erpT/claude cwd=/tmp/.tmplrqXUa timeout_secs=15 prompt_bytes=11231 args=["-p", "--add-dir", "/tmp/.tmplrqXUa", "--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:18:26.633858Z  INFO neo::ide::methods::heal_event_model: heal: file already valid AND inspection matches — no-op
[INFO] [stderr] 2026-07-10T12:18:26.633263Z  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:18:26.636658Z  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:18:26.633452Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5368)
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_improve_mode_skips_subprocess_when_no_residuals ... ok
[INFO] [stderr] 2026-07-10T12:18:26.638751Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5369)
[INFO] [stderr] 2026-07-10T12:18:26.640261Z  INFO neo::ide::methods::heal_event_model: heal: user cancelled; killing claude subprocess
[INFO] [stderr] 2026-07-10T12:18:26.650913Z  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:18:26.653307Z  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:18:26.654455Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmp3PxkpX/claude cwd=/tmp/.tmpJOrkoR timeout_secs=15 prompt_bytes=14587 args=["-p", "--add-dir", "/tmp/.tmpJOrkoR", "--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] [stdout] test ide::methods::heal_event_model::tests::heal_deterministic_pass_alone_repairs_missing_edge_without_llm ... ok
[INFO] [stderr] 2026-07-10T12:18:26.657763Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpPEuWSV/event-model.json mode=Validate
[INFO] [stderr] 2026-07-10T12:18:26.657951Z  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:18:26.658064Z  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:18:26.658145Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmpPEuWSV/.test-claude-stub.sh cwd=/tmp/.tmpPEuWSV timeout_secs=10 prompt_bytes=11231 args=["-p", "--add-dir", "/tmp/.tmpPEuWSV", "--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:18:26.660690Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpFpZscU/event-model.json mode=Validate
[INFO] [stderr] 2026-07-10T12:18:26.660835Z  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:18:26.660944Z  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:18:26.661032Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmpFpZscU/.test-claude-stub.sh cwd=/tmp/.tmpFpZscU timeout_secs=10 prompt_bytes=11231 args=["-p", "--add-dir", "/tmp/.tmpFpZscU", "--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:18:26.662434Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5374)
[INFO] [stderr] 2026-07-10T12:18:26.662702Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5373)
[INFO] [stderr] 2026-07-10T12:18:26.662815Z  INFO neo::ide::methods::heal_event_model: heal: user cancelled; killing claude subprocess
[INFO] [stderr] 2026-07-10T12:18:26.663471Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5375)
[INFO] [stderr] 2026-07-10T12:18:26.665895Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpWjfmDG/event-model.json mode=Validate
[INFO] [stderr] 2026-07-10T12:18:26.666043Z  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:18:26.666140Z  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:18:26.666208Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmpWjfmDG/.test-claude-stub.sh cwd=/tmp/.tmpWjfmDG timeout_secs=10 prompt_bytes=11231 args=["-p", "--add-dir", "/tmp/.tmpWjfmDG", "--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:18:26.667453Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpkPePQH/event-model.json mode=Validate
[INFO] [stderr] 2026-07-10T12:18:26.667585Z  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:18:26.667678Z  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:18:26.667743Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmpkPePQH/.test-claude-stub.sh cwd=/tmp/.tmpkPePQH timeout_secs=10 prompt_bytes=11231 args=["-p", "--add-dir", "/tmp/.tmpkPePQH", "--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:18:26.669302Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5379)
[INFO] [stderr] 2026-07-10T12:18:26.670143Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpoHzQxx/event-model.json mode=Validate
[INFO] [stderr] 2026-07-10T12:18:26.670272Z  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:18:26.670378Z  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:18:26.670446Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/nonexistent/path/to/claude-does-not-exist-12345 cwd=/tmp/.tmpoHzQxx timeout_secs=10 prompt_bytes=11231 args=["-p", "--add-dir", "/tmp/.tmpoHzQxx", "--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_improve_mode_materialises_missing_nodes_without_llm ... ok
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_cancel_kills_subprocess_and_returns_cancelled ... ok
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_fixes_positions_when_no_neohaskell_inspection ... ok
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_cancel_persists_deterministic_patches_to_disk ... ok
[INFO] [stderr] 2026-07-10T12:18:26.671651Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5367)
[INFO] [stderr] 2026-07-10T12:18:26.672427Z 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:18:26.673220Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpoObBgK/event-model.json mode=Validate
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_returns_claude_missing_when_binary_absent ... ok
[INFO] [stderr] 2026-07-10T12:18:26.673923Z  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:18:26.674052Z  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:18:26.674126Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmpc7trgT/claude cwd=/tmp/.tmpoObBgK timeout_secs=0 prompt_bytes=11231 args=["-p", "--add-dir", "/tmp/.tmpoObBgK", "--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:18:26.676295Z  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:18:26.676332Z 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_prompt_states_mode_and_includes_schema_plus_model ... ok
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_prompt_contains_file_path ... ok
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_passes_allowed_tools_flag ... 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_extracts_structured_output_from_legacy_result_string ... 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:18:26.677748Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpGOgu0C/event-model.json mode=Validate
[INFO] [stderr] 2026-07-10T12:18:26.677887Z  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:18:26.677882Z  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:18:26.677944Z 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:18:26.677978Z  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:18:26.678022Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpcIZYqQ/event-model.json mode=Validate
[INFO] [stderr] 2026-07-10T12:18:26.678049Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmpGOgu0C/.test-claude-stub.sh cwd=/tmp/.tmpGOgu0C timeout_secs=10 prompt_bytes=11231 args=["-p", "--add-dir", "/tmp/.tmpGOgu0C", "--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:18:26.678316Z  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:18:26.678502Z  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:18:26.678528Z 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:18:26.678801Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5385)
[INFO] [stderr] 2026-07-10T12:18:26.678841Z  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:18:26.678866Z 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:18:26.678154Z  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:18:26.679045Z  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:18:26.679116Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmpLyMgEe/claude cwd=/tmp/.tmpcIZYqQ timeout_secs=10 prompt_bytes=11231 args=["-p", "--add-dir", "/tmp/.tmpcIZYqQ", "--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:18:26.679559Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5386)
[INFO] [stderr] 2026-07-10T12:18:26.680635Z  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:18:26.680740Z  INFO neo::ide::methods::heal_event_model: heal: agent returned structured output summary_chars=18 change_count=1
[INFO] [stderr] 2026-07-10T12:18:26.680757Z  INFO neo::ide::methods::heal_event_model: heal: agent summary summary=stub test (legacy)
[INFO] [stderr] 2026-07-10T12:18:26.680767Z  INFO neo::ide::methods::heal_event_model: heal: agent change change=stub change
[INFO] [stderr] 2026-07-10T12:18:26.681063Z  INFO neo::ide::methods::heal_event_model: heal: file is now valid — healed and saved
[INFO] [stderr] 2026-07-10T12:18:26.681404Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmph3X7gh/event-model.json mode=Validate
[INFO] [stderr] 2026-07-10T12:18:26.681530Z  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:18:26.681618Z  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:18:26.681690Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmpD9fn1M/claude cwd=/tmp/.tmph3X7gh timeout_secs=10 prompt_bytes=11231 args=["-p", "--add-dir", "/tmp/.tmph3X7gh", "--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:18:26.681781Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpegmWqP/event-model.json mode=Validate
[INFO] [stderr] 2026-07-10T12:18:26.681910Z  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:18:26.682088Z  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:18:26.682157Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmp05oNZf/claude cwd=/tmp/.tmpegmWqP timeout_secs=10 prompt_bytes=11231 args=["-p", "--add-dir", "/tmp/.tmpegmWqP", "--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:18:26.682281Z  INFO neo::ide::heal::claude: no structured output here stream="stdout"
[INFO] [stderr] 2026-07-10T12:18:26.682381Z  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:18:26.682412Z 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:18:26.682580Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5378)
[INFO] [stderr] 2026-07-10T12:18:26.682997Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5392)
[INFO] [stderr] 2026-07-10T12:18:26.683131Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmptvAGTw/event-model.json mode=Validate
[INFO] [stderr] 2026-07-10T12:18:26.683251Z  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:18:26.683283Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpcaUWUR/event-model.json mode=Validate
[INFO] [stderr] 2026-07-10T12:18:26.683478Z  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:18:26.683497Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5389)
[INFO] [stderr] 2026-07-10T12:18:26.683597Z  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:18:26.683686Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmpPNBhRo/claude cwd=/tmp/.tmpcaUWUR timeout_secs=10 prompt_bytes=11231 args=["-p", "--add-dir", "/tmp/.tmpcaUWUR", "--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:18:26.683336Z  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:18:26.683876Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmpQJWjYU/claude cwd=/tmp/.tmptvAGTw timeout_secs=10 prompt_bytes=11231 args=["-p", "--add-dir", "/tmp/.tmptvAGTw", "--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:18:26.684184Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5394)
[INFO] [stderr] 2026-07-10T12:18:26.684573Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5395)
[INFO] [stderr] 2026-07-10T12:18:26.684659Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5383)
[INFO] [stderr] 2026-07-10T12:18:26.684687Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpsehde3/event-model.json mode=Validate
[INFO] [stderr] 2026-07-10T12:18:26.684864Z  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:18:26.684899Z 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:18:26.686278Z  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:18:26.686303Z 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:18:26.686615Z  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:18:26.686769Z  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:18:26.686823Z  INFO neo::ide::heal::claude: bang stream="stderr"
[INFO] [stderr] 2026-07-10T12:18:26.686860Z  INFO neo::ide::methods::heal_event_model: heal: agent returned structured output summary_chars=9 change_count=1
[INFO] [stderr] 2026-07-10T12:18:26.686876Z  INFO neo::ide::methods::heal_event_model: heal: agent summary summary=stub test
[INFO] [stderr] 2026-07-10T12:18:26.686886Z  INFO neo::ide::methods::heal_event_model: heal: agent change change=stub change
[INFO] [stderr] 2026-07-10T12:18:26.687132Z  INFO neo::ide::methods::heal_event_model: heal: file is now valid — healed and saved
[INFO] [stderr] 2026-07-10T12:18:26.687221Z  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:18:26.687251Z 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:18:26.687524Z  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:18:26.687881Z  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:18:26.687972Z  INFO neo::ide::methods::heal_event_model: heal: agent returned structured output summary_chars=9 change_count=1
[INFO] [stderr] 2026-07-10T12:18:26.687985Z  INFO neo::ide::methods::heal_event_model: heal: agent summary summary=stub test
[INFO] [stderr] 2026-07-10T12:18:26.687994Z  INFO neo::ide::methods::heal_event_model: heal: agent change change=stub change
[INFO] [stderr] 2026-07-10T12:18:26.688273Z  INFO neo::ide::methods::heal_event_model: heal: file is now valid — healed and saved
[INFO] [stderr] 2026-07-10T12:18:26.689542Z  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:18:26.689807Z  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:18:26.689897Z  INFO neo::ide::methods::heal_event_model: heal: agent returned structured output summary_chars=9 change_count=1
[INFO] [stderr] 2026-07-10T12:18:26.689920Z  INFO neo::ide::methods::heal_event_model: heal: agent summary summary=stub test
[INFO] [stderr] 2026-07-10T12:18:26.689930Z  INFO neo::ide::methods::heal_event_model: heal: agent change change=stub change
[INFO] [stderr] 2026-07-10T12:18:26.690035Z  WARN neo::ide::methods::heal_event_model: heal: agent's output still has validation errors — file NOT written remaining_errors=1
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_prompt_contains_validation_errors ... ok
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_passes_opus_when_workspace_is_not_neohaskell ... 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] [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_returns_failed_when_subprocess_nonzero_exit ... ok
[INFO] [stdout] test ide::methods::initialize::tests::initialize_returns_server_info_and_workspace ... ok
[INFO] [stdout] test ide::methods::initialize::tests::initialize_serialized_uses_camel_case ... ok
[INFO] [stdout] test ide::methods::read_event_model::tests::read_includes_content_even_when_invalid ... ok
[INFO] [stdout] test ide::methods::initialize::tests::initialize_reports_project_when_neo_json_present ... ok
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_validate_mode_skips_subprocess_on_valid_file ... ok
[INFO] [stdout] test ide::methods::read_event_model::tests::read_preserves_byte_for_byte_when_valid ... ok
[INFO] [stdout] test ide::methods::heal_event_model::tests::heal_uses_workspace_root_as_cwd ... ok
[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_malformed_json_for_unparseable ... ok
[INFO] [stderr] 2026-07-10T12:18:26.693730Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpCTb2kl/event-model.json mode=Validate
[INFO] [stderr] 2026-07-10T12:18:26.693937Z  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:18:26.694045Z  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:18:26.694129Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmpCTb2kl/.test-claude-stub.sh cwd=/tmp/.tmpCTb2kl timeout_secs=10 prompt_bytes=11231 args=["-p", "--add-dir", "/tmp/.tmpCTb2kl", "--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:18:26.694757Z  INFO neo::ide::methods::read_event_model: readEventModel: file is malformed JSON path=/tmp/.tmpq1axqn/event-model.json parse_error=key must be a string at line 1 column 2
[INFO] [stderr] 2026-07-10T12:18:26.694979Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpUe373W/event-model.json mode=Validate
[INFO] [stderr] 2026-07-10T12:18:26.696426Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5403)
[INFO] [stderr] 2026-07-10T12:18:26.697412Z  INFO neo::ide::methods::heal_event_model: heal: deterministic pre-pass complete domains=0 inspection_ms=0 diff_ms=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, 0 position fixes, 0 layout entries, 0 field updates, 0 residuals applied=0
[INFO] [stderr] 2026-07-10T12:18:26.697536Z  INFO neo::ide::methods::heal_event_model: heal: file already valid AND inspection matches — no-op
[INFO] [stderr] 2026-07-10T12:18:26.698230Z  INFO neo::ide::methods::heal_event_model: heal: starting path=/tmp/.tmpeanTZM/event-model.json mode=Improve
[INFO] [stderr] 2026-07-10T12:18:26.698938Z  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:18:26.698974Z 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:18:26.700762Z  INFO neo::ide::methods::read_event_model: readEventModel: file is malformed JSON path=/tmp/.tmpeJzq7u/event-model.json parse_error=key must be a string at line 1 column 2
[INFO] [stderr] 2026-07-10T12:18:26.701827Z  INFO neo::ide::methods::read_event_model: readEventModel: validation errors path=/tmp/.tmpMV0lY4/event-model.json error_count=1
[INFO] [stderr] 2026-07-10T12:18:26.703027Z  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:18:26.704434Z  INFO neo::ide::methods::heal_event_model: heal: deterministic pre-pass complete domains=1 inspection_ms=19 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::read_event_model::tests::read_serialized_uses_camel_case ... ok
[INFO] [stderr] 2026-07-10T12:18:26.704502Z  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] [stderr] 2026-07-10T12:18:26.705672Z  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] [stdout] test ide::methods::read_event_model::tests::read_returns_validation_valid_for_good_file ... ok
[INFO] [stderr] 2026-07-10T12:18:26.706818Z  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] [stdout] test ide::methods::read_event_model::tests::read_returns_validation_invalid_for_schema_violation ... ok
[INFO] [stderr] 2026-07-10T12:18:26.706920Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmpsehde3/.test-claude-stub.sh cwd=/tmp/.tmpsehde3 timeout_secs=10 prompt_bytes=13476 args=["-p", "--add-dir", "/tmp/.tmpsehde3", "--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] [stdout] test ide::methods::relayout_event_model::tests::relayout_orders_slices_by_wave_and_is_fixed_point ... ok
[INFO] [stderr] 2026-07-10T12:18:26.707979Z  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::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] [stdout] test ide::methods::write_event_model::tests::write_does_not_leave_tmp_file_behind ... ok
[INFO] [stderr] 2026-07-10T12:18:26.710673Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5414)
[INFO] [stderr] 2026-07-10T12:18:26.711834Z  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::registry::tests::dispatch_bad_params_yields_invalid_params ... ok
[INFO] [stdout] test ide::methods::relayout_event_model::tests::relayout_prunes_orphan_empty_heal_slices ... ok
[INFO] [stdout] test ide::methods::write_event_model::tests::write_overwrites_existing_file ... ok
[INFO] [stdout] test ide::methods::write_event_model::tests::write_then_read_round_trips ... ok
[INFO] [stdout] test ide::registry::tests::dispatch_unknown_method_yields_method_not_found ... ok
[INFO] [stdout] test ide::registry::tests::register_then_dispatch_typed_handler ... ok
[INFO] [stdout] test ide::registry::tests::registry_is_clone_cheap_and_shareable ... ok
[INFO] [stdout] test ide::registry::tests::dispatch_propagates_neo_error_as_server_error ... ok
[INFO] [stdout] test ide::rpc::tests::neo_error_serializes_invalid_dep_with_full_payload ... ok
[INFO] [stdout] test ide::rpc::tests::neo_error_serializes_with_code_message_help ... ok
[INFO] [stdout] test ide::rpc::tests::notification_parses_without_id_field ... ok
[INFO] [stdout] test ide::rpc::tests::notification_has_no_id_field_in_serialized_form ... ok
[INFO] [stdout] test ide::rpc::tests::request_parses_minimal_envelope ... ok
[INFO] [stdout] test ide::rpc::tests::parse_error_for_invalid_json ... ok
[INFO] [stdout] test ide::rpc::tests::request_parses_null_id ... ok
[INFO] [stdout] test ide::rpc::tests::request_id_round_trips_through_json ... ok
[INFO] [stdout] test ide::rpc::tests::request_rejects_wrong_jsonrpc_version ... ok
[INFO] [stdout] test ide::rpc::tests::request_parses_string_id ... 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] [stdout] test ide::server::tests::handle_text_frame_notification_yields_no_response ... ok
[INFO] [stdout] test ide::server::tests::model_changed_emits_event_model_changed_notification ... 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::session::tests::session_attaches_workspace ... ok
[INFO] [stdout] test ide::server::tests::handle_text_frame_unknown_method_returns_method_not_found ... ok
[INFO] [stdout] test ide::methods::relayout_event_model::tests::relayout_only_fixes_positions_does_not_materialize ... ok
[INFO] [stdout] test ide::session::tests::session_id_displays_grep_able ... ok
[INFO] [stdout] test ide::session::tests::session_id_is_uniquely_minted ... ok
[INFO] [stdout] test ide::sync::tests::sync_event_model_missing_file_errors_actionably ... ok
[INFO] [stdout] test ide::transport::tests::local_transport_two_accepts_share_workspace_but_have_distinct_session_ids ... ok
[INFO] [stdout] test ide::transport::tests::local_transport_accept_mints_session_with_workspace ... ok
[INFO] [stdout] test ide::validate::tests::additional_root_property_fails ... ok
[INFO] [stdout] test ide::validate::tests::empty_string_input_returns_malformed_json ... ok
[INFO] [stdout] test ide::validate::tests::edge_with_unknown_type_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::methods::heal_event_model::tests::heal_uses_haiku_when_neo_inspect_finds_a_small_residual ... ok
[INFO] [stdout] test ide::validate::tests::invalid_node_fields_rejected ... 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::event_node_missing_entity_id_fails ... ok
[INFO] [stdout] test ide::validate::tests::missing_required_root_field_id_fails ... 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_null_entity_ok ... ok
[INFO] [stdout] test ide::validate::tests::referential_node_unknown_entity_fails ... ok
[INFO] [stdout] test ide::validate::tests::referential_orphan_edge_target_fails ... ok
[INFO] [stdout] test ide::validate::tests::referential_orphan_edge_source_fails ... ok
[INFO] [stdout] test ide::sync::tests::sync_event_model_writes_event_fields_without_moving_layout ... ok
[INFO] [stdout] test ide::validate::tests::schema_compiles_at_runtime ... ok
[INFO] [stdout] test ide::validate::tests::referential_slice_unknown_chapter_fails ... 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_minimal_model_passes ... ok
[INFO] [stdout] test ide::validate::tests::valid_model_with_bysubmodel_layout_passes ... ok
[INFO] [stdout] test ide::validate::tests::valid_full_model_passes ... ok
[INFO] [stdout] test ide::validate::tests::valid_model_with_submodel_and_chapter_membership_passes ... ok
[INFO] [stdout] test ide::sync::tests::sync_event_model_full_heal_when_source_adds_node ... ok
[INFO] [stdout] test ide::sync::tests::sync_event_model_is_idempotent ... ok
[INFO] [stdout] test ide::validate::tests::validate_is_deterministic ... ok
[INFO] [stdout] test ide::validate::tests::whitespace_only_input_returns_malformed_json ... ok
[INFO] [stdout] test ide::workspace::tests::workspace_id_is_canonical_path_string ... ok
[INFO] [stdout] test inspect::parse::tests::contains_word_respects_token_boundaries ... ok
[INFO] [stdout] test ide::workspace::tests::workspace_project_is_none_when_neo_json_malformed ... ok
[INFO] [stdout] test inspect::parse::tests::data_type_record_fields_extracts_command_payload_only ... ok
[INFO] [stdout] test ide::workspace::tests::workspace_project_is_none_when_no_neo_json ... ok
[INFO] [stdout] test inspect::parse::tests::event_write_sets_absent_fold_is_low_confidence ... 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::events_in_domain_attaches_inline_record_fields ... ok
[INFO] [stderr] 2026-07-10T12:18:26.711196Z  INFO neo::ide::methods::read_event_model: readEventModel: validation errors path=/tmp/.tmpOxMDDu/event-model.json error_count=9
[INFO] [stderr] 2026-07-10T12:18:26.717186Z  INFO neo::ide::server: rpc request method=does/not/exist session_id=session_54@1783685906
[INFO] [stderr] 2026-07-10T12:18:26.717214Z  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:18:26.717593Z  INFO neo::ide::server: rpc request method=initialize session_id=session_55@1783685906
[INFO] [stderr] 2026-07-10T12:18:26.719332Z  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:18:26.727181Z  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:18:26.727240Z 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 inspect::parse::tests::data_type_record_fields_empty_for_recordless_and_excludes_deriving ... ok
[INFO] [stdout] test ide::validate::tests::valid_node_with_fields_passes ... ok
[INFO] [stdout] test inspect::parse::tests::events_in_domain_keeps_bare_file_events_when_no_sum_type ... ok
[INFO] [stderr] 2026-07-10T12:18:26.743979Z  INFO neo::ide::methods::heal_event_model: heal: deterministic pre-pass complete domains=1 inspection_ms=45 diff_ms=0 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:18:26.756575Z  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:18:26.756703Z  INFO neo::ide::methods::heal_event_model: heal: spawning claude -p binary=/tmp/.tmpeanTZM/.test-claude-stub.sh cwd=/tmp/.tmpeanTZM timeout_secs=10 prompt_bytes=15848 args=["-p", "--add-dir", "/tmp/.tmpeanTZM", "--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:18:26.759326Z  INFO neo::ide::methods::heal_event_model: heal: claude subprocess spawned, streaming output pid=Some(5500)
[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_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 ide::methods::heal_event_model::tests::heal_uses_sonnet_when_orphan_residual_is_large ... ok
[INFO] [stdout] test inspect::parse::tests::extract_emitted_commands_catches_callback_return_type_record ... ok
[INFO] [stdout] test inspect::parse::tests::extract_combine_noop_values_inline_branches ... ok
[INFO] [stdout] test inspect::parse::tests::extract_emitted_commands_finds_command_dot_emit ... ok
[INFO] [stdout] test inspect::parse::tests::extract_emitted_commands_dedups ... ok
[INFO] [stdout] test inspect::parse::tests::extract_combine_noop_values_flat_case ... ok
[INFO] [stdout] test inspect::parse::tests::extract_emitted_commands_recognises_integration_emit_command_idiom ... ok
[INFO] [stdout] test inspect::parse::tests::extract_event_constructor_fields_deterministic_under_reparse ... ok
[INFO] [stdout] test inspect::parse::tests::extract_event_constructor_fields_per_constructor ... 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_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] [stderr] 2026-07-10T12:18:26.775541Z  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:18:26.775587Z 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 inspect::parse::tests::extract_function_body_returns_none_when_function_missing ... ok
[INFO] [stdout] test inspect::parse::tests::extracts_decide_body_until_next_top_level ... ok
[INFO] [stdout] test inspect::parse::tests::extracts_event_constructors_from_data_block ... ok
[INFO] [stdout] test inspect::parse::tests::extract_emitted_commands_record_scan_ignores_non_command_records ... ok
[INFO] [stdout] test inspect::parse::tests::filter_present_returns_only_real_matches_in_order ... ok
[INFO] [stdout] test inspect::parse::tests::extract_method_body_slurps_indented_combine ... ok
[INFO] [stdout] test inspect::parse::tests::parse_field_decl_rejects_non_fields ... 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_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_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::single_ctor_token_rejects_applications ... ok
[INFO] [stdout] test inspect::parse::tests::extract_event_payload_modules_pulls_module_qualifiers ... ok
[INFO] [stdout] test inspect::parse::tests::events_in_domain_reads_payload_module_fields ... ok
[INFO] [stdout] test inspect::parse::tests::write_set_full_record_excludes_copy_through ... ok
[INFO] [stdout] test inspect::parse::tests::write_set_partial_update_lists_only_named_fields ... ok
[INFO] [stdout] test inspect::parse::tests::write_set_qualified_enum_value_strips_module ... ok
[INFO] [stdout] test inspect::parse::tests::queries_in_domain_extracts_read_model_fields ... ok
[INFO] [stdout] test inspect::parse::tests::write_set_records_hub_value_for_enum_field ... ok
[INFO] [stdout] test inspect::parse::tests::events_in_domain_skips_payload_modules_and_keeps_constructors ... ok
[INFO] [stdout] test inspect::parse::tests::extract_entity_field_reads_collects_accessors ... ok
[INFO] [stdout] test inspect::tests::inspect_defaults_orphan_query_subscriptions_to_local_events ... ok
[INFO] [stdout] test inspect::tests::inspect_classifies_outbound_integration_when_no_command_emit ... ok
[INFO] [stdout] test inspect::tests::inspect_classifies_reactive_integration_when_emits_command ... ok
[INFO] [stdout] test inspect::tests::inspect_discovers_a_domain_with_core_hs_and_commands_dir ... ok
[INFO] [stderr] 2026-07-10T12:18:26.903459Z  WARN neo::ide::methods::heal_event_model: heal: claude timed out, killing timeout_secs=0
[INFO] [stdout] test inspect::tests::inspect_falls_back_to_all_local_when_no_entity_fold ... ok
[INFO] [stdout] test inspect::tests::inspect_keeps_event_handling_integration_that_emits_no_command ... ok
[INFO] [stdout] test inspect::tests::inspect_detects_callback_idiom_emitted_command_via_record_construction ... ok
[INFO] [stdout] test inspect::tests::inspect_project_returns_empty_when_no_src ... ok
[INFO] [stdout] test inspect::tests::inspect_field_overlap_narrows_to_writing_events ... ok
[INFO] [stdout] test inspect::tests::inspect_local_comment_mention_does_not_pin_subscription ... ok
[INFO] [stdout] test inspect::tests::inspect_passes_global_event_set_to_query_parser ... ok
[INFO] [stdout] test inspect::tests::inspect_drops_plumbing_only_integration ... ok
[INFO] [stdout] test inspect::tests::inspect_value_level_is_deterministic_under_event_reorder ... ok
[INFO] [stdout] test interpret::patterns::cabal_could_not_resolve::tests::matches ... ok
[INFO] [stdout] test interpret::patterns::cabal_unknown_package::tests::matches_typical_cabal_output ... ok
[INFO] [stdout] test interpret::patterns::git_missing_ref::tests::matches_typical ... 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::git_unknown_revision::tests::matches ... ok
[INFO] [stdout] test interpret::patterns::git_repo_not_found::tests::matches ... ok
[INFO] [stdout] test interpret::patterns::nix_attribute_missing_backticks::tests::matches ... ok
[INFO] [stdout] test interpret::patterns::git_missing_ref::tests::unicode_ref_preserved_verbatim ... ok
[INFO] [stdout] test interpret::patterns::hurl_connection_refused::tests::matches ... ok
[INFO] [stdout] test interpret::patterns::nix_deadbeef_hash::tests::matches_inline ... ok
[INFO] [stdout] test interpret::patterns::nix_attribute_missing_single_quotes::tests::matches ... ok
[INFO] [stdout] test interpret::patterns::nix_tarball_download::tests::matches_getting_attributes ... ok
[INFO] [stdout] test interpret::patterns::nix_builder_failed::tests::matches_quoted_drv ... ok
[INFO] [stdout] test interpret::patterns::nix_deadbeef_hash::tests::matches_across_lines ... ok
[INFO] [stdout] test interpret::patterns::nix_builder_failed::tests::matches_unquoted_drv ... ok
[INFO] [stdout] test interpret::tests::compiled_registry_length_matches_const ... ok
[INFO] [stdout] test interpret::tests::entry_count_matches_documented ... ok
[INFO] [stdout] test interpret::patterns::nix_tarball_download::tests::matches_tarball ... ok
[INFO] [stdout] test interpret::patterns::nix_tarball_download::tests::matches_unable_to_download ... ok
[INFO] [stdout] test interpret::tests::every_entry_id_is_unique_kebab ... ok
[INFO] [stdout] test interpret::tests::match_any_returns_none_on_unknown_pattern ... 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::match_any_first_entry_wins_on_overlap ... ok
[INFO] [stdout] test interpret::tests::render_escapes_double_braces ... ok
[INFO] [stdout] test interpret::tests::render_handles_lone_brace_in_prose ... 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::match_any_returns_none_on_empty_input ... ok
[INFO] [stdout] test interpret::tests::render_unknown_var_renders_literally ... ok
[INFO] [stdout] test interpret::tests::every_interpreter_regex_compiles ... ok
[INFO] [stdout] test lock::tests::test_find_locked_violations_empty_manifest ... ok
[INFO] [stdout] test lock::tests::test_discover_domain_files ... ok
[INFO] [stdout] test inspect::tests::inspect_value_level_drops_noop_states ... ok
[INFO] [stdout] test lock::tests::test_lock_manifest_no_duplicates ... ok
[INFO] [stdout] test lock::tests::test_fuzzy_match ... ok
[INFO] [stdout] test lock::tests::test_lock_manifest_sorting ... ok
[INFO] [stdout] test lock::tests::test_parse_porcelain_copied_includes_both_paths ... ok
[INFO] [stdout] test lock::tests::test_parse_porcelain_deleted ... ok
[INFO] [stdout] test lock::tests::test_parse_porcelain_multiple_lines ... ok
[INFO] [stdout] test lock::tests::test_find_locked_violations_no_manifest ... 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_staged ... 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 lock::tests::test_parse_porcelain_untracked ... ok
[INFO] [stdout] test network::tests::parse_ls_remote_tags_annotated_prefers_peeled ... 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 lock::tests::test_parse_porcelain_empty ... ok
[INFO] [stdout] test network::tests::test_fetch_starter_template ... ok
[INFO] [stdout] test inspect::tests::inspect_catches_dispatcher_routed_integration ... ok
[INFO] [stdout] test output::tests::test_output_mode_is_ci ... ok
[INFO] [stdout] test interpret::tests::render_preserves_unicode_in_capture ... ok
[INFO] [stdout] test lock::tests::test_lock_manifest ... ok
[INFO] [stdout] test reconcile::cabal::tests::cabal_emits_hackage_dep_empty_constraint ... ok
[INFO] [stdout] test reconcile::cabal::tests::cabal_emits_or_range_parenthesized ... ok
[INFO] [stdout] test reconcile::cabal::tests::cabal_executable_stanza_by_default ... ok
[INFO] [stdout] test prereqs::tests::test_warn_direnv ... ok
[INFO] [stdout] test reconcile::cabal::tests::cabal_no_dependencies ... ok
[INFO] [stdout] test reconcile::cabal::tests::cabal_emits_test_suite ... ok
[INFO] [stdout] test reconcile::cabal::tests::cabal_omits_executable_stanza_for_library ... ok
[INFO] [stdout] test reconcile::cabal::tests::cabal_emits_hackage_dep_with_constraint ... ok
[INFO] [stdout] test prereqs::tests::test_require_git ... ok
[INFO] [stdout] test reconcile::cabal::tests::cabal_omits_git_deps_from_build_depends_constraint ... ok
[INFO] [stdout] test reconcile::cabal_project::tests::cabal_project_always_enables_tests_for_app_package ... ok
[INFO] [stdout] test reconcile::cabal::tests::cabal_test_suite_present_for_library_projects_too ... ok
[INFO] [stdout] test reconcile::cabal_project::tests::cabal_project_emits_neopackages_as_git ... ok
[INFO] [stdout] test reconcile::cabal_project::tests::cabal_project_emits_git_source_repo_package ... ok
[INFO] [stdout] test reconcile::cabal_project::tests::cabal_project_multiple_git_stanzas ... ok
[INFO] [stdout] test reconcile::cabal::tests::cabal_test_suite_omits_other_modules_when_only_driver ... ok
[INFO] [stdout] test reconcile::cabal_project::tests::cabal_project_omits_hackage_deps ... 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_file_packages ... ok
[INFO] [stdout] test reconcile::cabal::tests::test_generate_cabal_with_modules ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_bare_and_range ... ok
[INFO] [stdout] test interpret::tests::every_template_var_has_a_named_capture ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_bare_caret ... 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_conflicting_key_value ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_build_metadata_stripped ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_file_absolute ... 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_ssh_url ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_git_ref_with_slash ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_git_without_ref ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_github_missing_repo ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_github_full ... 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_git_with_ref ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_hackage_empty_pkg_name ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_neo_excluded ... 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_pre_release_version ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_unicode_pkg_name ... 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::parse_value_with_newlines ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_caret_normal ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_hackage_caret ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_and_range ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::parse_hackage_empty ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_caret_x_y_z_inclusive ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_caret_partial_minor ... 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::parse_hackage_prefix_case_sensitive ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_caret_partial_major ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_caret_zero_zero_zero ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_caret_zero_zero_patch ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_complex_mixed ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_hyphen_range_full ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_hyphen_range_partial_lower ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_greater_than_partial ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_exact ... 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_or_no_parens_when_single_clause ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_or_three_clauses ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_partial_one_part ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_tilde_full ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_pre_release_passthrough ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_wildcard_empty ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_tilde_partial_major ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_partial_two_part ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_tilde_partial_minor ... 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::modules::tests::test_discover_modules_empty ... ok
[INFO] [stdout] test reconcile::modules::tests::test_discover_modules ... 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_latest ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_bare_no_semver_tags_at_all ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_bare_package_missing_from_registry ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_bare_picks_highest_match ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_bare_registry_version_not_semver ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_excludes_neo ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_determinism ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_file_passthrough ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_git_default_main ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_git_preserves_scheme ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_git_with_ref ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_git_preserves_ssh_url ... ok
[INFO] [stdout] test reconcile::dep_spec::tests::translate_hyphen_range_partial_upper ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_hackage_translates_caret ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_bare_empty_registry_under_skip_network ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_invalid_semver_input ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_bare_accepts_v_prefixed_tags ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_github_shorthand ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_hackage_empty_constraint ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_bare_no_registry_match ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_neo_with_protocol_prefix_skipped ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_unknown_protocol ... ok
[INFO] [stdout] test reconcile::resolve::tests::resolve_output_sorted ... ok
[INFO] [stdout] test reconcile::test_suite::tests::ensure_driver_creates_test_dir_from_scratch ... ok
[INFO] [stdout] test reconcile::test_suite::tests::other_modules_empty_when_only_driver ... ok
[INFO] [stdout] test reconcile::test_suite::tests::ensure_driver_is_idempotent_and_preserves_custom_driver ... ok
[INFO] [stdout] test reconcile::test_suite::tests::ensure_driver_writes_when_missing ... 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::tests::test_reconcile_emits_test_suite_and_ensures_driver ... 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::discover_skills_flags_bundled_files ... ok
[INFO] [stdout] test skills::tests::build_primer_plan_create_skip_overwrite_and_preserves_user_content ... ok
[INFO] [stdout] test skills::tests::cursor_rule_flags_bundled_and_copy_preserves_them ... ok
[INFO] [stdout] test skills::tests::discover_skills_missing_dir_is_empty ... ok
[INFO] [stdout] test skills::tests::discover_skills_missing_skill_md_errors ... ok
[INFO] [stdout] test skills::tests::discover_skills_happy_sorted ... ok
[INFO] [stdout] test skills::tests::build_plan_create_then_skip_then_overwrite ... ok
[INFO] [stdout] test reconcile::tests::test_reconcile_full ... ok
[INFO] [stdout] test skills::tests::discover_skills_missing_description_errors ... ok
[INFO] [stdout] test skills::tests::filter_skills_subset ... ok
[INFO] [stdout] test skills::tests::parse_front_matter_empty_value_is_empty_string ... 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::parse_front_matter_handles_crlf_and_bom_and_quotes ... ok
[INFO] [stdout] test skills::tests::parse_front_matter_no_fence_is_all_body ... ok
[INFO] [stdout] test skills::tests::parse_front_matter_unterminated_fence_is_all_body ... ok
[INFO] [stdout] test skills::tests::parse_front_matter_valid ... ok
[INFO] [stdout] test skills::tests::primer_block_malformed_markers_left_untouched_with_warning ... ok
[INFO] [stdout] test skills::tests::primer_block_append_then_idempotent ... ok
[INFO] [stdout] test skills::tests::primer_block_replaces_in_place_and_preserves_surroundings ... ok
[INFO] [stdout] test skills::tests::primer_block_end_before_begin_is_malformed ... ok
[INFO] [stdout] test reconcile::tests::test_reconcile_idempotent ... ok
[INFO] [stdout] test skills::tests::primer_block_multiple_pairs_updates_first_warns_rest ... 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::read_primer_present_returns_body ... 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::resolve_tools_unknown_id_errors_and_lists_valid ... ok
[INFO] [stdout] test skills::tests::tool_table_dest_paths_exact ... ok
[INFO] [stdout] test subprocess::ghci::tests::test_read_until_prompt ... ok
[INFO] [stdout] test skills::tests::primer_file_overwrite_and_skip_honored_on_apply ... ok
[INFO] [stdout] test subprocess::ghci::tests::test_read_until_prompt_empty ... ok
[INFO] [stdout] test skills::tests::folder_copy_overwrite_is_clean_replace ... ok
[INFO] [stdout] test subprocess::ghci::tests::test_read_until_prompt_with_pipe ... ok
[INFO] [stdout] test subprocess::hurl::tests::test_hurl_discovery ... ok
[INFO] [stdout] test subprocess::ghci::tests::test_read_until_prompt_eof_error ... ok
[INFO] [stdout] test subprocess::ghci::tests::test_read_until_prompt_multiline ... ok
[INFO] [stdout] test subprocess::nix::tests::full_output_or_placeholder_empty_yields_placeholder ... 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_all_blank ... ok
[INFO] [stdout] test subprocess::nix::tests::test_last_meaningful_lines_picks_last_error_line ... ok
[INFO] [stdout] test subprocess::nix::tests::test_last_meaningful_lines_empty ... ok
[INFO] [stdout] test subprocess::nix::tests::test_last_meaningful_lines_falls_back_to_last_nonempty ... 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_parse_cabal_progress ... 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::nix::tests::test_spawn_app ... ok
[INFO] [stdout] test theme::tests::test_neo_theme_colors ... ok
[INFO] [stdout] test theme::tests::test_theme_styles ... ok
[INFO] [stdout] test tests::no_color_theme_strips_ansi_keeps_unicode ... ok
[INFO] [stdout] test tests::none_theme_strips_ansi_and_unicode ... ok
[INFO] [stdout] test subprocess::nix::tests::full_output_or_placeholder_preserves_single_blank_line ... ok
[INFO] [stdout] test tui::confirm::tests::test_confirm_render ... 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::prompt::tests::test_prompt_render ... ok
[INFO] [stdout] test tui::multiselect::tests::test_multiselect_render ... ok
[INFO] [stdout] test tui::prompt::tests::test_prompt_render_no_cursor ... ok
[INFO] [stdout] test tui::progress::tests::test_progress_bar_render ... 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::selection::tests::test_selection_render_second_option ... ok
[INFO] [stdout] test tui::spinner::tests::test_spinner_render ... ok
[INFO] [stdout] test subprocess::nix::tests::test_nix_not_found ... ok
[INFO] [stdout] test tui::spinner::tests::test_spinner_animation ... 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 tui::banner::tests::test_banner_render ... ok
[INFO] [stdout] test tui::watch::tests::test_watch_state_init ... ok
[INFO] [stdout] test tui::error_display::tests::test_error_display_render ... 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:18:36.702679Z 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' (5610) 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:     0x6527c6fe51d8 - std[10d71ac2c42b111e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x6527c6fe51d8 - std[10d71ac2c42b111e]::backtrace_rs::backtrace::trace_unsynchronized::<std[10d71ac2c42b111e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x6527c6fe51d8 - std[10d71ac2c42b111e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x6527c6fe51d8 - <<std[10d71ac2c42b111e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8fb95b77d25ab6c8]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x6527c6fff3ca - <core[8fb95b77d25ab6c8]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x6527c6fff3ca - core[8fb95b77d25ab6c8]::fmt::write
[INFO] [stdout]    6:     0x6527c6feae72 - std[10d71ac2c42b111e]::io::default_write_fmt::<alloc[a7ee25936407c584]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/io/mod.rs:622:11
[INFO] [stdout]    7:     0x6527c6feae72 - <alloc[a7ee25936407c584]::vec::Vec<u8> as std[10d71ac2c42b111e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/io/mod.rs:1977:13
[INFO] [stdout]    8:     0x6527c6fbe5a6 - <std[10d71ac2c42b111e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x6527c6fbe5a6 - std[10d71ac2c42b111e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x6527c6fdaab9 - std[10d71ac2c42b111e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x6527c620f44c - <alloc[a7ee25936407c584]::boxed::Box<dyn for<'a, 'b> core[8fb95b77d25ab6c8]::ops::function::Fn<(&'a std[10d71ac2c42b111e]::panic::PanicHookInfo<'b>,), Output = ()> + core[8fb95b77d25ab6c8]::marker::Sync + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::Fn<(&std[10d71ac2c42b111e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2289:9
[INFO] [stdout]   12:     0x6527c620f44c - test[213991da798b1c03]::test_main_inner::<test[213991da798b1c03]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x6527c6fdad32 - <alloc[a7ee25936407c584]::boxed::Box<dyn for<'a, 'b> core[8fb95b77d25ab6c8]::ops::function::Fn<(&'a std[10d71ac2c42b111e]::panic::PanicHookInfo<'b>,), Output = ()> + core[8fb95b77d25ab6c8]::marker::Sync + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::Fn<(&std[10d71ac2c42b111e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2289:9
[INFO] [stdout]   14:     0x6527c6fdad32 - std[10d71ac2c42b111e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x6527c6fbe662 - std[10d71ac2c42b111e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x6527c6fb31d9 - std[10d71ac2c42b111e]::sys::backtrace::__rust_end_short_backtrace::<std[10d71ac2c42b111e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x6527c6fbfa5d - __rustc[3be9ba60078d4c86]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x6527c6fffc3c - core[8fb95b77d25ab6c8]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x6527c6fff982 - core[8fb95b77d25ab6c8]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x6527c5e7053c - <core[8fb95b77d25ab6c8]::result::Result<(), miette[e6118889cfeff485]::eyreish::Report>>::expect
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x6527c5b399d2 - neo[bf9ba564ec8686b2]::prereqs::tests::test_require_nix::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/prereqs.rs:51:29
[INFO] [stdout]   22:     0x6527c59e0c92 - <core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::future::future::Future<Output = ()>> as core[8fb95b77d25ab6c8]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/future/future.rs:133:9
[INFO] [stdout]   23:     0x6527c59e0d0d - <core[8fb95b77d25ab6c8]::pin::Pin<&mut core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::future::future::Future<Output = ()>>> as core[8fb95b77d25ab6c8]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/future/future.rs:133:9
[INFO] [stdout]   24:     0x6527c58ba99d - <tokio[9050503b537e9fa2]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[8fb95b77d25ab6c8]::pin::Pin<&mut core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::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:     0x6527c58ba81b - tokio[9050503b537e9fa2]::task::coop::with_budget::<core[8fb95b77d25ab6c8]::task::poll::Poll<()>, <tokio[9050503b537e9fa2]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8fb95b77d25ab6c8]::pin::Pin<&mut core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::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:     0x6527c58ba81b - tokio[9050503b537e9fa2]::task::coop::budget::<core[8fb95b77d25ab6c8]::task::poll::Poll<()>, <tokio[9050503b537e9fa2]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8fb95b77d25ab6c8]::pin::Pin<&mut core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::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:     0x6527c58ba81b - <tokio[9050503b537e9fa2]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[8fb95b77d25ab6c8]::pin::Pin<&mut core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::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:     0x6527c588e870 - <tokio[9050503b537e9fa2]::runtime::scheduler::current_thread::Context>::enter::<core[8fb95b77d25ab6c8]::task::poll::Poll<()>, <tokio[9050503b537e9fa2]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8fb95b77d25ab6c8]::pin::Pin<&mut core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::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:     0x6527c58b6d0d - <tokio[9050503b537e9fa2]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[8fb95b77d25ab6c8]::pin::Pin<&mut core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::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:     0x6527c58b5fb4 - <tokio[9050503b537e9fa2]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[9050503b537e9fa2]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8fb95b77d25ab6c8]::pin::Pin<&mut core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::future::future::Future<Output = ()>>>>::{closure#0}, core[8fb95b77d25ab6c8]::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:     0x6527c5b5ad9b - <tokio[9050503b537e9fa2]::runtime::context::scoped::Scoped<tokio[9050503b537e9fa2]::runtime::scheduler::Context>>::set::<<tokio[9050503b537e9fa2]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[9050503b537e9fa2]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8fb95b77d25ab6c8]::pin::Pin<&mut core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::future::future::Future<Output = ()>>>>::{closure#0}, core[8fb95b77d25ab6c8]::option::Option<()>>::{closure#0}, (alloc[a7ee25936407c584]::boxed::Box<tokio[9050503b537e9fa2]::runtime::scheduler::current_thread::Core>, core[8fb95b77d25ab6c8]::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:     0x6527c5b64b89 - tokio[9050503b537e9fa2]::runtime::context::set_scheduler::<(alloc[a7ee25936407c584]::boxed::Box<tokio[9050503b537e9fa2]::runtime::scheduler::current_thread::Core>, core[8fb95b77d25ab6c8]::option::Option<()>), <tokio[9050503b537e9fa2]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[9050503b537e9fa2]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8fb95b77d25ab6c8]::pin::Pin<&mut core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::future::future::Future<Output = ()>>>>::{closure#0}, core[8fb95b77d25ab6c8]::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:     0x6527c5939dc2 - <std[10d71ac2c42b111e]::thread::local::LocalKey<tokio[9050503b537e9fa2]::runtime::context::Context>>::try_with::<tokio[9050503b537e9fa2]::runtime::context::set_scheduler<(alloc[a7ee25936407c584]::boxed::Box<tokio[9050503b537e9fa2]::runtime::scheduler::current_thread::Core>, core[8fb95b77d25ab6c8]::option::Option<()>), <tokio[9050503b537e9fa2]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[9050503b537e9fa2]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8fb95b77d25ab6c8]::pin::Pin<&mut core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::future::future::Future<Output = ()>>>>::{closure#0}, core[8fb95b77d25ab6c8]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[a7ee25936407c584]::boxed::Box<tokio[9050503b537e9fa2]::runtime::scheduler::current_thread::Core>, core[8fb95b77d25ab6c8]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/thread/local.rs:462:12
[INFO] [stdout]   34:     0x6527c593994e - <std[10d71ac2c42b111e]::thread::local::LocalKey<tokio[9050503b537e9fa2]::runtime::context::Context>>::with::<tokio[9050503b537e9fa2]::runtime::context::set_scheduler<(alloc[a7ee25936407c584]::boxed::Box<tokio[9050503b537e9fa2]::runtime::scheduler::current_thread::Core>, core[8fb95b77d25ab6c8]::option::Option<()>), <tokio[9050503b537e9fa2]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[9050503b537e9fa2]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8fb95b77d25ab6c8]::pin::Pin<&mut core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::future::future::Future<Output = ()>>>>::{closure#0}, core[8fb95b77d25ab6c8]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[a7ee25936407c584]::boxed::Box<tokio[9050503b537e9fa2]::runtime::scheduler::current_thread::Core>, core[8fb95b77d25ab6c8]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/thread/local.rs:426:20
[INFO] [stdout]   35:     0x6527c5b6076d - tokio[9050503b537e9fa2]::runtime::context::set_scheduler::<(alloc[a7ee25936407c584]::boxed::Box<tokio[9050503b537e9fa2]::runtime::scheduler::current_thread::Core>, core[8fb95b77d25ab6c8]::option::Option<()>), <tokio[9050503b537e9fa2]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[9050503b537e9fa2]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8fb95b77d25ab6c8]::pin::Pin<&mut core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::future::future::Future<Output = ()>>>>::{closure#0}, core[8fb95b77d25ab6c8]::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:     0x6527c5895e30 - <tokio[9050503b537e9fa2]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[9050503b537e9fa2]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8fb95b77d25ab6c8]::pin::Pin<&mut core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::future::future::Future<Output = ()>>>>::{closure#0}, core[8fb95b77d25ab6c8]::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:     0x6527c5896126 - <tokio[9050503b537e9fa2]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[8fb95b77d25ab6c8]::pin::Pin<&mut core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::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:     0x6527c58b5130 - <tokio[9050503b537e9fa2]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::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:     0x6527c5992d03 - tokio[9050503b537e9fa2]::runtime::context::runtime::enter_runtime::<<tokio[9050503b537e9fa2]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::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:     0x6527c588dc71 - <tokio[9050503b537e9fa2]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::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:     0x6527c5d35ef4 - <tokio[9050503b537e9fa2]::runtime::runtime::Runtime>::block_on_inner::<core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::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:     0x6527c5d360bf - <tokio[9050503b537e9fa2]::runtime::runtime::Runtime>::block_on::<core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::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:     0x6527c5b52011 - neo[bf9ba564ec8686b2]::prereqs::tests::test_require_nix
[INFO] [stdout]                                at /opt/rustwide/workdir/src/prereqs.rs:51:82
[INFO] [stdout]   44:     0x6527c5b395f7 - neo[bf9ba564ec8686b2]::prereqs::tests::test_require_nix::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/prereqs.rs:50:32
[INFO] [stdout]   45:     0x6527c5e34226 - <neo[bf9ba564ec8686b2]::prereqs::tests::test_require_nix::{closure#0} as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46:     0x6527c620252b - <fn() -> core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   47:     0x6527c620252b - test[213991da798b1c03]::__rust_begin_short_backtrace::<core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>, fn() -> core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:724:18
[INFO] [stdout]   48:     0x6527c620fda5 - test[213991da798b1c03]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:747:74
[INFO] [stdout]   49:     0x6527c620fda5 - <core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   50:     0x6527c620fda5 - std[10d71ac2c42b111e]::panicking::catch_unwind::do_call::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>, core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   51:     0x6527c620fda5 - std[10d71ac2c42b111e]::panicking::catch_unwind::<core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>, core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   52:     0x6527c620fda5 - std[10d71ac2c42b111e]::panic::catch_unwind::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>, core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panic.rs:359:14
[INFO] [stdout]   53:     0x6527c620fda5 - test[213991da798b1c03]::run_test_in_process
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:747:27
[INFO] [stdout]   54:     0x6527c620fda5 - test[213991da798b1c03]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:668:43
[INFO] [stdout]   55:     0x6527c62096b4 - test[213991da798b1c03]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:698:41
[INFO] [stdout]   56:     0x6527c62096b4 - std[10d71ac2c42b111e]::sys::backtrace::__rust_begin_short_backtrace::<test[213991da798b1c03]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   57:     0x6527c6212e22 - std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked::<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   58:     0x6527c6212e22 - <core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   59:     0x6527c6212e22 - std[10d71ac2c42b111e]::panicking::catch_unwind::do_call::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   60:     0x6527c6212e22 - std[10d71ac2c42b111e]::panicking::catch_unwind::<(), core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   61:     0x6527c6212e22 - std[10d71ac2c42b111e]::panic::catch_unwind::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panic.rs:359:14
[INFO] [stdout]   62:     0x6527c6212e22 - std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked::<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   63:     0x6527c6212e22 - <std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1} as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   64:     0x6527c6fe3f1f - <alloc[a7ee25936407c584]::boxed::Box<dyn core[8fb95b77d25ab6c8]::ops::function::FnOnce<(), Output = ()> + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2275:9
[INFO] [stdout]   65:     0x6527c6fe3f1f - <std[10d71ac2c42b111e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   66:     0x75746c516aa4 - <unknown>
[INFO] [stdout]   67:     0x75746c5a3a64 - 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.92s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin neo`
[INFO] running `Command { std: "docker" "inspect" "0463a6d261d1e62ec89c5b4652a7c397cb65dab6773f1445d940ecac2ce2293b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0463a6d261d1e62ec89c5b4652a7c397cb65dab6773f1445d940ecac2ce2293b", kill_on_drop: false }`
[INFO] [stdout] 0463a6d261d1e62ec89c5b4652a7c397cb65dab6773f1445d940ecac2ce2293b
