[INFO] fetching crate skill-lint 0.1.10...
[INFO] testing skill-lint-0.1.10 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate skill-lint 0.1.10 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate skill-lint 0.1.10
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate skill-lint 0.1.10
[INFO] tweaked toml for crates.io crate skill-lint 0.1.10 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate skill-lint 0.1.10 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate skill-lint 0.1.10 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.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 78ddd38cefd0969bed44b7e8551d3b2a35a39d2fc4d74c766758ccf2194afc12
[INFO] running `Command { std: "docker" "start" "78ddd38cefd0969bed44b7e8551d3b2a35a39d2fc4d74c766758ccf2194afc12", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "78ddd38cefd0969bed44b7e8551d3b2a35a39d2fc4d74c766758ccf2194afc12", 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" "78ddd38cefd0969bed44b7e8551d3b2a35a39d2fc4d74c766758ccf2194afc12" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "78ddd38cefd0969bed44b7e8551d3b2a35a39d2fc4d74c766758ccf2194afc12", 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" "78ddd38cefd0969bed44b7e8551d3b2a35a39d2fc4d74c766758ccf2194afc12" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling clap_lex v1.1.1
[INFO] [stderr]    Compiling indexmap v2.14.2
[INFO] [stderr]    Compiling syn v3.0.6
[INFO] [stderr]    Compiling clap_builder v4.6.7
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling clap_derive v4.6.7
[INFO] [stderr]    Compiling thiserror-impl v2.0.21
[INFO] [stderr]    Compiling thiserror v2.0.21
[INFO] [stderr]    Compiling clap v4.6.7
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling serde_yaml_ng v0.10.0
[INFO] [stderr]    Compiling skill-lint v0.1.10 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.95s
[INFO] running `Command { std: "docker" "inspect" "78ddd38cefd0969bed44b7e8551d3b2a35a39d2fc4d74c766758ccf2194afc12", 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" "78ddd38cefd0969bed44b7e8551d3b2a35a39d2fc4d74c766758ccf2194afc12" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling assert_cmd v2.2.2
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling fastrand v2.5.0
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling rustix v1.1.5
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]    Compiling bstr v1.13.1
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]    Compiling skill-lint v0.1.10 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 11.95s
[INFO] running `Command { std: "docker" "inspect" "78ddd38cefd0969bed44b7e8551d3b2a35a39d2fc4d74c766758ccf2194afc12", 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" "78ddd38cefd0969bed44b7e8551d3b2a35a39d2fc4d74c766758ccf2194afc12" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.09s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/skill-lint/d1194e1e3d6e8f23/out/skill_lint-d1194e1e3d6e8f23)
[INFO] [stdout] 
[INFO] [stdout] running 261 tests
[INFO] [stdout] test budget::tests::a_skill_present_in_two_homes_is_counted_once ... ok
[INFO] [stdout] test budget::tests::budget_from_window_uses_the_documented_fraction ... ok
[INFO] [stdout] test budget::tests::fold_matches_the_checker_normalization ... ok
[INFO] [stdout] test chain::tests::a_file_reached_twice_is_loaded_and_counted_once ... ok
[INFO] [stdout] test budget::tests::report_arithmetic ... ok
[INFO] [stdout] test chain::tests::a_fragment_is_dropped_and_an_escaped_space_kept ... ok
[INFO] [stdout] test budget::tests::body_bytes_is_the_whole_skill_md_frontmatter_included ... ok
[INFO] [stdout] test budget::tests::an_over_cap_description_is_counted_at_the_cap_not_its_authored_length ... ok
[INFO] [stdout] test chain::tests::code_is_shown_not_imported ... ok
[INFO] [stdout] test chain::tests::exactly_five_hops_load ... ok
[INFO] [stdout] test check::ledger::tests::a_named_ceiling_is_valid ... ok
[INFO] [stdout] test budget::tests::a_blank_description_is_a_finding_and_a_parse_failure_is_not_counted ... ok
[INFO] [stdout] test check::ledger::tests::a_fenced_marker_is_an_example_not_a_ledger ... ok
[INFO] [stdout] test check::ledger::tests::a_mitigation_without_a_ceiling_is_caught ... ok
[INFO] [stdout] test check::ledger::tests::a_marker_with_no_table_is_malformed ... ok
[INFO] [stdout] test chain::tests::non_path_shapes_are_prose ... ok
[INFO] [stdout] test chain::tests::the_walk_stops_at_home_or_below_root ... ok
[INFO] [stdout] test chain::tests::tilde_abbreviates_only_under_home ... ok
[INFO] [stdout] test chain::tests::a_self_import_is_a_cycle ... ok
[INFO] [stdout] test chain::tests::zero_files_is_a_discovery_error ... ok
[INFO] [stdout] test check::ledger::tests::a_prose_mention_of_the_marker_is_not_a_declaration ... ok
[INFO] [stdout] test check::links::tests::body_of_strips_frontmatter ... ok
[INFO] [stdout] test check::links::tests::body_of_passes_through_content_without_frontmatter ... ok
[INFO] [stdout] test check::ledger::tests::a_tier_outside_the_vocabulary_is_caught ... ok
[INFO] [stdout] test check::ledger::tests::a_declared_ledger_is_parsed ... ok
[INFO] [stdout] test chain::tests::imports_resolve_against_the_importer_home_or_root ... ok
[INFO] [stdout] test check::ledger::tests::an_undeclared_table_is_not_a_ledger ... ok
[INFO] [stdout] test check::ledger::tests::the_stronger_tiers_need_no_ceiling ... ok
[INFO] [stdout] test check::links::tests::repo_paths_are_extracted_from_code_spans ... ok
[INFO] [stdout] test chain::tests::an_import_starts_a_line_or_follows_whitespace ... ok
[INFO] [stdout] test check::links::tests::a_waiver_naming_nothing_waives_nothing ... ok
[INFO] [stdout] test check::links::tests::absolute_and_bare_link_targets_are_out_of_scope ... ok
[INFO] [stdout] test check::links::tests::templates_globs_and_prose_are_rejected ... ok
[INFO] [stdout] test check::links::tests::fenced_blocks_are_skipped_in_both_directions ... ok
[INFO] [stdout] test check::pointers::tests::a_bare_pointer_in_prose_is_extracted ... ok
[INFO] [stdout] test check::links::tests::relative_links_are_extracted ... ok
[INFO] [stdout] test check::pointers::tests::a_closing_period_reads_but_a_file_extension_does_not ... ok
[INFO] [stdout] test check::pointers::tests::a_pointer_inside_a_longer_code_span_is_not_a_pointer ... ok
[INFO] [stdout] test check::ledger::tests::the_vocabulary_matches_selo ... ok
[INFO] [stdout] test check::pointers::tests::the_two_forms_the_corpus_actually_used_are_extracted ... ok
[INFO] [stdout] test check::pointers::tests::waivers_are_scoped_to_the_token_they_name ... ok
[INFO] [stdout] test check::pointers::tests::the_alternation_form_is_not_a_pointer ... ok
[INFO] [stdout] test check::links::tests::a_link_inside_a_code_span_is_not_a_link ... ok
[INFO] [stdout] test check::tests::a_dead_slash_pointer_is_caught ... ok
[INFO] [stdout] test check::tests::a_live_slash_pointer_passes ... ok
[INFO] [stdout] test check::tests::a_repeated_dead_path_is_reported_once ... ok
[INFO] [stdout] test check::tests::a_mitigation_row_without_a_ceiling_is_caught ... ok
[INFO] [stdout] test check::pointers::tests::fenced_blocks_are_skipped ... ok
[INFO] [stdout] test check::pointers::tests::pointers_are_found_after_every_accepted_boundary ... ok
[INFO] [stdout] test check::tests::a_named_ceiling_passes ... ok
[INFO] [stdout] test check::tests::a_pointer_at_a_cross_repo_skill_resolves ... ok
[INFO] [stdout] test check::tests::a_repeated_dead_pointer_is_reported_once ... ok
[INFO] [stdout] test check::links::tests::waivers_are_scoped_to_the_path_they_name ... ok
[INFO] [stdout] test check::links::tests::source_locators_are_stripped ... ok
[INFO] [stdout] test check::pointers::tests::a_single_word_pointer_is_deliberately_out_of_scope ... ok
[INFO] [stdout] test check::pointers::tests::a_url_route_is_not_a_pointer ... ok
[INFO] [stdout] test check::pointers::tests::a_waiver_naming_nothing_waives_nothing ... ok
[INFO] [stdout] test check::tests::a_source_without_an_oracle_reports_nothing ... ok
[INFO] [stdout] test check::tests::a_waived_pointer_is_silent_and_the_waiver_is_scoped ... ok
[INFO] [stdout] test check::tests::a_required_ledger_that_is_present_passes ... ok
[INFO] [stdout] test check::tests::a_required_ledger_that_is_absent_is_caught ... ok
[INFO] [stdout] test check::tests::an_empty_map_suppresses_pointer_findings ... ok
[INFO] [stdout] test check::tests::ambiguous_root_segment_is_never_reported ... ok
[INFO] [stdout] test check::tests::all_checks_pass ... ok
[INFO] [stdout] test check::tests::check_config_defaults ... ok
[INFO] [stdout] test check::tests::check_context_loads_contents ... ok
[INFO] [stdout] test check::tests::check_context_populates_map_names ... ok
[INFO] [stdout] test check::tests::an_undeclared_table_is_left_alone ... ok
[INFO] [stdout] test check::tests::check_ordering_is_deterministic ... ok
[INFO] [stdout] test check::tests::days_since_different_months ... ok
[INFO] [stdout] test check::tests::broken_reference ... ok
[INFO] [stdout] test check::tests::days_since_invalid_format ... ok
[INFO] [stdout] test check::tests::circular_reference_allowed ... ok
[INFO] [stdout] test check::tests::days_since_end_of_year ... ok
[INFO] [stdout] test check::tests::days_since_calculation ... ok
[INFO] [stdout] test check::tests::dead_org_qualified_path_is_caught ... ok
[INFO] [stdout] test check::tests::discovery_checker_independently ... ok
[INFO] [stdout] test check::tests::dead_repo_path_is_caught ... ok
[INFO] [stdout] test check::tests::dead_relative_link_is_caught ... ok
[INFO] [stdout] test check::tests::domain_mismatch ... ok
[INFO] [stdout] test check::tests::duplicate_concern_case_insensitive ... ok
[INFO] [stdout] test check::tests::description_within_listing_cap_passes ... ok
[INFO] [stdout] test check::tests::colon_in_unquoted_description_reports_cause_and_fix ... ok
[INFO] [stdout] test check::tests::empty_skills_directory_is_an_error ... ok
[INFO] [stdout] test check::tests::fenced_paths_are_out_of_scope ... ok
[INFO] [stdout] test check::tests::discovery_error_names_the_searched_root ... ok
[INFO] [stdout] test check::tests::filesystem_map_dir_override_nonexistent_fails ... ok
[INFO] [stdout] test check::tests::duplicate_concern_detected ... ok
[INFO] [stdout] test check::tests::filesystem_missing_map_returns_error ... ok
[INFO] [stdout] test check::tests::frontmatter_checker_independently ... ok
[INFO] [stdout] test check::tests::frontmatter_check_disabled ... ok
[INFO] [stdout] test check::tests::live_org_qualified_path_passes ... ok
[INFO] [stdout] test check::tests::ghost_domain_entry ... ok
[INFO] [stdout] test check::tests::live_relative_link_passes ... ok
[INFO] [stdout] test check::tests::listing_cap_is_configurable ... ok
[INFO] [stdout] test check::tests::map_integrity_check_disabled ... ok
[INFO] [stdout] test check::tests::missing_description ... ok
[INFO] [stdout] test check::tests::map_integrity_checker_independently ... ok
[INFO] [stdout] test check::tests::missing_version ... ok
[INFO] [stdout] test check::tests::description_over_listing_cap_is_caught ... ok
[INFO] [stdout] test check::tests::filesystem_dir_without_skill_md_ignored ... ok
[INFO] [stdout] test check::tests::multiple_frontmatter_errors_per_skill ... ok
[INFO] [stdout] test check::tests::name_mismatch ... ok
[INFO] [stdout] test check::tests::missing_map_entry ... ok
[INFO] [stdout] test check::tests::filesystem_source_works ... ok
[INFO] [stdout] test check::tests::missing_metadata ... ok
[INFO] [stdout] test check::tests::live_repo_path_passes ... ok
[INFO] [stdout] test check::tests::fresh_skill_not_stale ... ok
[INFO] [stdout] test check::tests::path_resolution_cannot_see_a_slash_pointer ... ok
[INFO] [stdout] test check::tests::filesystem_map_dir_override ... ok
[INFO] [stdout] test check::tests::org_qualified_path_into_an_uncloned_repo_is_never_reported ... ok
[INFO] [stdout] test check::tests::org_named_repo_does_not_break_org_qualified_paths ... ok
[INFO] [stdout] test check::tests::explicit_skills_dir_is_never_redirected ... ok
[INFO] [stdout] test check::tests::orphan_domain ... ok
[INFO] [stdout] test check::tests::path_resolution_check_disabled ... ok
[INFO] [stdout] test check::tests::orphan_map_entry ... ok
[INFO] [stdout] test check::tests::last_verified_dates_extracts_dates ... ok
[INFO] [stdout] test check::tests::missing_metadata_version ... ok
[INFO] [stdout] test check::tests::missing_metadata_last_verified ... ok
[INFO] [stdout] test check::tests::reference_from_skill_without_date_is_ignored ... ok
[INFO] [stdout] test check::tests::filesystem_sibling_map_dir ... ok
[INFO] [stdout] test check::tests::remote_repo_skill_not_flagged_as_orphan ... ok
[INFO] [stdout] test check::tests::reference_newer_detected ... ok
[INFO] [stdout] test check::tests::nested_skills_dir_is_discovered_from_repo_root ... ok
[INFO] [stdout] test check::tests::report_not_ok_with_errors ... ok
[INFO] [stdout] test check::tests::repo_path_into_an_uncloned_repo_is_never_reported ... ok
[INFO] [stdout] test check::tests::source_locator_does_not_make_a_live_path_dead ... ok
[INFO] [stdout] test check::tests::report_new_is_ok ... ok
[INFO] [stdout] test check::tests::report_filters_by_kind ... ok
[INFO] [stdout] test check::tests::reference_freshness_cascades ... ok
[INFO] [stdout] test check::tests::references_freshness_checker_independently ... ok
[INFO] [stdout] test check::tests::reference_same_date_no_error ... ok
[INFO] [stdout] test check::tests::stale_skill_detected ... ok
[INFO] [stdout] test check::tests::reference_older_no_error ... ok
[INFO] [stdout] test check::tests::reference_to_skill_without_date_is_ignored ... ok
[INFO] [stdout] test check::tests::filesystem_path_resolution_end_to_end ... ok
[INFO] [stdout] test check::tests::split_map_filesystem_works ... ok
[INFO] [stdout] test check::tests::unparseable_frontmatter ... ok
[INFO] [stdout] test check::tests::unique_concerns_pass ... ok
[INFO] [stdout] test check::tests::staleness_checker_independently ... ok
[INFO] [stdout] test check::tests::waiver_clears_exactly_the_path_it_names ... ok
[INFO] [stdout] test check::tests::version_check_disabled ... ok
[INFO] [stdout] test check::tests::version_checker_independently ... ok
[INFO] [stdout] test check::tests::staleness_disabled_by_default ... ok
[INFO] [stdout] test check::tests::sync_check_disabled ... ok
[INFO] [stdout] test claudemd::tests::a_baselined_entry_does_not_fail ... ok
[INFO] [stdout] test claudemd::tests::a_baseline_does_not_cover_an_entry_it_does_not_name ... ok
[INFO] [stdout] test claudemd::tests::a_baselined_entry_that_grows_fails ... ok
[INFO] [stdout] test check::tests::staleness_checker_deterministic_with_fixed_today ... ok
[INFO] [stdout] test check::tests::staleness_exactly_at_threshold ... ok
[INFO] [stdout] test check::tests::staleness_skips_missing_last_verified ... ok
[INFO] [stdout] test claudemd::tests::a_baselined_file_that_grows_fails ... ok
[INFO] [stdout] test check::tests::staleness_skips_unparseable_frontmatter ... ok
[INFO] [stdout] test check::tests::sync_checker_independently ... ok
[INFO] [stdout] test claudemd::tests::a_compliant_file_passes ... ok
[INFO] [stdout] test check::tests::valid_reference ... ok
[INFO] [stdout] test claudemd::tests::a_marker_without_a_colon_is_prose_not_a_waiver ... ok
[INFO] [stdout] test claudemd::tests::a_document_without_an_index_section_yields_no_entries_and_no_error ... ok
[INFO] [stdout] test claudemd::tests::a_run_over_zero_files_is_an_error_never_a_pass ... ok
[INFO] [stdout] test claudemd::tests::a_star_prefixed_bullet_is_its_own_entry ... ok
[INFO] [stdout] test claudemd::tests::an_imperative_inside_a_longer_word_does_not_count ... ok
[INFO] [stdout] test claudemd::tests::a_star_prefixed_entry_is_not_welded_onto_the_one_above_it ... ok
[INFO] [stdout] test claudemd::tests::baseline_parses_keys_containing_spaces ... ok
[INFO] [stdout] test claudemd::tests::an_over_ceiling_file_is_caught_and_can_be_baselined ... ok
[INFO] [stdout] test claudemd::tests::an_over_ceiling_entry_is_caught ... ok
[INFO] [stdout] test claudemd::tests::census_counts_waivers_markers_and_imperatives ... ok
[INFO] [stdout] test claudemd::tests::census_never_fails_the_run ... ok
[INFO] [stdout] test claudemd::tests::doc_key_is_the_last_two_path_components ... ok
[INFO] [stdout] test claudemd::tests::census_sums_across_documents ... ok
[INFO] [stdout] test claudemd::tests::duplicate_titles_get_distinct_keys ... ok
[INFO] [stdout] test claudemd::tests::entries_carry_their_line_number ... ok
[INFO] [stdout] test claudemd::tests::entry_size_is_invariant_under_hard_wrapping ... ok
[INFO] [stdout] test claudemd::tests::fenced_headings_and_bullets_are_not_structure ... ok
[INFO] [stdout] test claudemd::tests::file_size_is_raw_bytes ... ok
[INFO] [stdout] test claudemd::tests::every_scanned_file_appears_in_the_report ... ok
[INFO] [stdout] test claudemd::tests::measurement_is_in_bytes_not_chars ... ok
[INFO] [stdout] test claudemd::tests::only_the_index_section_yields_entries ... ok
[INFO] [stdout] test claudemd::tests::report_statistics_describe_the_corpus ... ok
[INFO] [stdout] test claudemd::tests::titles_cut_at_the_name_gloss_boundary ... ok
[INFO] [stdout] test error::tests::check_kind_display ... ok
[INFO] [stdout] test error::tests::check_kind_display_fromstr_roundtrip ... ok
[INFO] [stdout] test claudemd::tests::the_entry_ceiling_is_configurable ... ok
[INFO] [stdout] test error::tests::check_kind_equality_and_copy ... ok
[INFO] [stdout] test error::tests::check_kind_fromstr_invalid ... ok
[INFO] [stdout] test error::tests::growth_messages_name_the_baseline_they_exceeded ... ok
[INFO] [stdout] test error::tests::import_missing_names_the_resolved_path_and_the_silence ... ok
[INFO] [stdout] test error::tests::index_entry_message_carries_the_measurement_and_the_remedy ... ok
[INFO] [stdout] test error::tests::inline_shell_growth_names_the_baseline_it_exceeded ... ok
[INFO] [stdout] test error::tests::inline_shell_message_names_the_shape_and_the_move ... ok
[INFO] [stdout] test error::tests::lint_error_display_reference_newer ... ok
[INFO] [stdout] test error::tests::lint_error_display_stale ... ok
[INFO] [stdout] test error::tests::lint_error_display_contains_name ... ok
[INFO] [stdout] test error::tests::lint_error_kind_extraction ... ok
[INFO] [stdout] test error::tests::no_docs_scanned_names_what_was_searched ... ok
[INFO] [stdout] test error::tests::no_workflows_scanned_names_what_was_searched ... ok
[INFO] [stdout] test error::tests::path_form_display ... ok
[INFO] [stdout] test error::tests::unresolved_path_message_is_actionable ... ok
[INFO] [stdout] test markdown::tests::both_fence_spellings_open_and_close ... ok
[INFO] [stdout] test markdown::tests::segments_alternate_prose_and_code ... ok
[INFO] [stdout] test mcp::tests::a_tool_name_splits_at_the_first_double_underscore ... ok
[INFO] [stdout] test markdown::tests::prose_lines_keep_their_original_index ... ok
[INFO] [stdout] test mcp::tests::server_names_normalise_the_way_tool_prefixes_do ... ok
[INFO] [stdout] test mcp::tests::an_empty_name_never_deserialises ... ok
[INFO] [stdout] test model::tests::deserialize_empty_map ... ok
[INFO] [stdout] test model::tests::deserialize_skill_entry_minimal ... ok
[INFO] [stdout] test model::tests::deserialize_skill_entry_with_concerns_and_refs ... ok
[INFO] [stdout] test model::tests::deserialize_skill_map ... ok
[INFO] [stdout] test model::tests::frontmatter_default ... ok
[INFO] [stdout] test model::tests::parse_empty_frontmatter ... ok
[INFO] [stdout] test model::tests::parse_frontmatter_allowed_tools_alias ... ok
[INFO] [stdout] test model::tests::parse_frontmatter_allowed_tools_underscore ... ok
[INFO] [stdout] test model::tests::parse_frontmatter_with_leading_whitespace ... ok
[INFO] [stdout] test model::tests::parse_missing_closing_delimiter ... ok
[INFO] [stdout] test model::tests::parse_missing_opening_delimiter ... ok
[INFO] [stdout] test model::tests::skill_frontmatter_parse_method ... ok
[INFO] [stdout] test model::tests::skill_map_config_default ... ok
[INFO] [stdout] test model::tests::skill_map_default_has_empty_collections ... ok
[INFO] [stdout] test model::tests::parse_valid_frontmatter ... ok
[INFO] [stdout] test model::tests::skill_map_config_roundtrip ... ok
[INFO] [stdout] test model::tests::skill_map_serialize_roundtrip ... ok
[INFO] [stdout] test ratchet::tests::an_unrecorded_key_is_a_new_violation ... ok
[INFO] [stdout] test ratchet::tests::parse_keeps_keys_containing_spaces ... ok
[INFO] [stdout] test ratchet::tests::recorded_debt_that_grows_by_one_fails ... ok
[INFO] [stdout] test model::tests::skill_metadata_default ... ok
[INFO] [stdout] test usage::tests::a_relative_xdg_state_home_is_ignored ... ok
[INFO] [stdout] test usage::tests::a_post_tool_use_skill_event_is_not_counted_twice ... ok
[INFO] [stdout] test usage::tests::a_slash_prompt_without_a_skills_dir_records_nothing ... ok
[INFO] [stdout] test usage::tests::the_skill_field_is_preferred_and_the_variants_are_read ... ok
[INFO] [stdout] test workflows::tests::a_baseline_survives_an_edit_above_the_block ... ok
[INFO] [stdout] test ratchet::tests::recorded_debt_may_hold_or_shrink ... ok
[INFO] [stdout] test usage::tests::rfc3339_accepts_offsets_and_fractions_and_refuses_the_rest ... ok
[INFO] [stdout] test usage::tests::rfc3339_round_trips_across_eras_and_leap_days ... ok
[INFO] [stdout] test usage::tests::slash_names_are_the_first_token_and_only_at_the_start ... ok
[INFO] [stdout] test workflows::tests::a_blank_line_inside_a_block_does_not_end_it ... ok
[INFO] [stdout] test workflows::tests::a_baseline_does_not_cover_a_step_it_does_not_name ... ok
[INFO] [stdout] test workflows::tests::a_block_ends_when_indentation_returns_to_the_run_level ... ok
[INFO] [stdout] test usage::tests::window_parses_the_documented_units ... ok
[INFO] [stdout] test workflows::tests::a_compliant_workflow_passes ... ok
[INFO] [stdout] test workflows::tests::a_non_run_block_scalar_is_not_measured ... ok
[INFO] [stdout] test workflows::tests::a_run_shown_inside_another_block_scalar_is_not_a_step ... ok
[INFO] [stdout] test workflows::tests::a_three_line_block_is_glue_and_a_four_line_block_is_not ... ok
[INFO] [stdout] test workflows::tests::a_workflow_or_job_name_is_not_a_step_name ... ok
[INFO] [stdout] test workflows::tests::a_comment_only_body_is_not_a_violation ... ok
[INFO] [stdout] test workflows::tests::a_key_names_the_file_the_job_and_the_step ... ok
[INFO] [stdout] test workflows::tests::a_run_over_zero_files_is_an_error_never_a_pass ... ok
[INFO] [stdout] test workflows::tests::a_flow_scalar_is_not_a_block_header ... ok
[INFO] [stdout] test workflows::tests::a_run_mapping_is_not_a_script ... ok
[INFO] [stdout] test workflows::tests::an_unnamed_step_is_keyed_on_its_first_command ... ok
[INFO] [stdout] test workflows::tests::baselined_debt_does_not_fail ... ok
[INFO] [stdout] test workflows::tests::every_block_scalar_spelling_is_recognized ... ok
[INFO] [stdout] test workflows::tests::flow_form_is_never_a_violation_however_long_the_line ... ok
[INFO] [stdout] test workflows::tests::report_statistics_describe_the_corpus ... ok
[INFO] [stdout] test workflows::tests::renaming_a_step_re_reports_it_the_trade_off_of_keying_on_the_label ... ok
[INFO] [stdout] test workflows::tests::the_line_limit_is_configurable ... ok
[INFO] [stdout] test workflows::tests::the_job_is_tracked_across_several_jobs ... ok
[INFO] [stdout] test workflows::tests::workflow_key_is_the_bare_file_name ... ok
[INFO] [stdout] test workflows::tests::baselined_debt_that_grows_fails ... ok
[INFO] [stdout] test workflows::tests::every_scanned_file_appears_in_the_report ... ok
[INFO] [stdout] test workflows::tests::steps_carry_their_line_number ... ok
[INFO] [stdout] test workflows::tests::the_2026_08_06_defect_is_rejected ... ok
[INFO] [stdout] test workflows::tests::two_steps_sharing_a_label_get_distinct_keys ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 261 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/skill-lint/bef02bac3b90be8a/out/skill_lint-bef02bac3b90be8a)
[INFO] [stderr]      Running tests/cli.rs (/opt/rustwide/target/debug/build/skill-lint/577e7672c7596710/out/cli-577e7672c7596710)
[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 49 tests
[INFO] [stdout] test budget_strict_passes_when_everything_fits ... ok
[INFO] [stdout] test budget_without_strict_reports_and_exits_zero ... ok
[INFO] [stdout] test chain_follows_relative_and_tilde_imports_recursively ... ok
[INFO] [stdout] test budget_max_body_bytes_reports_the_oversized_skill_and_exits_zero ... ok
[INFO] [stdout] test budget_without_max_body_bytes_has_no_body_finding ... ok
[INFO] [stdout] test budget_strict_fails_when_the_listing_is_over_budget ... ok
[INFO] [stdout] test chain_ignores_imports_in_code_fences_and_inline_code ... ok
[INFO] [stdout] test budget_strict_fails_on_an_unparseable_skill_and_names_file_and_cause ... ok
[INFO] [stdout] test budget_strict_fails_when_one_entry_is_past_the_per_entry_cap ... ok
[INFO] [stdout] test budget_strict_fails_on_a_description_less_skill ... ok
[INFO] [stdout] test budget_strict_passes_when_every_skill_md_is_under_the_body_cap ... ok
[INFO] [stdout] test budget_without_strict_reports_unparseable_skills_and_exits_zero ... ok
[INFO] [stdout] test budget_strict_fails_when_a_skill_md_is_past_the_body_cap ... ok
[INFO] [stdout] test check_passes_on_real_skills ... ok
[INFO] [stdout] test chain_refuses_a_session_that_loads_zero_files ... ok
[INFO] [stdout] test chain_reports_an_import_cycle_without_failing ... ok
[INFO] [stdout] test check_discovers_nested_skills_dir_from_repo_root ... ok
[INFO] [stdout] test chain_loads_the_global_once_and_reports_each_dir_as_its_own_session ... ok
[INFO] [stdout] test chain_loads_global_then_root_most_to_the_session_dir ... ok
[INFO] [stdout] test check_succeeds_on_valid_setup ... ok
[INFO] [stdout] test check_reports_the_unquoted_colon_as_a_parse_failure ... ok
[INFO] [stdout] test check_still_fails_on_an_unwaived_sibling_path ... ok
[INFO] [stdout] test claudemd_baseline_absolves_recorded_debt_but_not_a_new_violation ... ok
[INFO] [stdout] test chain_fails_over_either_ceiling_and_passes_under_both ... ok
[INFO] [stdout] test chain_fails_on_an_import_past_the_hop_limit ... ok
[INFO] [stdout] test claudemd_enforces_the_whole_file_ceiling ... ok
[INFO] [stdout] test claudemd_round_trips_on_the_real_org_file ... ok
[INFO] [stdout] test real_skills_carry_no_error_class_other_than_path_resolution ... ok
[INFO] [stdout] test claudemd_passes_on_a_compliant_file ... ok
[INFO] [stdout] test claudemd_reports_every_file_it_scanned ... ok
[INFO] [stdout] test claudemd_fails_on_an_over_ceiling_entry ... ok
[INFO] [stdout] test claudemd_fails_when_no_files_are_given ... ok
[INFO] [stdout] test workflows_fails_on_a_long_inline_run ... ok
[INFO] [stdout] test workflows_round_trips_on_substrates_real_corpus ... ok
[INFO] [stdout] test check_fails_on_a_dead_relative_link ... ok
[INFO] [stdout] test workflows_fails_when_no_files_are_given ... ok
[INFO] [stdout] test check_fails_on_orphan_skill ... ok
[INFO] [stdout] test check_reports_error_count ... ok
[INFO] [stdout] test claudemd_fails_when_baselined_debt_grows ... ok
[INFO] [stdout] test chain_fails_on_a_missing_import_target ... ok
[INFO] [stdout] test check_fails_when_no_skills_are_discovered ... ok
[INFO] [stdout] test check_fails_on_missing_map ... ok
[INFO] [stdout] test workflows_baseline_absolves_recorded_debt_and_catches_growth ... ok
[INFO] [stdout] test workflows_passes_on_uses_plus_one_line_glue ... ok
[INFO] [stdout] test claudemd_fails_on_a_file_that_is_not_there ... ok
[INFO] [stdout] test workflows_fails_on_a_file_that_is_not_there ... ok
[INFO] [stdout] test check_passes_on_live_and_waived_paths ... ok
[INFO] [stdout] test claudemd_counts_a_star_prefixed_bullet_as_its_own_entry ... ok
[INFO] [stdout] test chain_fails_on_a_dir_that_is_not_there ... ok
[INFO] [stderr]      Running tests/mcp_usage.rs (/opt/rustwide/target/debug/build/skill-lint/095addf5486df9a9/out/mcp_usage-095addf5486df9a9)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 49 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 18 tests
[INFO] [stdout] test an_mcp_tool_call_is_recorded_with_server_and_tool ... ok
[INFO] [stdout] test mcp_report_states_the_tool_list_it_priced_with ... ok
[INFO] [stdout] test mcp_report_ranks_configured_but_unused_servers_by_tool_count ... ok
[INFO] [stdout] test a_post_tool_use_mcp_event_is_not_counted_twice ... ok
[INFO] [stdout] test an_mcp_tool_call_never_stores_its_arguments ... ok
[INFO] [stdout] test mcp_report_reads_only_the_top_level_server_map ... ok
[INFO] [stdout] test mcp_report_counts_calls_and_distinct_tools_per_server ... ok
[INFO] [stdout] test mcp_report_unions_every_config_given ... ok
[INFO] [stdout] test a_server_name_with_single_underscores_splits_at_the_double_underscore ... ok
[INFO] [stdout] test an_mcp_name_without_a_tool_records_nothing ... ok
[INFO] [stdout] test mcp_report_text_names_the_window_and_the_candidates ... ok
[INFO] [stdout] test mcp_report_without_a_default_config_says_so_rather_than_failing ... ok
[INFO] [stdout] test the_skill_report_skips_mcp_lines_without_calling_them_malformed ... ok
[INFO] [stdout] test mcp_report_defaults_to_the_user_scope_claude_json ... ok
[INFO] [stdout] test mcp_report_matches_a_configured_name_through_tool_name_normalisation ... ok
[INFO] [stdout] test skill_and_mcp_calls_share_one_log ... ok
[INFO] [stdout] test an_mcp_name_without_a_server_records_nothing ... ok
[INFO] [stdout] test mcp_report_fails_on_an_explicit_config_that_is_missing ... ok
[INFO] [stderr]      Running tests/usage.rs (/opt/rustwide/target/debug/build/skill-lint/3a555fa6e0b54585/out/usage-3a555fa6e0b54585)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 22 tests
[INFO] [stdout] test an_unwritable_log_location_fails_silently ... ok
[INFO] [stdout] test report_names_deployed_skills_unused_in_the_window ... ok
[INFO] [stdout] test report_drop_order_is_least_used_first_never_seen_before_seen_long_ago ... ok
[INFO] [stdout] test malformed_json_writes_nothing ... ok
[INFO] [stdout] test no_home_and_no_xdg_state_home_fails_silently ... ok
[INFO] [stdout] test a_prompt_that_merely_mentions_a_skill_is_not_an_invocation ... ok
[INFO] [stdout] test empty_stdin_writes_nothing ... ok
[INFO] [stdout] test report_counts_per_skill_inside_the_window ... ok
[INFO] [stdout] test a_non_skill_tool_call_is_ignored_even_when_its_input_looks_like_one ... ok
[INFO] [stdout] test report_text_states_the_window_and_the_candidates ... ok
[INFO] [stdout] test a_slash_name_that_walks_out_of_the_skills_dir_is_refused ... ok
[INFO] [stdout] test records_append_rather_than_overwrite ... ok
[INFO] [stdout] test report_marks_how_far_down_the_drop_order_an_overage_reaches ... ok
[INFO] [stdout] test report_on_a_missing_log_reports_zero_events_rather_than_failing ... ok
[INFO] [stdout] test a_skill_tool_call_is_recorded_with_its_raw_tool_input ... ok
[INFO] [stdout] test an_unknown_flag_exits_0_not_clap_s_2 ... ok
[INFO] [stdout] test an_unknown_slash_name_is_not_a_skill_invocation ... ok
[INFO] [stdout] test report_since_all_counts_every_well_formed_line ... ok
[INFO] [stdout] test the_command_spelling_of_the_skill_field_is_accepted_and_its_slash_and_args_dropped ... ok
[INFO] [stdout] test a_typed_slash_command_naming_a_deployed_skill_is_recorded ... ok
[INFO] [stdout] test without_xdg_state_home_the_log_lands_under_home_local_state ... ok
[INFO] [stderr]    Doc-tests skill_lint
[INFO] [stdout] test report_rejects_a_window_it_cannot_parse ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[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] running `Command { std: "docker" "inspect" "78ddd38cefd0969bed44b7e8551d3b2a35a39d2fc4d74c766758ccf2194afc12", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "78ddd38cefd0969bed44b7e8551d3b2a35a39d2fc4d74c766758ccf2194afc12", kill_on_drop: false }`
[INFO] [stdout] 78ddd38cefd0969bed44b7e8551d3b2a35a39d2fc4d74c766758ccf2194afc12
