[INFO] cloning repository https://github.com/kwakseongjae/aphrodite
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kwakseongjae/aphrodite" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkwakseongjae%2Faphrodite", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkwakseongjae%2Faphrodite'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 40e0727618b9db821322693fa5c8e50ac2e58f16
[INFO] testing kwakseongjae/aphrodite against 1.98.0-beta.1 for beta-1.98-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkwakseongjae%2Faphrodite" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/kwakseongjae/aphrodite
[INFO] finished tweaking git repo https://github.com/kwakseongjae/aphrodite
[INFO] tweaked toml for git repo https://github.com/kwakseongjae/aphrodite written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kwakseongjae/aphrodite on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/kwakseongjae/aphrodite already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 6185d4b8037c5e135082b0d8a65e09238af82d5116c2db4b29736981b4cbac5e
[INFO] running `Command { std: "docker" "start" "6185d4b8037c5e135082b0d8a65e09238af82d5116c2db4b29736981b4cbac5e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6185d4b8037c5e135082b0d8a65e09238af82d5116c2db4b29736981b4cbac5e", 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" "6185d4b8037c5e135082b0d8a65e09238af82d5116c2db4b29736981b4cbac5e" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6185d4b8037c5e135082b0d8a65e09238af82d5116c2db4b29736981b4cbac5e", 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" "6185d4b8037c5e135082b0d8a65e09238af82d5116c2db4b29736981b4cbac5e" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling siphasher v1.0.3
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling libsqlite3-sys v0.28.0
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling hashlink v0.8.4
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling phf_macros v0.11.3
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling palette v0.7.6
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling pulldown-cmark v0.11.3
[INFO] [stderr]    Compiling num-conv v0.2.1
[INFO] [stderr]    Compiling by_address v1.2.1
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling palette_derive v0.7.6
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]    Compiling time-macros v0.2.27
[INFO] [stderr]    Compiling yaml-rust2 v0.8.1
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling getopts v0.2.24
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling toml v0.5.11
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling fast-srgb8 v1.0.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tower-http v0.6.10
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling gray_matter v0.2.9
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling keyring v3.6.3
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling memo-map v0.3.3
[INFO] [stderr]    Compiling glob-match v0.2.1
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]    Compiling minijinja v2.19.0
[INFO] [stderr]    Compiling aphrodite-keyring v1.0.0-dev (/opt/rustwide/workdir/crates/aphrodite-keyring)
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling tracing-serde v0.2.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling fuzzy-matcher v0.3.7
[INFO] [stderr]    Compiling rusqlite v0.31.0
[INFO] [stderr]    Compiling shell-words v1.1.1
[INFO] [stderr]    Compiling number_prefix v0.4.0
[INFO] [stderr]    Compiling indicatif v0.17.11
[INFO] [stderr]    Compiling dialoguer v0.11.0
[INFO] [stderr]    Compiling aphrodite-core v1.0.0-dev (/opt/rustwide/workdir/crates/aphrodite-core)
[INFO] [stderr]    Compiling rpassword v7.5.2
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]   --> crates/aphrodite-core/src/personas.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stdout] warning: function `split_frontmatter_legacy` is never used
[INFO] [stdout]    --> crates/aphrodite-core/src/design.rs:248:4
[INFO] [stdout]     |
[INFO] [stdout] 248 | fn split_frontmatter_legacy(src: &str) -> Option<(&str, &str)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling aphrodite-generator v1.0.0-dev (/opt/rustwide/workdir/crates/aphrodite-generator)
[INFO] [stdout] warning: unused import: `std::collections::BTreeMap`
[INFO] [stdout]  --> crates/aphrodite-generator/src/design_system.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::BTreeMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling aphrodite-cli v1.0.0-dev (/opt/rustwide/workdir/crates/aphrodite-cli)
[INFO] [stderr]    Compiling aphrodite-mcp v1.0.0-dev (/opt/rustwide/workdir/crates/aphrodite-mcp)
[INFO] [stdout] warning: unused imports: `Observation` and `TastePreferences`
[INFO] [stdout]  --> crates/aphrodite-cli/src/feedback_cmd.rs:5:41
[INFO] [stdout]   |
[INFO] [stdout] 5 | use aphrodite_core::preferences::{self, Observation, TastePreferences};
[INFO] [stdout]   |                                         ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_visible_line` is never used
[INFO] [stdout]    --> crates/aphrodite-cli/src/init_cmd.rs:274:4
[INFO] [stdout]     |
[INFO] [stdout] 274 | fn read_visible_line(prompt: &str) -> std::io::Result<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_from_clipboard` is never used
[INFO] [stdout]    --> crates/aphrodite-cli/src/init_cmd.rs:287:4
[INFO] [stdout]     |
[INFO] [stdout] 287 | fn read_from_clipboard() -> anyhow::Result<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 16s
[INFO] running `Command { std: "docker" "inspect" "6185d4b8037c5e135082b0d8a65e09238af82d5116c2db4b29736981b4cbac5e", 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" "6185d4b8037c5e135082b0d8a65e09238af82d5116c2db4b29736981b4cbac5e" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling pulldown-cmark v0.11.3
[INFO] [stderr]    Compiling rusqlite v0.31.0
[INFO] [stderr]    Compiling tower-http v0.6.10
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling aphrodite-keyring v1.0.0-dev (/opt/rustwide/workdir/crates/aphrodite-keyring)
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling aphrodite-core v1.0.0-dev (/opt/rustwide/workdir/crates/aphrodite-core)
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]   --> crates/aphrodite-core/src/personas.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `indoc::indoc`
[INFO] [stdout]    --> crates/aphrodite-core/src/design.rs:292:9
[INFO] [stdout]     |
[INFO] [stdout] 292 |     use indoc::indoc;
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]   --> crates/aphrodite-core/src/personas.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_frontmatter_legacy` is never used
[INFO] [stdout]    --> crates/aphrodite-core/src/design.rs:248:4
[INFO] [stdout]     |
[INFO] [stdout] 248 | fn split_frontmatter_legacy(src: &str) -> Option<(&str, &str)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling aphrodite-generator v1.0.0-dev (/opt/rustwide/workdir/crates/aphrodite-generator)
[INFO] [stdout] warning: unused import: `std::collections::BTreeMap`
[INFO] [stdout]  --> crates/aphrodite-generator/src/design_system.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::BTreeMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_frontmatter_legacy` is never used
[INFO] [stdout]    --> crates/aphrodite-core/src/design.rs:248:4
[INFO] [stdout]     |
[INFO] [stdout] 248 | fn split_frontmatter_legacy(src: &str) -> Option<(&str, &str)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling aphrodite-mcp v1.0.0-dev (/opt/rustwide/workdir/crates/aphrodite-mcp)
[INFO] [stderr]    Compiling aphrodite-cli v1.0.0-dev (/opt/rustwide/workdir/crates/aphrodite-cli)
[INFO] [stdout] warning: unused imports: `Observation` and `TastePreferences`
[INFO] [stdout]  --> crates/aphrodite-cli/src/feedback_cmd.rs:5:41
[INFO] [stdout]   |
[INFO] [stdout] 5 | use aphrodite_core::preferences::{self, Observation, TastePreferences};
[INFO] [stdout]   |                                         ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_visible_line` is never used
[INFO] [stdout]    --> crates/aphrodite-cli/src/init_cmd.rs:274:4
[INFO] [stdout]     |
[INFO] [stdout] 274 | fn read_visible_line(prompt: &str) -> std::io::Result<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_from_clipboard` is never used
[INFO] [stdout]    --> crates/aphrodite-cli/src/init_cmd.rs:287:4
[INFO] [stdout]     |
[INFO] [stdout] 287 | fn read_from_clipboard() -> anyhow::Result<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 34.66s
[INFO] running `Command { std: "docker" "inspect" "6185d4b8037c5e135082b0d8a65e09238af82d5116c2db4b29736981b4cbac5e", 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" "6185d4b8037c5e135082b0d8a65e09238af82d5116c2db4b29736981b4cbac5e" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `Path`
[INFO] [stderr]   --> crates/aphrodite-core/src/personas.rs:20:17
[INFO] [stderr]    |
[INFO] [stderr] 20 | use std::path::{Path, PathBuf};
[INFO] [stderr]    |                 ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `split_frontmatter_legacy` is never used
[INFO] [stderr]    --> crates/aphrodite-core/src/design.rs:248:4
[INFO] [stderr]     |
[INFO] [stderr] 248 | fn split_frontmatter_legacy(src: &str) -> Option<(&str, &str)> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `aphrodite-core` (lib) generated 2 warnings (run `cargo fix --lib -p aphrodite-core` to apply 1 suggestion)
[INFO] [stderr] warning: unused import: `std::collections::BTreeMap`
[INFO] [stderr]  --> crates/aphrodite-generator/src/design_system.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::collections::BTreeMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `aphrodite-generator` (lib) generated 1 warning (run `cargo fix --lib -p aphrodite-generator` to apply 1 suggestion)
[INFO] [stderr] warning: unused import: `indoc::indoc`
[INFO] [stderr]    --> crates/aphrodite-core/src/design.rs:292:9
[INFO] [stderr]     |
[INFO] [stderr] 292 |     use indoc::indoc;
[INFO] [stderr]     |         ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Path`
[INFO] [stderr]   --> crates/aphrodite-core/src/personas.rs:20:17
[INFO] [stderr]    |
[INFO] [stderr] 20 | use std::path::{Path, PathBuf};
[INFO] [stderr]    |                 ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `aphrodite-core` (lib test) generated 3 warnings (1 duplicate) (run `cargo fix --lib -p aphrodite-core --tests` to apply 2 suggestions)
[INFO] [stderr] warning: unused imports: `Observation` and `TastePreferences`
[INFO] [stderr]  --> crates/aphrodite-cli/src/feedback_cmd.rs:5:41
[INFO] [stderr]   |
[INFO] [stderr] 5 | use aphrodite_core::preferences::{self, Observation, TastePreferences};
[INFO] [stderr]   |                                         ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `read_visible_line` is never used
[INFO] [stderr]    --> crates/aphrodite-cli/src/init_cmd.rs:274:4
[INFO] [stderr]     |
[INFO] [stderr] 274 | fn read_visible_line(prompt: &str) -> std::io::Result<String> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `read_from_clipboard` is never used
[INFO] [stderr]    --> crates/aphrodite-cli/src/init_cmd.rs:287:4
[INFO] [stderr]     |
[INFO] [stderr] 287 | fn read_from_clipboard() -> anyhow::Result<String> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `aphrodite-cli` (bin "aphrodite" test) generated 3 warnings (run `cargo fix --bin "aphrodite" -p aphrodite-cli --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.44s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/aphrodite-cb02f3fd459bb653)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/aphrodite_core-6d750713fe116946)
[INFO] [stdout] 
[INFO] [stdout] running 43 tests
[INFO] [stdout] test assets::tests::content_prefix_stable_and_distinguishing ... ok
[INFO] [stdout] test assets::tests::dedupe_skips_when_identical_bytes_already_present ... ok
[INFO] [stdout] test assets::tests::dedupe_keeps_different_bytes_separate ... ok
[INFO] [stdout] test assets::tests::list_and_total_bytes_round_trip ... ok
[INFO] [stdout] test assets::tests::clean_generated_spares_uploads ... ok
[INFO] [stdout] test curator::tests::fresh_agent_skill_stays_active ... ok
[INFO] [stdout] test curator::tests::parse_and_reverse_roundtrip ... ok
[INFO] [stdout] test design::tests::parses_minimal ... ok
[INFO] [stdout] test design::tests::rejects_missing_frontmatter ... ok
[INFO] [stdout] test preferences::tests::applies_weight_and_clamps ... ok
[INFO] [stdout] test curator::tests::archive_after_90_days ... ok
[INFO] [stdout] test preferences::tests::prompt_hint_renders_when_signal_present ... ok
[INFO] [stdout] test seed::tests::loads_minimal_seed ... ok
[INFO] [stdout] test curator::tests::never_used_agent_skill_archives_immediately_in_dry_run ... ok
[INFO] [stdout] test curator::tests::non_agent_created_is_skipped ... ok
[INFO] [stdout] test curator::tests::pinned_skill_never_touched ... ok
[INFO] [stdout] test skills::tests::intent_to_tags_empty_for_generic_intent ... ok
[INFO] [stdout] test skills::tests::intent_to_tags_extracts_canonical_tokens ... ok
[INFO] [stdout] test curator::tests::stale_after_30_days ... ok
[INFO] [stdout] test personas::tests::seed_bundled_personas_materialises_seven ... ok
[INFO] [stdout] test skills::tests::scaffold_block_empty_for_no_skills ... ok
[INFO] [stdout] test personas::tests::system_prompt_block_contains_voice_and_principles ... ok
[INFO] [stdout] test skills::tests::archive_then_restore ... ok
[INFO] [stdout] test skills::tests::list_includes_live_skips_archive_dir ... ok
[INFO] [stdout] test skills::tests::missing_frontmatter_rejected ... ok
[INFO] [stdout] test validator::tests::black_on_white_is_21_to_1 ... ok
[INFO] [stdout] test skills::tests::rank_by_tag_overlap_and_pin ... ok
[INFO] [stdout] test validator::tests::rejects_invalid_hex ... ok
[INFO] [stdout] test validator::tests::flags_low_contrast ... ok
[INFO] [stdout] test skills::tests::round_trip_parse_render ... ok
[INFO] [stdout] test validator::tests::white_on_white_is_1_to_1 ... ok
[INFO] [stdout] test wiki::tests::empty_block_for_no_results ... ok
[INFO] [stdout] test wiki::tests::extracts_title_and_description ... ok
[INFO] [stdout] test wiki::tests::falls_back_to_og_description ... ok
[INFO] [stdout] test wiki::tests::palette_hints_dedup_and_cap ... ok
[INFO] [stdout] test wiki::tests::slug_from_url_strips_www_and_tld ... ok
[INFO] [stdout] test wiki::tests::references_block_renders ... ok
[INFO] [stdout] test skills::tests::scaffold_block_renders_when_skills_present ... ok
[INFO] [stdout] test skills::tests::seed_bundled_skills_is_idempotent ... ok
[INFO] [stdout] test skills::tests::usage_counters_increment_and_persist ... ok
[INFO] [stdout] test skills::tests::rank_includes_default_skills_even_with_no_overlap ... ok
[INFO] [stdout] test wiki::tests::save_round_trip ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/aphrodite_generator-5c39fc02a4cfb06e)
[INFO] [stdout] test wiki::tests::seed_then_load_then_query ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 43 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 88 tests
[INFO] [stdout] test critic::tests::parses_all_null_rationale_and_axis ... ok
[INFO] [stdout] test critic::tests::empty_string_axis_becomes_none ... ok
[INFO] [stdout] test critic::tests::parses_clean_json ... ok
[INFO] [stdout] test critic::tests::parses_with_code_fence ... ok
[INFO] [stdout] test critic::tests::satisfaction_clamped ... ok
[INFO] [stdout] test design_system::tests::tokens_css_scopes_to_body_data_variant ... ok
[INFO] [stdout] test design_system::tests::components_html_contains_all_variants_and_swatches ... ok
[INFO] [stdout] test critic::tests::satisfied_when_no_delta_even_if_score_low ... ok
[INFO] [stdout] test design_system::tests::tokens_json_nests_dotted_keys_and_tags_type ... ok
[INFO] [stdout] test eval_sweep::tests::summarise_computes_correct_aggregates ... ok
[INFO] [stdout] test eval_sweep::tests::parse_spec_array_form ... ok
[INFO] [stdout] test eval_sweep::tests::parse_spec_object_form ... ok
[INFO] [stdout] test extractor::tests::density_generous ... ok
[INFO] [stdout] test extractor::tests::hue_family_warm_brown ... ok
[INFO] [stdout] test critic::tests::parses_with_surrounding_prose ... ok
[INFO] [stdout] test extractor::tests::serif_detected ... ok
[INFO] [stdout] test critic::tests::rejects_non_json ... ok
[INFO] [stdout] test figma_sync::tests::figma_color_normalises_to_lowercase_hex ... ok
[INFO] [stdout] test docs_site::tests::docs_index_has_install_section_and_variant_switcher ... ok
[INFO] [stdout] test harmonize::tests::already_labelled_svg_is_left_alone ... ok
[INFO] [stdout] test docs_site::tests::docs_index_is_korean_lang ... ok
[INFO] [stdout] test figma_sync::tests::tokens_studio_json_has_metadata_themes_and_sets ... ok
[INFO] [stdout] test figma_sync::tests::diff_finds_matches_and_mismatches ... ok
[INFO] [stdout] test harmonize::tests::auto_fix_h1_idempotent_when_single ... ok
[INFO] [stdout] test harmonize::tests::auto_fix_h1_downgrades_extras_to_h2 ... ok
[INFO] [stdout] test harmonize::tests::auto_fix_h1_promotes_first_h2_when_zero ... ok
[INFO] [stdout] test harmonize::tests::cap_section_min_height_clamps_oversized_vh ... ok
[INFO] [stdout] test harmonize::tests::cap_vh_property_handles_plain_height ... ok
[INFO] [stdout] test harmonize::tests::clamp_calc_viewport_heights_adds_max_height ... ok
[INFO] [stdout] test harmonize::tests::clamp_calc_viewport_heights_idempotent_when_capped ... ok
[INFO] [stdout] test harmonize::tests::class_attr_merged_with_existing ... ok
[INFO] [stdout] test harmonize::tests::count_viewport_violations_catches_high_vh_and_calc ... ok
[INFO] [stdout] test harmonize::tests::detects_layout_dashboard_by_rect_heuristic ... ok
[INFO] [stdout] test harmonize::tests::ensure_placeholder_max_height_injects_when_missing ... ok
[INFO] [stdout] test harmonize::tests::ensure_placeholder_max_height_leaves_smaller_caps ... ok
[INFO] [stdout] test harmonize::tests::extract_families_from_md_canonical_shape ... ok
[INFO] [stdout] test harmonize::tests::extract_families_from_md_handles_single_quotes_and_unquoted ... ok
[INFO] [stdout] test harmonize::tests::extract_families_takes_first_when_stack_provided ... ok
[INFO] [stdout] test harmonize::tests::fix_broken_img_replaces_unverified_external_url ... ok
[INFO] [stdout] test harmonize::tests::fix_broken_img_replaces_empty_src_with_figure ... ok
[INFO] [stdout] test harmonize::tests::fonts_url_none_when_all_system ... ok
[INFO] [stdout] test harmonize::tests::fonts_url_skips_system_families ... ok
[INFO] [stdout] test harmonize::tests::hero_typography_idempotent_when_no_match ... ok
[INFO] [stdout] test harmonize::tests::fonts_url_uses_opsz_for_source_serif_4 ... ok
[INFO] [stdout] test harmonize::tests::hero_typography_replaces_system_fallback ... ok
[INFO] [stdout] test harmonize::tests::inject_into_head_finds_close_tag ... ok
[INFO] [stdout] test harmonize::tests::inject_into_head_handles_missing_head ... ok
[INFO] [stdout] test harmonize::tests::korean_shim_injected_when_hangul ... ok
[INFO] [stdout] test harmonize::tests::korean_shim_skipped_on_english_only ... ok
[INFO] [stdout] test harmonize::tests::mobile_shim_injects_once_and_is_idempotent ... ok
[INFO] [stdout] test harmonize::tests::mobile_shim_lifts_mobile_axis_score ... ok
[INFO] [stdout] test harmonize::tests::patch_lang_injects_when_missing ... ok
[INFO] [stdout] test harmonize::tests::patch_lang_no_change_for_english_only ... ok
[INFO] [stdout] test harmonize::tests::quality_score_low_when_critical_warnings ... ok
[INFO] [stdout] test harmonize::tests::recover_lucide_class_for_unlabelled_chart_line ... ok
[INFO] [stdout] test harmonize::tests::patch_lang_idempotent_when_already_ko ... ok
[INFO] [stdout] test harmonize::tests::quality_score_high_on_clean_production_page ... ok
[INFO] [stdout] test harmonize::tests::strip_audio_unverified_external_url ... ok
[INFO] [stdout] test harmonize::tests::strip_video_preserves_verified_external_url ... ok
[INFO] [stdout] test harmonize::tests::recovers_home_icon_by_fingerprint ... ok
[INFO] [stdout] test harmonize::tests::strip_video_unverified_external_url ... ok
[INFO] [stdout] test harmonize::tests::patch_lang_sets_ko_when_hangul_present ... ok
[INFO] [stdout] test harmonize::tests::unknown_svg_is_left_alone ... ok
[INFO] [stdout] test harmonize::tests::quality_score_counts_article_as_region ... ok
[INFO] [stdout] test provider_resolution_tests::custom_provider_defaults_to_openai_wire_when_unset ... ok
[INFO] [stdout] test react_export::tests::emit_ships_vitest_smoke_test ... ok
[INFO] [stdout] test docs_site::tests::docs_index_contains_every_catalog_section ... ok
[INFO] [stdout] test provider_resolution_tests::custom_provider_resolves_with_config ... ok
[INFO] [stdout] test react_export::tests::build_produces_expected_file_set ... ok
[INFO] [stdout] test provider_resolution_tests::explicit_wire_config_overrides_heuristic ... ok
[INFO] [stdout] test provider_resolution_tests::wire_inferred_from_known_providers ... ok
[INFO] [stdout] test surface::tests::parses_with_prose_prefix ... ok
[INFO] [stdout] test surface::tests::strip_augmentation_finds_earliest_marker ... ok
[INFO] [stdout] test react_export::tests::package_json_has_react_peer_dep_and_exports_map ... ok
[INFO] [stdout] test offline::tests::output_parses_back ... ok
[INFO] [stdout] test react_export::tests::full_component_count_is_70 ... ok
[INFO] [stdout] test surface::tests::surface_prompt_contains_landing_pin_guards ... ok
[INFO] [stdout] test surface::tests::trim_design_keeps_frontmatter_plus_components_and_donts ... ok
[INFO] [stdout] test surface::tests::trim_design_no_frontmatter_returns_as_is ... ok
[INFO] [stdout] test visual_diff::tests::identical_files_are_identical ... ok
[INFO] [stdout] test react_export::tests::index_ts_re_exports_every_component ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/aphrodite_keyring-1fe8ace187731331)
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/aphrodite_mcp-61ad786cd63f65af)
[INFO] [stderr]    Doc-tests aphrodite_core
[INFO] [stdout] test visual_diff::tests::missing_files_are_tracked ... ok
[INFO] [stdout] test surface::tests::strip_augmentation_returns_full_when_no_marker ... ok
[INFO] [stdout] test react_export::tests::stories_files_emitted_for_every_component ... ok
[INFO] [stdout] test surface::tests::parses_clean_response ... ok
[INFO] [stdout] test react_export::tests::tokens_ts_has_variant_union_and_const_object ... ok
[INFO] [stdout] test visual_diff::tests::size_delta_over_threshold_is_changed ... ok
[INFO] [stdout] test visual_diff::tests::size_delta_within_threshold_is_minor ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 88 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests aphrodite_generator
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests aphrodite_keyring
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "6185d4b8037c5e135082b0d8a65e09238af82d5116c2db4b29736981b4cbac5e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6185d4b8037c5e135082b0d8a65e09238af82d5116c2db4b29736981b4cbac5e", kill_on_drop: false }`
[INFO] [stdout] 6185d4b8037c5e135082b0d8a65e09238af82d5116c2db4b29736981b4cbac5e
