[INFO] cloning repository https://github.com/EarlySalty/Claude-Account-Swapper [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/EarlySalty/Claude-Account-Swapper" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEarlySalty%2FClaude-Account-Swapper", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEarlySalty%2FClaude-Account-Swapper'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] cd1ed4f5b885cf5419e206b45bf2f42476bd1f1e [INFO] testing EarlySalty/Claude-Account-Swapper against 1.98.0-beta.8+cargoflags=--release for beta-release-1.99-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEarlySalty%2FClaude-Account-Swapper" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/EarlySalty/Claude-Account-Swapper [INFO] finished tweaking git repo https://github.com/EarlySalty/Claude-Account-Swapper [INFO] tweaked toml for git repo https://github.com/EarlySalty/Claude-Account-Swapper written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/EarlySalty/Claude-Account-Swapper on toolchain 1.98.0-beta.8 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/EarlySalty/Claude-Account-Swapper 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.98.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] e0a2c45d81b1e9c89f7e93bab93c71e16209db31c7604065c5d9147c3f954cf9 [INFO] running `Command { std: "docker" "start" "e0a2c45d81b1e9c89f7e93bab93c71e16209db31c7604065c5d9147c3f954cf9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e0a2c45d81b1e9c89f7e93bab93c71e16209db31c7604065c5d9147c3f954cf9", 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" "e0a2c45d81b1e9c89f7e93bab93c71e16209db31c7604065c5d9147c3f954cf9" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e0a2c45d81b1e9c89f7e93bab93c71e16209db31c7604065c5d9147c3f954cf9", 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" "e0a2c45d81b1e9c89f7e93bab93c71e16209db31c7604065c5d9147c3f954cf9" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.107 [INFO] [stderr] Compiling libc v0.2.189 [INFO] [stderr] Compiling quote v1.0.47 [INFO] [stderr] Compiling shlex v2.0.1 [INFO] [stderr] Compiling serde_core v1.0.229 [INFO] [stderr] Compiling zeroize v1.9.0 [INFO] [stderr] Compiling typenum v1.20.1 [INFO] [stderr] Compiling serde v1.0.229 [INFO] [stderr] Compiling zmij v1.0.23 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Compiling rustls v0.23.43 [INFO] [stderr] Compiling serde_json v1.0.151 [INFO] [stderr] Compiling log v0.4.33 [INFO] [stderr] Compiling bytes v1.12.1 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling anyhow v1.0.104 [INFO] [stderr] Compiling cc v1.4.0 [INFO] [stderr] Compiling memchr v2.8.3 [INFO] [stderr] Compiling clap_builder v4.6.2 [INFO] [stderr] Compiling rustls-pki-types v1.15.1 [INFO] [stderr] Compiling utf8-zero v0.8.1 [INFO] [stderr] Compiling webpki-roots v1.0.9 [INFO] [stderr] Compiling http v1.5.0 [INFO] [stderr] Compiling syn v3.0.3 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling fs2 v0.4.3 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling ureq-proto v0.6.0 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling serde_derive v1.0.229 [INFO] [stderr] Compiling clap_derive v4.6.4 [INFO] [stderr] Compiling clap v4.6.4 [INFO] [stderr] Compiling chrono v0.4.45 [INFO] [stderr] Compiling rustls-webpki v0.103.13 [INFO] [stderr] Compiling ureq v3.3.0 [INFO] [stderr] Compiling claude-account-swapper v0.2.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 1m 14s [INFO] running `Command { std: "docker" "inspect" "e0a2c45d81b1e9c89f7e93bab93c71e16209db31c7604065c5d9147c3f954cf9", 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" "e0a2c45d81b1e9c89f7e93bab93c71e16209db31c7604065c5d9147c3f954cf9" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling getrandom v0.4.3 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling bitflags v2.13.1 [INFO] [stderr] Compiling ascii v1.1.0 [INFO] [stderr] Compiling chunked_transfer v1.5.0 [INFO] [stderr] Compiling fastrand v2.5.0 [INFO] [stderr] Compiling tiny_http v0.12.0 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling claude-account-swapper v0.2.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 15.16s [INFO] running `Command { std: "docker" "inspect" "e0a2c45d81b1e9c89f7e93bab93c71e16209db31c7604065c5d9147c3f954cf9", 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" "e0a2c45d81b1e9c89f7e93bab93c71e16209db31c7604065c5d9147c3f954cf9" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }` [INFO] [stderr] Finished `release` profile [optimized] target(s) in 0.15s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/release/deps/claude_account_swapper-5ac33430f7211ec2) [INFO] [stdout] [INFO] [stdout] running 45 tests [INFO] [stdout] test config::tests::fehlende_felder_fallen_auf_die_standardwerte_zurueck ... ok [INFO] [stdout] test config::tests::der_zustandssatz_nennt_beide_schalter ... ok [INFO] [stdout] test config::tests::unsinnige_werte_sind_ein_fehler ... ok [INFO] [stdout] test jobs::tests::die_bewertung_liefert_zu_jeder_aufgabe_eine_begruendung ... ok [INFO] [stdout] test jobs::tests::die_sperre_zaehlt_ab_dem_ende_eines_langen_laufs ... ok [INFO] [stdout] test jobs::tests::ein_titel_wird_gekuerzt_und_einzeilig ... ok [INFO] [stdout] test jobs::tests::ein_volles_wochenfenster_haelt_die_aufgabe_zurueck ... ok [INFO] [stdout] test jobs::tests::ein_wirkungsloser_ping_wird_nicht_sofort_wiederholt ... ok [INFO] [stdout] test jobs::tests::ein_volles_fuenfstundenfenster_haelt_die_aufgabe_zurueck ... ok [INFO] [stdout] test jobs::tests::ein_volles_limit_haelt_auch_den_ping_zurueck ... ok [INFO] [stdout] test jobs::tests::eine_abgeschaltete_aufgabe_laeuft_nie ... ok [INFO] [stdout] test config::tests::eine_leere_datei_ist_die_standardkonfiguration ... ok [INFO] [stdout] test jobs::tests::eine_aufgabe_wartet_im_laufenden_fenster_und_startet_nach_dem_reset ... ok [INFO] [stdout] test jobs::tests::eine_frische_aufgabe_startet_im_ungenutzten_fenster_sofort ... ok [INFO] [stdout] test jobs::tests::eine_datei_ohne_die_neueren_felder_bleibt_lesbar ... ok [INFO] [stdout] test jobs::tests::nummern_zaehlen_hoch_und_bleiben_vierstellig ... ok [INFO] [stdout] test usage::tests::aktiver_account_unter_der_schwelle_bleibt ... ok [INFO] [stdout] test usage::tests::echte_antwort_wird_gelesen_und_zusatzfelder_stoeren_nicht ... ok [INFO] [stdout] test jobs::tests::eine_gerade_gelaufene_aufgabe_startet_trotz_fensterwechsel_nicht_erneut ... ok [INFO] [stdout] test usage::tests::ein_account_unter_seiner_grenze_bleibt_stehen ... ok [INFO] [stdout] test jobs::tests::eine_aufgabe_laeuft_im_selben_fenster_kein_zweites_mal ... ok [INFO] [stdout] test usage::tests::aktiver_account_mit_fruehestem_reset_bleibt ... ok [INFO] [stdout] test usage::tests::ein_ungenutztes_fenster_ohne_reset_zeitpunkt_ist_kein_fehler ... ok [INFO] [stdout] test usage::tests::knapp_unter_der_schwelle_bleibt_aktiv ... ok [INFO] [stdout] test usage::tests::ohne_besseres_ziel_bleibt_der_aktive_account_in_seiner_reserve ... ok [INFO] [stdout] test jobs::tests::eine_gespeicherte_aufgabe_bleibt_beim_lesen_dieselbe ... ok [INFO] [stdout] test usage::tests::ein_account_ueber_seiner_grenze_wird_nicht_als_ziel_gewaehlt ... ok [INFO] [stdout] test usage::tests::ein_volles_wochenfenster_zaehlt_als_wartezeit_nicht_das_fuenfstundenfenster ... ok [INFO] [stdout] test usage::tests::eine_eigene_grenze_verlaesst_den_account_frueher ... ok [INFO] [stdout] test usage::tests::eine_eigene_wochengrenze_wirkt_genauso ... ok [INFO] [stdout] test usage::tests::eine_harte_grenze_wird_nie_angebrochen_eine_weiche_schon ... ok [INFO] [stdout] test usage::tests::eine_harte_grenze_zaehlt_auch_fuer_die_wartezeit ... ok [INFO] [stdout] test usage::tests::fehlende_felder_sind_ein_fehler_und_kein_stiller_nullwert ... ok [INFO] [stdout] test usage::tests::freiester_account_gewinnt ... ok [INFO] [stdout] test jobs::tests::eine_sitzungs_id_mit_sonderzeichen_wird_abgelehnt ... ok [INFO] [stdout] test usage::tests::ohne_freien_account_wird_eine_weiche_reserve_angebrochen ... ok [INFO] [stdout] test usage::tests::ohne_freien_account_gewinnt_der_fruehere_reset ... ok [INFO] [stdout] test usage::tests::ohne_datierbaren_reset_gewinnt_ein_account_das_warten_nicht ... ok [INFO] [stdout] test usage::tests::ohne_kandidaten_wird_nicht_gewechselt ... ok [INFO] [stdout] test usage::tests::gleichstand_entscheidet_der_name_und_bleibt_stabil ... ok [INFO] [stdout] test usage::tests::unbekannte_auslastung_des_aktiven_accounts_verhindert_den_wechsel ... ok [INFO] [stdout] test usage::tests::schwelle_ist_erreicht_nicht_erst_ueberschritten ... ok [INFO] [stdout] test usage::tests::volles_wochenfenster_schliesst_einen_sonst_freien_account_aus ... ok [INFO] [stdout] test jobs::tests::der_ping_feuert_nur_in_ein_ungenutztes_fenster ... ok [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/release/deps/claude_account-cb47a8f73f2620b6) [INFO] [stdout] test usage::tests::bei_gleichem_fuenfstundenfenster_entscheidet_die_woche ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 45 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/cli.rs (/opt/rustwide/target/release/deps/cli-1cf9d793d62472c7) [INFO] [stdout] [INFO] [stdout] running 90 tests [INFO] [stdout] test auth_environment_overrides_block_switching_without_mutation ... ok [INFO] [stdout] test auto_ignores_a_stale_remembered_usage ... ok [INFO] [stdout] test a_failed_request_reports_what_claude_wrote_to_stderr ... ok [INFO] [stdout] test a_job_runs_with_its_own_prompt_in_its_own_directory ... ok [INFO] [stdout] test auto_dry_run_reports_without_switching ... ok [INFO] [stdout] test auto_falls_back_to_the_remembered_usage_when_the_api_rate_limits ... ok [INFO] [stdout] test auto_asks_no_other_account_while_the_active_one_is_fine ... ok [INFO] [stdout] test auto_breaks_into_a_soft_reserve_when_nothing_else_is_left ... ok [INFO] [stdout] test a_reported_reason_never_carries_a_token_into_the_log ... ok [INFO] [stdout] test a_failed_run_keeps_the_job_and_records_the_reason ... ok [INFO] [stdout] test a_resume_job_hands_the_session_id_to_claude ... ok [INFO] [stdout] test a_job_without_its_directory_is_switched_off_with_a_reason ... ok [INFO] [stdout] test auto_ignores_an_account_whose_weekly_limit_is_full ... ok [INFO] [stdout] test a_one_off_job_is_done_after_its_run_a_repeating_one_stays ... ok [INFO] [stdout] test auto_never_leaks_the_access_token_into_its_output ... ok [INFO] [stdout] test incomplete_profile_directories_do_not_block_valid_accounts ... ok [INFO] [stdout] test auto_reports_an_unreachable_usage_api_and_switches_nothing ... ok [INFO] [stdout] test corrupt_state_does_not_close_the_desktop_menu ... ok [INFO] [stdout] test auto_keeps_the_active_account_below_the_threshold ... ok [INFO] [stdout] test failed_first_login_removes_partially_written_credentials ... ok [INFO] [stdout] test auto_picks_the_earliest_reset_when_every_account_is_full ... ok [INFO] [stdout] test auto_uses_a_fresh_remembered_usage_without_asking_again ... ok [INFO] [stdout] test auto_rejects_an_impossible_threshold ... ok [INFO] [stdout] test auto_leaves_an_account_at_its_own_stop ... ok [INFO] [stdout] test auto_respects_a_hard_stop_even_with_nothing_else_left ... ok [INFO] [stdout] test keepalive_never_renews_the_login_that_is_currently_live ... ok [INFO] [stdout] test invalid_saved_credentials_never_replace_the_live_login ... ok [INFO] [stdout] test auto_never_switches_onto_an_account_beyond_its_own_stop ... ok [INFO] [stdout] test keepalive_does_not_hunt_a_profile_that_needs_no_renewal ... ok [INFO] [stdout] test keepalive_keeps_an_expired_profile_untouched_and_says_so ... ok [INFO] [stdout] test keepalive_skips_profiles_that_were_recently_synced ... ok [INFO] [stdout] test auto_switches_to_the_account_with_free_limits ... ok [INFO] [stdout] test keepalive_saves_the_renewed_login_even_if_the_active_one_changes_meanwhile ... ok [INFO] [stdout] test keepalive_reports_a_failed_request_instead_of_calling_it_valid ... ok [INFO] [stdout] test keepalive_leaves_no_working_directory_behind ... ok [INFO] [stdout] test keepalive_renews_an_idle_profile_without_touching_the_active_login ... ok [INFO] [stdout] test list_marks_a_profile_whose_renewal_failed ... ok [INFO] [stdout] test legacy_profiles_without_sync_metadata_still_load ... ok [INFO] [stdout] test limit_rejects_impossible_values_and_unknown_profiles ... ok [INFO] [stdout] test login_recovers_from_a_logged_out_stale_credential_file ... ok [INFO] [stdout] test list_warns_about_a_refresh_token_that_expires_soon ... ok [INFO] [stdout] test profile_names_cannot_escape_the_account_store ... ok [INFO] [stdout] test menu_returns_after_an_invalid_action_instead_of_closing ... ok [INFO] [stdout] test limit_stores_its_own_stops_in_the_profile ... ok [INFO] [stdout] test login_preserves_credentials_rotated_by_the_status_check ... ok [INFO] [stdout] test login_preserves_the_previous_account_and_saves_the_new_one ... ok [INFO] [stdout] test settings_survive_a_restart_and_a_broken_file_falls_back_to_defaults ... ok [INFO] [stdout] test menu_header_uses_the_real_claude_login_not_stale_switcher_state ... ok [INFO] [stdout] test profiles_written_before_this_version_still_load ... ok [INFO] [stdout] test menu_can_save_the_current_account_without_cli_arguments ... ok [INFO] [stdout] test menu_can_run_the_one_time_login_flow ... ok [INFO] [stdout] test saved_profile_stores_a_fingerprint_instead_of_the_token ... ok [INFO] [stdout] test menu_can_switch_between_saved_accounts ... ok [INFO] [stdout] test list_forgets_the_mark_after_a_successful_renewal ... ok [INFO] [stdout] test login_with_the_wrong_account_restores_the_previous_login ... ok [INFO] [stdout] test switch_no_check_keeps_the_old_unverified_way ... ok [INFO] [stdout] test switch_clears_the_stale_account_identity_cache ... ok [INFO] [stdout] test save_and_switch_syncs_the_latest_outgoing_credentials ... ok [INFO] [stdout] test switch_refuses_to_sync_when_claude_reports_a_stale_identity ... ok [INFO] [stdout] test switch_refuses_to_discard_an_unsaved_active_login ... ok [INFO] [stdout] test saving_an_account_again_keeps_its_limits ... ok [INFO] [stdout] test switch_to_the_active_account_never_rotates_the_live_login ... ok [INFO] [stdout] test switch_refuses_a_dead_snapshot_instead_of_breaking_running_sessions ... ok [INFO] [stdout] test sync_reports_unchanged_credentials_without_rewriting ... ok [INFO] [stdout] test sync_writes_the_state_even_when_the_snapshot_already_matches ... ok [INFO] [stdout] test sync_writes_rotated_live_tokens_into_the_active_profile ... ok [INFO] [stdout] test sync_refuses_when_claude_reports_a_different_identity ... ok [INFO] [stdout] test sync_without_identity_updates_the_last_active_profile ... ok [INFO] [stdout] test switch_spends_no_request_while_the_snapshot_is_still_valid ... ok [INFO] [stdout] test switch_without_a_known_identity_syncs_the_last_active_profile ... ok [INFO] [stdout] test the_menu_offers_usage_limits_and_automation ... ok [INFO] [stdout] test the_menu_creates_a_job ... ok [INFO] [stdout] test switch_puts_the_renewed_login_live_when_the_snapshot_needed_a_refresh ... ok [INFO] [stdout] test the_menu_switches_the_window_ping_on ... ok [INFO] [stdout] test watch_rejects_a_threshold_without_the_opt_in ... ok [INFO] [stdout] test usage_lists_every_account_and_shows_failures ... ok [INFO] [stdout] test a_hanging_job_is_stopped_by_its_time_limit ... ok [INFO] [stdout] test keepalive_rescues_the_renewed_login_when_the_request_runs_into_the_timeout ... ok [INFO] [stdout] test the_service_asks_for_usage_only_when_it_has_something_to_do ... ok [INFO] [stdout] test the_rerun_block_counts_from_the_end_of_a_run ... ok [INFO] [stdout] test watch_keeps_the_active_profile_in_sync_with_rotated_tokens ... ok [INFO] [stdout] test a_job_switched_off_during_its_run_stays_off ... ok [INFO] [stdout] test a_job_deleted_during_its_run_does_not_come_back ... ok [INFO] [stdout] test watch_logs_every_decision_including_the_ones_without_changes ... ok [INFO] [stdout] test the_ping_stays_quiet_while_a_window_is_running ... ok [INFO] [stdout] test watch_switches_with_the_opt_in ... ok [INFO] [stdout] test watch_switches_nothing_without_the_opt_in ... ok [INFO] [stdout] test watch_waits_instead_of_guessing_while_claude_has_no_identity ... ok [INFO] [stdout] test the_service_opens_a_fresh_window_with_a_ping ... ok [INFO] [stdout] test the_service_starts_a_due_job_and_marks_it_done ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 90 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.01s [INFO] [stdout] [INFO] [stderr] Doc-tests claude_account_swapper [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" "e0a2c45d81b1e9c89f7e93bab93c71e16209db31c7604065c5d9147c3f954cf9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e0a2c45d81b1e9c89f7e93bab93c71e16209db31c7604065c5d9147c3f954cf9", kill_on_drop: false }` [INFO] [stdout] e0a2c45d81b1e9c89f7e93bab93c71e16209db31c7604065c5d9147c3f954cf9