[INFO] cloning repository https://github.com/alexsbryan/canon
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/alexsbryan/canon" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falexsbryan%2Fcanon", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falexsbryan%2Fcanon'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f31d4d534f01b305bd42a3485e11c7fca0611d4b
[INFO] testing alexsbryan/canon against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falexsbryan%2Fcanon" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-2-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/alexsbryan/canon
[INFO] finished tweaking git repo https://github.com/alexsbryan/canon
[INFO] tweaked toml for git repo https://github.com/alexsbryan/canon written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/alexsbryan/canon 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 git repo https://github.com/alexsbryan/canon 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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] f637de3ead7bbb7d8e725d5fa9857fcfca04b7cf0d4695f75eecad1ee7d9a2c2
[INFO] running `Command { std: "docker" "start" "f637de3ead7bbb7d8e725d5fa9857fcfca04b7cf0d4695f75eecad1ee7d9a2c2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f637de3ead7bbb7d8e725d5fa9857fcfca04b7cf0d4695f75eecad1ee7d9a2c2", 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" "f637de3ead7bbb7d8e725d5fa9857fcfca04b7cf0d4695f75eecad1ee7d9a2c2" "/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" "f637de3ead7bbb7d8e725d5fa9857fcfca04b7cf0d4695f75eecad1ee7d9a2c2", 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" "f637de3ead7bbb7d8e725d5fa9857fcfca04b7cf0d4695f75eecad1ee7d9a2c2" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling litemap v0.8.3
[INFO] [stderr]    Compiling find-msvc-tools v0.1.11
[INFO] [stderr]    Compiling writeable v0.6.4
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling icu_normalizer_data v2.3.0
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling icu_properties_data v2.3.0
[INFO] [stderr]    Compiling cc v1.4.4
[INFO] [stderr]    Compiling zeroize v1.9.0
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling rustls-pki-types v1.15.1
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling crossbeam-utils v0.8.22
[INFO] [stderr]    Compiling zmij v1.0.23
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.20
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling aho-corasick v1.1.5
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling simd-adler32 v0.3.10
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling crossbeam-deque v0.8.7
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling rustls v0.23.43
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling zerovec-derive v0.11.6
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling zerotrie v0.2.5
[INFO] [stderr]    Compiling zerovec v0.11.8
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling tinystr v0.8.4
[INFO] [stderr]    Compiling potential_utf v0.1.6
[INFO] [stderr]    Compiling icu_locale_core v2.3.0
[INFO] [stderr]    Compiling icu_collections v2.3.0
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling icu_provider v2.3.1
[INFO] [stderr]    Compiling icu_normalizer v2.3.0
[INFO] [stderr]    Compiling icu_properties v2.3.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling webpki-roots v1.0.9
[INFO] [stderr]    Compiling bstr v1.13.1
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling clap_builder v4.6.6
[INFO] [stderr]    Compiling globset v0.4.20
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling ed25519-compact v2.6.0
[INFO] [stderr]    Compiling ignore v0.4.33
[INFO] [stderr]    Compiling clap v4.6.6
[INFO] [stderr]    Compiling canon-core v0.5.0 (/opt/rustwide/workdir/crates/canon-core)
[INFO] [stderr]    Compiling rustls-webpki v0.103.15
[INFO] [stderr]    Compiling ureq v2.12.1
[INFO] [stderr]    Compiling canon-contract v0.5.0 (/opt/rustwide/workdir/crates/canon-contract)
[INFO] [stderr]    Compiling canon-cli v0.5.0 (/opt/rustwide/workdir/crates/canon-cli)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 3m 38s
[INFO] running `Command { std: "docker" "inspect" "f637de3ead7bbb7d8e725d5fa9857fcfca04b7cf0d4695f75eecad1ee7d9a2c2", 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" "f637de3ead7bbb7d8e725d5fa9857fcfca04b7cf0d4695f75eecad1ee7d9a2c2" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling zerocopy v0.8.59
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling bitflags v2.13.2
[INFO] [stderr]    Compiling canon-contract v0.5.0 (/opt/rustwide/workdir/crates/canon-contract)
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling rand v0.9.5
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling globset v0.4.20
[INFO] [stderr]    Compiling proptest v1.11.0
[INFO] [stderr]    Compiling ignore v0.4.33
[INFO] [stderr]    Compiling canon-cli v0.5.0 (/opt/rustwide/workdir/crates/canon-cli)
[INFO] [stderr]    Compiling canon-core v0.5.0 (/opt/rustwide/workdir/crates/canon-core)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 48s
[INFO] running `Command { std: "docker" "inspect" "f637de3ead7bbb7d8e725d5fa9857fcfca04b7cf0d4695f75eecad1ee7d9a2c2", 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" "f637de3ead7bbb7d8e725d5fa9857fcfca04b7cf0d4695f75eecad1ee7d9a2c2" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.06s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/build/canon-cli/b6a071a3d597d705/out/canon-b6a071a3d597d705)
[INFO] [stdout] 
[INFO] [stdout] running 342 tests
[INFO] [stdout] test check::tests::a_subject_left_unwritten_on_purpose_is_not_reported_as_a_gap ... ok
[INFO] [stdout] test check::tests::a_position_a_person_took_is_rendered_and_not_silently_dropped ... ok
[INFO] [stdout] test check::tests::adopting_a_rule_makes_the_ladder_appear_and_keeps_it_visible ... ok
[INFO] [stdout] test check::tests::a_bearing_with_no_reason_is_refused_and_reported ... ok
[INFO] [stdout] test check::tests::a_bearing_naming_a_commitment_that_does_not_exist_is_refused ... ok
[INFO] [stdout] test check::tests::a_carried_contradiction_is_shown_rather_than_relitigated ... ok
[INFO] [stdout] test check::tests::a_canon_that_adopted_no_rule_is_not_told_about_the_ladder ... ok
[INFO] [stdout] test check::tests::an_unreadable_pull_is_dropped_rather_than_guessed ... ok
[INFO] [stdout] test check::tests::the_canon_own_policy_decides_the_check_and_not_what_shipped ... ok
[INFO] [stdout] test check::tests::the_personal_profile_never_returns_exit_one ... ok
[INFO] [stdout] test check::tests::nothing_bearing_on_a_proposal_is_unaddressed_not_approval ... ok
[INFO] [stdout] test cli::tests::a_refusal_nobody_anticipated_keeps_claps_words ... ok
[INFO] [stdout] test check::tests::the_code_profile_names_the_rule_it_conflicts_with ... ok
[INFO] [stdout] test cli::tests::a_refused_argument_speaks_the_way_the_rest_of_the_tool_does ... ok
[INFO] [stdout] test cli::tests::a_verb_this_table_does_not_know_passes_through ... ok
[INFO] [stdout] test check::tests::the_personal_profile_still_renders_no_verdict_under_any_policy ... ok
[INFO] [stdout] test cli::tests::a_flag_left_empty_says_what_it_was_waiting_for ... ok
[INFO] [stdout] test check::tests::the_house_profile_says_which_act_the_proposal_needs ... ok
[INFO] [stdout] test check::tests::the_personal_profile_never_renders_a_verdict_on_either_surface ... ok
[INFO] [stdout] test config::tests::a_blank_api_key_is_no_key ... ok
[INFO] [stdout] test config::tests::a_line_without_an_equals_is_an_error ... ok
[INFO] [stdout] test config::tests::an_api_key_is_not_a_line_in_the_file ... ok
[INFO] [stdout] test cli::tests::the_equals_form_reaches_the_handler ... ok
[INFO] [stdout] test cli::tests::from_still_takes_every_path_and_a_bare_dash ... ok
[INFO] [stdout] test config::tests::an_unknown_key_is_an_error_not_a_skipped_line ... ok
[INFO] [stdout] test config::tests::config_round_trips_through_its_rendering ... ok
[INFO] [stdout] test cli::tests::the_four_ways_the_parser_used_to_fail_open ... ok
[INFO] [stdout] test config::tests::every_key_round_trips_through_its_string ... ok
[INFO] [stdout] test draft::tests::a_chat_passage_keeps_its_source_clock_in_the_run_not_the_quote ... ok
[INFO] [stdout] test draft::tests::a_chunk_cites_the_lines_it_came_from ... ok
[INFO] [stdout] test draft::tests::a_candidate_already_declined_is_never_offered_again ... ok
[INFO] [stdout] test draft::tests::a_citation_that_merely_contains_another_is_a_different_finding ... ok
[INFO] [stdout] test draft::tests::a_checkpoint_never_leaks_its_marker_into_the_artifact ... ok
[INFO] [stdout] test draft::tests::a_citation_keeps_the_line_breaks_the_passage_had ... ok
[INFO] [stdout] test draft::tests::a_cut_needs_something_on_both_sides_unless_the_run_was_killed ... ok
[INFO] [stdout] test draft::tests::a_finished_run_carries_no_failure_marker ... ok
[INFO] [stdout] test draft::tests::a_finding_only_one_reading_saw_falls_out_at_k_two_and_stands_at_k_one ... ok
[INFO] [stdout] test draft::tests::a_cited_sentence_too_short_to_be_evidence_is_refused ... ok
[INFO] [stdout] test draft::tests::a_finished_run_removes_its_checkpoint ... ok
[INFO] [stdout] test draft::tests::a_finding_two_readings_agree_on_survives_a_majority_fold ... ok
[INFO] [stdout] test draft::tests::a_directory_is_read_in_a_stable_order ... ok
[INFO] [stdout] test draft::tests::a_group_of_one_is_not_reported_as_a_fold ... ok
[INFO] [stdout] test draft::tests::a_folder_of_scraps_says_it_was_the_passages_not_the_folder ... ok
[INFO] [stdout] test draft::tests::a_number_worded_differently_from_its_citation_survives ... ok
[INFO] [stdout] test draft::tests::a_passage_with_no_heading_is_sent_plain ... ok
[INFO] [stdout] test draft::tests::a_killed_run_leaves_its_work_in_a_checkpoint ... ok
[INFO] [stdout] test draft::tests::a_passage_yields_the_three_kinds_it_actually_records ... ok
[INFO] [stdout] test draft::tests::a_prompt_nobody_can_answer_is_never_asked ... ok
[INFO] [stdout] test draft::tests::a_group_naming_a_position_that_does_not_exist_is_dropped_not_wrapped ... ok
[INFO] [stdout] test draft::tests::a_genuine_reword_still_folds ... ok
[INFO] [stdout] test cli::tests::every_flag_the_code_reads_is_declared ... ok
[INFO] [stdout] test draft::tests::a_position_the_passage_does_not_have_drops_the_candidate ... ok
[INFO] [stdout] test cli::tests::every_command_line_in_the_documentation_still_parses ... ok
[INFO] [stdout] test draft::tests::a_recording_with_a_hole_in_it_is_refused_rather_than_replayed ... ok
[INFO] [stdout] test draft::tests::a_record_is_read_as_a_record_and_not_as_a_rule ... ok
[INFO] [stdout] test draft::tests::a_recital_may_cite_a_paragraph_where_a_rule_may_not ... ok
[INFO] [stdout] test draft::tests::a_recital_still_may_not_cite_the_whole_passage ... ok
[INFO] [stdout] test draft::tests::a_run_written_before_samples_existed_reads_as_one_reading ... ok
[INFO] [stdout] test draft::tests::a_rule_stating_a_number_its_citation_does_not_is_dropped ... ok
[INFO] [stdout] test draft::tests::a_rule_spanning_two_sentences_cites_both ... ok
[INFO] [stdout] test draft::tests::a_second_checkpoint_replaces_the_first ... ok
[INFO] [stdout] test draft::tests::a_stage_that_fails_writes_what_ran_before_it ... ok
[INFO] [stdout] test draft::tests::a_silence_with_no_stated_reason_is_refused ... ok
[INFO] [stdout] test draft::tests::a_unit_nobody_listed_is_still_checked_against_the_citation ... ok
[INFO] [stdout] test draft::tests::a_subject_the_model_did_not_name_refuses_the_fold ... ok
[INFO] [stdout] test draft::tests::an_empty_folder_is_a_different_mistake_from_no_folder ... ok
[INFO] [stdout] test draft::tests::an_abandoned_run_supersedes_its_checkpoint ... ok
[INFO] [stdout] test draft::tests::chunking_never_merges_across_a_heading ... ok
[INFO] [stdout] test draft::tests::an_unreadable_kind_is_a_rule_and_not_a_way_past_the_guards ... ok
[INFO] [stdout] test draft::tests::emphasis_comes_out_of_the_text_and_symbols_stay_whole ... ok
[INFO] [stdout] test draft::tests::continue_refuses_a_run_that_finished ... ok
[INFO] [stdout] test draft::tests::one_git_commit_time_marks_its_passage_but_does_not_backdate_an_act ... ok
[INFO] [stdout] test draft::tests::from_takes_every_path_a_shell_expanded ... ok
[INFO] [stdout] test draft::tests::from_with_no_paths_does_not_answer_with_the_command_just_run ... ok
[INFO] [stdout] test draft::tests::majority_is_more_than_half_the_readings ... ok
[INFO] [stdout] test draft::tests::nothing_extracted_asks_the_model_nothing ... ok
[INFO] [stdout] test draft::tests::one_line_longer_than_the_target_is_left_whole ... ok
[INFO] [stdout] test draft::tests::one_reading_saying_it_twice_is_one_vote_not_two ... ok
[INFO] [stdout] test draft::tests::only_kinds_that_can_be_breached_are_compared ... ok
[INFO] [stdout] test draft::tests::questions_and_silences_do_not_go_through_the_quantity_guard ... ok
[INFO] [stdout] test draft::tests::refold_refuses_a_k_no_fold_could_reach ... ok
[INFO] [stdout] test draft::tests::refold_without_a_k_is_refused_rather_than_defaulted ... ok
[INFO] [stdout] test draft::tests::review_context_is_the_recorded_passage_only_when_the_quote_still_fits ... ok
[INFO] [stdout] test draft::tests::refold_rewrites_kept_at_the_k_it_was_asked_for_and_calls_no_model ... ok
[INFO] [stdout] test draft::tests::resuming_offers_only_what_is_not_already_in_the_canon ... ok
[INFO] [stdout] test draft::tests::text_with_no_blank_line_still_chunks ... ok
[INFO] [stdout] test draft::tests::continue_finishes_a_failed_run_without_reading_a_passage_again ... ok
[INFO] [stdout] test draft::tests::the_citation_is_cut_from_the_passage_not_taken_from_the_reply ... ok
[INFO] [stdout] test draft::tests::resume_offers_every_finished_run_oldest_first_and_never_a_checkpoint ... ok
[INFO] [stdout] test draft::tests::the_surviving_rules_carry_their_own_reading_forward ... ok
[INFO] [stdout] test draft::tests::the_same_words_in_two_passages_are_two_findings ... ok
[INFO] [stdout] test draft::tests::the_extraction_asks_for_the_voice_the_canon_is_written_in ... ok
[INFO] [stdout] test draft::tests::the_same_measure_stated_differently_still_folds ... ok
[INFO] [stdout] test draft::tests::the_section_title_reaches_the_model_as_context_with_no_position_to_cite ... ok
[INFO] [stdout] test draft::tests::the_survivor_is_the_earliest_reading_not_the_wordiest ... ok
[INFO] [stdout] test draft::tests::the_reduce_step_keeps_the_first_of_each_group_with_its_citation ... ok
[INFO] [stdout] test draft::tests::the_same_limit_about_a_different_permit_is_never_a_duplicate ... ok
[INFO] [stdout] test draft::tests::there_is_no_accept_all ... ok
[INFO] [stdout] test draft::tests::two_kinds_over_one_sentence_are_two_findings ... ok
[INFO] [stdout] test draft::tests::whitespace_and_case_do_not_split_one_finding_in_two ... ok
[INFO] [stdout] test draft::tests::unstructured_prose_still_chunks_and_still_cites ... ok
[INFO] [stdout] test explain::tests::a_superseding_commitment_reports_the_reason_it_exists ... ok
[INFO] [stdout] test explain::tests::an_ambiguous_prefix_is_an_error_not_a_guess ... ok
[INFO] [stdout] test guard::tests::a_late_offline_append_inside_the_slack_is_forgiven ... ok
[INFO] [stdout] test explain::tests::a_superseded_commitment_reports_the_reason_it_was_replaced ... ok
[INFO] [stdout] test explain::tests::a_name_loses_its_prefix_and_a_personal_scope_keeps_it ... ok
[INFO] [stdout] test guard::tests::a_removed_or_edited_line_is_seen_and_so_is_the_future ... ok
[INFO] [stdout] test explain::answered_question_tests::a_rule_that_answered_a_question_names_the_question_it_answered ... ok
[INFO] [stdout] test lineage::tests::a_generation_is_split_off_a_url_without_eating_an_scp_style_host ... ok
[INFO] [stdout] test draft::tests::two_rules_with_different_times_are_never_duplicates ... ok
[INFO] [stdout] test lineage::tests::a_url_becomes_a_stable_and_unambiguous_cache_directory_name ... ok
[INFO] [stdout] test guard::tests::a_first_commit_has_nothing_to_be_earlier_than ... ok
[INFO] [stdout] test guard::tests::an_honest_append_is_clean_and_a_backdated_self_grant_is_not ... ok
[INFO] [stdout] test lineage::tests::merge_driver_with_no_arguments_prints_its_own_setup ... ok
[INFO] [stdout] test lineage::tests::the_driver_refuses_a_corrupt_side_rather_than_silently_dropping_it ... ok
[INFO] [stdout] test lineage::tests::the_driver_survives_the_empty_base_git_passes_for_a_file_added_on_both_sides ... ok
[INFO] [stdout] test locate::tests::a_backwards_span_is_refused_rather_than_swapped ... ok
[INFO] [stdout] test locate::tests::a_line_too_short_to_be_evidence_is_still_refused ... ok
[INFO] [stdout] test locate::tests::a_citation_wider_than_the_cap_is_refused ... ok
[INFO] [stdout] test lineage::tests::the_merge_driver_unions_two_divergent_appends ... ok
[INFO] [stdout] test locate::tests::a_passage_with_no_prose_structure_is_cited_by_line ... ok
[INFO] [stdout] test locate::tests::a_decimal_point_ends_nothing ... ok
[INFO] [stdout] test locate::tests::a_passage_with_no_sentence_break_is_one_position ... ok
[INFO] [stdout] test locate::tests::a_sentence_ending_in_a_number_still_ends ... ok
[INFO] [stdout] test locate::tests::a_span_carries_the_document_between_its_sentences ... ok
[INFO] [stdout] test locate::tests::a_span_too_short_to_be_evidence_is_refused ... ok
[INFO] [stdout] test locate::tests::a_wrapped_line_starting_with_a_short_word_is_not_a_marker ... ok
[INFO] [stdout] test locate::tests::a_sentence_wrapped_by_the_pdf_extractor_stays_one_sentence ... ok
[INFO] [stdout] test locate::tests::a_table_row_is_a_position_of_its_own ... ok
[INFO] [stdout] test locate::tests::an_abbreviation_does_not_end_a_sentence ... ok
[INFO] [stdout] test locate::tests::an_enumerator_stays_with_the_item_it_labels ... ok
[INFO] [stdout] test lineage::tests::the_merged_file_is_byte_identical_whichever_side_ran_the_merge ... ok
[INFO] [stdout] test locate::tests::an_index_the_passage_does_not_have_is_refused ... ok
[INFO] [stdout] test locate::tests::prose_is_still_read_as_prose ... ok
[INFO] [stdout] test locate::tests::prose_with_no_markers_still_splits ... ok
[INFO] [stdout] test locate::tests::every_citation_is_a_slice_of_its_passage ... ok
[INFO] [stdout] test locate::tests::one_long_line_is_one_unit_and_stays_that_way ... ok
[INFO] [stdout] test locate::tests::spans_ascend_and_never_overlap ... ok
[INFO] [stdout] test mcp::tests::a_notification_gets_no_reply ... ok
[INFO] [stdout] test locate::tests::the_model_is_shown_the_positions_the_code_copies_from ... ok
[INFO] [stdout] test locate::tests::the_documents_own_numbering_starts_a_sentence ... ok
[INFO] [stdout] test mcp::tests::a_string_id_survives_the_round_trip ... ok
[INFO] [stdout] test mcp::tests::an_unknown_method_is_a_jsonrpc_error ... ok
[INFO] [stdout] test mcp::tests::an_unknown_tool_is_recoverable_not_fatal ... ok
[INFO] [stdout] test mcp::tests::canon_why_without_an_id_is_an_error_the_agent_can_read ... ok
[INFO] [stdout] test mcp::tests::every_advertised_tool_declares_a_schema ... ok
[INFO] [stdout] test mcp::tests::initialize_echoes_a_protocol_it_supports ... ok
[INFO] [stdout] test mcp::tests::initialize_falls_back_when_asked_for_an_unknown_protocol ... ok
[INFO] [stdout] test mcp::tests::ping_answers ... ok
[INFO] [stdout] test mcp::tests::the_surface_is_read_only ... ok
[INFO] [stdout] test model::tests::a_busy_host_is_told_apart_from_one_that_declined ... ok
[INFO] [stdout] test model::tests::a_fenced_answer_inside_a_thought_decodes ... ok
[INFO] [stdout] test mcp::tests::small_canons_still_list_their_rules_and_large_canons_show_an_index ... ok
[INFO] [stdout] test model::tests::a_declining_model_is_a_refusal_not_a_malformed_reply ... ok
[INFO] [stdout] test model::tests::a_fenced_object_decodes_because_the_fence_is_transport_not_prose ... ok
[INFO] [stdout] test model::tests::a_messages_call_carries_the_schema_its_key_and_no_temperature ... ok
[INFO] [stdout] test model::tests::a_leg_shares_the_runs_tape_rather_than_starting_its_own ... ok
[INFO] [stdout] test model::tests::a_messages_tape_replays_in_the_shape_it_was_recorded_in ... ok
[INFO] [stdout] test model::tests::a_missing_endpoint_is_reported_not_guessed_at ... ok
[INFO] [stdout] test model::tests::a_messages_schema_refusal_climbs_down_to_the_schema_in_the_prompt ... ok
[INFO] [stdout] test model::tests::a_key_goes_over_the_wire_as_a_bearer_token_on_every_call ... ok
[INFO] [stdout] test model::tests::a_refusal_that_is_not_about_the_schema_does_not_burn_a_second_call ... ok
[INFO] [stdout] test model::tests::a_messages_refusal_and_a_cut_reply_are_named_for_what_they_are ... ok
[INFO] [stdout] test model::tests::a_refusal_that_is_not_backpressure_is_never_retried ... ok
[INFO] [stdout] test model::tests::a_reply_that_closes_a_thought_after_answering_still_decodes ... ok
[INFO] [stdout] test model::tests::a_recording_keeps_what_the_server_said_in_order ... ok
[INFO] [stdout] test model::tests::a_reply_that_thinks_before_answering_still_decodes ... ok
[INFO] [stdout] test model::tests::a_replay_answers_from_the_tape_and_never_reaches_the_endpoint ... ok
[INFO] [stdout] test model::tests::a_tape_that_runs_out_refuses_rather_than_inventing_a_reply ... ok
[INFO] [stdout] test model::tests::a_schema_answer_comes_back_as_typed_data_in_one_call ... ok
[INFO] [stdout] test model::tests::a_schema_goes_over_the_wire_in_the_order_it_was_written ... ok
[INFO] [stdout] test model::tests::a_sentinel_position_is_refused_and_not_fatal ... ok
[INFO] [stdout] test model::tests::a_stage_label_that_disagrees_with_the_recording_refuses ... ok
[INFO] [stdout] test model::tests::an_omitted_position_is_not_the_first_one ... ok
[INFO] [stdout] test model::tests::a_tape_whose_calls_went_elsewhere_refuses ... ok
[INFO] [stdout] test model::tests::an_unreachable_endpoint_is_a_transport_error_naming_the_url ... ok
[INFO] [stdout] test model::tests::a_tape_cut_at_a_stage_plays_above_it_and_goes_live_from_it ... ok
[INFO] [stdout] test model::tests::a_schema_refusal_degrades_exactly_once_and_states_the_schema_in_the_prompt ... ok
[INFO] [stdout] test model::tests::anthropics_host_and_only_it_is_spoken_to_in_messages ... ok
[INFO] [stdout] test model::tests::backoff_grows_then_caps_then_gives_up ... ok
[INFO] [stdout] test model::tests::every_schema_is_json ... ok
[INFO] [stdout] test model::tests::locality_is_decided_conservatively ... ok
[INFO] [stdout] test model::tests::no_key_sends_no_authorization_header ... ok
[INFO] [stdout] test model::tests::prose_with_no_json_in_it_is_still_malformed ... ok
[INFO] [stdout] test model::tests::the_other_channel_names_decode_too ... ok
[INFO] [stdout] test model::tests::prose_is_never_parsed_as_a_fallback ... ok
[INFO] [stdout] test profile::tests::an_unknown_profile_is_an_error_not_a_default ... ok
[INFO] [stdout] test profile::tests::a_canon_with_no_profile_file_reads_as_personal ... ok
[INFO] [stdout] test quantify::tests::a_citation_may_state_more_than_the_rule_it_supports ... ok
[INFO] [stdout] test profile::tests::a_corrupt_profile_is_an_error_not_a_silent_default ... ok
[INFO] [stdout] test profile::tests::each_profile_names_the_thing_the_way_its_readers_do ... ok
[INFO] [stdout] test profile::tests::every_profile_round_trips_through_its_string ... ok
[INFO] [stdout] test quantify::tests::a_citation_stating_no_number_cannot_support_one_that_does ... ok
[INFO] [stdout] test model::tests::the_tape_records_a_refusal_so_a_replay_stays_in_step ... ok
[INFO] [stdout] test quantify::tests::a_number_the_citation_never_states_is_unsupported ... ok
[INFO] [stdout] test quantify::tests::a_host_that_refuses_is_not_narrowed_into_unread_pairs ... ok
[INFO] [stdout] test quantify::tests::a_quantity_the_citation_states_verbatim_is_not_refused ... ok
[INFO] [stdout] test quantify::tests::a_quantity_the_rule_never_states_is_not_refused ... ok
[INFO] [stdout] test quantify::tests::a_quantity_is_asked_for_in_the_order_the_prompt_lists_its_fields ... ok
[INFO] [stdout] test quantify::tests::a_rule_stating_no_number_is_supported_by_any_citation ... ok
[INFO] [stdout] test quantify::tests::a_reading_with_no_canonical_form_is_not_judged_either_way ... ok
[INFO] [stdout] test quantify::tests::a_real_number_the_citation_lacks_is_still_refused ... ok
[INFO] [stdout] test quantify::tests::a_rule_stating_no_quantity_can_still_be_a_duplicate ... ok
[INFO] [stdout] test quantify::tests::a_pair_no_reading_comes_back_for_is_unread_and_the_rest_still_count ... ok
[INFO] [stdout] test quantify::tests::a_unit_nobody_listed_still_separates_two_limits ... ok
[INFO] [stdout] test quantify::tests::a_pair_is_never_split_across_two_calls ... ok
[INFO] [stdout] test quantify::tests::a_universal_quantifier_is_not_a_number_the_citation_must_state ... ok
[INFO] [stdout] test quantify::tests::an_answer_naming_a_rule_that_was_not_offered_is_dropped_not_misfiled ... ok
[INFO] [stdout] test quantify::tests::an_answer_with_no_number_in_it_is_not_a_quantity ... ok
[INFO] [stdout] test quantify::tests::a_reading_cut_short_is_asked_again_one_pair_at_a_time ... ok
[INFO] [stdout] test quantify::tests::two_numbers_about_different_things_do_not_disagree ... ok
[INFO] [stdout] test quantify::tests::the_same_limit_worded_differently_is_not_a_difference ... ok
[INFO] [stdout] test quantify::tests::the_reading_prompt_forbids_normalising_the_units_away ... ok
[INFO] [stdout] test quantify::tests::what_a_number_counts_is_not_compared ... ok
[INFO] [stdout] test rebase::tests::a_carried_change_names_the_exact_command_against_the_new_base ... ok
[INFO] [stdout] test quantify::tests::independent_pairs_are_read_in_batches ... ok
[INFO] [stdout] test rebase::tests::a_divergence_becomes_one_change_per_thing_the_holder_actually_did ... ok
[INFO] [stdout] test rebase::tests::a_change_the_model_said_nothing_about_is_reported_unmapped_not_counted_as_passing ... ok
[INFO] [stdout] test rebase::tests::a_conflict_is_marked_and_gets_no_command ... ok
[INFO] [stdout] test rebase::tests::a_mapping_pointing_at_a_rule_that_does_not_exist_is_dropped_not_aimed_nearby ... ok
[INFO] [stdout] test rebase::tests::an_edit_can_still_be_orphaned ... ok
[INFO] [stdout] test rebase::tests::an_unreadable_fate_is_dropped_rather_than_guessed ... ok
[INFO] [stdout] test render::tests::a_canon_with_no_scopes_is_one_list_with_no_heading_over_it ... ok
[INFO] [stdout] test render::tests::list_json_carries_scope_and_rank_on_each_commitment ... ok
[INFO] [stdout] test rebase::tests::an_added_rule_can_never_come_back_orphaned ... ok
[INFO] [stdout] test render::tests::rules_are_grouped_by_scope_with_ranked_ones_first ... ok
[INFO] [stdout] test render::tests::the_render_has_no_clock_in_it ... ok
[INFO] [stdout] test replay::tests::a_canon_that_records_no_argument_derives_no_decision ... ok
[INFO] [stdout] test replay::tests::the_derived_clock_never_lands_before_the_last_act ... ok
[INFO] [stdout] test replay::tests::a_canon_on_disk_and_a_fixture_are_both_read_with_no_flag ... ok
[INFO] [stdout] test replay::tests::a_derived_scenario_asks_about_what_people_actually_argued_over ... ok
[INFO] [stdout] test resolver::tests::an_empty_offer_accepts_nothing ... ok
[INFO] [stdout] test replay::tests::a_second_on_a_question_never_becomes_a_derived_decision ... ok
[INFO] [stdout] test resolver::tests::an_answer_naming_something_that_was_not_offered_is_dropped_and_never_clamped ... ok
[INFO] [stdout] test resolver::tests::flattening_is_for_the_prompt_and_not_for_the_evidence ... ok
[INFO] [stdout] test resolver::tests::the_numbering_the_model_sees_is_the_numbering_that_is_checked ... ok
[INFO] [stdout] test review::tests::a_long_proposal_shows_twenty_lines_and_a_count_and_view_pages_all_of_it ... ok
[INFO] [stdout] test review::tests::a_proposal_reads_as_what_it_would_change ... ok
[INFO] [stdout] test review::tests::a_short_rule_reads_as_it_always_did ... ok
[INFO] [stdout] test review::tests::a_proposal_waits_on_whoever_holds_its_room_and_nobody_else ... ok
[INFO] [stdout] test review::tests::ago_says_it_the_way_a_person_does ... ok
[INFO] [stdout] test review::tests::a_source_is_quoted_only_from_inside_the_canons_folder ... ok
[INFO] [stdout] test review::tests::an_agent_is_refused_before_anything_is_shown_or_written ... ok
[INFO] [stdout] test review::tests::an_act_that_cannot_be_written_is_counted_and_exits_one ... ok
[INFO] [stdout] test review::tests::a_pager_that_cannot_run_says_why_and_shows_it_all_anyway ... ok
[INFO] [stdout] test review::tests::once_you_have_answered_it_is_not_waiting_on_you ... ok
[INFO] [stdout] test review::tests::approving_writes_the_approval_and_the_rule_is_in_force ... ok
[INFO] [stdout] test review::tests::declining_standing_skips_that_scope_and_writes_nothing ... ok
[INFO] [stdout] test review::tests::taking_standing_over_a_scope_nobody_holds_is_the_grant_and_then_the_question ... ok
[INFO] [stdout] test review::tests::objecting_asks_for_the_reason_and_will_not_take_a_bare_no ... ok
[INFO] [stdout] test review::tests::without_a_terminal_it_is_refused_before_anything_is_shown_or_written ... ok
[INFO] [stdout] test seen::tests::a_corrupt_line_costs_that_line_and_nothing_else ... ok
[INFO] [stdout] test review::tests::skipping_writes_nothing_and_leaves_it_waiting ... ok
[INFO] [stdout] test review::tests::quitting_midway_keeps_what_was_decided_and_asks_nothing_more ... ok
[INFO] [stdout] test seen::tests::a_declined_candidate_is_not_offered_again ... ok
[INFO] [stdout] test seen::tests::a_gitignore_the_group_edited_is_left_alone ... ok
[INFO] [stdout] test seen::tests::per_machine_state_is_kept_out_of_a_shared_canon ... ok
[INFO] [stdout] test review::tests::scopes_are_walked_one_at_a_time_and_scope_narrows_the_walk ... ok
[INFO] [stdout] test seen::tests::a_passage_already_read_is_not_read_again ... ok
[INFO] [stdout] test seen::tests::recording_twice_writes_one_line ... ok
[INFO] [stdout] test seen::tests::the_file_says_deleting_it_is_safe ... ok
[INFO] [stdout] test seen::tests::a_preview_reads_the_set_and_never_adds_to_it ... ok
[INFO] [stdout] test sources::tests::a_byte_order_mark_does_not_lead_the_first_citation ... ok
[INFO] [stdout] test sources::tests::a_device_named_directly_is_refused_rather_than_read_forever ... ok
[INFO] [stdout] test sources::tests::a_file_that_was_not_read_is_reported_and_counted ... ok
[INFO] [stdout] test sources::tests::a_gap_in_the_conversation_becomes_a_chunk_boundary ... ok
[INFO] [stdout] test sources::tests::a_folder_that_is_not_a_repo_withholds_nothing ... ok
[INFO] [stdout] test sources::tests::a_link_is_the_only_way_to_some_content_and_still_works ... ok
[INFO] [stdout] test sources::tests::a_link_out_of_the_folder_is_not_followed ... ok
[INFO] [stdout] test sources::tests::a_link_inside_the_folder_is_still_followed ... ok
[INFO] [stdout] test sources::tests::a_named_file_that_is_not_text_says_so ... ok
[INFO] [stdout] test sources::tests::a_name_that_does_not_clash_keeps_its_short_form ... ok
[INFO] [stdout] test sources::tests::a_named_file_is_read_whatever_it_is ... ok
[INFO] [stdout] test sources::tests::a_path_that_is_not_there_says_so ... ok
[INFO] [stdout] test sources::tests::a_slack_export_becomes_text_with_who_said_it ... ok
[INFO] [stdout] test sources::tests::an_undated_message_cannot_make_a_mixed_span_look_dated ... ok
[INFO] [stdout] test sources::tests::an_empty_chat_file_is_unread_not_a_source_that_said_nothing ... ok
[INFO] [stdout] test sources::tests::chat_dates_follow_the_original_lines_without_entering_the_quote ... ok
[INFO] [stdout] test sources::tests::chat_is_recognised_by_its_content_not_its_name ... ok
[INFO] [stdout] test sources::tests::hidden_directories_are_not_read_and_are_not_reported_as_skipped ... ok
[INFO] [stdout] test sources::tests::markdown_that_opens_with_a_bracket_is_still_markdown ... ok
[INFO] [stdout] test sources::tests::one_unreadable_folder_does_not_end_the_walk ... ok
[INFO] [stdout] test sources::tests::sources_are_named_relative_to_what_was_pointed_at ... ok
[INFO] [stdout] test sources::tests::the_other_export_shapes_read_too ... ok
[INFO] [stdout] test sources::tests::bytes_with_no_mark_are_reported_as_what_they_look_like ... ok
[INFO] [stdout] test sources::tests::structured_data_is_not_writing ... ok
[INFO] [stdout] test replay::tests::every_ledger_here_reads_and_renders_as_it_did_before_v4 ... ok
[INFO] [stdout] test sources::tests::the_same_file_reached_twice_is_read_once ... ok
[INFO] [stdout] test sources::tests::what_windows_calls_unicode_is_read ... ok
[INFO] [stdout] test sources::tests::two_roots_cannot_produce_one_citation ... ok
[INFO] [stdout] test sources::tests::something_too_big_to_be_writing_is_reported_not_read ... ok
[INFO] [stdout] test store::tests::dates_come_from_the_one_calendar ... ok
[INFO] [stdout] test store::tests::init_ignores_what_this_repository_ignores ... ok
[INFO] [stdout] test subject::tests::a_group_too_small_to_fold_costs_no_call ... ok
[INFO] [stdout] test sources::tests::whatever_it_is_called_it_gets_read ... ok
[INFO] [stdout] test subject::tests::a_position_that_was_never_offered_is_dropped ... ok
[INFO] [stdout] test subject::tests::a_representative_naming_a_later_rule_is_refused ... ok
[INFO] [stdout] test subject::tests::a_representative_past_the_end_is_refused_not_wrapped ... ok
[INFO] [stdout] test subject::tests::a_rule_the_model_skipped_represents_only_itself ... ok
[INFO] [stdout] test subject::tests::no_groups_means_no_call_at_all ... ok
[INFO] [stdout] test store::tests::two_writers_at_once_cannot_corrupt_the_record ... ok
[INFO] [stdout] test subject::tests::rules_governing_different_things_keep_their_own ... ok
[INFO] [stdout] test tensions::tests::a_canon_too_small_to_split_needs_no_schedule ... ok
[INFO] [stdout] test subject::tests::each_group_gets_its_own_call ... ok
[INFO] [stdout] test subject::tests::rules_governing_one_thing_share_a_representative ... ok
[INFO] [stdout] test sources::tests::a_pipe_in_the_folder_does_not_stop_the_walk_forever ... ok
[INFO] [stdout] test tensions::tests::a_small_list_is_one_comparison ... ok
[INFO] [stdout] test tensions::tests::a_position_outside_the_pass_is_dropped_not_mapped ... ok
[INFO] [stdout] test tensions::tests::a_pass_answers_in_its_own_numbering_and_is_mapped_back ... ok
[INFO] [stdout] test tensions::tests::asking_for_more_looks_costs_more_passes_and_never_fewer ... ok
[INFO] [stdout] test tensions::tests::a_pass_that_produces_no_answer_costs_coverage_not_the_run ... ok
[INFO] [stdout] test tensions::tests::every_pass_failing_is_an_error_not_an_empty_answer ... ok
[INFO] [stdout] test tensions::tests::a_block_holds_between_two_and_batch_commitments ... ok
[INFO] [stdout] test tensions::tests::the_same_pair_noticed_in_two_passes_is_one_tension ... ok
[INFO] [stdout] test term::tests::a_log_gets_plain_lines_and_a_terminal_gets_overwriting_ones ... ok
[INFO] [stdout] test tests::every_verb_the_dispatcher_knows_is_documented_somewhere ... ok
[INFO] [stdout] test tests::the_short_help_stays_short_and_stays_plain ... ok
[INFO] [stdout] test ui::tests::a_decision_from_anywhere_but_the_page_is_refused_and_writes_nothing ... ok
[INFO] [stdout] test ui::tests::a_form_from_the_page_keeps_its_origin_and_a_null_one_is_refused ... ok
[INFO] [stdout] test ui::tests::a_request_larger_than_a_form_is_refused ... ok
[INFO] [stdout] test tensions::tests::two_runs_over_one_canon_schedule_identically ... ok
[INFO] [stdout] test ui::tests::a_rule_can_be_proposed_changed_and_taken_away_from_the_page ... ok
[INFO] [stdout] test ui::tests::an_amendment_strikes_what_goes_and_writes_in_what_comes ... ok
[INFO] [stdout] test tensions::tests::every_pair_is_examined_by_some_pass ... ok
[INFO] [stdout] test ui::tests::approving_writes_a_position_and_says_where_it_stands ... ok
[INFO] [stdout] test ui::tests::every_write_goes_through_the_same_door ... ok
[INFO] [stdout] test tensions::tests::no_pair_is_left_on_a_single_look ... ok
[INFO] [stdout] test ui::tests::an_objection_needs_its_reason ... ok
[INFO] [stdout] test ui::tests::ids_in_a_history_become_links_and_nothing_else_does ... ok
[INFO] [stdout] test ui::tests::only_what_waits_on_you_can_be_decided_here ... ok
[INFO] [stdout] test sources::tests::a_gitignored_folder_takes_its_contents_with_it ... ok
[INFO] [stdout] test ui::tests::the_page_answers_only_at_its_own_address ... ok
[INFO] [stdout] test ui::tests::the_printed_address_is_the_only_way_in ... ok
[INFO] [stdout] test ui::tests::what_people_wrote_is_shown_and_never_run ... ok
[INFO] [stdout] test sources::tests::what_the_project_calls_generated_is_skipped_and_can_be_read_anyway ... ok
[INFO] [stdout] test wrap::tests::a_short_line_is_untouched ... ok
[INFO] [stdout] test wrap::tests::a_word_wider_than_the_screen_stays_whole ... ok
[INFO] [stdout] test ui::tests::something_left_unwritten_needs_its_reason_and_can_be_lifted ... ok
[INFO] [stdout] test wrap::tests::continuation_lines_sit_under_the_text ... ok
[INFO] [stdout] test ui::tests::identify_takes_only_a_key_the_page_offered ... ok
[INFO] [stdout] test tensions::tests::every_pair_is_weighed_at_least_the_number_of_times_asked_for ... ok
[INFO] [stdout] test model::tests::a_busy_host_is_waited_out_rather_than_counted_as_a_failure ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 342 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/adequacy_bar.rs (/opt/rustwide/target/release/build/canon-cli/e0bcc9939a75d35f/out/adequacy_bar-e0bcc9939a75d35f)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test a_technology_marked_built_composes_from_ops_that_exist ... ok
[INFO] [stdout] test the_frontier_is_written_down_rather_than_implied ... ok
[INFO] [stdout] test no_op_exists_that_no_technology_needs ... ok
[INFO] [stdout] test every_op_is_in_the_census_and_the_census_invents_none ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/draft_bar.rs (/opt/rustwide/target/release/build/canon-cli/6bfde31a1abe83ce/out/draft_bar-6bfde31a1abe83ce)
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test a_charter_article_and_a_dated_decision_still_key_as_they_did ... ok
[INFO] [stdout] test a_codified_section_and_its_amended_reading_are_different_keys ... ok
[INFO] [stdout] test a_run_that_barely_compared_anything_is_not_a_measurement ... ok
[INFO] [stdout] test an_ordinance_heading_keys_by_ordinance_not_by_its_date ... ok
[INFO] [stdout] test a_side_resolves_to_the_one_candidate_that_carries_the_whole_anchor ... ok
[INFO] [stdout] test extraction_coverage ... ignored, needs draft runs: ./scripts/draft-bar.sh 3
[INFO] [stdout] test governance_bar ... ignored, needs draft runs: ./scripts/draft-bar.sh 3
[INFO] [stdout] test section_keys_parse_out_of_the_documents_own_headings ... ok
[INFO] [stdout] test two_up_upper_bound ... ignored, makes 17 live model calls: CANON_BAR_RUNS=fixtures/founding/runs/qwen-27b CANON_BAR_TRUTH=fixtures/founding/truth.json CANON_BAR_ANCHORS=fixtures/founding/extraction-anchors.json cargo test --test draft_bar -- --ignored two_up --nocapture
[INFO] [stdout] test every_labeled_pair_in_the_manifest_maps_to_a_heading_in_the_document ... ok
[INFO] [stdout] test the_manifest_and_the_document_agree_on_key_shape ... ok
[INFO] [stdout] test every_key_the_founding_manifest_names_is_a_heading_in_the_corpus ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/draft_context.rs (/opt/rustwide/target/release/build/canon-cli/865c031b3b5c340f/out/draft_context-865c031b3b5c340f)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test a_reviewer_can_open_context_and_then_quit_without_writing_an_act ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/founding_bar.rs (/opt/rustwide/target/release/build/canon-cli/4c2c7953089d248b/out/founding_bar-4c2c7953089d248b)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test an_agents_first_write_in_a_fresh_canon_is_a_proposal ... ok
[INFO] [stdout] test every_verb_says_what_it_does_when_asked ... ok
[INFO] [stdout] test adoption_can_leave_rules_behind_and_name_them_by_upstream_id ... ok
[INFO] [stdout] test the_canon_as_a_whole_is_named_by_the_scopes_that_hold_it ... ok
[INFO] [stdout] test a_ratified_founding_warns_by_kind_not_by_thirty_ids ... ok
[INFO] [stdout] test the_canon_renders_to_a_file_and_says_when_the_file_is_stale ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.12s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/governance_bar.rs (/opt/rustwide/target/release/build/canon-cli/05b61090acf756a9/out/governance_bar-05b61090acf756a9)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test the_case_studies_never_reach_an_endpoint ... ok
[INFO] [stdout] test ostrom_bar ... ok
[INFO] [stdout] test a_forced_policy_re_decides_the_whole_history ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/kitchen_bar.rs (/opt/rustwide/target/release/build/canon-cli/8c6ca02b6243f5d8/out/kitchen_bar-8c6ca02b6243f5d8)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test every_kitchen_step_is_asserted ... ok
[INFO] [stdout] test the_fernwood_bar_is_unchanged ... ok
[INFO] [stdout] test kitchen_scenario_meets_its_expectations ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/knobs_bar.rs (/opt/rustwide/target/release/build/canon-cli/b305e924b99655b3/out/knobs_bar-b305e924b99655b3)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test policy_set_graduated_defaults_to_cited_and_repair ... ok
[INFO] [stdout] test init_founds_the_canon_with_the_knobs_on_and_plain_without ... ok
[INFO] [stdout] test personal_cannot_be_set_for_one_scope ... ok
[INFO] [stdout] test second_refuses_a_non_question ... ok
[INFO] [stdout] test ratification_set_writes_the_batteries_and_carries_them_forward ... ok
[INFO] [stdout] test decide_citing_writes_v4 ... ok
[INFO] [stdout] test second_refuses_an_agent ... ok
[INFO] [stdout] test second_writes_anonymous_toward_seconded ... ok
[INFO] [stdout] test open_shows_seconds ... ok
[INFO] [stdout] test a_policy_set_under_governs_all_says_it_is_proposed_and_can_be_objected_to ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.21s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/refusal_bar.rs (/opt/rustwide/target/release/build/canon-cli/e60fac1d89565490/out/refusal_bar-e60fac1d89565490)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test an_act_that_took_while_open_says_so ... ok
[INFO] [stdout] test a_grant_names_its_granter_and_says_when_it_leaves_you_out ... ok
[INFO] [stdout] test who_names_both_rules_by_name ... ok
[INFO] [stdout] test review_refuses_without_a_terminal_and_for_an_agent ... ok
[INFO] [stdout] test a_retraction_without_standing_is_a_proposal_the_holder_approves ... ok
[INFO] [stdout] test a_refused_act_leads_with_not_applied_on_every_gated_verb ... ok
[INFO] [stdout] test a_change_to_how_a_scope_decides_can_be_approved_by_name ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.21s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/reinterpretation_bar.rs (/opt/rustwide/target/release/build/canon-cli/9bb74280c03e7877/out/reinterpretation_bar-9bb74280c03e7877)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test this_repositorys_own_record_reads_as_it_did_before_signing ... ok
[INFO] [stdout] test every_fixture_mints_and_reads_as_it_did_before_signing ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/signing_bar.rs (/opt/rustwide/target/release/build/canon-cli/c9f6f82d3fddf6d3/out/signing_bar-c9f6f82d3fddf6d3)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test a_line_written_into_the_file_by_hand_does_not_count_and_says_why ... ok
[INFO] [stdout] test identify_refuses_what_it_cannot_do_honestly ... ok
[INFO] [stdout] test on_another_machine_the_key_is_found_where_ssh_keeps_it ... ok
[INFO] [stdout] test a_signed_line_verifies_with_ssh_keygen_and_no_canon ... ok
[INFO] [stdout] test the_env_var_alone_no_longer_writes_as_a_bound_name ... ok
[INFO] [stdout] test identify_founds_a_canon_and_needs_nothing_configured ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/transfer_bar.rs (/opt/rustwide/target/release/build/canon-cli/8f40381e3e81a11e/out/transfer_bar-8f40381e3e81a11e)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test transfer_bar ... ok
[INFO] [stdout] test the_counterfactual_is_identical_across_institutions ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.27s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/ui_bar.rs (/opt/rustwide/target/release/build/canon-cli/41441ea214e30a2e/out/ui_bar-41441ea214e30a2e)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test the_page_lets_in_its_own_address_and_is_not_held_by_an_idle_socket ... ok
[INFO] [stdout] test a_person_can_identify_and_then_write_signed_from_the_page ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/build/canon-contract/251bfa9b3e9e09df/out/canon_contract-251bfa9b3e9e09df)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::transplant_keeps_production_text_and_handles_unicode_before_tests ... ok
[INFO] [stdout] test tests::candidate_cannot_replace_the_baseline_tests ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/build/canon-core/6541307182b32166/out/canon_core-6541307182b32166)
[INFO] [stdout] 
[INFO] [stdout] running 206 tests
[INFO] [stdout] test allot::tests::a_pool_with_no_rule_refuses_rather_than_guessing ... ok
[INFO] [stdout] test allot::tests::allotting_a_scope_you_do_not_hold_is_recorded_and_not_applied ... ok
[INFO] [stdout] test allot::tests::a_holder_the_roster_does_not_name_takes_no_turn_and_is_reported ... ok
[INFO] [stdout] test date::tests::a_date_round_trips_through_both_directions ... ok
[INFO] [stdout] test date::tests::dates_render_correctly ... ok
[INFO] [stdout] test allot::tests::more_boats_than_sites_rotates_who_fishes_at_all ... ok
[INFO] [stdout] test allot::tests::the_sign_of_the_step_is_the_direction ... ok
[INFO] [stdout] test allot::tests::alanya_rotates_every_boat_one_site_east_a_day ... ok
[INFO] [stdout] test date::tests::what_is_not_a_date_is_refused_and_never_repaired ... ok
[INFO] [stdout] test draw::tests::a_boundary_exactly_at_the_announcement_is_refused_too ... ok
[INFO] [stdout] test draw::tests::a_boundary_in_the_past_is_refused ... ok
[INFO] [stdout] test draw::tests::a_scope_nobody_holds_has_no_pool_and_refuses ... ok
[INFO] [stdout] test draw::tests::a_draw_with_nothing_revealed_refuses_rather_than_falling_back ... ok
[INFO] [stdout] test draw::tests::a_draw_for_nobody_refuses ... ok
[INFO] [stdout] test draw::tests::a_draw_selects_from_the_pool_and_shows_its_working ... ok
[INFO] [stdout] test draw::tests::a_draw_nobody_announced_refuses ... ok
[INFO] [stdout] test draw::tests::a_revealed_secret_that_does_not_match_its_digest_is_refused ... ok
[INFO] [stdout] test draw::tests::a_second_secret_from_the_same_actor_is_ignored ... ok
[INFO] [stdout] test draw::tests::a_secret_opened_before_the_boundary_does_not_count ... ok
[INFO] [stdout] test draw::tests::a_secret_sealed_after_the_boundary_is_not_a_commitment ... ok
[INFO] [stdout] test draw::tests::drawing_exactly_the_pool_refuses_because_that_is_not_a_draw ... ok
[INFO] [stdout] test draw::tests::standing_granted_after_the_boundary_does_not_join_the_pool ... ok
[INFO] [stdout] test draw::tests::the_panel_moves_when_any_secret_moves ... ok
[INFO] [stdout] test draw::tests::withdrawing_after_the_boundary_does_not_shrink_a_frozen_pool ... ok
[INFO] [stdout] test draw::tests::standing_that_lapsed_before_the_boundary_is_not_in_the_pool ... ok
[INFO] [stdout] test draw::tests::the_drawer_has_no_move_after_committing ... ok
[INFO] [stdout] test knob_tests::a_personal_scope_is_its_owners_alone_and_never_open ... ok
[INFO] [stdout] test knob_tests::a_housemate_cannot_govern_somebody_elses_corner ... ok
[INFO] [stdout] test draw::tests::drawing_more_seats_than_the_pool_holds_refuses ... ok
[INFO] [stdout] test knob_tests::a_policy_waits_under_governs_all_and_applies_from_its_ratified_moment ... ok
[INFO] [stdout] test knob_tests::governs_all_under_standing_changes_nothing ... ok
[INFO] [stdout] test knob_tests::an_owners_write_is_in_force_even_where_the_house_decides_by_consent ... ok
[INFO] [stdout] test knob_tests::one_reasoned_objection_refuses_a_waiting_policy ... ok
[INFO] [stdout] test knob_tests::personal_scopes_are_ordinary_scopes_without_the_knob ... ok
[INFO] [stdout] test knob_tests::personal_roots_never_hold_the_canon ... ok
[INFO] [stdout] test draw::tests::two_replayers_draw_the_same_panel ... ok
[INFO] [stdout] test lineage::tests::a_seed_commitment_that_never_landed_is_reported_not_ignored ... ok
[INFO] [stdout] test lineage::tests::a_line_with_no_id_is_refused_rather_than_adopted_as_a_rule ... ok
[INFO] [stdout] test lineage::tests::a_block_edited_after_it_was_shared_is_refused ... ok
[INFO] [stdout] test knob_tests::the_knob_counts_from_its_ratified_moment_and_not_before ... ok
[INFO] [stdout] test knob_tests::without_governs_a_policy_applies_on_its_writers_standing_as_before ... ok
[INFO] [stdout] test lineage::tests::a_snapshot_round_trips_through_the_block_a_person_pastes ... ok
[INFO] [stdout] test lineage::tests::divergence_is_arithmetic_over_two_logs ... ok
[INFO] [stdout] test policy::tests::a_canon_that_adopted_nothing_decides_by_what_shipped ... ok
[INFO] [stdout] test lineage::tests::divergence_links_by_provenance_not_by_text ... ok
[INFO] [stdout] test lineage::tests::the_block_survives_the_chat_thread_around_it ... ok
[INFO] [stdout] test policy::tests::a_lapsed_grant_stops_routing_to_that_person ... ok
[INFO] [stdout] test policy::tests::a_cited_ladder_survives_a_paraphrase ... ok
[INFO] [stdout] test lineage::tests::the_generation_does_not_depend_on_the_order_the_rules_are_in ... ok
[INFO] [stdout] test policy::tests::adopting_a_policy_is_an_adjudication_and_an_agent_doing_it_is_reported ... ok
[INFO] [stdout] test policy::tests::a_policy_round_trips_through_the_log_with_its_rule_intact ... ok
[INFO] [stdout] test policy::tests::a_repair_resets_the_ladder ... ok
[INFO] [stdout] test policy::tests::a_supermajority_counts_people_and_not_commitments ... ok
[INFO] [stdout] test policy::tests::a_modifier_can_only_make_an_answer_stricter ... ok
[INFO] [stdout] test policy::tests::nothing_cited_against_falls_back_to_about_and_says_so ... ok
[INFO] [stdout] test policy::tests::adopting_a_policy_replaces_the_one_for_that_scope_rather_than_stacking ... ok
[INFO] [stdout] test policy::tests::entrenchment_raises_the_bar_for_a_principle_and_leaves_a_convention_alone ... ok
[INFO] [stdout] test policy::tests::an_old_graduated_rule_reads_as_written ... ok
[INFO] [stdout] test policy::tests::the_ladder_is_per_subject_and_a_community_that_never_decided_has_none ... ok
[INFO] [stdout] test policy::tests::the_ladder_climbs_on_decisions_and_starts_at_the_bottom ... ok
[INFO] [stdout] test policy::tests::subsidiarity_routes_to_the_deepest_holder_and_refuses_an_unheld_scope ... ok
[INFO] [stdout] test draw::tests::the_shuffle_reaches_every_position_and_does_not_favour_one ... ok
[INFO] [stdout] test policy::tests::consent_blocks_on_one_reasoned_objection_and_ignores_the_count ... ok
[INFO] [stdout] test policy::tests::consent_does_not_read_an_empty_canon_as_agreement ... ok
[INFO] [stdout] test policy::tests::the_policy_is_in_the_canon_and_the_deepest_one_governs ... ok
[INFO] [stdout] test policy::tests::default_reproduces_the_rule_that_shipped_before_policy_was_configurable ... ok
[INFO] [stdout] test policy::tests::the_shipped_default_makes_adjudication_a_human_act ... ok
[INFO] [stdout] test policy::tests::what_cannot_be_undone_is_not_decided_by_silence ... ok
[INFO] [stdout] test ratify::tests::a_share_nobody_could_reach_or_nobody_needs_to_is_refused_and_says_why ... ok
[INFO] [stdout] test ratify::tests::a_share_is_spelled_one_way_and_reads_back_as_itself ... ok
[INFO] [stdout] test ratify::tests::a_share_reads_as_what_it_takes ... ok
[INFO] [stdout] test ratify::tests::twice_over_joint_says_it_adds_no_voices ... ok
[INFO] [stdout] test scope::tests::a_grant_lapses_only_after_its_horizon ... ok
[INFO] [stdout] test ratify::tests::what_a_share_needs_of_one_to_forty_people ... ok
[INFO] [stdout] test scope::tests::a_scope_covers_what_nests_under_it_and_not_what_merely_spells_like_it ... ok
[INFO] [stdout] test ratify::tests::the_spelling_round_trips ... ok
[INFO] [stdout] test scope::tests::a_scope_round_trips_through_its_string ... ok
[INFO] [stdout] test scope::tests::a_scope_with_an_empty_segment_is_refused_not_repaired ... ok
[INFO] [stdout] test scope::tests::depth_orders_the_specific_above_the_general ... ok
[INFO] [stdout] test scope::tests::standing_is_an_as_of_question_and_not_only_a_now_question ... ok
[INFO] [stdout] test sign::tests::a_key_act_that_cannot_bind_changes_nothing_else ... ok
[INFO] [stdout] test sign::tests::a_canon_nobody_signs_in_folds_exactly_as_before ... ok
[INFO] [stdout] test sign::tests::a_binding_pasted_from_another_canon_never_lets_anyone_sign_as_you ... ok
[INFO] [stdout] test sign::tests::a_signed_act_survives_render_parse_and_a_merge ... ok
[INFO] [stdout] test sign::tests::a_forgery_dated_before_the_binding_does_not_count_either ... ok
[INFO] [stdout] test sign::tests::a_squat_on_an_unbound_name_is_visible_and_does_not_reach_anyone_else ... ok
[INFO] [stdout] test sign::tests::a_version_past_signing_is_still_refused ... ok
[INFO] [stdout] test sign::tests::a_signed_line_pasted_into_another_canon_does_not_verify_there ... ok
[INFO] [stdout] test sign::tests::canonical_bytes_are_sorted_compact_and_without_the_signature ... ok
[INFO] [stdout] test sign::tests::a_second_binding_contests_the_name_instead_of_replacing_the_first ... ok
[INFO] [stdout] test sign::tests::a_canon_can_be_founded_by_binding_a_key_first ... ok
[INFO] [stdout] test sign::tests::base64_round_trips_and_refuses_what_is_not_base64 ... ok
[INFO] [stdout] test sign::tests::fingerprints_are_the_ones_ssh_keygen_prints ... ok
[INFO] [stdout] test sign::tests::only_ed25519_keys_bind ... ok
[INFO] [stdout] test sign::tests::a_backup_key_bound_alongside_signs_as_well ... ok
[INFO] [stdout] test standing::tests::a_bearing_citing_a_commitment_this_canon_does_not_have_is_refused ... ok
[INFO] [stdout] test sign::tests::an_approval_cannot_be_moved_onto_other_text_behind_the_same_id ... ok
[INFO] [stdout] test sign::tests::openssh_signatures_verify_and_nothing_near_them_does ... ok
[INFO] [stdout] test sign::tests::someone_else_signing_as_you_does_not_count ... ok
[INFO] [stdout] test sign::tests::a_test_signature_is_a_real_one ... ok
[INFO] [stdout] test standing::tests::a_bearing_with_no_reason_is_refused ... ok
[INFO] [stdout] test sign::tests::the_env_var_no_longer_makes_you_alex ... ok
[INFO] [stdout] test standing::tests::a_position_from_nobody_is_refused_like_a_commitment_nobody_holds ... ok
[INFO] [stdout] test standing::tests::an_actor_may_take_a_position_without_citing_a_commitment ... ok
[INFO] [stdout] test standing::tests::an_actor_position_still_has_to_say_why ... ok
[INFO] [stdout] test standing::tests::nothing_bearing_on_it_is_unaddressed_and_never_supported ... ok
[INFO] [stdout] test tests::a_commitment_can_be_scoped_and_rescoped ... ok
[INFO] [stdout] test standing::tests::one_bearing_against_is_enough_to_conflict ... ok
[INFO] [stdout] test tests::a_cook_objecting_refuses_a_rule_change_and_the_old_rule_stands ... ok
[INFO] [stdout] test tests::a_consent_rule_change_governs_only_what_is_written_after_its_window_closes ... ok
[INFO] [stdout] test tests::a_carried_annotation_changes_nothing_and_is_reported ... ok
[INFO] [stdout] test tests::a_future_format_version_is_refused_rather_than_partially_read ... ok
[INFO] [stdout] test tests::a_horizon_on_something_already_dealt_with_stops_being_overdue ... ok
[INFO] [stdout] test tests::a_deliberate_silence_is_a_third_state_and_not_a_gap ... ok
[INFO] [stdout] test tests::a_dismissal_carries_its_reason_into_the_read_model ... ok
[INFO] [stdout] test tests::a_horizon_can_be_moved_and_the_last_one_wins ... ok
[INFO] [stdout] test tests::a_position_citing_a_commitment_carries_the_citation ... ok
[INFO] [stdout] test tests::a_position_citing_nothing_is_the_actors_own ... ok
[INFO] [stdout] test tests::a_proposed_supersession_leaves_the_old_rule_standing ... ok
[INFO] [stdout] test tests::a_majority_is_of_the_house_when_the_proposal_was_written ... ok
[INFO] [stdout] test tests::a_retraction_without_standing_waits_for_someone_who_could_have_written_it ... ok
[INFO] [stdout] test tests::a_reverted_position_leaves_no_trace_in_the_fold ... ok
[INFO] [stdout] test tests::a_rule_0_4_0_wrote_reads_as_it_did ... ok
[INFO] [stdout] test tests::a_question_is_answered_by_superseding_it_with_a_commitment ... ok
[INFO] [stdout] test tests::a_question_is_withdrawn_by_retracting_it ... ok
[INFO] [stdout] test tests::a_revisit_date_nobody_can_read_is_reported_and_never_read_as_epoch_zero ... ok
[INFO] [stdout] test tests::a_house_holder_changing_the_kitchens_rule_proposes_and_one_cook_carries_it ... ok
[INFO] [stdout] test tests::a_rule_change_is_judged_under_the_rule_it_is_changing ... ok
[INFO] [stdout] test tests::a_ruling_takes_standing_over_what_it_touches ... ok
[INFO] [stdout] test tests::a_second_never_counts_toward_ratification ... ok
[INFO] [stdout] test tests::a_second_on_a_question_is_not_unattended ... ok
[INFO] [stdout] test tests::a_share_is_written_as_its_bar_and_a_bar_no_house_could_use_is_refused ... ok
[INFO] [stdout] test tests::a_share_of_the_whole_canon_names_the_scope_its_people_held ... ok
[INFO] [stdout] test tests::a_share_rule_is_a_rule_kind_and_an_older_reader_refuses_it_by_name ... ok
[INFO] [stdout] test tests::a_tolerated_contradiction_is_first_class_and_carries_its_reason ... ok
[INFO] [stdout] test tests::a_stranger_cannot_tombstone_the_grants_that_shut_them_out ... ok
[INFO] [stdout] test tests::a_version_beyond_this_build_is_still_refused ... ok
[INFO] [stdout] test tests::a_unanimous_house_that_shrinks_still_decides_and_can_change_its_rule ... ok
[INFO] [stdout] test tests::an_act_referencing_a_missing_commitment_is_reported_not_ignored ... ok
[INFO] [stdout] test tests::adjudication_by_a_non_human_actor_is_reported_not_hidden ... ok
[INFO] [stdout] test tests::an_act_that_took_while_open_is_recorded_as_such ... ok
[INFO] [stdout] test tests::an_agent_position_on_a_question_is_still_unattended ... ok
[INFO] [stdout] test tests::an_agent_with_standing_still_cannot_mint_its_own_rule ... ok
[INFO] [stdout] test tests::a_voice_record_credits_the_citer_and_not_only_the_cited ... ok
[INFO] [stdout] test tests::an_agents_write_in_a_scope_nobody_holds_waits_for_a_person ... ok
[INFO] [stdout] test tests::an_anonymous_position_on_a_proposal_is_still_unattended ... ok
[INFO] [stdout] test tests::an_objection_after_a_rule_is_settled_does_not_unmake_it ... ok
[INFO] [stdout] test tests::a_voice_record_says_whether_raising_things_has_ever_gone_anywhere ... ok
[INFO] [stdout] test tests::an_agent_may_cite_a_rule_but_may_not_hold_an_opinion ... ok
[INFO] [stdout] test tests::an_ungoverned_canon_is_a_notebook_and_every_assert_is_a_rule ... ok
[INFO] [stdout] test tests::an_unknown_annotation_is_carried_and_round_trips ... ok
[INFO] [stdout] test tests::an_open_question_is_what_the_canon_does_not_cover ... ok
[INFO] [stdout] test tests::an_unknown_structural_op_is_refused_not_carried ... ok
[INFO] [stdout] test tests::ancestry_lives_in_the_log_so_it_survives_a_file_that_travels_alone ... ok
[INFO] [stdout] test tests::approvals_from_people_without_standing_and_from_agents_do_not_count ... ok
[INFO] [stdout] test tests::decided_citing_reaches_the_ruling ... ok
[INFO] [stdout] test tests::duplicate_acts_collapse_so_union_merge_is_safe ... ok
[INFO] [stdout] test tests::consent_ratifies_by_the_clock_and_a_reasoned_objection_stops_it ... ok
[INFO] [stdout] test tests::governance_acts_without_standing_are_recorded_and_not_applied ... ok
[INFO] [stdout] test tests::asking_is_not_adjudication_and_is_not_flagged_unattended ... ok
[INFO] [stdout] test tests::granting_standing_is_an_adjudication_and_a_machine_one_is_surfaced ... ok
[INFO] [stdout] test tests::holding_a_scope_and_its_parent_makes_you_one_decider_and_not_two ... ok
[INFO] [stdout] test tests::five_people_under_sixty_percent_carry_at_three_and_refuse_as_a_house ... ok
[INFO] [stdout] test tests::asserting_is_machine_work_and_is_not_flagged ... ok
[INFO] [stdout] test tests::liveness_is_independent_of_the_order_acts_arrive_in ... ok
[INFO] [stdout] test tests::every_act_kind_survives_the_wire_with_its_id_intact ... ok
[INFO] [stdout] test tests::joint_ratification_needs_every_named_holder_and_one_objection_refuses ... ok
[INFO] [stdout] test tests::merge_of_two_branches_folds_identically_to_either_order ... ok
[INFO] [stdout] test tests::new_fields_write_v4_and_absent_fields_do_not ... ok
[INFO] [stdout] test tests::ids_are_content_addressed_and_stable_across_runs ... ok
[INFO] [stdout] test tests::one_query_answers_a_term_limit_a_trial_period_and_a_revisit_date ... ok
[INFO] [stdout] test tests::re_granting_closes_the_old_grant_rather_than_stacking_on_it ... ok
[INFO] [stdout] test tests::retracting_a_missing_commitment_is_also_reported ... ok
[INFO] [stdout] test tests::renewing_your_own_standing_is_not_turnover_and_neither_is_a_lapse_nobody_fills ... ok
[INFO] [stdout] test tests::only_a_bar_of_everyone_waits_for_a_reason ... ok
[INFO] [stdout] test tests::revert_of_revert_holds_at_one_timestamp_too ... ok
[INFO] [stdout] test tests::revert_tombstones_an_act_and_its_effects ... ok
[INFO] [stdout] test tests::revert_works_when_it_shares_a_second_with_its_target ... ok
[INFO] [stdout] test tests::roundtrip_through_jsonl_preserves_every_act ... ok
[INFO] [stdout] test tests::simultaneous_founding_grants_do_not_lock_the_founder_out ... ok
[INFO] [stdout] test tests::scoping_your_own_proposal_is_part_of_proposing_it ... ok
[INFO] [stdout] test tests::stepping_back_from_a_scope_removes_what_it_covers ... ok
[INFO] [stdout] test tests::standing_is_held_not_remembered ... ok
[INFO] [stdout] test tests::supersede_works_when_every_act_shares_one_second ... ok
[INFO] [stdout] test tests::supersede_retires_the_old_and_records_what_replaced_it ... ok
[INFO] [stdout] test tests::the_canon_is_held_by_its_widest_held_scopes_and_says_so ... ok
[INFO] [stdout] test tests::reverting_a_revert_reapplies_the_original ... ok
[INFO] [stdout] test tests::same_second_ordering_does_not_change_the_result ... ok
[INFO] [stdout] test tests::superseding_a_question_that_is_not_in_the_log_is_still_reported ... ok
[INFO] [stdout] test tests::somebody_who_joins_later_does_not_count_toward_what_was_already_asked ... ok
[INFO] [stdout] test tests::the_fold_never_mints_an_open_disposition ... ok
[INFO] [stdout] test tests::the_last_word_on_a_subject_is_the_silence_that_stands ... ok
[INFO] [stdout] test tests::tolerated_and_dismissed_are_one_noun_and_do_not_collide ... ok
[INFO] [stdout] test tests::the_round_trip_covers_every_op_this_build_knows ... ok
[INFO] [stdout] test tests::twice_by_days_counts_only_approvals_written_after_the_boundary_and_no_implicit_one ... ok
[INFO] [stdout] test tests::the_staleness_query_takes_a_clock_and_never_reads_one ... ok
[INFO] [stdout] test tests::twice_under_a_share_counts_the_house_at_each_vote ... ok
[INFO] [stdout] test tests::twice_by_turnover_waits_for_someone_who_did_not_hold_the_kitchen_at_the_first_approval ... ok
[INFO] [stdout] test tests::under_unanimous_one_reasoned_objection_refuses ... ok
[INFO] [stdout] test tests::under_standing_a_holder_writes_and_a_non_holder_proposes ... ok
[INFO] [stdout] test tests::under_unanimous_someone_moving_out_before_they_approve_refuses_it ... ok
[INFO] [stdout] test tests::under_majority_nobody_refuses_alone ... ok
[INFO] [stdout] test tests::you_may_withdraw_your_own_proposal_but_not_somebody_elses_rule ... ok
[INFO] [stdout] test tests::who_decides_answers_without_anyone_having_to_be_asked ... ok
[INFO] [stdout] test tests::your_own_revert_is_yours_the_house_may_undo_the_kitchen_and_not_the_reverse ... ok
[INFO] [stdout] test tests::thirty_people_under_sixty_percent_carry_at_eighteen ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 206 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/laws.rs (/opt/rustwide/target/release/build/canon-core/0907e00e8674fa14/out/laws-0907e00e8674fa14)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test generated_laws_are_indexed_by_the_contract ... ok
[INFO] [stdout] test arrival_order_independent ... ok
[INFO] [stdout] test replay_deterministic ... ok
[INFO] [stdout] test merge_union_laws ... ok
[INFO] [stdout] test share_bars_are_their_rules ... ok
[INFO] [stdout] test agents_cannot_ratify ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests canon_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" "f637de3ead7bbb7d8e725d5fa9857fcfca04b7cf0d4695f75eecad1ee7d9a2c2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f637de3ead7bbb7d8e725d5fa9857fcfca04b7cf0d4695f75eecad1ee7d9a2c2", kill_on_drop: false }`
[INFO] [stdout] f637de3ead7bbb7d8e725d5fa9857fcfca04b7cf0d4695f75eecad1ee7d9a2c2
