[INFO] fetching crate retro-core 2.1.5... [INFO] testing retro-core-2.1.5 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-1 [INFO] extracting crate retro-core 2.1.5 into /workspace/builds/worker-1-tc2/source [INFO] started tweaking crates.io crate retro-core 2.1.5 [INFO] finished tweaking crates.io crate retro-core 2.1.5 [INFO] tweaked toml for crates.io crate retro-core 2.1.5 written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate retro-core 2.1.5 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate retro-core 2.1.5 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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] bb8b6849834123da4a94173dc451daac2b476c10d0ab0b47bcfe52c828f78626 [INFO] running `Command { std: "docker" "start" "-a" "bb8b6849834123da4a94173dc451daac2b476c10d0ab0b47bcfe52c828f78626", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "bb8b6849834123da4a94173dc451daac2b476c10d0ab0b47bcfe52c828f78626", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bb8b6849834123da4a94173dc451daac2b476c10d0ab0b47bcfe52c828f78626", kill_on_drop: false }` [INFO] [stdout] bb8b6849834123da4a94173dc451daac2b476c10d0ab0b47bcfe52c828f78626 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f043376a0e9032da81149df15c51543b4fd765a23a28bcc191714e53ffa90b31 [INFO] running `Command { std: "docker" "start" "-a" "f043376a0e9032da81149df15c51543b4fd765a23a28bcc191714e53ffa90b31", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling unicode-ident v1.0.23 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling zerocopy v0.8.39 [INFO] [stderr] Compiling cfg-if v1.0.4 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling find-msvc-tools v0.1.9 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling pkg-config v0.3.32 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling libc v0.2.182 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling toml_write v0.1.2 [INFO] [stderr] Compiling regex-syntax v0.8.9 [INFO] [stderr] Compiling cc v1.2.56 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling itoa v1.0.17 [INFO] [stderr] Compiling bitflags v2.10.0 [INFO] [stderr] Compiling fallible-streaming-iterator v0.1.9 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling fallible-iterator v0.3.0 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling glob v0.3.3 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling uuid v1.20.0 [INFO] [stderr] Compiling syn v2.0.115 [INFO] [stderr] Compiling libsqlite3-sys v0.28.0 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling hashlink v0.9.1 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling chrono v0.4.43 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling rusqlite v0.31.0 [INFO] [stderr] Compiling retro-core v2.1.5 (/opt/rustwide/workdir) [INFO] [stdout] warning: constant `SCHEMA_VERSION` is never used [INFO] [stdout] --> src/db.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const SCHEMA_VERSION: u32 = 5; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 42.96s [INFO] running `Command { std: "docker" "inspect" "f043376a0e9032da81149df15c51543b4fd765a23a28bcc191714e53ffa90b31", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f043376a0e9032da81149df15c51543b4fd765a23a28bcc191714e53ffa90b31", kill_on_drop: false }` [INFO] [stdout] f043376a0e9032da81149df15c51543b4fd765a23a28bcc191714e53ffa90b31 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] bf469ae1fc37c02ea5a0a1b6a10a95ba4d8dd8fdbf9dd6d9386ebb06abfb65fa [INFO] running `Command { std: "docker" "start" "-a" "bf469ae1fc37c02ea5a0a1b6a10a95ba4d8dd8fdbf9dd6d9386ebb06abfb65fa", kill_on_drop: false }` [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling bitflags v2.10.0 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling hashlink v0.9.1 [INFO] [stderr] Compiling rusqlite v0.31.0 [INFO] [stderr] Compiling retro-core v2.1.5 (/opt/rustwide/workdir) [INFO] [stderr] Compiling tempfile v3.25.0 [INFO] [stdout] warning: constant `SCHEMA_VERSION` is never used [INFO] [stdout] --> src/db.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const SCHEMA_VERSION: u32 = 5; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SCHEMA_VERSION` is never used [INFO] [stdout] --> src/db.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const SCHEMA_VERSION: u32 = 5; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 14.09s [INFO] running `Command { std: "docker" "inspect" "bf469ae1fc37c02ea5a0a1b6a10a95ba4d8dd8fdbf9dd6d9386ebb06abfb65fa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bf469ae1fc37c02ea5a0a1b6a10a95ba4d8dd8fdbf9dd6d9386ebb06abfb65fa", kill_on_drop: false }` [INFO] [stdout] bf469ae1fc37c02ea5a0a1b6a10a95ba4d8dd8fdbf9dd6d9386ebb06abfb65fa [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] c6e1d473020367f458a4ccfaef6ceb5cc42399c2aebff709f40ac441f61c0929 [INFO] running `Command { std: "docker" "start" "-a" "c6e1d473020367f458a4ccfaef6ceb5cc42399c2aebff709f40ac441f61c0929", kill_on_drop: false }` [INFO] [stderr] warning: constant `SCHEMA_VERSION` is never used [INFO] [stdout] [INFO] [stderr] --> src/db.rs:13:7 [INFO] [stdout] running 212 tests [INFO] [stderr] | [INFO] [stdout] test analysis::merge::tests::test_empty_strings ... ok [INFO] [stderr] 13 | const SCHEMA_VERSION: u32 = 5; [INFO] [stdout] test analysis::merge::tests::test_identical_strings ... ok [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stdout] test analysis::merge::tests::test_completely_different ... ok [INFO] [stderr] | [INFO] [stdout] test analysis::prompts::tests::test_build_analysis_prompt_without_context ... ok [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] test analysis::merge::tests::test_case_insensitive ... ok [INFO] [stderr] [INFO] [stdout] test analysis::prompts::tests::test_build_audit_prompt_none_present ... ok [INFO] [stderr] warning: `retro-core` (lib) generated 1 warning [INFO] [stdout] test analysis::prompts::tests::test_build_analysis_prompt_no_full_management ... ok [INFO] [stderr] warning: `retro-core` (lib test) generated 1 warning (1 duplicate) [INFO] [stdout] test analysis::prompts::tests::test_build_audit_prompt_all_present ... ok [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.13s [INFO] [stdout] test analysis::prompts::tests::test_build_audit_prompt_partial ... ok [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/retro_core-984daf68af943298) [INFO] [stdout] test analysis::prompts::tests::test_build_context_summary_no_managed_section ... ok [INFO] [stdout] test analysis::prompts::tests::test_build_context_summary_full ... ok [INFO] [stdout] test analysis::prompts::tests::test_build_context_summary_budget_cap ... ok [INFO] [stdout] test analysis::tests::test_parse_analysis_response_empty ... ok [INFO] [stdout] test analysis::prompts::tests::test_build_analysis_prompt_with_context ... ok [INFO] [stdout] test analysis::tests::test_parse_analysis_response_missing_reasoning_defaults_empty ... ok [INFO] [stdout] test analysis::prompts::tests::test_build_curate_prompt_empty_claude_md ... ok [INFO] [stdout] test analysis::tests::test_full_management_analysis_schema_contains_claude_md_edits ... ok [INFO] [stdout] test analysis::prompts::tests::test_build_curate_prompt ... ok [INFO] [stdout] test analysis::tests::test_parse_analysis_response_json ... ok [INFO] [stdout] test briefing::tests::test_generate_briefing_with_applied ... ok [INFO] [stdout] test analysis::tests::test_parse_analysis_response_null_fields ... ok [INFO] [stdout] test analysis::tests::test_parse_analysis_response_pure_prose_fails ... ok [INFO] [stdout] test analysis::tests::test_full_management_schema_claude_md_edits_not_required ... ok [INFO] [stdout] test config::tests::test_claude_md_config_absent ... ok [INFO] [stdout] test config::tests::test_claude_md_config_defaults ... ok [INFO] [stdout] test config::tests::test_hooks_config_new_fields_deserialize ... ok [INFO] [stdout] test analysis::tests::test_analysis_response_schema_is_valid_json ... ok [INFO] [stdout] test config::tests::test_hooks_config_partial_deserialize ... ok [INFO] [stdout] test analysis::tests::test_full_management_analysis_schema_is_valid_json ... ok [INFO] [stdout] test config::tests::test_v1_config_still_loads ... ok [INFO] [stdout] test analysis::tests::test_full_management_schema_preserves_base_patterns ... ok [INFO] [stdout] test briefing::tests::test_generate_briefing_with_pending ... ok [INFO] [stdout] test config::tests::test_hooks_config_max_sessions_default ... ok [INFO] [stdout] test config::tests::test_v2_config_deserialize ... ok [INFO] [stdout] test curator::tests::test_audit_response_schema_is_valid_json ... ok [INFO] [stdout] test analysis::tests::test_parse_graph_response ... ok [INFO] [stdout] test briefing::tests::test_generate_briefing_empty ... ok [INFO] [stdout] test config::tests::test_claude_md_config_custom ... ok [INFO] [stdout] test config::tests::test_hooks_config_defaults ... ok [INFO] [stdout] test analysis::merge::tests::test_similar_strings ... ok [INFO] [stdout] test analysis::prompts::tests::test_build_analysis_prompt_full_management ... ok [INFO] [stdout] test analysis::prompts::tests::test_build_context_summary_empty ... ok [INFO] [stdout] test analysis::tests::test_graph_analysis_schema_is_valid_json ... ok [INFO] [stdout] test db::tests::test_generate_project_slug ... ok [INFO] [stdout] test db::tests::test_apply_graph_operations_update ... ok [INFO] [stdout] test db::tests::test_apply_graph_operations ... ok [INFO] [stdout] test db::tests::test_clear_node_pr ... ok [INFO] [stdout] test db::tests::test_analyzed_session_tracking ... ok [INFO] [stdout] test config::tests::test_trust_config_defaults ... ok [INFO] [stdout] test config::tests::test_runner_config_defaults ... ok [INFO] [stdout] test config::tests::test_knowledge_config_defaults ... ok [INFO] [stdout] test config::tests::test_hooks_config_max_sessions_custom ... ok [INFO] [stdout] test db::tests::test_auto_apply_data_triggers_full_flow ... ok [INFO] [stdout] test db::tests::test_existing_projections_default_to_applied ... ok [INFO] [stdout] test db::tests::test_delete_projection ... ok [INFO] [stdout] test db::tests::test_dismiss_nodes_for_pr ... ok [INFO] [stdout] test db::tests::test_get_nodes_by_scope_and_status ... ok [INFO] [stdout] test db::tests::test_has_unanalyzed_sessions_empty ... ok [INFO] [stdout] test db::tests::test_get_all_projects ... ok [INFO] [stdout] test db::tests::test_get_last_nudge_at_empty ... ok [INFO] [stdout] test db::tests::test_get_patterns_by_status ... ok [INFO] [stdout] test db::tests::test_get_project_by_remote_url ... ok [INFO] [stdout] test db::tests::test_has_unprojected_patterns_after_projection ... ok [INFO] [stdout] test db::tests::test_get_pending_review_projections ... ok [INFO] [stdout] test db::tests::test_has_unprojected_patterns_empty ... ok [INFO] [stdout] test db::tests::test_has_unanalyzed_sessions_after_analysis ... ok [INFO] [stdout] test db::tests::test_insert_and_get_pattern ... ok [INFO] [stdout] test db::tests::test_has_unprojected_patterns_excludes_generation_failed ... ok [INFO] [stdout] test db::tests::test_get_nodes_by_status ... ok [INFO] [stdout] test db::tests::test_insert_and_get_node ... ok [INFO] [stdout] test db::tests::test_get_projections_with_pr_url ... ok [INFO] [stdout] test db::tests::test_has_unanalyzed_sessions_with_new_session ... ok [INFO] [stdout] test db::tests::test_has_unprojected_patterns_with_discovered ... ok [INFO] [stdout] test db::tests::test_has_unprojected_patterns_excludes_dismissed ... ok [INFO] [stdout] test db::tests::test_has_unprojected_patterns_excludes_dbonly ... ok [INFO] [stdout] test db::tests::test_get_projected_pattern_ids_by_status ... ok [INFO] [stdout] test db::tests::test_insert_and_check_projection ... ok [INFO] [stdout] test db::tests::test_last_applied_at_empty ... ok [INFO] [stdout] test db::tests::test_insert_and_get_edges ... ok [INFO] [stdout] test db::tests::test_get_unprojected_nodes ... ok [INFO] [stdout] test db::tests::test_has_unprojected_patterns_excludes_pending_review ... ok [INFO] [stdout] test db::tests::test_migrate_patterns_to_nodes ... ok [INFO] [stdout] test db::tests::test_unanalyzed_session_count ... ok [INFO] [stdout] test db::tests::test_update_pattern_status ... ok [INFO] [stdout] test db::tests::test_update_node_status ... ok [INFO] [stdout] test db::tests::test_update_node_confidence ... ok [INFO] [stdout] test db::tests::test_projection_status_column_exists ... ok [INFO] [stdout] test db::tests::test_v4_migration_from_v3 ... ok [INFO] [stdout] test db::tests::test_upsert_and_get_project ... ok [INFO] [stdout] test git::tests::test_install_hooks_removes_old_post_merge ... ok [INFO] [stdout] test db::tests::test_v4_migration_creates_tables ... ok [INFO] [stdout] test git::tests::test_install_hooks_up_to_date ... ok [INFO] [stdout] test git::tests::test_remove_hook_lines_basic ... ok [INFO] [stdout] test git::tests::test_remove_hook_lines_multiple_markers ... ok [INFO] [stdout] test git::tests::test_remove_hook_lines_no_marker ... ok [INFO] [stdout] test git::tests::test_remove_hook_lines_preserves_other_hooks ... ok [INFO] [stdout] test ingest::context::tests::test_parse_skill_frontmatter_missing_description ... ok [INFO] [stdout] test ingest::context::tests::test_parse_skill_frontmatter_missing_name ... ok [INFO] [stdout] test ingest::context::tests::test_parse_skill_frontmatter_no_frontmatter ... ok [INFO] [stdout] test ingest::context::tests::test_parse_skill_frontmatter_quoted ... ok [INFO] [stdout] test ingest::context::tests::test_parse_skill_frontmatter_single_quoted ... ok [INFO] [stdout] test ingest::context::tests::test_parse_skill_frontmatter_standard ... ok [INFO] [stdout] test ingest::context::tests::test_read_plugin_skills_no_file ... ok [INFO] [stdout] test ingest::tests::test_encode_project_path ... ok [INFO] [stdout] test ingest::tests::test_naive_decode_project_path ... ok [INFO] [stdout] test models::tests::test_analysis_response_with_edits ... ok [INFO] [stdout] test models::tests::test_analysis_response_without_edits ... ok [INFO] [stdout] test models::tests::test_claude_md_edit_type_display ... ok [INFO] [stdout] test models::tests::test_claude_md_edit_type_serde ... ok [INFO] [stdout] test models::tests::test_edge_type_display_and_from_str ... ok [INFO] [stdout] test models::tests::test_graph_analysis_response_deserialize ... ok [INFO] [stdout] test models::tests::test_knowledge_edge_struct ... ok [INFO] [stdout] test models::tests::test_knowledge_node_struct ... ok [INFO] [stdout] test models::tests::test_node_scope_display_and_from_str ... ok [INFO] [stdout] test models::tests::test_node_status_display_and_from_str ... ok [INFO] [stdout] test models::tests::test_node_type_display_and_from_str ... ok [INFO] [stdout] test models::tests::test_projection_status_display ... ok [INFO] [stdout] test models::tests::test_projection_status_from_str ... ok [INFO] [stdout] test observer::tests::test_encode_project_path ... ok [INFO] [stdout] test observer::tests::test_find_modified_sessions_detects_new_files ... ok [INFO] [stdout] test git::tests::test_install_hooks_updates_old_redirect ... ok [INFO] [stdout] test git::tests::test_install_hooks_updates_preserves_other_hooks ... ok [INFO] [stdout] test observer::tests::test_find_modified_sessions_empty_paths_scans_all ... ok [INFO] [stdout] test projection::claude_md::tests::test_apply_edit_add ... ok [INFO] [stdout] test git::tests::test_install_hooks_preserves_non_retro_post_merge ... ok [INFO] [stdout] test projection::claude_md::tests::test_apply_edit_remove_multiline ... ok [INFO] [stdout] test projection::claude_md::tests::test_apply_edit_reword ... ok [INFO] [stdout] test observer::tests::test_find_modified_sessions_skips_unchanged ... ok [INFO] [stdout] test projection::claude_md::tests::test_apply_edit_reword_first_only ... ok [INFO] [stdout] test projection::claude_md::tests::test_apply_edits_batch ... ok [INFO] [stdout] test projection::claude_md::tests::test_build_managed_section ... ok [INFO] [stdout] test projection::claude_md::tests::test_apply_edit_remove ... ok [INFO] [stdout] test projection::claude_md::tests::test_dissolve_no_managed_section ... ok [INFO] [stdout] test observer::tests::test_find_modified_sessions_skips_unregistered ... ok [INFO] [stdout] test projection::claude_md::tests::test_dissolve_managed_section ... ok [INFO] [stdout] test projection::claude_md::tests::test_has_managed_section ... ok [INFO] [stdout] test projection::claude_md::tests::test_read_managed_section ... ok [INFO] [stdout] test projection::claude_md::tests::test_read_managed_section_none ... ok [INFO] [stdout] test projection::claude_md::tests::test_update_claude_md_no_existing_section ... ok [INFO] [stdout] test projection::claude_md::tests::test_update_claude_md_replace_existing ... ok [INFO] [stdout] test projection::global_agent::tests::test_agent_path ... ok [INFO] [stdout] test projection::claude_md::tests::test_update_claude_md_empty_file ... ok [INFO] [stdout] test projection::global_agent::tests::test_parse_agent_name_invalid ... ok [INFO] [stdout] test projection::global_agent::tests::test_parse_agent_name_quoted ... ok [INFO] [stdout] test projection::global_agent::tests::test_parse_agent_name_no_frontmatter ... ok [INFO] [stdout] test projection::claude_md::tests::test_project_rule_to_claude_md ... ok [INFO] [stdout] test projection::global_agent::tests::test_parse_agent_name_valid ... ok [INFO] [stdout] test projection::skill::tests::test_has_valid_frontmatter ... ok [INFO] [stdout] test projection::skill::tests::test_parse_skill_name_invalid_chars ... ok [INFO] [stdout] test projection::skill::tests::test_node_to_pattern ... ok [INFO] [stdout] test projection::skill::tests::test_parse_skill_name_no_frontmatter ... ok [INFO] [stdout] test projection::skill::tests::test_parse_skill_name_quoted ... ok [INFO] [stdout] test projection::skill::tests::test_parse_skill_name_valid ... ok [INFO] [stdout] test projection::skill::tests::test_parse_validation_valid ... ok [INFO] [stdout] test projection::skill::tests::test_parse_validation_invalid ... ok [INFO] [stdout] test projection::skill::tests::test_skill_path ... ok [INFO] [stdout] test projection::tests::test_dissolve_if_needed_no_file ... ok [INFO] [stdout] test projection::skill::tests::test_skill_validation_schema_is_valid_json ... ok [INFO] [stdout] test projection::tests::test_dissolve_if_needed_without_managed ... ok [INFO] [stdout] test projection::tests::test_is_edit_action_json_without_edit_type ... ok [INFO] [stdout] test projection::tests::test_is_edit_action_empty ... ok [INFO] [stdout] test projection::tests::test_is_edit_action_plain_rule ... ok [INFO] [stdout] test projection::tests::test_is_edit_action_reword ... ok [INFO] [stdout] test projection::tests::test_parse_edit_add ... ok [INFO] [stdout] test projection::tests::test_is_edit_action_remove ... ok [INFO] [stdout] test projection::tests::test_dissolve_if_needed_with_managed ... ok [INFO] [stdout] test projection::tests::test_parse_edit_invalid_edit_type_returns_none ... ok [INFO] [stdout] test projection::tests::test_parse_edit_move ... ok [INFO] [stdout] test projection::tests::test_parse_edit_plain_text_returns_none ... ok [INFO] [stdout] test projection::tests::test_parse_edit_reword ... ok [INFO] [stdout] test projection::tests::test_is_edit_action_with_whitespace ... ok [INFO] [stdout] test projection::tests::test_parse_edit_missing_edit_type_returns_none ... ok [INFO] [stdout] test runner::tests::test_ai_calls_today_new_day_resets ... ok [INFO] [stdout] test projection::tests::test_parse_edit_remove ... ok [INFO] [stdout] test runner::tests::test_rotate_log_no_file_ok ... ok [INFO] [stdout] test runner::tests::test_ai_calls_today_same_day ... ok [INFO] [stdout] test db::tests::test_last_applied_at_returns_max ... ok [INFO] [stdout] test db::tests::test_projections_nudged_column_defaults_to_zero ... ok [INFO] [stdout] test db::tests::test_mark_node_projected ... ok [INFO] [stdout] test runner::tests::test_rotate_log_skips_small_file ... ok [INFO] [stdout] test runner::tests::test_rotate_log_overwrites_old_backup ... ok [INFO] [stdout] test db::tests::test_update_projection_status ... ok [INFO] [stdout] test runner::tests::test_last_run_time_none_when_not_set ... ok [INFO] [stdout] test trust::tests::test_auto_mode_respects_scope_config ... ok [INFO] [stdout] test db::tests::test_mark_node_projected_with_pr ... ok [INFO] [stdout] test trust::tests::test_auto_mode_respects_type_config ... ok [INFO] [stdout] test trust::tests::test_review_mode_never_auto_approves ... ok [INFO] [stdout] test util::tests::test_no_fences ... ok [INFO] [stdout] test util::tests::test_shorten_path_buf_works ... ok [INFO] [stdout] test util::tests::test_shorten_path_replaces_home ... ok [INFO] [stdout] test util::tests::test_strip_bare_fences ... ok [INFO] [stdout] test util::tests::test_shorten_path_no_home_prefix ... ok [INFO] [stdout] test db::tests::test_set_and_get_last_nudge_at ... ok [INFO] [stdout] test util::tests::test_strip_json_fences ... ok [INFO] [stdout] test util::tests::test_strip_yaml_fences ... ok [INFO] [stdout] test util::tests::test_truncate_str_ascii ... ok [INFO] [stdout] test runner::tests::test_rotate_log_rotates_large_file ... ok [INFO] [stdout] test db::tests::test_set_generation_failed ... ok [INFO] [stdout] test util::tests::test_truncate_str_utf8_boundary ... ok [INFO] [stdout] test runner::tests::test_last_run_time_returns_timestamp ... ok [INFO] [stdout] test db::tests::test_pattern_merge_update ... ok [INFO] [stdout] test db::tests::test_supersede_node_archives_old ... ok [INFO] [stdout] test util::tests::test_whitespace_trimmed ... ok [INFO] [stdout] test util::tests::test_truncate_str_no_truncation ... ok [INFO] [stdout] test scrub::tests::test_no_scrub_normal_text ... ok [INFO] [stdout] test scrub::tests::test_scrub_aws_key ... ok [INFO] [stdout] test scrub::tests::test_scrub_github_token ... ok [INFO] [stdout] test git::tests::test_install_hooks_only_post_commit ... ok [INFO] [stdout] test util::tests::test_truncate_str_empty ... ok [INFO] [stdout] test db::tests::test_sessions_for_analysis ... ok [INFO] [stdout] test db::tests::test_migrate_v4_to_v5_adds_projection_columns ... ok [INFO] [stdout] test scrub::tests::test_scrub_bearer ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 212 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.32s [INFO] [stdout] [INFO] [stderr] Doc-tests retro_core [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" "c6e1d473020367f458a4ccfaef6ceb5cc42399c2aebff709f40ac441f61c0929", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c6e1d473020367f458a4ccfaef6ceb5cc42399c2aebff709f40ac441f61c0929", kill_on_drop: false }` [INFO] [stdout] c6e1d473020367f458a4ccfaef6ceb5cc42399c2aebff709f40ac441f61c0929