[INFO] cloning repository https://github.com/dbareautopi/regista
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dbareautopi/regista" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdbareautopi%2Fregista", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdbareautopi%2Fregista'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 74e508938a64c63cceeb6b7c612424e2f615c991
[INFO] testing dbareautopi/regista against master#cced03bfd61a304243a34504618ecec86c17063f for pr-154065-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdbareautopi%2Fregista" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/dbareautopi/regista
[INFO] finished tweaking git repo https://github.com/dbareautopi/regista
[INFO] tweaked toml for git repo https://github.com/dbareautopi/regista written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/dbareautopi/regista on toolchain cced03bfd61a304243a34504618ecec86c17063f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/dbareautopi/regista 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" "+cced03bfd61a304243a34504618ecec86c17063f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 90eb99281320b684072de268bebc13cc602cb3e7dd1eebaae5b207483916004f
[INFO] running `Command { std: "docker" "start" "-a" "90eb99281320b684072de268bebc13cc602cb3e7dd1eebaae5b207483916004f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "90eb99281320b684072de268bebc13cc602cb3e7dd1eebaae5b207483916004f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "90eb99281320b684072de268bebc13cc602cb3e7dd1eebaae5b207483916004f", kill_on_drop: false }`
[INFO] [stdout] 90eb99281320b684072de268bebc13cc602cb3e7dd1eebaae5b207483916004f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a8ef332c6d6b78689b64034198017b121654a0ef2ce2f7a4e8f31823a29f1703
[INFO] running `Command { std: "docker" "start" "-a" "a8ef332c6d6b78689b64034198017b121654a0ef2ce2f7a4e8f31823a29f1703", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling cc v1.2.61
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling hashbrown v0.17.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling webpki-roots v1.0.7
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling tokio v1.52.2
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling ureq v2.12.1
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling regista v0.9.5 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 52.41s
[INFO] running `Command { std: "docker" "inspect" "a8ef332c6d6b78689b64034198017b121654a0ef2ce2f7a4e8f31823a29f1703", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a8ef332c6d6b78689b64034198017b121654a0ef2ce2f7a4e8f31823a29f1703", kill_on_drop: false }`
[INFO] [stdout] a8ef332c6d6b78689b64034198017b121654a0ef2ce2f7a4e8f31823a29f1703
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 982a6deac6a49a65ccfa2c14294c3c27df626a0964be49cc7ede3ba0c8323b17
[INFO] running `Command { std: "docker" "start" "-a" "982a6deac6a49a65ccfa2c14294c3c27df626a0964be49cc7ede3ba0c8323b17", kill_on_drop: false }`
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling regista v0.9.5 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 14.64s
[INFO] running `Command { std: "docker" "inspect" "982a6deac6a49a65ccfa2c14294c3c27df626a0964be49cc7ede3ba0c8323b17", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "982a6deac6a49a65ccfa2c14294c3c27df626a0964be49cc7ede3ba0c8323b17", kill_on_drop: false }`
[INFO] [stdout] 982a6deac6a49a65ccfa2c14294c3c27df626a0964be49cc7ede3ba0c8323b17
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 46f00f03a019e1185194d41d63b93e688d3d48a5781f2e8b869a834f38db37f1
[INFO] running `Command { std: "docker" "start" "-a" "46f00f03a019e1185194d41d63b93e688d3d48a5781f2e8b869a834f38db37f1", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.26s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/regista-8c09ef2fb4ca7efc)
[INFO] [stdout] 
[INFO] [stdout] running 527 tests
[INFO] [stdout] test app::board::tests::build_board_handles_empty_list ... ok
[INFO] [stdout] test app::board::tests::all_empty_columns_shows_none ... ok
[INFO] [stdout] test app::board::tests::build_board_counts_correctly ... ok
[INFO] [stdout] test app::board::tests::build_board_sorts_by_numeric_id ... ok
[INFO] [stdout] test app::board::tests::canonical_workflow_output_matches_current_behavior ... ok
[INFO] [stdout] test app::board::tests::column_order_comes_from_workflow ... ok
[INFO] [stdout] test app::board::tests::custom_5_column_workflow_shows_exactly_those_columns ... ok
[INFO] [stdout] test app::board::tests::custom_workflow_skips_empty_columns ... ok
[INFO] [stdout] test app::board::tests::build_board_lists_blocked_stories ... ok
[INFO] [stdout] test app::board::tests::build_board_lists_failed_stories_with_reason ... ok
[INFO] [stdout] test app::board::tests::empty_columns_are_skipped ... ok
[INFO] [stdout] test app::board::tests::render_board_accepts_dyn_workflow ... ok
[INFO] [stdout] test app::health::tests::generate_report_all_done ... ok
[INFO] [stdout] test app::health::tests::generate_report_full_rejection_rate ... ok
[INFO] [stdout] test app::health::tests::generate_report_happy_path ... ok
[INFO] [stdout] test app::health::tests::generate_report_half_hour ... ok
[INFO] [stdout] test app::health::tests::generate_report_preserves_cost ... ok
[INFO] [stdout] test app::health::tests::generate_report_zero_invocations ... ok
[INFO] [stdout] test app::health::tests::healthreport_can_be_constructed_with_all_fields ... ok
[INFO] [stdout] test app::health::tests::generate_report_zero_transitions ... ok
[INFO] [stdout] test app::health::tests::healthreport_fields_have_correct_types ... ok
[INFO] [stdout] test app::health::tests::healthreport_is_debug ... ok
[INFO] [stdout] test app::health::tests::healthreport_json_roundtrip ... ok
[INFO] [stdout] test app::health::tests::is_health_checkpoint_custom_interval_5 ... ok
[INFO] [stdout] test app::health::tests::healthreport_serializes_to_json ... ok
[INFO] [stdout] test app::health::tests::healthreport_is_clone ... ok
[INFO] [stdout] test app::health::tests::is_health_checkpoint_interval_1_every_iteration ... ok
[INFO] [stdout] test app::health::tests::generate_report_zero_elapsed_time ... ok
[INFO] [stdout] test app::health::tests::is_health_checkpoint_iteration_zero_always_true ... ok
[INFO] [stdout] test app::board::tests::board_data_serializes_to_json ... ok
[INFO] [stdout] test app::health::tests::is_health_checkpoint_default_interval_10 ... ok
[INFO] [stdout] test app::health::tests::write_final_health_report_creates_file ... ok
[INFO] [stdout] test app::health::tests::write_final_report_all_failed ... ok
[INFO] [stdout] test app::health::tests::write_final_report_all_done ... ok
[INFO] [stdout] test app::pipeline::tests::extract_numeric_fallback_zero ... ok
[INFO] [stdout] test app::pipeline::tests::extract_numeric_from_story_id ... ok
[INFO] [stdout] test app::pipeline::tests::filter_by_epic_excludes_stories_without_epic ... ok
[INFO] [stdout] test app::pipeline::tests::extract_numeric_from_epic_id ... ok
[INFO] [stdout] test app::pipeline::tests::filter_by_epic_includes_only_matching_epic ... ok
[INFO] [stdout] test app::health::tests::write_health_json_overwrites ... ok
[INFO] [stdout] test app::health::tests::write_health_json_creates_file ... ok
[INFO] [stdout] test app::health::tests::write_health_json_content_matches_report ... ok
[INFO] [stdout] test app::pipeline::tests::filter_by_epics_range_inclusive ... ok
[INFO] [stdout] test app::pipeline::tests::filter_by_epics_range_single_epic ... ok
[INFO] [stdout] test app::pipeline::tests::filter_by_story_id_empty_when_no_match ... ok
[INFO] [stdout] test app::health::tests::is_health_checkpoint_interval_zero_only_initial ... ok
[INFO] [stdout] test app::pipeline::tests::filter_by_story_id_includes_only_match ... ok
[INFO] [stdout] test app::health::tests::write_health_json_no_temp_file_left_behind ... ok
[INFO] [stdout] test app::pipeline::tests::filter_combined_story_and_epic_both_must_match ... ok
[INFO] [stdout] test app::pipeline::tests::filter_no_options_keeps_all ... ok
[INFO] [stdout] test app::pipeline::tests::next_status_fix_path ... ok
[INFO] [stdout] test app::pipeline::tests::pick_next_actionable_returns_highest_priority ... ok
[INFO] [stdout] test app::init::tests::init_skips_existing_config ... ok
[INFO] [stdout] test app::init::tests::init_with_claude_creates_agent_files ... ok
[INFO] [stdout] test app::pipeline::tests::pick_next_actionable_breaks_tie_by_lower_id ... ok
[INFO] [stdout] test app::pipeline::tests::next_status_follows_happy_path ... ok
[INFO] [stdout] test app::health::tests::write_health_json_creates_regista_dir ... ok
[INFO] [stdout] test app::init::tests::init_creates_full_structure ... ok
[INFO] [stdout] test app::init::tests::init_creates_config_in_temp_dir ... ok
[INFO] [stdout] test app::init::tests::init_light_skips_skills ... ok
[INFO] [stdout] test app::pipeline::tests::story008::apply_automatic_transitions_keeps_blocked_with_unresolved_deps ... ok
[INFO] [stdout] test app::pipeline::tests::status_priority_order ... ok
[INFO] [stdout] test app::pipeline::tests::pick_next_actionable_returns_none_when_no_actionable ... ok
[INFO] [stdout] test app::pipeline::tests::story008::automatic_fail_transition_does_not_rely_on_workflow_next_status ... ok
[INFO] [stdout] test app::pipeline::tests::story008::canonical_workflow_provides_all_required_methods ... ok
[INFO] [stdout] test app::pipeline::tests::story008::canonical_workflow_unblock_target_is_ready ... ok
[INFO] [stdout] test app::pipeline::tests::story008::apply_automatic_transitions_unblock_uses_workflow_target ... ok
[INFO] [stdout] test app::pipeline::tests::story008::role_resolution_changes_when_workflow_mapping_differs ... ok
[INFO] [stdout] test app::init::tests::init_with_example_creates_story ... ok
[INFO] [stdout] test app::pipeline::tests::run_options_default_has_no_filters ... ok
[INFO] [stdout] test app::pipeline::tests::story008::canonical_workflow_usable_as_trait_object ... ok
[INFO] [stdout] test app::pipeline::tests::story008::process_story_target_status_comes_from_workflow ... ok
[INFO] [stdout] test app::pipeline::tests::story008::canonical_workflow_matches_original_hardcoded_behavior ... ok
[INFO] [stdout] test app::pipeline::tests::story008::role_resolution_chain_uses_workflow_mapping ... ok
[INFO] [stdout] test app::init::tests::init_with_codex_creates_skill_files ... ok
[INFO] [stdout] test app::pipeline::tests::story008::run_dry_next_status_uses_workflow ... ok
[INFO] [stdout] test app::pipeline::tests::story008::unblock_target_changes_when_workflow_changes ... ok
[INFO] [stdout] test app::pipeline::tests::story008::unblock_target_comes_from_workflow_not_hardcoded ... ok
[INFO] [stdout] test app::pipeline::tests::story008::unblock_target_varies_by_workflow ... ok
[INFO] [stdout] test app::pipeline::tests::story008::workflow_next_status_handles_terminal_states ... ok
[INFO] [stdout] test app::pipeline::tests::story008::run_real_can_construct_default_workflow ... ok
[INFO] [stdout] test app::pipeline::tests::story008::workflow_next_status_is_idempotent_for_terminal_states ... ok
[INFO] [stdout] test app::pipeline::tests::story008::workflow_role_mapping_covers_all_states_process_story_handles ... ok
[INFO] [stdout] test app::pipeline::tests::story011::apply_automatic_transitions_does_not_fail_below_threshold ... ok
[INFO] [stdout] test app::pipeline::tests::story011::apply_automatic_transitions_only_fails_stories_at_threshold ... ok
[INFO] [stdout] test app::pipeline::tests::story011::apply_automatic_transitions_handles_missing_reject_cycles_entry ... ok
[INFO] [stdout] test app::pipeline::tests::story011::locks_are_released_after_apply_automatic_transitions ... ok
[INFO] [stdout] test app::pipeline::tests::story011::apply_automatic_transitions_reads_reject_cycles_from_shared_state ... ok
[INFO] [stdout] test app::pipeline::tests::story012::run_real_continues_after_individual_story_error ... ok
[INFO] [stdout] test app::pipeline::tests::story011::save_checkpoint_works_with_external_read_lock ... ok
[INFO] [stdout] test app::pipeline::tests::story012::process_story_does_not_block_runtime ... ok
[INFO] [stdout] test app::pipeline::tests::story011::process_story_failed_returns_early ... ok
[INFO] [stdout] test app::pipeline::tests::story011::process_story_blocked_returns_early ... ok
[INFO] [stdout] test app::pipeline::tests::story012::run_dry_remains_callable_without_tokio_runtime ... ok
[INFO] [stdout] test app::pipeline::tests::story011::process_story_accepts_shared_state ... ok
[INFO] [stdout] test app::pipeline::tests::story011::save_checkpoint_with_empty_state ... ok
[INFO] [stdout] test app::pipeline::tests::story012::run_report_structure_preserved_for_ci_compatibility ... ok
[INFO] [stdout] test app::pipeline::tests::story012::run_real_processes_stories_one_at_a_time ... ok
[INFO] [stdout] test app::pipeline::tests::story011::save_checkpoint_clones_shared_state_under_read_lock ... ok
[INFO] [stdout] test app::pipeline::tests::story008::workflow_role_mapping_is_deterministic ... ok
[INFO] [stdout] test app::pipeline::tests::story012::process_story_is_async_and_returns_future ... ok
[INFO] [stdout] test app::pipeline::tests::story012::process_story_awaits_agent_and_propagates_result ... ok
[INFO] [stdout] test app::pipeline::tests::story012::run_report_with_stop_reason_serializes_reason ... ok
[INFO] [stdout] test app::pipeline::tests::story012::run_report_without_stop_reason_omits_field ... ok
[INFO] [stdout] test app::pipeline::tests::story027::ca10_final_summary_shows_correct_token_sums ... ok
[INFO] [stdout] test app::pipeline::tests::story027::ca10_token_totals_sum_all_stories ... ok
[INFO] [stdout] test app::pipeline::tests::story027::ca10_token_totals_single_story ... ok
[INFO] [stdout] test app::pipeline::tests::story027::ca10_token_totals_zero_in_summary ... ok
[INFO] [stdout] test app::pipeline::tests::story027::ca13_diff_skipped_in_dry_run ... ok
[INFO] [stdout] test app::pipeline::tests::story012::run_real_with_no_stories_completes_immediately ... ok
[INFO] [stdout] test app::pipeline::tests::story027::ca13_dry_run_blocks_diff_and_token_parsing_flow ... ok
[INFO] [stdout] test app::pipeline::tests::story027::ca1_diff_runs_in_detailed_mode_with_git_enabled ... ok
[INFO] [stdout] test app::pipeline::tests::story027::ca3_diff_skipped_in_compact_mode ... ok
[INFO] [stdout] test app::pipeline::tests::story027::ca10_token_totals_empty_returns_zero ... ok
[INFO] [stdout] test app::pipeline::tests::story027::ca1_diff_only_when_all_conditions_met ... ok
[INFO] [stdout] test app::pipeline::tests::story027::ca3_compact_supresses_diff_regardless_of_other_flags ... ok
[INFO] [stdout] test app::pipeline::tests::story027::ca2_diff_header_format ... ok
[INFO] [stdout] test app::pipeline::tests::story027::ca6_skill_path_resolved_via_skill_for_role ... ok
[INFO] [stdout] test app::pipeline::tests::story027::ca8_token_accumulation_independent_per_story ... ok
[INFO] [stdout] test app::pipeline::tests::story027::ca8_tokens_accumulated_in_shared_state_by_story_id ... ok
[INFO] [stdout] test app::pipeline::tests::story027::ca9_elapsed_time_formatted_in_h_m_s ... ok
[INFO] [stdout] test app::pipeline::tests::story027::ca9_elapsed_time_less_than_hour ... ok
[INFO] [stdout] test app::pipeline::tests::story027::ca9_failed_ids_listed_in_parentheses ... ok
[INFO] [stdout] test app::pipeline::tests::story012::run_real_with_terminal_stories_completes_in_one_iteration ... ok
[INFO] [stdout] test app::pipeline::tests::story027::ca5_agent_line_follows_exact_format ... ok
[INFO] [stdout] test app::pipeline::tests::story012::run_dry_with_stories_produces_valid_report ... ok
[INFO] [stdout] test app::pipeline::tests::story027::ca5_agent_line_includes_model_in_brackets ... ok
[INFO] [stdout] test app::pipeline::tests::story027::ca5_agent_line_with_special_chars_in_model ... ok
[INFO] [stdout] test app::pipeline::tests::story012::run_real_shared_state_reflects_sequential_processing ... ok
[INFO] [stdout] test app::pipeline::tests::story027::ca5_agent_line_with_desconocido_model ... ok
[INFO] [stdout] test app::pipeline::tests::story027::ca4_diff_skip_is_silent_no_panic ... ok
[INFO] [stdout] test app::pipeline::tests::story012::run_real_with_draft_story_invokes_po_path ... ok
[INFO] [stdout] test app::pipeline::tests::story027::post_agent_flow_order_is_respected ... ok
[INFO] [stdout] test app::pipeline::tests::story012::tokio_features_for_async_migration_available ... ok
[INFO] [stdout] test app::pipeline::tests::story027::ca6_model_for_role_resolution_with_correct_skill_path ... ok
[INFO] [stdout] test app::pipeline::tests::story027::ca9_summary_block_contains_all_required_fields ... ok
[INFO] [stdout] test app::plan::tests::plan_prompt_initial_contains_spec ... ok
[INFO] [stdout] test app::plan::tests::plan_prompt_initial_no_limit_when_zero ... ok
[INFO] [stdout] test app::pipeline::tests::story027::ca7_parse_tokens_from_combined_stdout_stderr ... ok
[INFO] [stdout] test app::plan::tests::plan_prompt_fix_includes_errors ... ok
[INFO] [stdout] test app::pipeline::tests::story027::ca9_summary_counts_are_correct ... ok
[INFO] [stdout] test app::pipeline::tests::story027::compact_skips_diff_but_not_token_parsing ... ok
[INFO] [stdout] test app::pipeline::tests::story027::ca4_diff_skipped_when_git_disabled ... ok
[INFO] [stdout] test app::plan::tests::plan_prompt_initial_respects_max_stories ... ok
[INFO] [stdout] test app::update::tests::version_comparison ... ok
[INFO] [stdout] test app::validate::tests::validate_no_dependency_issues ... ok
[INFO] [stdout] test app::validate::tests::validate_cycle_detected ... ok
[INFO] [stdout] test app::update::tests::current_version_parses ... ok
[INFO] [stdout] test app::validate::tests::validate_providers_reports_error_when_binary_missing ... ok
[INFO] [stdout] test app::validate::tests::validate_providers_no_warning_when_codex_is_installed ... ok
[INFO] [stdout] test cli::args::tests::board_with_epic_and_json ... ok
[INFO] [stdout] test app::plan::tests::count_files_empty_dir ... ok
[INFO] [stdout] test app::plan::tests::count_files_counts_md_files ... ok
[INFO] [stdout] test cli::args::tests::compact_combined_with_other_flags ... ok
[INFO] [stdout] test app::validate::tests::validate_providers_reports_warning_for_codex ... ok
[INFO] [stdout] test app::validate::tests::validate_missing_dependency_detected ... ok
[INFO] [stdout] test cli::args::tests::board_with_config ... ok
[INFO] [stdout] test cli::args::tests::compact_with_auto ... ok
[INFO] [stdout] test app::validate::tests::validate_providers_checks_all_roles ... ok
[INFO] [stdout] test cli::args::tests::compact_flag_sets_true ... ok
[INFO] [stdout] test app::pipeline::tests::story027::ca7_parse_tokens_handles_empty_output ... ok
[INFO] [stdout] test cli::args::tests::auto_full ... ok
[INFO] [stdout] test app::pipeline::tests::story027::ca7_parse_tokens_handles_none_gracefully ... ok
[INFO] [stdout] test cli::args::tests::all_pipeline_subcommands_accept_compact ... ok
[INFO] [stdout] test cli::args::tests::board_defaults ... ok
[INFO] [stdout] test cli::args::tests::init_with_example ... ok
[INFO] [stdout] test cli::args::tests::kill_subcommand ... ok
[INFO] [stdout] test cli::args::tests::init_subcommand ... ok
[INFO] [stdout] test cli::args::tests::compact_with_plan ... ok
[INFO] [stdout] test cli::args::tests::compact_default_false ... ok
[INFO] [stdout] test cli::handlers::tests::build_daemon_args_for_run ... ok
[INFO] [stdout] test cli::handlers::tests::exit_code_stopped_early_is_3 ... ok
[INFO] [stdout] test cli::handlers::tests::exit_code_with_failures_is_2 ... ok
[INFO] [stdout] test cli::args::tests::logs_subcommand ... ok
[INFO] [stdout] test cli::args::tests::plan_with_logs ... ok
[INFO] [stdout] test cli::args::tests::status_subcommand ... ok
[INFO] [stdout] test cli::args::tests::plan_basic ... ok
[INFO] [stdout] test cli::args::tests::run_epic_conflicts_with_epics ... ok
[INFO] [stdout] test cli::args::tests::run_defaults ... ok
[INFO] [stdout] test cli::args::tests::logs_default_dir ... ok
[INFO] [stdout] test cli::args::tests::plan_with_replace_and_limit ... ok
[INFO] [stdout] test cli::handlers::tests::story026::compact_header_is_single_line ... ok
[INFO] [stdout] test cli::handlers::tests::story026::compact_header_shows_auto_max_iter ... ok
[INFO] [stdout] test cli::handlers::tests::build_daemon_args_for_plan ... ok
[INFO] [stdout] test cli::handlers::tests::story026::compact_header_contains_required_fields ... ok
[INFO] [stdout] test cli::handlers::tests::exit_code_all_done_is_zero ... ok
[INFO] [stdout] test cli::handlers::tests::story026::compact_differs_from_detailed ... ok
[INFO] [stdout] test cli::args::tests::run_with_filters ... ok
[INFO] [stdout] test cli::args::tests::validate_subcommand ... ok
[INFO] [stdout] test cli::handlers::tests::story026::detailed_header_has_block_format ... ok
[INFO] [stdout] test cli::handlers::tests::story026::header_reflects_yaml_frontmatter_model ... ok
[INFO] [stdout] test cli::handlers::tests::story026::header_is_suitable_for_tracing_info_macro ... ok
[INFO] [stdout] test cli::handlers::tests::story026::detailed_header_shows_configured_provider_name ... ok
[INFO] [stdout] test cli::handlers::tests::story026::header_uses_model_for_role_resolution ... ok
[INFO] [stdout] test cli::handlers::tests::story026::detailed_header_contains_all_sections ... ok
[INFO] [stdout] test cli::handlers::tests::story026::git_disabled_shows_deshabilitado ... ok
[INFO] [stdout] test cli::handlers::tests::story026::detailed_header_includes_project_path ... ok
[INFO] [stdout] test cli::handlers::tests::story026::header_does_not_panic_with_nonexistent_skill_paths ... ok
[INFO] [stdout] test cli::handlers::tests::story026::detailed_header_models_line_has_comma_separated_format ... ok
[INFO] [stdout] test cli::handlers::tests::story026::header_function_is_callable_from_daemon_context ... ok
[INFO] [stdout] test cli::handlers::tests::story026::git_enabled_shows_habilitado ... ok
[INFO] [stdout] test cli::handlers::tests::story026::limits_line_shows_stories_multiplier_notation_when_auto ... ok
[INFO] [stdout] test cli::handlers::tests::story026::limits_shows_auto_above_floor ... ok
[INFO] [stdout] test cli::handlers::tests::story026::limits_shows_default_values ... ok
[INFO] [stdout] test cli::handlers::tests::story026::hooks_lists_all_three_when_configured ... ok
[INFO] [stdout] test cli::handlers::tests::story026::models_show_desconocido_by_default ... ok
[INFO] [stdout] test cli::handlers::tests::story026::hooks_lists_only_configured_hook_not_all ... ok
[INFO] [stdout] test cli::handlers::tests::story026::limits_shows_explicit_max_iter ... ok
[INFO] [stdout] test cli::handlers::tests::story026::role_model_overrides_global_in_header ... ok
[INFO] [stdout] test config::tests::default_config_is_valid ... ok
[INFO] [stdout] test cli::handlers::tests::story026::hooks_shows_ninguno_when_empty ... ok
[INFO] [stdout] test cli::handlers::tests::story026::limits_shows_floor_when_auto_below_minimum ... ok
[INFO] [stdout] test config::tests::default_stack_is_all_none ... ok
[INFO] [stdout] test cli::handlers::tests::story026::hooks_lists_active_hooks ... ok
[INFO] [stdout] test config::tests::default_skill_for_role_uses_pi_convention ... ok
[INFO] [stdout] test cli::handlers::tests::story026::limits_includes_reject_and_timeout ... ok
[INFO] [stdout] test config::tests::parse_role_specific_provider ... ok
[INFO] [stdout] test config::tests::parse_minimal_config_just_provider ... ok
[INFO] [stdout] test cli::handlers::tests::story026::limits_shows_effective_max_iter_auto ... ok
[INFO] [stdout] test config::tests::parse_stack_config_partial ... ok
[INFO] [stdout] test config::tests::story002_ca1_all_canonical_roles_return_pi_by_default ... ok
[INFO] [stdout] test cli::handlers::tests::story026::models_inherit_global_model ... ok
[INFO] [stdout] test cli::handlers::tests::story026::hooks_lists_only_post_dev_when_its_the_only_one_configured ... ok
[INFO] [stdout] test config::tests::parse_full_config ... ok
[INFO] [stdout] test config::tests::parse_stack_config_all_fields ... ok
[INFO] [stdout] test config::tests::default_provider_for_role_is_pi ... ok
[INFO] [stdout] test config::tests::parse_mixed_providers_with_explicit_skills ... ok
[INFO] [stdout] test config::tests::story002_ca1_inherits_global_provider ... ok
[INFO] [stdout] test config::tests::story002_ca1_each_canonical_provider_per_role ... ok
[INFO] [stdout] test config::tests::parse_explicit_skill_path ... ok
[INFO] [stdout] test config::tests::story002_ca1_method_exists_provider_for_role ... ok
[INFO] [stdout] test config::tests::story002_ca2_claude_convention_skill_paths ... ok
[INFO] [stdout] test config::tests::story002_ca1_unknown_role_returns_global ... ok
[INFO] [stdout] test config::tests::story002_ca1_role_specific_provider_overrides_global ... ok
[INFO] [stdout] test config::tests::story002_ca2_codex_convention_skill_paths ... ok
[INFO] [stdout] test config::tests::story002_ca2_explicit_skill_path_overrides_convention ... ok
[INFO] [stdout] test config::tests::story002_ca2_method_exists_skill_for_role ... ok
[INFO] [stdout] test config::tests::story002_ca2_unknown_role_returns_empty_string ... ok
[INFO] [stdout] test config::tests::story002_ca3_all_roles_is_iterable ... ok
[INFO] [stdout] test config::tests::story002_ca2_opencode_convention_skill_paths ... ok
[INFO] [stdout] test config::tests::story002_ca2_mixed_provider_and_explicit_skill ... ok
[INFO] [stdout] test config::tests::story002_ca5_caller_pattern_provider_and_skill_for_role ... ok
[INFO] [stdout] test config::tests::story019_ca1_agents_config_model_field_exists_and_defaults_none ... ok
[INFO] [stdout] test config::tests::story002_ca2_pi_convention_skill_paths ... ok
[INFO] [stdout] test config::tests::story019_ca1_default_config_reports_model_as_none ... ok
[INFO] [stdout] test config::tests::story002_ca3_all_roles_returns_four_canonical_roles ... ok
[INFO] [stdout] test config::tests::story002_ca5_caller_pattern_mixed_providers ... ok
[INFO] [stdout] test config::tests::story019_ca3_model_for_role_accepts_unknown_role ... ok
[INFO] [stdout] test config::tests::story019_ca4_returns_role_model_when_defined ... ok
[INFO] [stdout] test config::tests::story019_ca10_four_resolution_cases_covered ... ok
[INFO] [stdout] test config::tests::story019_ca2_agent_role_config_model_field_exists_and_defaults_none ... ok
[INFO] [stdout] test config::tests::story019_ca2_all_roles_model_default_none ... ok
[INFO] [stdout] test config::tests::story002_ca5_caller_pattern_plan_po_role ... ok
[INFO] [stdout] test config::tests::story019_ca3_model_for_role_accepts_all_canonical_roles ... ok
[INFO] [stdout] test config::tests::story019_ca3_model_for_role_exists_and_compiles ... ok
[INFO] [stdout] test config::tests::story019_ca5_returns_global_model_when_no_role_model ... ok
[INFO] [stdout] test config::tests::story019_ca8_empty_skill_path_does_not_panic ... ok
[INFO] [stdout] test config::tests::story019_ca7_returns_desconocido_when_no_model_anywhere ... ok
[INFO] [stdout] test config::tests::story019_ca6_reads_yaml_for_role_without_config ... ok
[INFO] [stdout] test config::tests::story019_ca4_role_model_overrides_global ... ok
[INFO] [stdout] test config::tests::story019_ca8_missing_skill_returns_desconocido ... ok
[INFO] [stdout] test config::tests::story019_ca7_returns_desconocido_when_yaml_has_no_model ... ok
[INFO] [stdout] test config::tests::story019_ca6_reads_yaml_frontmatter_when_no_config_model ... ok
[INFO] [stdout] test config::tests::story019_ca8_no_panic_on_missing_skill_path ... ok
[INFO] [stdout] test config::tests::story019_ca5_global_overrides_yaml_frontmatter ... ok
[INFO] [stdout] test config::tests::story019_ca9_existing_config_without_model_parses_fine ... ok
[INFO] [stdout] test config::tests::story019_ca9_config_with_role_model_parses ... ok
[INFO] [stdout] test config::tests::story019_ca9_config_with_global_model_parses ... ok
[INFO] [stdout] test config::tests::story019_ca9_full_config_without_model_fields_still_parses ... ok
[INFO] [stdout] test domain::deadlock::tests::actionable_story_means_no_deadlock ... ok
[INFO] [stdout] test domain::deadlock::tests::blocked_by_draft_triggers_po_for_draft ... ok
[INFO] [stdout] test domain::deadlock::tests::all_draft_triggers_po ... ok
[INFO] [stdout] test domain::deadlock::tests::all_done_means_pipeline_complete ... ok
[INFO] [stdout] test domain::deadlock::tests::cycle_detection_triggers_po ... ok
[INFO] [stdout] test domain::deadlock::tests::mixed_done_and_failed_means_pipeline_complete ... ok
[INFO] [stdout] test domain::graph::tests::blocks_count_works ... ok
[INFO] [stdout] test domain::graph::tests::no_cycle_linear_chain ... ok
[INFO] [stdout] test domain::graph::tests::cycle_three_nodes ... ok
[INFO] [stdout] test domain::prompts::tests::all_prompts_contain_no_preguntes ... ok
[INFO] [stdout] test domain::graph::tests::cycle_two_nodes ... ok
[INFO] [stdout] test domain::prompts::tests::dev_fix_includes_stack_commands ... ok
[INFO] [stdout] test domain::prompts::tests::dev_implement_includes_stack_commands ... ok
[INFO] [stdout] test domain::prompts::tests::dev_fix_includes_rejection ... ok
[INFO] [stdout] test domain::prompts::tests::qa_fix_tests_includes_stack_commands ... ok
[INFO] [stdout] test domain::prompts::tests::po_plan_contains_story_id ... ok
[INFO] [stdout] test domain::deadlock::tests::blocked_by_inprogress_is_not_deadlock ... ok
[INFO] [stdout] test domain::prompts::tests::po_plan_sin_stack_commands ... ok
[INFO] [stdout] test domain::prompts::tests::all_prompts_contain_story_id ... ok
[INFO] [stdout] test domain::prompts::tests::qa_tests_includes_stack_commands ... ok
[INFO] [stdout] test domain::prompts::tests::po_validate_sin_stack_commands ... ok
[INFO] [stdout] test domain::prompts::tests::qa_tests_incluye_reglas_estrictas ... ok
[INFO] [stdout] test domain::prompts::tests::qa_tests_menciona_placeholders_minimos ... ok
[INFO] [stdout] test domain::prompts::tests::qa_tests_sin_stack_no_menciona_comandos ... ok
[INFO] [stdout] test domain::prompts::tests::stack_render_all_commands ... ok
[INFO] [stdout] test domain::prompts::tests::stack_render_partial_omits_missing ... ok
[INFO] [stdout] test domain::state::tests::actionable_states ... ok
[INFO] [stdout] test domain::state::tests::blocked_to_ready_by_orchestrator ... ok
[INFO] [stdout] test domain::prompts::tests::reviewer_includes_stack_commands ... ok
[INFO] [stdout] test domain::state::tests::businessreview_to_done_by_po ... ok
[INFO] [stdout] test domain::prompts::tests::stack_render_empty_is_generic ... ok
[INFO] [stdout] test domain::state::tests::businessreview_to_inreview_by_po ... ok
[INFO] [stdout] test domain::state::tests::dev_cannot_mark_done ... ok
[INFO] [stdout] test domain::state::tests::draft_cannot_go_directly_to_done ... ok
[INFO] [stdout] test domain::state::tests::failed_cannot_transition_to_anything ... ok
[INFO] [stdout] test domain::state::tests::businessreview_to_inprogress_by_po ... ok
[INFO] [stdout] test domain::state::tests::inreview_cannot_be_done_by_reviewer ... ok
[INFO] [stdout] test domain::state::tests::display_formats_correctly ... ok
[INFO] [stdout] test domain::state::tests::inreview_to_businessreview_by_reviewer ... ok
[INFO] [stdout] test domain::state::tests::inreview_to_inprogress_by_reviewer ... ok
[INFO] [stdout] test domain::state::tests::qa_cannot_mark_done ... ok
[INFO] [stdout] test domain::state::tests::ready_cannot_be_done_by_dev ... ok
[INFO] [stdout] test domain::state::tests::ready_to_testsready_by_qa ... ok
[INFO] [stdout] test domain::state::tests::ready_to_draft_by_qa ... ok
[INFO] [stdout] test domain::state::tests::story011::read_lock_allows_reading ... ok
[INFO] [stdout] test domain::state::tests::story011::multiple_readers_allowed ... ok
[INFO] [stdout] test domain::state::tests::story011::lock_is_released_after_scope ... ok
[INFO] [stdout] test domain::state::tests::done_cannot_transition_to_anything ... ok
[INFO] [stdout] test domain::state::tests::draft_to_ready_by_po ... ok
[INFO] [stdout] test domain::state::tests::inprogress_to_inreview_by_dev ... ok
[INFO] [stdout] test domain::state::tests::allowed_from_returns_valid_transitions ... ok
[INFO] [stdout] test domain::state::tests::story011::shared_state_clone_shares_data ... ok
[INFO] [stdout] test domain::deadlock::tests::priority_goes_to_highest_unblocks ... ok
[INFO] [stdout] test domain::state::tests::story011::shared_state_default_is_empty ... ok
[INFO] [stdout] test domain::state::tests::story011::shared_state_has_required_fields ... ok
[INFO] [stdout] test domain::state::tests::story011::write_lock_allows_mutation ... ok
[INFO] [stdout] test domain::state::tests::story020::clone_append_visible_in_original ... ok
[INFO] [stdout] test domain::state::tests::story020::clone_shares_existing_fields ... ok
[INFO] [stdout] test domain::state::tests::story020::clone_shares_token_usage_write_visible ... ok
[INFO] [stdout] test domain::state::tests::story011::write_lock_is_exclusive ... ok
[INFO] [stdout] test domain::state::tests::story020::shared_state_new_initializes_token_usage ... ok
[INFO] [stdout] test domain::state::tests::story020::multiple_clones_share_same_token_usage ... ok
[INFO] [stdout] test domain::state::tests::story020::shared_state_new_isolates_token_usage ... ok
[INFO] [stdout] test domain::state::tests::story020::token_count_exists_with_correct_fields ... ok
[INFO] [stdout] test domain::state::tests::story020::token_count_default_is_zero ... ok
[INFO] [stdout] test domain::state::tests::story020::token_count_zero_values ... ok
[INFO] [stdout] test domain::state::tests::story020::token_count_implements_debug ... ok
[INFO] [stdout] test domain::state::tests::story020::shared_state_has_token_usage_field ... ok
[INFO] [stdout] test domain::state::tests::story020::shared_state_implements_clone ... ok
[INFO] [stdout] test domain::state::tests::story020::token_usage_append_to_existing_story ... ok
[INFO] [stdout] test domain::state::tests::story020::token_count_implements_clone ... ok
[INFO] [stdout] test domain::state::tests::story020::token_usage_default_is_empty ... ok
[INFO] [stdout] test domain::state::tests::story020::token_usage_multiple_readers ... ok
[INFO] [stdout] test domain::state::tests::story020::token_usage_multiple_stories ... ok
[INFO] [stdout] test domain::state::tests::story020::token_usage_write_lock_is_exclusive ... ok
[INFO] [stdout] test domain::state::tests::story020::token_usage_writable_after_new ... ok
[INFO] [stdout] test domain::state::tests::story020::token_count_implements_default ... ok
[INFO] [stdout] test domain::story::tests::extract_section_returns_correct_content ... ok
[INFO] [stdout] test domain::state::tests::testsready_to_inreview_by_dev ... ok
[INFO] [stdout] test domain::state::tests::story020::token_usage_write_then_read ... ok
[INFO] [stdout] test domain::state::tests::testsready_to_testsready_by_qa ... ok
[INFO] [stdout] test domain::story::tests::parse_last_actor_none_when_empty_log ... ok
[INFO] [stdout] test domain::story::tests::parse_last_rejection_finds_rechazo ... ok
[INFO] [stdout] test domain::story::tests::parse_last_actor_none_when_no_activity_log ... ok
[INFO] [stdout] test domain::story::tests::parse_missing_section ... ok
[INFO] [stdout] test domain::state::tests::terminal_states ... ok
[INFO] [stdout] test domain::story::tests::parse_status_blocked ... ok
[INFO] [stdout] test domain::story::tests::parse_status_business_review ... ok
[INFO] [stdout] test domain::story::tests::parse_status_draft ... ok
[INFO] [stdout] test domain::workflow::tests::canonical_column_order::failed_is_last_column ... ok
[INFO] [stdout] test domain::story::tests::parse_last_rejection_none_when_no_rejection ... ok
[INFO] [stdout] test domain::workflow::tests::canonical_column_order::returns_nine_columns_in_correct_order ... ok
[INFO] [stdout] test domain::workflow::tests::canonical_workflow_can_be_constructed ... ok
[INFO] [stdout] test domain::workflow::tests::canonical_workflow_can_be_used_as_trait_object ... ok
[INFO] [stdout] test domain::workflow::tests::canonical_column_order::draft_is_first_column ... ok
[INFO] [stdout] test domain::workflow::tests::canonical_column_order::columns_are_in_priority_order ... ok
[INFO] [stdout] test domain::workflow::tests::canonical_column_order::has_exactly_nine_columns ... ok
[INFO] [stdout] test domain::story::tests::parse_last_actor_extracts_dev ... ok
[INFO] [stdout] test domain::workflow::tests::map_status_to_role::all_states_have_expected_role ... ok
[INFO] [stdout] test domain::workflow::tests::map_status_to_role::product_owner_states ... ok
[INFO] [stdout] test domain::story::tests::parse_last_actor_extracts_qa ... ok
[INFO] [stdout] test domain::workflow::tests::map_status_to_role::developer_states ... ok
[INFO] [stdout] test domain::workflow::tests::map_status_to_role::reviewer_state ... ok
[INFO] [stdout] test domain::workflow::tests::next_status::all_states_have_expected_output ... ok
[INFO] [stdout] test domain::workflow::tests::next_status::blocked_unblocks_to_ready ... ok
[INFO] [stdout] test domain::workflow::tests::next_status::happy_path ... ok
[INFO] [stdout] test domain::workflow::tests::next_status::terminal_states_stay ... ok
[INFO] [stdout] test domain::story::tests::parse_blockers_multiple ... ok
[INFO] [stdout] test domain::workflow::tests::next_status::fix_path_in_progress_to_in_review ... ok
[INFO] [stdout] test domain::workflow::tests::map_status_to_role::fallback_to_product_owner ... ok
[INFO] [stdout] test infra::agent::tests::agent_options_default ... ok
[INFO] [stdout] test domain::workflow::tests::workflow_methods_accept_immutable_reference ... ok
[INFO] [stdout] test domain::workflow::tests::workflow_is_deterministic ... ok
[INFO] [stdout] test infra::agent::tests::build_feedback_prompt_truncates_long_output ... ok
[INFO] [stdout] test infra::agent::tests::invoke_with_retry_fails_when_agent_not_installed ... ignored, requiere pi instalado
[INFO] [stdout] test domain::workflow::tests::map_status_to_role::qa_engineer_state ... ok
[INFO] [stdout] test infra::agent::tests::build_feedback_prompt_includes_error ... ok
[INFO] [stdout] test infra::agent::tests::story021::codex_extra_whitespace ... ok
[INFO] [stdout] test infra::agent::tests::story021::accepts_string_slice ... ok
[INFO] [stdout] test infra::agent::tests::save_agent_decision_noops_when_decisions_dir_is_none ... ok
[INFO] [stdout] test infra::agent::tests::save_agent_decision_noops_when_story_id_is_none ... ok
[INFO] [stdout] test infra::agent::tests::save_agent_decision_creates_file_with_content ... ok
[INFO] [stdout] test infra::agent::tests::story021::accepts_string_reference ... ok
[INFO] [stdout] test infra::agent::tests::story021::claude_standard_large ... ok
[INFO] [stdout] test infra::agent::tests::story021::claude_alt_with_text_between ... ok
[INFO] [stdout] test infra::agent::tests::story021::codex_pattern ... ok
[INFO] [stdout] test infra::agent::tests::story021::claude_alt_pattern ... ok
[INFO] [stdout] test infra::agent::tests::story021::claude_standard_pattern ... ok
[INFO] [stdout] test infra::agent::tests::invoke_once_is_async ... ok
[INFO] [stdout] test infra::agent::tests::invoke_once_respects_timeout ... ok
[INFO] [stdout] test infra::agent::tests::invoke_with_retry_is_async ... ok
[INFO] [stdout] test infra::agent::tests::story021::commas_in_both_numbers ... ok
[INFO] [stdout] test infra::agent::tests::story021::commas_in_pi_pattern ... ok
[INFO] [stdout] test infra::agent::tests::story021::commas_in_opencode_pattern ... ok
[INFO] [stdout] test infra::agent::tests::story021::decimal_numbers_not_recognized ... ok
[INFO] [stdout] test infra::agent::tests::story021::multiple_commas_millions ... ok
[INFO] [stdout] test infra::agent::tests::story021::deterministic_across_multiple_calls ... ok
[INFO] [stdout] test infra::agent::tests::story021::commas_in_codex_pattern ... ok
[INFO] [stdout] test infra::agent::tests::story021::pattern_embedded_in_large_output ... ok
[INFO] [stdout] test infra::agent::tests::story021::function_exists_and_is_callable ... ok
[INFO] [stdout] test infra::agent::tests::story021::negative_numbers_not_recognized ... ok
[INFO] [stdout] test infra::agent::tests::story021::opencode_with_extra_text ... ok
[INFO] [stdout] test infra::agent::tests::story021::pi_alt_multiline ... ok
[INFO] [stdout] test infra::agent::tests::story021::pi_standard_zero_output ... ok
[INFO] [stdout] test infra::agent::tests::story021::pi_standard_small_numbers ... ok
[INFO] [stdout] test infra::agent::tests::story021::multiple_patterns_returns_first_match ... ok
[INFO] [stdout] test infra::agent::tests::story021::pi_standard_large_numbers ... ok
[INFO] [stdout] test infra::agent::tests::story021::returns_none_for_empty_string ... ok
[INFO] [stdout] test infra::agent::tests::story021::returns_none_for_input_only ... ok
[INFO] [stdout] test infra::agent::tests::story021::pi_alt_with_interleaving_text ... ok
[INFO] [stdout] test infra::agent::tests::story021::pi_standard_pattern ... ok
[INFO] [stdout] test infra::agent::tests::story021::opencode_pattern ... ok
[INFO] [stdout] test infra::agent::tests::story021::realistic_opencode_output ... ok
[INFO] [stdout] test infra::agent::tests::story021::returns_none_for_irrelevant_text ... ok
[INFO] [stdout] test infra::agent::tests::story021::returns_none_for_numbers_without_keywords ... ok
[INFO] [stdout] test infra::agent::tests::story021::returns_none_for_output_only ... ok
[INFO] [stdout] test infra::agent::tests::story021::returns_none_for_whitespace_only ... ok
[INFO] [stdout] test infra::agent::tests::story021::commas_in_claude_pattern ... ok
[INFO] [stdout] test infra::agent::tests::story021::returns_none_for_unknown_format ... ok
[INFO] [stdout] test infra::agent::tests::story021::token_word_in_other_context ... ok
[INFO] [stdout] test infra::agent::tests::story021::whitespace_resilience ... ok
[INFO] [stdout] test infra::agent::tests::story022::ca10_call_signature_matches_pipeline_usage ... ok
[INFO] [stdout] test infra::agent::tests::story021::realistic_pi_output ... ok
[INFO] [stdout] test infra::agent::tests::story021::pi_alt_pattern ... ok
[INFO] [stdout] test infra::agent::tests::story022::ca11_agent_result_all_fields_publicly_accessible ... ok
[INFO] [stdout] test infra::agent::tests::story022::ca11_agent_result_exit_code_is_i32 ... ok
[INFO] [stdout] test infra::agent::tests::story022::ca11_agent_result_has_stdout_stderr_exit_code ... ok
[INFO] [stdout] test infra::agent::tests::story022::ca11_agent_result_stdout_is_owned_string ... ok
[INFO] [stdout] test infra::agent::tests::story021::realistic_claude_output ... ok
[INFO] [stdout] test infra::agent::tests::story022::ca11_agent_result_stderr_is_string ... ok
[INFO] [stdout] test infra::agent::tests::story021::all_patterns_stable_across_calls ... ok
[INFO] [stdout] test infra::agent::tests::story022::ca1_invoke_with_retry_accepts_verbose_false ... ok
[INFO] [stdout] test infra::agent::tests::invoke_with_retry_preserves_retry_count ... ok
[INFO] [stdout] test infra::agent::tests::story022::ca2_verbose_true_handles_empty_output ... ok
[INFO] [stdout] test infra::agent::tests::story022::ca1_invoke_with_retry_accepts_verbose_true ... ok
[INFO] [stdout] test infra::agent::tests::story022::ca2_verbose_true_handles_single_line ... ok
[INFO] [stdout] test infra::agent::tests::story022::ca1_invoke_with_retry_blocking_accepts_verbose ... ok
[INFO] [stdout] test infra::agent::tests::tokio_is_a_dependency ... ok
[INFO] [stdout] test infra::checkpoint::tests::build_from_shared_state_locks ... ok
[INFO] [stdout] test infra::agent::tests::story022::ca4_verbose_accumulates_full_stdout_in_output ... ok
[INFO] [stdout] test infra::checkpoint::tests::fresh_state_is_empty ... ok
[INFO] [stdout] test infra::checkpoint::tests::load_returns_none_when_no_file ... ok
[INFO] [stdout] test infra::agent::tests::story022::ca2_verbose_true_handles_multiline_output ... ok
[INFO] [stdout] test infra::checkpoint::tests::load_returns_none_when_corrupt ... ok
[INFO] [stdout] test infra::checkpoint::tests::remove_cleans_file ... ok
[INFO] [stdout] test infra::daemon::tests::get_all_child_pids_impossible_returns_empty ... ok
[INFO] [stdout] test infra::checkpoint::tests::state_save_and_load_roundtrips ... ok
[INFO] [stdout] test infra::daemon::tests::is_process_alive_init_is_pid1 ... ok
[INFO] [stdout] test infra::daemon::tests::is_process_alive_returns_false_for_impossible_pid ... ok
[INFO] [stdout] test infra::daemon::tests::get_all_child_pids_init_has_children ... ok
[INFO] [stdout] test infra::daemon::tests::state_load_returns_none_when_no_file ... ok
[INFO] [stdout] test infra::daemon::tests::pid_file_path_ends_with_correct_name ... ok
[INFO] [stdout] test infra::daemon::tests::state_remove_cleans_up ... ok
[INFO] [stdout] test infra::daemon::tests::state_save_and_load_roundtrips ... ok
[INFO] [stdout] test infra::agent::tests::story022::ca6_non_verbose_works_correctly ... ok
[INFO] [stdout] test infra::agent::tests::story022::ca5_stderr_empty_when_no_stderr_output ... ok
[INFO] [stdout] test infra::agent::tests::story022::ca5_stderr_captured_in_verbose_mode ... ok
[INFO] [stdout] test infra::agent::tests::story022::ca5_stderr_captured_in_non_verbose_mode ... ok
[INFO] [stdout] test infra::agent::tests::story022::ca4_agent_result_contains_stdout_verbose_true ... ok
[INFO] [stdout] test infra::agent::tests::story022::ca3_empty_lines_not_logged ... ok
[INFO] [stdout] test infra::agent::tests::story022::ca3_verbose_logs_lines_with_pipe_prefix ... ok
[INFO] [stdout] test infra::agent::tests::story022::ca5_stderr_not_streamed_to_log ... ok
[INFO] [stdout] hello from hook
[INFO] [stdout] test infra::hooks::tests::run_hook_executes_shell_commands ... ok
[INFO] [stdout] test infra::agent::tests::story022::ca6_both_modes_produce_same_stdout ... ok
[INFO] [stdout] test infra::hooks::tests::run_hook_callable_from_sync_context ... ok
[INFO] [stdout] test infra::hooks::tests::run_hook_with_none_returns_ok ... ok
[INFO] [stdout] test infra::providers::tests::claude_build_args_includes_bypass_permissions ... ok
[INFO] [stdout] test infra::providers::tests::claude_instruction_dir ... ok
[INFO] [stdout] test infra::hooks::tests::run_hook_fails_with_invalid_command ... ok
[INFO] [stdout] test infra::providers::tests::codex_build_args_uses_exec_subcommand ... ok
[INFO] [stdout] test infra::providers::tests::codex_instruction_dir ... ok
[INFO] [stdout] test infra::providers::tests::from_name_aliases_claude ... ok
[INFO] [stdout] test infra::providers::tests::from_name_aliases_opencode ... ok
[INFO] [stdout] test infra::providers::tests::from_name_claude_aliases_return_ok ... ok
[INFO] [stdout] test infra::providers::tests::from_name_err_message_is_descriptive ... ok
[INFO] [stdout] test infra::providers::tests::from_name_is_case_insensitive ... ok
[INFO] [stdout] test infra::providers::tests::from_name_opencode_aliases_return_ok ... ok
[INFO] [stdout] test infra::providers::tests::from_name_result_handled_with_match ... ok
[INFO] [stdout] test infra::providers::tests::from_name_result_works_with_question_mark_operator ... ok
[INFO] [stdout] test infra::providers::tests::from_name_returns_claude ... ok
[INFO] [stdout] test infra::providers::tests::from_name_returns_codex ... ok
[INFO] [stdout] test infra::providers::tests::from_name_returns_err_for_unknown_provider ... ok
[INFO] [stdout] test infra::providers::tests::from_name_returns_err_for_various_unknown_names ... ok
[INFO] [stdout] test infra::providers::tests::from_name_returns_err_on_unknown ... ok
[INFO] [stdout] test infra::providers::tests::from_name_returns_ok_for_all_canonical_providers ... ok
[INFO] [stdout] test infra::providers::tests::from_name_returns_ok_for_known_provider ... ok
[INFO] [stdout] test infra::providers::tests::from_name_returns_opencode ... ok
[INFO] [stdout] test infra::providers::tests::from_name_returns_pi ... ok
[INFO] [stdout] test infra::providers::tests::opencode_build_args_includes_model_when_present_in_yaml ... ok
[INFO] [stdout] test infra::providers::tests::opencode_build_args_uses_run_with_agent ... ok
[INFO] [stdout] test infra::providers::tests::opencode_instruction_dir ... ok
[INFO] [stdout] test infra::providers::tests::pi_build_args ... ok
[INFO] [stdout] test infra::providers::tests::pi_instruction_dir ... ok
[INFO] [stdout] test infra::providers::tests::read_yaml_field_extracts_value ... ok
[INFO] [stdout] test infra::providers::tests::read_yaml_field_returns_none_for_missing_file ... ok
[INFO] [stdout] test infra::providers::tests::read_yaml_field_returns_none_without_frontmatter ... ok
[INFO] [stdout] test infra::providers::tests::from_name_result_is_case_insensitive ... ok
[INFO] [stdout] test infra::providers::tests::skill_for_role_uses_result_from_from_name ... ok
[INFO] [stdout] test infra::providers::tests::skill_for_role_works_with_claude_provider ... ok
[INFO] [stdout] test infra::providers::tests::story002_ca4_no_free_function_conflict_with_agents_config_methods ... ok
[INFO] [stdout] test infra::providers::tests::story002_ca4_provider_for_role_not_a_free_function ... ok
[INFO] [stdout] test infra::providers::tests::story002_ca4_skill_for_role_not_a_free_function ... ok
[INFO] [stdout] test infra::providers::tests::supported_providers_includes_all_four ... ok
[INFO] [stdout] test infra::hooks::tests::run_hook_safe_from_async_context ... ok
[INFO] [stdout] test infra::hooks::tests::run_hook_executes_valid_command ... ok
[INFO] [stdout] test infra::git::tests::rollback_with_invalid_hash_returns_false ... ok
[INFO] [stdout] test infra::git::tests::snapshot_creates_commit_when_changes_exist ... ok
[INFO] [stdout] test infra::daemon::tests::get_all_child_pids_finds_our_own_child ... ok
[INFO] [stdout] test infra::agent::tests::story022::ca7_no_timeout_completes_in_verbose_mode ... ok
[INFO] [stdout] test infra::git::tests::snapshot_without_changes_returns_current_hash ... ok
[INFO] [stdout] test infra::git::tests::rollback_restores_previous_state ... ok
[INFO] [stdout] test infra::git::tests::snapshot_and_rollback_safe_from_async_context ... ok
[INFO] [stdout] test infra::git::tests::snapshot_without_git_returns_none ... ok
[INFO] [stdout] test infra::git::tests::concurrent_snapshots_dont_deadlock ... ok
[INFO] [stdout] test infra::agent::tests::story022::ca7_timeout_in_non_verbose_mode ... ok
[INFO] [stdout] test infra::agent::tests::story022::ca7_timeout_in_verbose_mode ... ok
[INFO] [stdout] test infra::providers::tests::skill_for_role_handles_invalid_provider_in_config ... ok
[INFO] [stdout] test infra::agent::tests::invoke_with_retry_backoff_doubles_delay ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 526 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 3.17s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/architecture.rs (/opt/rustwide/target/debug/deps/architecture-469919cf599d35c0)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test tests::test_collect_imports_skips_test_module ... ok
[INFO] [stdout] test tests::test_extract_crate_import_module_only ... ok
[INFO] [stdout] test tests::test_extract_crate_import_no_use ... ok
[INFO] [stdout] test tests::test_extract_crate_import_simple ... ok
[INFO] [stdout] test tests::test_extract_crate_import_not_crate ... ok
[INFO] [stdout] test tests::test_layer_allowed_imports ... ok
[INFO] [stdout] test tests::test_path_to_module_name ... ok
[INFO] [stdout] test tests::test_extract_crate_import_multi_segment ... ok
[INFO] [stdout] test tests::test_root_file_layer_mappings ... ok
[INFO] [stdout] test tests::test_extract_crate_import_braced ... ok
[INFO] [stdout] test architecture_layers_are_respected ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "46f00f03a019e1185194d41d63b93e688d3d48a5781f2e8b869a834f38db37f1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "46f00f03a019e1185194d41d63b93e688d3d48a5781f2e8b869a834f38db37f1", kill_on_drop: false }`
[INFO] [stdout] 46f00f03a019e1185194d41d63b93e688d3d48a5781f2e8b869a834f38db37f1
