[INFO] fetching crate pave 0.1.0... [INFO] testing pave-0.1.0 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-2 [INFO] extracting crate pave 0.1.0 into /workspace/builds/worker-7-tc2/source [INFO] started tweaking crates.io crate pave 0.1.0 [INFO] finished tweaking crates.io crate pave 0.1.0 [INFO] tweaked toml for crates.io crate pave 0.1.0 written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate pave 0.1.0 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 pave 0.1.0 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-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] f97dec1859ca1e6a49f3ab4f48ee227d7702016a924885d061e64418467433e6 [INFO] running `Command { std: "docker" "start" "-a" "f97dec1859ca1e6a49f3ab4f48ee227d7702016a924885d061e64418467433e6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f97dec1859ca1e6a49f3ab4f48ee227d7702016a924885d061e64418467433e6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f97dec1859ca1e6a49f3ab4f48ee227d7702016a924885d061e64418467433e6", kill_on_drop: false }` [INFO] [stdout] f97dec1859ca1e6a49f3ab4f48ee227d7702016a924885d061e64418467433e6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] e014f8dbbd9baa0dca54ae7ae54cc5dfb3c4ed145d1089400b6c10a7fe33dcdd [INFO] running `Command { std: "docker" "start" "-a" "e014f8dbbd9baa0dca54ae7ae54cc5dfb3c4ed145d1089400b6c10a7fe33dcdd", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.105 [INFO] [stderr] Compiling quote v1.0.43 [INFO] [stderr] Compiling unicode-ident v1.0.22 [INFO] [stderr] Compiling zmij v1.0.15 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling regex-syntax v0.8.8 [INFO] [stderr] Compiling pulldown-cmark v0.12.2 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling clap_lex v0.7.7 [INFO] [stderr] Compiling toml_datetime v0.7.5+spec-1.1.0 [INFO] [stderr] Compiling serde_spanned v1.0.4 [INFO] [stderr] Compiling ryu v1.0.22 [INFO] [stderr] Compiling unsafe-libyaml v0.2.11 [INFO] [stderr] Compiling bitflags v2.10.0 [INFO] [stderr] Compiling unicase v2.9.0 [INFO] [stderr] Compiling pulldown-cmark-escape v0.11.0 [INFO] [stderr] Compiling toml_writer v1.0.6+spec-1.1.0 [INFO] [stderr] Compiling anstream v0.6.21 [INFO] [stderr] Compiling chrono v0.4.43 [INFO] [stderr] Compiling glob v0.3.3 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling clap_builder v4.5.54 [INFO] [stderr] Compiling syn v2.0.114 [INFO] [stderr] Compiling toml_parser v1.0.6+spec-1.1.0 [INFO] [stderr] Compiling toml v0.9.11+spec-1.1.0 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling clap_derive v4.5.49 [INFO] [stderr] Compiling regex v1.12.2 [INFO] [stderr] Compiling clap v4.5.54 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling serde_yaml v0.9.34+deprecated [INFO] [stderr] Compiling pave v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 33.84s [INFO] running `Command { std: "docker" "inspect" "e014f8dbbd9baa0dca54ae7ae54cc5dfb3c4ed145d1089400b6c10a7fe33dcdd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e014f8dbbd9baa0dca54ae7ae54cc5dfb3c4ed145d1089400b6c10a7fe33dcdd", kill_on_drop: false }` [INFO] [stdout] e014f8dbbd9baa0dca54ae7ae54cc5dfb3c4ed145d1089400b6c10a7fe33dcdd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 71694d322a23f35819af556e71eb4da7fef4645eca21663e6d170bd8692fa28d [INFO] running `Command { std: "docker" "start" "-a" "71694d322a23f35819af556e71eb4da7fef4645eca21663e6d170bd8692fa28d", kill_on_drop: false }` [INFO] [stderr] Compiling bitflags v2.10.0 [INFO] [stderr] Compiling libc v0.2.180 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling pulldown-cmark v0.12.2 [INFO] [stderr] Compiling pave v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Compiling tempfile v3.24.0 [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 15.41s [INFO] running `Command { std: "docker" "inspect" "71694d322a23f35819af556e71eb4da7fef4645eca21663e6d170bd8692fa28d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "71694d322a23f35819af556e71eb4da7fef4645eca21663e6d170bd8692fa28d", kill_on_drop: false }` [INFO] [stdout] 71694d322a23f35819af556e71eb4da7fef4645eca21663e6d170bd8692fa28d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 34e0e263281c36bc6d7a2d8a26156de0792cff1b12dc0d23696d3e2264d059f2 [INFO] running `Command { std: "docker" "start" "-a" "34e0e263281c36bc6d7a2d8a26156de0792cff1b12dc0d23696d3e2264d059f2", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.14s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/pave-79601d69b7648cf2) [INFO] [stdout] [INFO] [stdout] running 399 tests [INFO] [stdout] test commands::adopt::tests::output_format_text_is_default ... ok [INFO] [stdout] test commands::adopt::tests::generate_report_counts_sections_correctly ... ok [INFO] [stdout] test commands::adopt::tests::generate_report_creates_recommendations ... ok [INFO] [stdout] test commands::build::tests::test_convert_md_links ... ok [INFO] [stdout] test commands::adopt::tests::analyze_document_detects_paved_sections ... ok [INFO] [stdout] test commands::build::tests::test_copy_and_process_docs ... ok [INFO] [stdout] test commands::adopt::tests::detect_docs_root_finds_docs_directory ... ok [INFO] [stdout] test commands::adopt::tests::analyze_document_detects_missing_sections ... ok [INFO] [stdout] test commands::adopt::tests::detect_docs_root_finds_documentation_directory ... ok [INFO] [stdout] test commands::adopt::tests::scan_docs_integration ... ok [INFO] [stdout] test commands::adopt::tests::detect_docs_root_returns_none_when_no_docs ... ok [INFO] [stdout] test commands::adopt::tests::analyze_document_detects_adr ... ok [INFO] [stdout] test commands::adopt::tests::analyze_document_detects_runbook ... ok [INFO] [stdout] test commands::build::tests::test_parse_front_matter_no_fm ... ok [INFO] [stdout] test commands::build::tests::test_process_markdown_existing_front_matter ... ok [INFO] [stdout] test commands::build::tests::test_remove_jekyll_conditionals ... ok [INFO] [stdout] test commands::adopt::tests::detect_docs_root_uses_explicit_docs_path ... ok [INFO] [stdout] test commands::build::tests::test_parse_front_matter ... ok [INFO] [stdout] test commands::changed::tests::test_extract_paths_patterns ... ok [INFO] [stdout] test commands::build::tests::test_process_markdown ... ok [INFO] [stdout] test commands::changed::tests::test_find_impacted_docs ... ok [INFO] [stdout] test commands::changed::tests::test_extract_paths_patterns_empty ... ok [INFO] [stdout] test commands::changed::tests::test_find_impacted_docs_with_update ... ok [INFO] [stdout] test commands::adopt::tests::scan_docs_finds_all_markdown_files ... ok [INFO] [stdout] test commands::changed::tests::test_load_doc_mappings ... ok [INFO] [stdout] test commands::changed::tests::test_extract_paths_patterns_with_asterisks ... ok [INFO] [stdout] test commands::changed::tests::test_matches_any_pattern_exact ... ok [INFO] [stdout] test commands::changed::tests::test_matches_any_pattern_glob ... ok [INFO] [stdout] test commands::changed::tests::test_matches_any_pattern_no_match ... ok [INFO] [stdout] test commands::adopt::tests::scan_docs_skips_node_modules ... ok [INFO] [stdout] test commands::adopt::tests::detect_docs_root_searches_inside_unknown_directory ... ok [INFO] [stdout] test commands::changed::tests::test_matches_any_pattern_glob_recursive ... ok [INFO] [stdout] test commands::changed::tests::test_extract_title ... ok [INFO] [stdout] test commands::changed::tests::test_matches_any_pattern_prefix ... ok [INFO] [stdout] test commands::build::tests::test_extract_title ... ok [INFO] [stdout] test commands::changed::tests::test_parse_doc_mapping_no_paths ... ok [INFO] [stdout] test commands::changed::tests::test_parse_git_diff_output_empty ... ok [INFO] [stdout] test commands::changed::tests::test_parse_git_diff_output ... ok [INFO] [stdout] test commands::changed::tests::test_parse_doc_mapping ... ok [INFO] [stdout] test commands::check::tests::check_component_with_interface_passes ... ok [INFO] [stdout] test commands::check::tests::check_generic_doc_no_type_specific_rules ... ok [INFO] [stdout] test commands::check::tests::check_adr_invalid_status ... ok [INFO] [stdout] test commands::check::tests::check_long_document_reports_warning ... ok [INFO] [stdout] test commands::check::tests::check_adr_missing_required_sections ... ok [INFO] [stdout] test commands::check::tests::check_component_with_configuration_passes ... ok [INFO] [stdout] test commands::check::tests::determine_base_ref_uses_explicit ... ok [INFO] [stdout] test commands::check::tests::check_results_fail_with_errors ... ok [INFO] [stdout] test commands::check::tests::gradual_deadline_invalid_format_ignores_deadline ... ok [INFO] [stdout] test commands::check::tests::check_results_success_without_strict ... ok [INFO] [stdout] test commands::check::tests::json_output_is_valid ... ok [INFO] [stdout] test commands::check::tests::parse_changed_md_files_empty_output ... ok [INFO] [stdout] test commands::check::tests::parse_changed_md_files_filters_to_markdown ... ok [INFO] [stdout] test commands::check::tests::is_leap_year_works_correctly ... ok [INFO] [stdout] test commands::check::tests::parse_changed_md_files_no_markdown ... ok [INFO] [stdout] test commands::config::tests::test_format_value ... ok [INFO] [stdout] test commands::config::tests::test_get_missing_key ... ok [INFO] [stdout] test commands::check::tests::check_missing_verification_reports_error ... ok [INFO] [stdout] test commands::check::tests::check_complete_runbook_passes ... ok [INFO] [stdout] test commands::config::tests::test_get_nested_value ... ok [INFO] [stdout] test commands::check::tests::gradual_flag_enables_gradual_mode ... ok [INFO] [stdout] test commands::check::tests::check_complete_adr_passes ... ok [INFO] [stdout] test commands::config::tests::test_parse_value_boolean ... ok [INFO] [stdout] test commands::config::tests::test_parse_value_integer ... ok [INFO] [stdout] test commands::config::tests::test_parse_value_string ... ok [INFO] [stdout] test commands::config::tests::test_set_creates_intermediate_tables ... ok [INFO] [stdout] test commands::config::tests::test_set_nested_value ... ok [INFO] [stdout] test commands::coverage::tests::test_analyze_coverage ... ok [INFO] [stdout] test commands::coverage::tests::test_calculate_directory_coverage ... ok [INFO] [stdout] test commands::coverage::tests::test_extract_paths_patterns ... ok [INFO] [stdout] test commands::coverage::tests::test_extract_paths_patterns_empty ... ok [INFO] [stdout] test commands::coverage::tests::test_extract_paths_patterns_skips_code_blocks ... ok [INFO] [stdout] test commands::coverage::tests::test_extract_paths_patterns_with_asterisks ... ok [INFO] [stdout] test commands::check::tests::check_skips_template_files ... ok [INFO] [stdout] test commands::coverage::tests::test_generate_suggestions ... ok [INFO] [stdout] test commands::coverage::tests::test_is_code_file ... ok [INFO] [stdout] test commands::check::tests::check_skips_index_md_files ... ok [INFO] [stdout] test commands::check::tests::check_component_missing_interface_and_config ... ok [INFO] [stdout] test commands::check::tests::gradual_until_future_date_enables_gradual_mode ... ok [INFO] [stdout] test commands::coverage::tests::test_matches_any_pattern_no_match ... ok [INFO] [stdout] test commands::coverage::tests::test_matches_any_pattern_prefix ... ok [INFO] [stdout] test commands::check::tests::find_markdown_files_collects_recursively ... ok [INFO] [stdout] test commands::coverage::tests::test_parse_doc_mapping ... ok [INFO] [stdout] test commands::coverage::tests::test_parse_doc_mapping_no_paths ... ok [INFO] [stdout] test commands::adopt::tests::detect_docs_root_finds_readme ... ok [INFO] [stdout] test commands::coverage::tests::test_matches_any_pattern_glob_recursive ... ok [INFO] [stdout] test commands::check::tests::check_valid_document_passes ... ok [INFO] [stdout] test commands::check::tests::gradual_mode_converts_errors_to_warnings ... ok [INFO] [stdout] test commands::check::tests::strict_flag_overrides_gradual_mode ... ok [INFO] [stdout] test commands::check::tests::gradual_until_past_date_disables_gradual_mode ... ok [INFO] [stdout] test commands::doctor::tests::config_check_reports_missing_config ... ok [INFO] [stdout] test commands::coverage::tests::test_load_doc_mappings ... ok [INFO] [stdout] test commands::check::tests::check_runbook_missing_required_sections ... ok [INFO] [stdout] test commands::doctor::tests::docs_check_reports_missing_sections ... ok [INFO] [stdout] test commands::doctor::tests::coverage_check_detects_paths_sections ... ok [INFO] [stdout] test commands::config::tests::test_parse_value_float ... ok [INFO] [stdout] test commands::coverage::tests::test_matches_any_pattern_exact ... ok [INFO] [stdout] test commands::doctor::tests::docs_check_passes_with_valid_docs ... ok [INFO] [stdout] test commands::doctor::tests::config_check_reports_valid_config ... ok [INFO] [stdout] test commands::coverage::tests::test_matches_any_pattern_glob ... ok [INFO] [stdout] test commands::doctor::tests::check_status_serializes_lowercase ... ok [INFO] [stdout] test commands::doctor::tests::doctor_results_counts_statuses ... ok [INFO] [stdout] test commands::doctor::tests::doctor_results_healthy_when_no_errors ... ok [INFO] [stdout] test commands::hooks::tests::generated_hook_with_verify_includes_verify ... ok [INFO] [stdout] test commands::hooks::tests::generated_hook_without_verify_omits_verify ... ok [INFO] [stdout] test commands::hooks::tests::generated_pre_commit_hook_uses_cached_diff ... ok [INFO] [stdout] test commands::hooks::tests::generated_pre_push_hook_with_verify ... ok [INFO] [stdout] test commands::doctor::tests::verification_check_detects_empty_sections ... ok [INFO] [stdout] test commands::hooks::tests::install_fails_without_git_repo ... ok [INFO] [stdout] test commands::doctor::tests::json_output_is_valid ... ok [INFO] [stdout] test commands::doctor::tests::should_skip_index_and_templates ... ok [INFO] [stdout] test commands::hooks::tests::generated_pre_push_hook_uses_ref_diff ... ok [INFO] [stdout] test commands::hooks::tests::install_fails_if_foreign_hook_exists ... ok [INFO] [stdout] test commands::doctor::tests::coverage_check_warns_on_no_paths ... ok [INFO] [stdout] test commands::hooks::tests::install_creates_hook ... ok [INFO] [stdout] test commands::index::tests::test_extract_purpose ... ok [INFO] [stdout] test commands::hooks::tests::uninstall_removes_hook ... ok [INFO] [stdout] test commands::index::tests::test_extract_title ... ok [INFO] [stdout] test commands::index::tests::test_detect_doc_type_from_path ... ok [INFO] [stdout] test commands::hooks::tests::uninstall_fails_for_foreign_hook ... ok [INFO] [stdout] test commands::index::tests::test_detect_doc_type_from_content ... ok [INFO] [stdout] test commands::init::tests::config_is_valid_toml ... ok [INFO] [stdout] test commands::index::tests::test_links_are_valid_relative_paths ... ok [INFO] [stdout] test commands::index::tests::test_generate_index_preserves_custom_content ... ok [INFO] [stdout] test commands::index::tests::test_generate_index_with_multiple_doc_types ... ok [INFO] [stdout] test commands::coverage::tests::test_suggest_doc_name ... ok [INFO] [stdout] test commands::hooks::tests::install_works_in_worktree ... ok [INFO] [stdout] test commands::hooks::tests::uninstall_does_nothing_if_not_installed ... ok [INFO] [stdout] test commands::index::tests::test_extract_custom_content ... ok [INFO] [stdout] test commands::hooks::tests::uninstall_works_in_worktree ... ok [INFO] [stdout] test commands::init::tests::init_makes_hook_executable ... ok [INFO] [stdout] test commands::hooks::tests::install_warns_if_pave_hook_exists ... ok [INFO] [stdout] test commands::hooks::tests::install_with_verify_includes_verify_in_hook ... ok [INFO] [stdout] test commands::init::tests::init_with_custom_docs_root ... ok [INFO] [stdout] test commands::hooks::tests::install_pre_push_hook ... ok [INFO] [stdout] test commands::lint::tests::test_determine_rules_with_disabled ... ok [INFO] [stdout] test commands::lint::tests::test_determine_rules_all_by_default ... ok [INFO] [stdout] test commands::lint::tests::test_determine_rules_with_cli_filter ... ok [INFO] [stdout] test commands::init::tests::init_fails_if_already_initialized ... ok [INFO] [stdout] test commands::lint::tests::test_json_output ... ok [INFO] [stdout] test commands::init::tests::init_fails_without_git_repo_when_hooks_enabled ... ok [INFO] [stdout] test commands::lint::tests::test_lint_rule_from_name ... ok [INFO] [stdout] test commands::index::tests::test_scan_and_generate_integration ... ok [INFO] [stdout] test commands::init::tests::init_installs_hook_by_default_in_git_repo ... ok [INFO] [stdout] test commands::init::tests::init_skip_hooks_does_not_install_hook ... ok [INFO] [stdout] test commands::init::tests::init_with_force_overwrites ... ok [INFO] [stdout] test commands::init::tests::init_does_not_overwrite_existing_foreign_hook ... ok [INFO] [stdout] test commands::hooks::tests::install_makes_hook_executable ... ok [INFO] [stdout] test commands::init::tests::init_creates_expected_files ... ok [INFO] [stdout] test commands::lint::tests::test_duplicate_headings ... ok [INFO] [stdout] test commands::hooks::tests::install_force_overwrites_foreign_hook ... ok [INFO] [stdout] test commands::init::tests::init_does_not_reinstall_pave_hook ... ok [INFO] [stdout] test commands::lint::tests::test_trailing_whitespace ... ok [INFO] [stdout] test commands::lint::tests::test_broken_internal_links ... ok [INFO] [stdout] test commands::lint::tests::test_trailing_whitespace_fix ... ok [INFO] [stdout] test commands::migrate::tests::test_analyze_file_no_missing_sections ... ok [INFO] [stdout] test commands::migrate::tests::test_find_insertion_position_at_end ... ok [INFO] [stdout] test commands::lint::tests::test_skip_code_refs_inside_code_blocks ... ok [INFO] [stdout] test commands::lint::tests::test_skip_headings_inside_nested_code_blocks ... ok [INFO] [stdout] test commands::lint::tests::test_valid_alt_text ... ok [INFO] [stdout] test commands::lint::tests::test_valid_anchors ... ok [INFO] [stdout] test commands::lint::tests::test_missing_alt_text ... ok [INFO] [stdout] test commands::migrate::tests::test_create_backup ... ok [INFO] [stdout] test commands::lint::tests::test_valid_code_refs ... ok [INFO] [stdout] test commands::lint::tests::test_skip_links_inside_code_blocks_with_language ... ok [INFO] [stdout] test commands::lint::tests::test_valid_internal_links ... ok [INFO] [stdout] test commands::migrate::tests::test_find_insertion_position_empty_sections ... ok [INFO] [stdout] test commands::lint::tests::test_skip_images_inside_code_blocks ... ok [INFO] [stdout] test commands::migrate::tests::test_analyze_file_finds_missing_sections ... ok [INFO] [stdout] test commands::migrate::tests::test_find_insertion_position_with_existing_sections ... ok [INFO] [stdout] test commands::migrate::tests::test_get_required_sections_adr ... ok [INFO] [stdout] test commands::migrate::tests::test_analyze_file_with_section_filter ... ok [INFO] [stdout] test commands::migrate::tests::test_get_required_sections_runbook ... ok [INFO] [stdout] test commands::migrate::tests::test_insert_sections_respects_order ... ok [INFO] [stdout] test commands::migrate::tests::test_section_order ... ok [INFO] [stdout] test commands::migrate::tests::test_migration_report_serialization ... ok [INFO] [stdout] test commands::migrate::tests::test_insert_sections_skips_headings_in_code_blocks ... ok [INFO] [stdout] test commands::new::tests::substitute_placeholders_adr ... ok [INFO] [stdout] test commands::new::tests::substitute_placeholders_component ... ok [INFO] [stdout] test commands::migrate::tests::test_get_required_sections_component ... ok [INFO] [stdout] test commands::new::tests::execute_creates_adr_file ... ok [INFO] [stdout] test commands::migrate::tests::test_insert_sections_basic ... ok [INFO] [stdout] test commands::new::tests::default_output_path_component ... ok [INFO] [stdout] test commands::new::tests::execute_creates_parent_directories ... ok [INFO] [stdout] test commands::new::tests::execute_creates_component_file ... ok [INFO] [stdout] test commands::new::tests::substitute_placeholders_runbook ... ok [INFO] [stdout] test commands::new::tests::to_title_case_converts_kebab_case ... ok [INFO] [stdout] test commands::new::tests::default_output_path_adr ... ok [INFO] [stdout] test commands::new::tests::to_title_case_converts_snake_case ... ok [INFO] [stdout] test commands::prompt::tests::format_rules_respects_config ... ok [INFO] [stdout] test commands::prompt::tests::prompt_includes_all_adr_sections ... ok [INFO] [stdout] test commands::prompt::tests::prompt_includes_all_component_sections ... ok [INFO] [stdout] test commands::lint::tests::test_stale_code_refs ... ok [INFO] [stdout] test commands::prompt::tests::prompt_includes_template ... ok [INFO] [stdout] test commands::new::tests::to_title_case_handles_single_word ... ok [INFO] [stdout] test commands::prompt::tests::prompt_includes_project_rules ... ok [INFO] [stdout] test commands::prompt::tests::prompt_includes_all_runbook_sections ... ok [INFO] [stdout] test commands::prompt::tests::prompt_includes_name_in_task ... ok [INFO] [stdout] test commands::status::tests::analyze_skips_template_files ... ok [INFO] [stdout] test commands::migrate::tests::test_find_markdown_files ... ok [INFO] [stdout] test commands::new::tests::execute_creates_runbook_file ... ok [INFO] [stdout] test commands::prompt::tests::json_output_is_valid ... ok [INFO] [stdout] test commands::status::tests::analyze_valid_file ... ok [INFO] [stdout] test commands::status::tests::analyze_invalid_file ... ok [INFO] [stdout] test commands::lint::tests::test_dead_anchors ... ok [INFO] [stdout] test commands::status::tests::strict_mode_ready_above_50_percent ... ok [INFO] [stdout] test commands::new::tests::execute_errors_if_file_exists ... ok [INFO] [stdout] test commands::status::tests::determine_base_ref_uses_explicit ... ok [INFO] [stdout] test commands::lint::tests::test_stale_code_refs_skips_glob_patterns ... ok [INFO] [stdout] test commands::status::tests::find_markdown_files_in_dir ... ok [INFO] [stdout] test commands::status::tests::json_output_is_valid ... ok [INFO] [stdout] test commands::status::tests::parse_changed_md_files_filters_correctly ... ok [INFO] [stdout] test commands::status::tests::status_results_tracks_by_type ... ok [INFO] [stdout] test commands::status::tests::analyze_skips_index_files ... ok [INFO] [stdout] test commands::new::tests::default_output_path_runbook ... ok [INFO] [stdout] test commands::status::tests::status_results_tracks_compliance ... ok [INFO] [stdout] test commands::status::tests::strict_mode_not_ready_below_50_percent ... ok [INFO] [stdout] test commands::prompt::tests::update_mode_indicates_update_in_task ... ok [INFO] [stdout] test commands::verify::tests::document_result_tracks_status ... ok [INFO] [stdout] test commands::verify::tests::find_markdown_files_collects_recursively ... ok [INFO] [stdout] test commands::verify::tests::json_output_is_valid ... ok [INFO] [stdout] test commands::verify::tests::verify_status_serializes_lowercase ... ok [INFO] [stdout] test config::tests::config_roundtrip ... ok [INFO] [stdout] test commands::verify::tests::warn_status_is_success ... ok [INFO] [stdout] test config::tests::config_roundtrip_with_hooks ... ok [INFO] [stdout] test config::tests::config_roundtrip_with_gradual ... ok [INFO] [stdout] test config::tests::default_config_is_valid ... ok [INFO] [stdout] test commands::verify::tests::verify_results_tracks_warnings ... ok [INFO] [stdout] test config::tests::config_roundtrip_with_type_specific_rules ... ok [INFO] [stdout] test config::tests::config_roundtrip_with_mapping ... ok [INFO] [stdout] test config::tests::default_gradual_is_false ... ok [INFO] [stdout] test config::tests::default_strict_output_matching_is_false ... ok [INFO] [stdout] test config::tests::default_gradual_until_is_none ... ok [INFO] [stdout] test config::tests::default_type_specific_rules_are_disabled ... ok [INFO] [stdout] test commands::verify::tests::run_command_expected_nonzero_exit ... ok [INFO] [stdout] test config::tests::parse_config_with_gradual_until ... ok [INFO] [stdout] test config::tests::parse_config_with_gradual_mode ... ok [INFO] [stdout] test commands::verify::tests::verify_results_aggregates_counts ... ok [INFO] [stdout] test commands::verify::tests::run_command_failure ... ok [INFO] [stdout] test config::tests::parse_config_with_custom_rules ... ok [INFO] [stdout] test commands::verify::tests::output_mismatch_fails_with_strict_mode ... ok [INFO] [stdout] test commands::verify::tests::output_match_passes ... ok [INFO] [stdout] test commands::verify::tests::output_mismatch_ignored_with_skip_mode ... ok [INFO] [stdout] test config::tests::parse_config_with_hooks_section ... ok [INFO] [stdout] test config::tests::default_skip_output_matching_is_false ... ok [INFO] [stdout] test config::tests::parse_config_with_missing_optional_fields ... ok [INFO] [stdout] test commands::verify::tests::integration_verify_passing_document ... ok [INFO] [stdout] test config::tests::parse_config_with_skip_output_matching ... ok [INFO] [stdout] test commands::verify::tests::output_mismatch_produces_warning_by_default ... ok [INFO] [stdout] test config::tests::parse_config_with_mapping_section ... ok [INFO] [stdout] test config::tests::parse_config_without_mapping_uses_default ... ok [INFO] [stdout] test config::tests::parse_config_with_strict_output_matching ... ok [INFO] [stdout] test config::tests::parse_config_with_type_specific_rules ... ok [INFO] [stdout] test config::tests::reject_config_with_empty_version ... ok [INFO] [stdout] test config::tests::reject_config_with_zero_max_lines ... ok [INFO] [stdout] test commands::verify::tests::integration_keep_going_false_skips_remaining ... ok [INFO] [stdout] test config::tests::reject_config_with_empty_docs_root ... ok [INFO] [stdout] test config::tests::parse_config_without_hooks_uses_default ... ok [INFO] [stdout] test config::tests::parse_valid_config ... ok [INFO] [stdout] test parser::tests::case_insensitive_section_lookup ... ok [INFO] [stdout] test parser::tests::angle_bracket_prefix_makes_block_executable ... ok [INFO] [stdout] test parser::tests::bash_language_tag_is_executable ... ok [INFO] [stdout] test parser::tests::code_block_tracker_basic ... ok [INFO] [stdout] test parser::tests::code_block_tracker_closing_fence_must_be_clean ... ok [INFO] [stdout] test parser::tests::code_block_tracker_indented_fence ... ok [INFO] [stdout] test parser::tests::code_block_tracker_with_language_tag ... ok [INFO] [stdout] test parser::tests::code_block_line_numbers_are_correct ... ok [INFO] [stdout] test parser::tests::detect_code_blocks_in_verification ... ok [INFO] [stdout] test parser::tests::default_expect_marker_uses_contains ... ok [INFO] [stdout] test parser::tests::code_block_tracker_nested_fences ... ok [INFO] [stdout] test parser::tests::detect_commands_with_common_prefixes ... ok [INFO] [stdout] test parser::tests::detect_commands_with_shell_prompt ... ok [INFO] [stdout] test parser::tests::executable_commands_empty_when_no_executable_blocks ... ok [INFO] [stdout] test parser::tests::expect_marker_without_spaces ... ok [INFO] [stdout] test parser::tests::executable_commands_method_returns_only_executable_blocks ... ok [INFO] [stdout] test parser::tests::dollar_prefix_makes_block_executable ... ok [INFO] [stdout] test parser::tests::explicit_expect_contains_marker ... ok [INFO] [stdout] test parser::tests::explicit_expect_exact_marker ... ok [INFO] [stdout] test parser::tests::extract_single_code_block_with_language ... ok [INFO] [stdout] test parser::tests::extract_multiline_code_block ... ok [INFO] [stdout] test parser::tests::handle_empty_document ... ok [INFO] [stdout] test parser::tests::inline_expected_output_parsing ... ok [INFO] [stdout] test parser::tests::extract_multiple_code_blocks ... ok [INFO] [stdout] test parser::tests::json_language_tag_is_not_executable ... ok [INFO] [stdout] test parser::tests::multiple_commands_without_inline_output ... ok [INFO] [stdout] test parser::tests::no_expected_output_for_non_shell_blocks ... ok [INFO] [stdout] test parser::tests::handle_non_standard_sections ... ok [INFO] [stdout] test parser::tests::nested_backticks_handled_correctly ... ok [INFO] [stdout] test parser::tests::parse_complete_paved_document ... ok [INFO] [stdout] test parser::tests::parse_document_with_missing_sections ... ok [INFO] [stdout] test parser::tests::non_shell_with_dollar_prefix_is_executable ... ok [INFO] [stdout] test parser::tests::code_block_default_env_vars_is_empty ... ok [INFO] [stdout] test parser::tests::markers_only_apply_to_next_block ... ok [INFO] [stdout] test parser::tests::parse_document_with_non_pave_frontmatter ... ok [INFO] [stdout] test parser::tests::explicit_expect_regex_marker ... ok [INFO] [stdout] test parser::tests::parse_document_with_empty_pave_paths ... ok [INFO] [stdout] test parser::tests::extract_code_block_without_language ... ok [INFO] [stdout] test parser::tests::has_code_blocks_remains_accurate ... ok [INFO] [stdout] test commands::verify::tests::integration_verify_failing_document ... ok [INFO] [stdout] test parser::tests::mixed_executable_and_non_executable_blocks ... ok [INFO] [stdout] test parser::tests::parse_document_with_pave_frontmatter ... ok [INFO] [stdout] test parser::tests::parse_multiple_pave_env_markers ... ok [INFO] [stdout] test commands::verify::tests::integration_keep_going_true_runs_all ... ok [INFO] [stdout] test parser::tests::parse_pave_env_inline_marker ... ok [INFO] [stdout] test parser::tests::parse_document_with_pave_working_dir_in_frontmatter ... ok [INFO] [stdout] test parser::tests::parse_document_without_frontmatter ... ok [INFO] [stdout] test parser::tests::parse_pave_env_with_working_dir ... ok [INFO] [stdout] test parser::tests::parse_pave_working_dir_inline_marker_without_spaces ... ok [INFO] [stdout] test parser::tests::pave_run_marker_makes_block_executable ... ok [INFO] [stdout] test parser::tests::pave_run_marker_only_applies_to_next_block ... ok [INFO] [stdout] test rules::tests::detect_doc_type_from_content_component ... ok [INFO] [stdout] test parser::tests::shell_language_tags_are_executable ... ok [INFO] [stdout] test rules::tests::detect_doc_type_from_content_runbook ... ok [INFO] [stdout] test parser::tests::parse_pave_working_dir_inline_marker ... ok [INFO] [stdout] test rules::tests::get_type_specific_rules_runbook ... ok [INFO] [stdout] test rules::tests::require_command_rule_detects_shell_commands ... ok [INFO] [stdout] test parser::tests::section_start_line_is_correct ... ok [INFO] [stdout] test parser::tests::section_content_excludes_heading ... ok [INFO] [stdout] test rules::tests::detect_doc_type_from_path_adr ... ok [INFO] [stdout] test rules::tests::detect_doc_type_from_path_component ... ok [INFO] [stdout] test rules::tests::detect_doc_type_from_path_runbook ... ok [INFO] [stdout] test parser::tests::skip_headings_inside_code_blocks ... ok [INFO] [stdout] test rules::tests::detect_doc_type_other ... ok [INFO] [stdout] test rules::tests::extract_paths_patterns_helper ... ok [INFO] [stdout] test rules::tests::require_command_rule_fails_without_command ... ok [INFO] [stdout] test rules::tests::require_one_of_passes_with_second_section ... ok [INFO] [stdout] test rules::tests::get_type_specific_rules_adr ... ok [INFO] [stdout] test rules::tests::get_type_specific_rules_component ... ok [INFO] [stdout] test rules::tests::require_one_of_fails_without_any_section ... ok [INFO] [stdout] test rules::tests::require_one_of_passes_with_first_section ... ok [INFO] [stdout] test rules::tests::detect_doc_type_from_content_adr ... ok [INFO] [stdout] test rules::tests::get_type_specific_rules_disabled ... ok [INFO] [stdout] test rules::tests::require_valid_adr_status_fails_with_invalid_status ... ok [INFO] [stdout] test rules::tests::rule_names_are_descriptive ... ok [INFO] [stdout] test rules::tests::require_valid_adr_status_passes_with_accepted ... ok [INFO] [stdout] test rules::tests::require_valid_adr_status_passes_with_proposed ... ok [INFO] [stdout] test rules::tests::rule_names_for_new_rules ... ok [INFO] [stdout] test rules::tests::rules_engine_from_config_without_verification_commands ... ok [INFO] [stdout] test rules::tests::validate_missing_required_section ... ok [INFO] [stdout] test rules::tests::section_name_matching_is_case_insensitive ... ok [INFO] [stdout] test rules::tests::validate_document_passes_all_rules ... ok [INFO] [stdout] test rules::tests::validate_missing_code_block_in_examples ... ok [INFO] [stdout] test rules::tests::validate_paths_rule_name ... ok [INFO] [stdout] test rules::tests::rules_engine_from_config ... ok [INFO] [stdout] test rules::tests::rules_engine_from_config_with_validate_paths ... ok [INFO] [stdout] test rules::tests::rules_engine_from_config_without_validate_paths ... ok [INFO] [stdout] test rules::tests::validate_paths_warn_empty_creates_warning ... ok [INFO] [stdout] test rules::tests::validate_paths_invalid_glob_pattern_fails ... ok [INFO] [stdout] test rules::tests::validate_paths_absolute_path_fails ... ok [INFO] [stdout] test rules::tests::validate_paths_multiple_errors ... ok [INFO] [stdout] test rules::tests::validate_paths_valid_patterns_pass ... ok [INFO] [stdout] test rules::tests::validate_paths_document_without_paths_section_passes ... ok [INFO] [stdout] test rules::tests::validate_document_exceeds_line_limit ... ok [INFO] [stdout] test rules::tests::validate_paths_line_numbers_are_correct ... ok [INFO] [stdout] test rules::tests::validate_paths_warn_empty_false_no_warning ... ok [INFO] [stdout] test rules::tests::validate_paths_with_asterisk_prefix ... ok [INFO] [stdout] test rules::tests::validation_result_includes_suggestions ... ok [INFO] [stdout] test templates::tests::adr_template_has_required_sections ... ok [INFO] [stdout] test rules::tests::validation_result_methods ... ok [INFO] [stdout] test templates::tests::default_filenames_are_correct ... ok [INFO] [stdout] test rules::tests::validate_with_type_passes_complete_runbook ... ok [INFO] [stdout] test templates::tests::runbook_template_has_required_sections ... ok [INFO] [stdout] test verification::tests::test_extract_command_from_block_skips_comments ... ok [INFO] [stdout] test verification::tests::test_extract_command_from_block_mixed ... ok [INFO] [stdout] test rules::tests::validate_with_type_applies_type_specific_rules ... ok [INFO] [stdout] test templates::tests::all_templates_returns_all_types ... ok [INFO] [stdout] test commands::verify::tests::run_command_success ... ok [INFO] [stdout] test verification::tests::test_extract_command_from_block_without_prefix ... ok [INFO] [stdout] test verification::tests::test_extract_command_from_block_skips_empty_lines ... ok [INFO] [stdout] test parser::tests::pave_run_marker_without_spaces_works ... ok [INFO] [stdout] test verification::tests::test_extract_verification_spec_empty_verification_section ... ok [INFO] [stdout] test verification::tests::test_extract_command_from_block_with_dollar_prefix ... ok [INFO] [stdout] test templates::tests::component_template_has_required_sections ... ok [INFO] [stdout] test verification::tests::test_expected_exit_code_matching ... ok [INFO] [stdout] test verification::tests::test_command_not_found ... ok [INFO] [stdout] test verification::tests::test_extract_verification_spec_inline_overrides_frontmatter ... ok [INFO] [stdout] test verification::tests::test_extract_verification_spec_multiple_commands ... ok [INFO] [stdout] test verification::tests::test_extract_verification_spec_no_verification_section ... ok [INFO] [stdout] test verification::tests::test_extract_verification_spec_from_doc ... ok [INFO] [stdout] test verification::tests::test_extract_verification_spec_with_inline_output ... ok [INFO] [stdout] test verification::tests::test_frontmatter_working_dir_applies_to_all_blocks ... ok [INFO] [stdout] test verification::tests::test_extract_verification_spec_with_env_vars ... ok [INFO] [stdout] test verification::tests::test_extract_verification_spec_with_explicit_output_block ... ok [INFO] [stdout] test verification::tests::test_output_capture_stderr ... ok [INFO] [stdout] test verification::tests::test_extract_verification_spec_with_inline_working_dir ... ok [INFO] [stdout] test verification::tests::test_extract_verification_spec_with_working_dir_from_frontmatter ... ok [INFO] [stdout] test verification::tests::test_output_exact_matcher ... ok [INFO] [stdout] test verification::tests::test_output_capture_stdout ... ok [INFO] [stdout] test verification::tests::test_output_contains_matcher_fails ... ok [INFO] [stdout] test verification::tests::test_output_exact_matcher_fails ... ok [INFO] [stdout] test verification::tests::test_successful_command_returns_passed_true ... ok [INFO] [stdout] test verification::tests::test_output_regex_matcher ... ok [INFO] [stdout] test verification::tests::test_integration_actual_echo_command ... ok [INFO] [stdout] test verification::tests::test_failed_command_returns_passed_false ... ok [INFO] [stdout] test verification::tests::test_output_contains_matcher ... ok [INFO] [stdout] test verification::tests::test_run_verification_with_env_vars ... ok [INFO] [stdout] test verification::tests::test_run_verification_executes_all_items ... ok [INFO] [stdout] test verification::tests::test_output_regex_matcher_fails ... ok [INFO] [stdout] test verification::tests::test_duration_is_recorded ... ok [INFO] [stdout] test verification::tests::test_timeout_handling ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 399 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.14s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/pave-db8e4e03bd81926d) [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 pave [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" "34e0e263281c36bc6d7a2d8a26156de0792cff1b12dc0d23696d3e2264d059f2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "34e0e263281c36bc6d7a2d8a26156de0792cff1b12dc0d23696d3e2264d059f2", kill_on_drop: false }` [INFO] [stdout] 34e0e263281c36bc6d7a2d8a26156de0792cff1b12dc0d23696d3e2264d059f2