these 61 derivations will be built: /nix/store/gr2kizwiddxv7g4n2mhrlmnyaxj0g075-rbw-2.45.4.drv /nix/store/06k1wwwnfwd27pdmwwggsyvnfv4km2vs-pikvm.sh.drv /nix/store/gcj9007lrqyh48k3ia6xa4rjvkphdz8c-nix.conf.drv /nix/store/1wdmya3f62p8x0920a75wj9140pw34v2-X-Restart-Triggers-nix-daemon.drv /nix/store/2q3jsds6vw1xxxx0nvj8pn8pss28q4w9-timewarrior.sh.drv /nix/store/452kw0bm2iva1ibwf16af4xxksz940sk-obs-mute-switch.sh.drv /nix/store/4bf5kjvdp95s9l51dk65wgyyy64sdv8d-timewarrior-stop.sh.drv /nix/store/5psprawm9r3mp1383zgcfacx1mf25ajd-pp.sh.drv /nix/store/5zf9cc7fqhja230gdyww91dv6zyjxfyb-unlock-hyprlock.sh.drv /nix/store/ll94p1kb6nb89q0vdvs4086lgsxfaq4b-skills-with-improvement-footer.drv /nix/store/69dnd8sx5iiqbxb09f3q32548m5g475r-ai-skills.drv /nix/store/63rr67yqkz1pdl60600q3kzskw5zj2ww-github-copilot-cli-skills.drv /nix/store/zgc6r0j9mqqjfj170g301y5dlgwz259v-browser-ask-human.drv /nix/store/7gqli3y79la9l83yhs67i33x0y2m5llv-opencode.json.drv /nix/store/7hcb6v3znnm7x5r2rjv4bly6ikbk029z-gnome-keyring-unlock.sh.drv /nix/store/zb8ygx3hlmx2460g5w7nchmv5lrw7b7g-rbw-request-unlock.drv /nix/store/4f4c7qvxc1hmg1cl421v0pxmj36vqrh9-home-manager-path.drv /nix/store/8xfxs8q25ch2jj1z2nka8g26nzg1g1yp-hm_hmfontconfigfonts.xml.drv /nix/store/9xchqxhnvax428b73p5gkmr698nmxbwb-stop-gec-vpn.sh.drv /nix/store/aqjvg45rnh83x1silayjpgv0s3pxs31i-obs-show-roomba.sh.drv /nix/store/d7h9wylisybhgxpjnrqxppx2rdqfw9q8-timewarrior-start.sh.drv /nix/store/dahcw6586hv5w77vim4as4kr61n6arqn-rbw.sh.drv /nix/store/dlhj7jwikkib38dpx6kp9sqcyqrqgxk8-obs-hide-roomba.sh.drv /nix/store/fj27dxr96sjz9myx4jz56nsis3025xwn-github-copilot-cli-mcp-config.json.drv /nix/store/jzkqn78a0n80q0m1l65hyyzxdbgarnp0-codex-skills.drv /nix/store/fjfrjzqlymia8zkw11l6k8y5p7mypwyc-codex-skills.drv /nix/store/fjkrszfvsikk8b22mix9jk7n3fqnh8an-mcp.json.drv /nix/store/fl5a6p1p7bri1dssmr8ckggsa2jzq6bb-timewarrior-today.sh.drv /nix/store/fw90m1yi1ibm0cscbw203m5w5d89jlm2-antigravity-cli-skills.drv /nix/store/ga4bxv08vq8fvja1p1fccy4fvimq4pbs-screenshot.sh.drv /nix/store/h1sfbk78mqvy67ifvrxif8v916wsmvav-feierabend-stop.sh.drv /nix/store/h8fvz243790lz3q6vvv45w1fd792lj0n-bluetooth-headset-connect.sh.drv /nix/store/i9hf50l68wpwfa9rd3l96n0cv8wxvhgl-go-hass-agent-commands.toml.drv /nix/store/icfd5c7by624i4dd887b4kyhhdhv4lhp-playerctl-pause.sh.drv /nix/store/lrxma53bl1cw5lh79f2sm2623fnwgm33-status.sh.drv /nix/store/m62ydxh1nzwp4k4zdcq442r2xvli0a8d-claude-code-skills.drv /nix/store/mmi9ncglvw0cmvxln9qhgz803418pys9-playerctl-play.sh.drv /nix/store/nyzdfpkvff2mkrvf37rdswp21x3zkchy-opencode-skills.drv /nix/store/4ngbs25k08mqavf9mn9mhwhaf0i88ah8-codex-config.drv /nix/store/qc186rkxykqw94mr6zpkp620hyy23jhf-codex-config.toml.drv /nix/store/qx4jcrybk7vz40c9b4wzg5k9wp028p0i-bluetooth.sh.drv /nix/store/4ybnsrsc8cmy7ykk9zxxg92vccsa3vmi-claude-code-mcp.json.drv /nix/store/r82g52g2lpsczn09f1bmg73hs2bmwjaw-claude-code-hm-plugin.drv /nix/store/xhw924qvy6d1mc74g6knkc4iiv52kb9f-feierabend-start.sh.drv /nix/store/xmhmvbplzx4hwy7qvvbylwy912yj4gnv-last-seen.sh.drv /nix/store/xrrncx2dwxjqfzzzxq7xk3knkzjz50rq-gpg-main-key.sh.drv /nix/store/zy386y2vy84ax3hs0x5m9097pwhvwf41-antigravity-cli-mcp-config.json.drv /nix/store/vq99c2icz9hck4rybjv7xsg7q69hmhgw-home-manager-files.drv /nix/store/2wl7a02wmvyl0nv22054kb1skvbv59v4-hm-putter.json.drv /nix/store/g1n004zxs3clp9vp9yd4gwdgwby9265k-activation-script.drv /nix/store/qd01zv8pn67s22sf53yq2l1nrwb8bypk-home-manager-generation.drv /nix/store/2a9yrj8wkj3wkidqlyh30f3bqk0s63yn-unit-home-manager-pschmitt.service.drv /nix/store/4a0xc21wnc9j1dbc7iwymkqk4mhy8h7s-etc-nix-registry.json.drv /nix/store/6ylwg01cihkcx3x2i8abd2lp2irrid32-user-environment.drv /nix/store/d0sr8dhrmy1v8rk8k5636gnk1a4hyaz4-unit-nix-daemon.service.drv /nix/store/84xhq5ljcx2lgkn77fk0jg14l5rkvn18-browser-daemon-secret-agent.drv /nix/store/q7amqgnc6sqb7bslwyl823wldjmxawk8-unit-browser-daemon-secret-agent.service.drv /nix/store/jcpvrzy6s0zfpnf422fyws9v4r9f9wvz-system-units.drv /nix/store/vmaf4rb0iqcjwnr1l3nl9xxyqpdbdrbj-etc.drv /nix/store/8rgnwy6kfy60namnyr1k0cvxig461c8n-activate.drv /nix/store/5qrrvp7dsdhxbgg0m2fn7bqzn96ggyrv-nixos-system-fnuc-26.11.20261110.52b3705.drv building '/nix/store/4a0xc21wnc9j1dbc7iwymkqk4mhy8h7s-etc-nix-registry.json.drv' building '/nix/store/gcj9007lrqyh48k3ia6xa4rjvkphdz8c-nix.conf.drv' building '/nix/store/gr2kizwiddxv7g4n2mhrlmnyaxj0g075-rbw-2.45.4.drv' on 'ssh-ng://nix-remote-builder@rofl-15.brkn.lol' building '/nix/store/ll94p1kb6nb89q0vdvs4086lgsxfaq4b-skills-with-improvement-footer.drv' on 'ssh-ng://nix-remote-builder@rofl-16.brkn.lol' nix.conf> Validating generated nix.conf building '/nix/store/gr2kizwiddxv7g4n2mhrlmnyaxj0g075-rbw-2.45.4.drv' rbw-2.45.4> Running phase: unpackPhase rbw-2.45.4> unpacking source archive /nix/store/1d5rzj358pyy1jjznvjrxp2xsfli9mhy-source rbw-2.45.4> source root is source rbw-2.45.4> Running phase: patchPhase rbw-2.45.4> Executing configureCargoCommonVars rbw-2.45.4> decompressing cargo artifacts from /nix/store/1zf51lbb1nac0fss6accgrx0bpy38c9q-rbw-deps-deps-0/target.tar.zst to target building '/nix/store/1wdmya3f62p8x0920a75wj9140pw34v2-X-Restart-Triggers-nix-daemon.drv' building '/nix/store/d0sr8dhrmy1v8rk8k5636gnk1a4hyaz4-unit-nix-daemon.service.drv' building '/nix/store/ll94p1kb6nb89q0vdvs4086lgsxfaq4b-skills-with-improvement-footer.drv' building '/nix/store/jzkqn78a0n80q0m1l65hyyzxdbgarnp0-codex-skills.drv' on 'ssh-ng://nix-remote-builder@rofl-16.brkn.lol' building '/nix/store/69dnd8sx5iiqbxb09f3q32548m5g475r-ai-skills.drv' ai-skills> README.md: Keeping existing link to /nix/store/ffyad3y7ia4zjy3hbvk1pc4cm1gbi5q9-source/skills/rust/README.md ai-skills> README.md: Keeping existing link to /nix/store/ffyad3y7ia4zjy3hbvk1pc4cm1gbi5q9-source/skills/rust/README.md ai-skills> .gitkeep: Keeping existing link to /nix/store/ffyad3y7ia4zjy3hbvk1pc4cm1gbi5q9-source/skills/porting/.gitkeep ai-skills> README.md: Keeping existing link to /nix/store/ffyad3y7ia4zjy3hbvk1pc4cm1gbi5q9-source/skills/rust/README.md ai-skills> .gitkeep: Keeping existing link to /nix/store/ffyad3y7ia4zjy3hbvk1pc4cm1gbi5q9-source/skills/porting/.gitkeep ai-skills> /nix/store/2m84yakwl9myjg74zp35c4m1wlfps5lx-skills-with-improvement-footer/cks-approve: ai-skills> SKILL.md: Keeping existing link to /nix/store/jph6kx6asfn690079s2a30j2nlylj754-skills-with-improvement-footer/cks-approve/SKILL.md building '/nix/store/fw90m1yi1ibm0cscbw203m5w5d89jlm2-antigravity-cli-skills.drv' building '/nix/store/m62ydxh1nzwp4k4zdcq442r2xvli0a8d-claude-code-skills.drv' building '/nix/store/63rr67yqkz1pdl60600q3kzskw5zj2ww-github-copilot-cli-skills.drv' building '/nix/store/nyzdfpkvff2mkrvf37rdswp21x3zkchy-opencode-skills.drv' building '/nix/store/jzkqn78a0n80q0m1l65hyyzxdbgarnp0-codex-skills.drv' building '/nix/store/fjfrjzqlymia8zkw11l6k8y5p7mypwyc-codex-skills.drv' rbw-2.45.4> Running phase: updateAutotoolsGnuConfigScriptsPhase rbw-2.45.4> Running phase: configurePhase rbw-2.45.4> will append /build/source/.cargo-home/config.toml with contents of /nix/store/dyfhh95m19d7bqdifv9ambmlplky0234-vendor-cargo-deps/config.toml rbw-2.45.4> default configurePhase, nothing to do rbw-2.45.4> Running phase: buildPhase rbw-2.45.4> +++ command cargo --version rbw-2.45.4> cargo 1.99.0 (5f94df478 2026-08-27) rbw-2.45.4> +++ command cargo build --release --message-format json-render-diagnostics --locked --features fido2 rbw-2.45.4> Compiling rbw v2.45.4 (/build/source) rbw-2.45.4> Finished `release` profile [optimized] target(s) in 1m 33s rbw-2.45.4> searching for bins/libs to install from cargo build log at cargoBuildLogxjnc.json rbw-2.45.4> installing /build/source/target/release/rbw-browser in postBuildInstallFromCargoBuildLogOutTempglK/bin rbw-2.45.4> installing /build/source/target/release/rbw-unlockd in postBuildInstallFromCargoBuildLogOutTempglK/bin rbw-2.45.4> installing /build/source/target/release/rbw-agent in postBuildInstallFromCargoBuildLogOutTempglK/bin rbw-2.45.4> installing /build/source/target/release/rbw in postBuildInstallFromCargoBuildLogOutTempglK/bin rbw-2.45.4> searching for bins/libs complete rbw-2.45.4> buildPhase completed in 1 minutes 34 seconds rbw-2.45.4> Running phase: checkPhase rbw-2.45.4> +++ command cargo test --release --locked --features fido2 rbw-2.45.4> Compiling rbw v2.45.4 (/build/source) rbw-2.45.4> Finished `release` profile [optimized] target(s) in 1m 51s rbw-2.45.4> Running unittests src/lib.rs (target/release/deps/rbw-d9cbafdec03fdec4) rbw-2.45.4> rbw-2.45.4> running 128 tests rbw-2.45.4> test api::tests::cipher_ssh_key_deserializes_all_fingerprint_spellings ... ok rbw-2.45.4> test api::tests::ciphers_post_req_serializes_ssh_key ... ok rbw-2.45.4> test audit::tests::context_and_origin_sanitization_strip_paths_and_controls ... ok rbw-2.45.4> test audit::tests::event_serialization_contains_only_audit_metadata ... ok rbw-2.45.4> test api::tests::ciphers_put_req_serializes_ssh_key ... ok rbw-2.45.4> test api::tests::sync_cipher_keeps_revision_date ... ok rbw-2.45.4> test api::tests::sync_metadata_survives_cache_round_trip_and_old_caches_load ... ok rbw-2.45.4> test audit::tests::last_lock_reports_an_unexplained_restart ... ok rbw-2.45.4> test cipherstring::test_pkcs7_unpad ... ok rbw-2.45.4> test cipherstring::test_parse_malformed_type ... ok rbw-2.45.4> test api::two_factor_tests::retains_legacy_otp_login_without_metadata ... ok rbw-2.45.4> test config::test::clipboard_mechanism_json_round_trips ... ok rbw-2.45.4> test api::tests::user_id_from_access_token_reads_sub_claim ... ok rbw-2.45.4> test api::tests::sync_cipher_treats_null_attachments_as_empty ... ok rbw-2.45.4> test config::test::config_yaml_deserializes ... ok rbw-2.45.4> test cipherstring::test_decrypt_file_data ... ok rbw-2.45.4> test api::two_factor_tests::preserves_vaultwarden_webauthn_challenge ... ok rbw-2.45.4> test config::test::aliases_collection_and_org_are_optional ... ok rbw-2.45.4> test config::test::aliases_default_to_empty_and_are_skipped_when_empty ... ok rbw-2.45.4> test config::test::credential_followers_are_direct_followers_that_may_be_unlocked ... ok rbw-2.45.4> test config::test::aliases_alias_field_accepts_list_of_names ... ok rbw-2.45.4> test config::test::aliases_deserialize_from_yaml ... ok rbw-2.45.4> test config::test::audit_config_defaults_and_validates_retention ... ok rbw-2.45.4> test audit::tests::last_lock_prefers_a_lock_after_the_agent_started ... ok rbw-2.45.4> test config::test::clipboard_mechanism_defaults_to_auto_when_absent ... ok rbw-2.45.4> test audit::tests::disabled_audit_does_not_create_storage ... ok rbw-2.45.4> test audit::tests::recent_events_filters_noise_and_resolves_client_names ... ok rbw-2.45.4> test audit::tests::prunes_only_expired_regular_audit_files ... ok rbw-2.45.4> test audit::tests::refuses_audit_log_symlinks ... ok rbw-2.45.4> test config::test::config_yaml_serializes_grouped_camel_case ... ok rbw-2.45.4> test audit::tests::reason_and_version_are_serialized_when_set ... ok rbw-2.45.4> test audit::tests::last_lock_explains_a_restart_with_the_stop_before_it ... ok rbw-2.45.4> test api::two_factor_tests::supports_camel_case_metadata_without_legacy_provider_list ... ok rbw-2.45.4> test config::test::credential_source_chain_rejects_self_reference ... ok rbw-2.45.4> test config::test::credential_source_chain_resolves_valid_chain ... ok rbw-2.45.4> test config::test::credential_source_chain_rejects_unknown_account ... ok rbw-2.45.4> test config::test::account_base_url_resolves_from_file ... ok rbw-2.45.4> test config::test::credential_source_chain_trivial_with_no_source ... ok rbw-2.45.4> test config::test::excluded_from_all_covers_every_context ... ok rbw-2.45.4> test config::test::excluded_from_checks_only_the_listed_contexts ... ok rbw-2.45.4> test config::test::excluded_from_is_false_by_default ... ok rbw-2.45.4> test config::test::explicit_primary_account_wins ... ok rbw-2.45.4> test config::test::fingerprint_policy_round_trips_and_defaults_to_auto ... ok rbw-2.45.4> test config::test::fingerprint_policy_skips_over_ssh_unless_always ... ok rbw-2.45.4> test config::test::credential_source_deserializes_legacy_entry_key_as_item ... ok rbw-2.45.4> test config::test::item_alias_account_name_resolves_sentinels_to_primary ... ok rbw-2.45.4> test config::test::legacy_config_synthesizes_default_account ... ok rbw-2.45.4> test config::test::credential_source_chain_rejects_cycle ... ok rbw-2.45.4> test config::test::migrate_legacy_moves_fields_into_default_account ... ok rbw-2.45.4> test config::test::only_the_ssh_skip_is_announced ... ok rbw-2.45.4> test config::test::primary_defaults_to_first_account ... ok rbw-2.45.4> test config::test::secret_string_file_missing_fails_clearly ... ok rbw-2.45.4> test api::blocking_client_tests::blocking_client_sends_the_bitwarden_client_headers ... ok rbw-2.45.4> test creds::tests::live_tpm2_round_trip ... ignored, requires systemd-creds and a TPM rbw-2.45.4> test desktop::protocol_tests::fingerprint_protocol_and_cleanup ... ignored, requires RBW_TEST_PRIVATE_DBUS=1 and dbus-run-session rbw-2.45.4> test desktop::tests::live_fingerprint_confirmation ... ignored, requires a human touching the enrolled fingerprint reader rbw-2.45.4> test desktop::tests::live_keyring_roundtrip ... ignored, requires a real unlocked desktop Secret Service rbw-2.45.4> test config::test::secret_string_file_resolves_and_trims_one_trailing_newline ... ok rbw-2.45.4> test audit::tests::retention_is_applied_when_appending ... ok rbw-2.45.4> test pinentry::invalid_utf8_pinentry_error_does_not_panic ... ok rbw-2.45.4> test config::test::secret_string_round_trips_through_yaml ... ok rbw-2.45.4> test protocol::test_quit_reason_is_accepted_by_older_agents ... ok rbw-2.45.4> test protocol::test_version_encoding ... ok rbw-2.45.4> test pwgen::test::test_pwgen ... ok rbw-2.45.4> test desktop::race_tests::both_failed_methods_return_an_error ... ok rbw-2.45.4> test audit::tests::audit_files_and_lock_are_private ... ok rbw-2.45.4> test desktop::race_tests::cancellation_cleans_up_both_methods ... ok rbw-2.45.4> test desktop::tests::only_terminal_match_authenticates ... ok rbw-2.45.4> test desktop::race_tests::closed_prompt_keeps_fingerprint_available ... ok rbw-2.45.4> test desktop::race_tests::failed_fingerprint_keeps_password_available ... ok rbw-2.45.4> test desktop::race_tests::fingerprint_winner_waits_for_pinentry_cleanup ... ok rbw-2.45.4> test desktop::race_tests::password_winner_waits_for_reader_cleanup ... ok rbw-2.45.4> test desktop::tests::secret_service_config_roundtrip ... ok rbw-2.45.4> test pwgen::test::test_resolve_length_priority ... ok rbw-2.45.4> test protocol::test_protocol_fixtures ... ok rbw-2.45.4> test dirs::tests::yaml_is_the_default_config_filename ... ok rbw-2.45.4> test pwgen::test::test_resolve_type_priority ... ok rbw-2.45.4> test remote_api::tests::account_wide_grants_are_separate_from_legacy_items_and_revocable ... ok rbw-2.45.4> test dirs::tests::yaml_config_takes_precedence_over_json ... ok rbw-2.45.4> test remote_api::tests::field_response_matches_http_json_contract ... ok rbw-2.45.4> test remote_api::tests::field_tokens_round_trip_as_strings ... ok rbw-2.45.4> test remote_api::tests::legacy_status_policy_keeps_its_existing_single_account_grant ... ok rbw-2.45.4> test remote_api::tests::old_client_policy_deserializes_with_status_denied ... ok rbw-2.45.4> test remote_api::tests::status_grants_do_not_add_item_fields_and_revoke_keeps_item_scope ... ok rbw-2.45.4> test remote_api::tests::status_accounts_remain_independent_from_item_account_scope ... ok rbw-2.45.4> test remote_api::tests::status_response_matches_http_json_contract ... ok rbw-2.45.4> test unlock_ui::terminal::tests::print_compact_layouts ... ignored, prints layouts for manual review rbw-2.45.4> test identity::tests::hmac_and_pbkdf2_sha256_match_independent_answers ... ok rbw-2.45.4> test rotate::tests::rotates_everything_under_the_user_key ... ok rbw-2.45.4> test remote_api::tests::api_errors_have_stable_statuses_and_retryability ... ok rbw-2.45.4> test unlock_ui::tests::live_terminal_password ... ignored, requires a controlling terminal and disposable test input rbw-2.45.4> test unlock_ui::tests::no_echo_is_opt_in_and_roundtrips ... ok rbw-2.45.4> test dirs::termux_runtime_dir_lives_in_prefix_tmp ... ok rbw-2.45.4> test unlock_ui::tests::ui_modes_roundtrip_and_invalid_modes_fail ... ok rbw-2.45.4> test termux::tests::bundle_round_trip ... ok rbw-2.45.4> test unlock_ui::tests::unicode_backspace_and_clear_do_not_expose_input ... ok rbw-2.45.4> test unlock_ui::terminal::tests::narrow_and_short_terminals_keep_the_password_field ... ok rbw-2.45.4> test unlock_ui::terminal::tests::no_echo_renders_no_password_mask ... ok rbw-2.45.4> test unlock_ui::terminal::tests::tiny_terminals_render_without_panicking ... ok rbw-2.45.4> test unlock_ui::terminal::tests::the_card_mentions_the_tab_shortcut ... ok rbw-2.45.4> test unlockd::tests::fingerprint_status_survives_the_wire ... ok rbw-2.45.4> test locked::tests::strict_buffers_own_disjoint_pages_and_wipe_removed_bytes ... ok rbw-2.45.4> test unlockd::tests::read_line_limits_length ... ok rbw-2.45.4> test config::test::secret_string_literal_resolves_to_itself ... ok rbw-2.45.4> test unlockd::tests::requests_and_events_round_trip ... ok rbw-2.45.4> test unlock_ui::tests::input_limit_is_checked_before_writing ... ok rbw-2.45.4> test termux::tests::missing_program_counts_as_missing_keystore ... ok rbw-2.45.4> test creds::tests::private_write_ignores_existing_tmp_file ... ok rbw-2.45.4> test unlockd::tests::ids_must_be_canonical_uuids ... ok rbw-2.45.4> test unlock_ui::terminal::tests::bracketed_paste_cannot_submit_or_keep_a_truncated_password ... ok rbw-2.45.4> test unlock_ui::terminal::tests::invalid_utf8_is_never_submitted ... ok rbw-2.45.4> test unlock_ui::terminal::tests::ctrl_delete_clears_the_input ... ok rbw-2.45.4> test unlock_ui::terminal::tests::overflow_requires_clearing_before_retyping ... ok rbw-2.45.4> test rotate::tests::refuses_what_it_cannot_rotate ... ok rbw-2.45.4> test unlock_ui::terminal::tests::tab_toggles_the_dots_but_not_inside_a_paste ... ok rbw-2.45.4> test identity::tests::sha256_known_answers_cover_short_and_multiple_blocks ... ok rbw-2.45.4> test unlock_ui::terminal::tests::dialog_renders_only_masked_input_and_public_status ... ok rbw-2.45.4> test creds::tests::private_files_round_trip_and_reject_loose_permissions ... ok rbw-2.45.4> test api::tests::full_put_preserves_metadata_and_classifies_revision_conflicts ... ok rbw-2.45.4> test edit::tests::recovery_files_are_private_unique_and_complete ... ok rbw-2.45.4> test pinentry::test_getpin_cancelled_when_client_disconnects ... ok rbw-2.45.4> test remote_api::tests::tls_material_rotation_and_read_are_serialized_across_callers ... ok rbw-2.45.4> test pinentry::test_read_password ... ok rbw-2.45.4> test remote_api::tests::server_certificate_has_aki_and_strict_python_tls_accepts_it ... ok rbw-2.45.4> test remote_api::tests::mismatched_server_key_is_rotated_even_when_certificate_aki_is_valid ... ok rbw-2.45.4> test remote_api::tests::existing_server_certificate_is_rotated_without_replacing_ca_or_clients ... ok rbw-2.45.4> test cipherstring::rsa_oaep_sha1_round_trip_for_organization_keys ... ok rbw-2.45.4> test audit::tests::concurrent_appends_keep_every_record_intact ... ok rbw-2.45.4> rbw-2.45.4> test result: ok. 122 passed; 0 failed; 6 ignored; 0 measured; 0 filtered out; finished in 0.44s rbw-2.45.4> rbw-2.45.4> Running unittests src/bin/rbw/main.rs (target/release/deps/rbw-f51a7cddf5345d3a) rbw-2.45.4> rbw-2.45.4> running 332 tests rbw-2.45.4> test browser::tests::hit_snippet_cuts_long_lines_around_the_first_hit ... ok rbw-2.45.4> test browser::tests::fingerprint_unlock_needs_a_fingerprint_enrollment ... ok rbw-2.45.4> test browser::tests::unlock_requests_default_to_password ... ok rbw-2.45.4> test commands::status_cmds::other_agents_text_gives_a_runnable_kill_command ... ok rbw-2.45.4> test commands::redact::tests::secret_fields_are_recognised ... ok rbw-2.45.4> test commands::test::browser_search_matches_words_like_the_cli ... ok rbw-2.45.4> test audit::test::test_estimate_bits ... ok rbw-2.45.4> test audit::test::test_reused_groups ... ok rbw-2.45.4> test browser::passkeys::tests::bitwarden_aaguid_bytes ... ok rbw-2.45.4> test browser::tests::hit_ranges_are_utf16_merged_and_scoped ... ok rbw-2.45.4> test commands::test::default_uri_match_config_keys_parse ... ok rbw-2.45.4> test commands::test::browser_totp_codes_include_their_actual_validity_window ... ok rbw-2.45.4> test commands::test::edit_field_tests::builtin_fields ... ok rbw-2.45.4> test commands::test::edit_field_tests::rejects_unsupported_builtin_fields ... ok rbw-2.45.4> test commands::test::domain_matches_by_base_domain ... ok rbw-2.45.4> test commands::test::fzf_default_opts_puts_custom_options_last ... ok rbw-2.45.4> test commands::test::inject_tests::test_build_inject_run_command_overrides_inherited_env_bindings ... ok rbw-2.45.4> test commands::test::inject_tests::test_find_inject_entry_raw_does_not_fuzzy_match_name_refs ... ok rbw-2.45.4> test commands::test::inject_tests::test_parse_braced_inject_reference_ignores_non_bw_expressions ... ok rbw-2.45.4> test commands::test::inject_tests::test_parse_braced_inject_reference_trims_and_parses_bw_urls ... ok rbw-2.45.4> test commands::test::inject_tests::test_parse_inject_reference_rejects_userinfo_ports_and_paths ... ok rbw-2.45.4> test commands::redact::tests::redacted_masks_secrets_and_keeps_the_rest ... ok rbw-2.45.4> test commands::test::inject_tests::test_find_inject_entry_raw_matches_name_refs_exactly_ignoring_case ... ok rbw-2.45.4> test commands::test::inject_tests::test_inject_run_passes_values_without_shell_evaluation ... ok rbw-2.45.4> test commands::test::inject_tests::test_render_inject_template_supports_name_refs ... ok rbw-2.45.4> test commands::test::inject_tests::test_render_inject_template_preserves_quoted_non_reference_expressions ... ok rbw-2.45.4> test commands::test::inject_tests::test_render_inject_template_rejects_empty_field_query ... ok rbw-2.45.4> test commands::test::inject_tests::test_render_inject_template_supports_encoded_raw_field_queries ... ok rbw-2.45.4> test audit::test::test_hibp_hash_and_count ... ok rbw-2.45.4> test commands::test::inject_tests::test_find_inject_entry_raw_rejects_duplicate_name_refs ... ok rbw-2.45.4> test commands::test::inject_tests::test_parse_run_env_matches_dotenvy_parsing_rules ... ok rbw-2.45.4> test commands::test::inject_tests::test_render_inject_template_replaces_unenclosed_refs_in_structured_text ... ok rbw-2.45.4> test commands::test::inject_tests::test_parse_run_env_expands_then_resolves_raw_references ... ok rbw-2.45.4> test commands::test::inject_tests::test_parse_run_env_preserves_injected_values_verbatim ... ok rbw-2.45.4> test commands::test::inject_tests::test_render_inject_template_expands_variables_before_resolving_refs ... ok rbw-2.45.4> test browser::tests::browser_audit_operations_are_fixed_labels ... ok rbw-2.45.4> test commands::test::edit_field_tests::custom_fields ... ok rbw-2.45.4> test commands::test::default_uri_match_applies_only_without_a_match_type ... ok rbw-2.45.4> test commands::test::fzf_candidate_line_hides_id_first_and_flattens_tabs ... ok rbw-2.45.4> test commands::test::inject_tests::test_render_inject_template_supports_nested_default_variables ... ok rbw-2.45.4> test commands::test::inject_tests::test_render_inject_template_replaces_braced_and_raw_refs ... ok rbw-2.45.4> test browser::tests::store_package_names ... ok rbw-2.45.4> test commands::test::inject_tests::test_render_inject_template_supports_quoted_braced_refs ... ok rbw-2.45.4> test commands::test::inject_tests::test_render_inject_template_supports_raw_field_refs_in_outer_query_contexts ... ok rbw-2.45.4> test commands::test::inject_tests::test_render_inject_template_supports_raw_field_refs_in_dsn_username_contexts ... ok rbw-2.45.4> test commands::test::inject_tests::test_render_inject_template_supports_raw_field_names_with_periods ... ok rbw-2.45.4> test commands::test::inject_tests::test_render_inject_template_treats_invalid_variable_tags_as_literals ... ok rbw-2.45.4> test commands::test::inject_tests::test_render_inject_template_treats_special_characters_as_raw_reference_boundaries ... ok rbw-2.45.4> test commands::test::inject_tests::test_render_inject_template_supports_raw_refs_in_dsn_and_query_contexts ... ok rbw-2.45.4> test commands::test::inject_tests::test_resolve_inject_value_uses_password_username_and_custom_fields ... ok rbw-2.45.4> test commands::test::inject_tests::test_take_braced_inject_expression_returns_expression_and_tail ... ok rbw-2.45.4> test commands::test::inject_tests::test_render_inject_template_preserves_trailing_punctuation ... ok rbw-2.45.4> test commands::test::list_fields_default_is_not_explicit_and_named_fields_are ... ok rbw-2.45.4> test commands::test::test_attachment_metadata_omits_empty_json_fields ... ok rbw-2.45.4> test commands::test::inject_tests::test_render_inject_template_supports_name_refs_with_field_query ... ok rbw-2.45.4> test commands::test::test_available_attachments_error_lists_candidates ... ok rbw-2.45.4> test commands::test::run_child_status_becomes_auditable_error_with_original_exit_code ... ok rbw-2.45.4> test commands::test::test_attachment_metadata_serializes_attachment_count ... ok rbw-2.45.4> test commands::test::test_bw_item_attachments_matches_by_sanitized_item_name ... ok rbw-2.45.4> test commands::test::test_credential_source_login_fields_extracts_password_and_totp ... ok rbw-2.45.4> test commands::test::test_duplicate_org_entries_use_organization_import ... ok rbw-2.45.4> test commands::test::test_bw_vault_to_imported_converts_bitwarden_json_shape ... ok rbw-2.45.4> test commands::test::test_decode_totp_secret ... ok rbw-2.45.4> test commands::test::test_export_entry_in_scope_filters_by_collection ... ok rbw-2.45.4> test commands::test::test_bw_vault_to_imported_skips_unrecognized_item_type ... ok rbw-2.45.4> test commands::test::inject_tests::test_write_rendered_template_file_rejects_non_regular_files ... ok rbw-2.45.4> test commands::test::test_credential_source_login_fields_rejects_non_login_entries ... ok rbw-2.45.4> test commands::test::test_credential_source_login_fields_requires_a_password ... ok rbw-2.45.4> test commands::test::test_export_omits_attachments_field_when_flag_not_set ... ok rbw-2.45.4> test commands::test::test_credential_source_login_fields_totp_is_optional ... ok rbw-2.45.4> test commands::test::test_default_secret ... ok rbw-2.45.4> test commands::test::test_exported_vault_to_bw_converts_rbw_export_shape ... ok rbw-2.45.4> test commands::test::test_export_entry_in_scope_filters_by_org ... ok rbw-2.45.4> test commands::test::test_export_entry_in_scope_includes_trashed_entries ... ok rbw-2.45.4> test commands::test::test_editable_cipher_yaml_roundtrip ... ok rbw-2.45.4> test commands::test::inject_tests::test_write_rendered_template_file_rejects_symlinks ... ok rbw-2.45.4> test commands::test::test_find_by_url_default ... ok rbw-2.45.4> test commands::test::test_export_entry_status_can_skip_archived_entries ... ok rbw-2.45.4> test commands::test::test_editable_to_decrypted_login ... ok rbw-2.45.4> test commands::test::test_extract_vault_json_errors_when_archive_is_empty ... ok rbw-2.45.4> test commands::test::inject_tests::test_render_inject_template_respects_op_inject_raw_start_boundaries ... ok rbw-2.45.4> test commands::test::test_extract_vault_json_falls_back_to_any_file ... ok rbw-2.45.4> test commands::test::test_gpg_encrypt_decrypt_round_trip_via_passphrase_fd ... ignored, requires a real `gpg` binary on PATH rbw-2.45.4> test commands::test::test_gpg_round_trip_survives_payloads_larger_than_pipe_buffer ... ignored, requires a real `gpg` binary on PATH rbw-2.45.4> test commands::test::test_gpg_symmetric_encrypt_round_trip ... ignored, requires a real `gpg` binary on PATH rbw-2.45.4> test commands::test::test_fit_to_width_measures_wide_characters_not_bytes ... ok rbw-2.45.4> test commands::test::test_file_unlock_reads_and_trims_credentials_directory_files ... ok rbw-2.45.4> test commands::test::test_fit_to_width_pads_short_text ... ok rbw-2.45.4> test commands::test::test_find_by_url_domain ... ok rbw-2.45.4> test commands::test::test_format_ambiguous_entry_renders_multiline_details ... ok rbw-2.45.4> test commands::test::test_fit_to_width_truncates_long_text_with_ellipsis ... ok rbw-2.45.4> test commands::test::test_highlight_ranges_scopes_to_the_matching_field ... ok rbw-2.45.4> test commands::test::test_find_by_url_host ... ok rbw-2.45.4> test commands::test::test_history_entry_serializes_expected_fields ... ok rbw-2.45.4> test commands::test::test_find_by_url_exact ... ok rbw-2.45.4> test commands::test::test_detect_format_recognizes_rbw_and_bitwarden_shapes ... ok rbw-2.45.4> test commands::test::test_import_json_tolerates_absent_attachments_field ... ok rbw-2.45.4> test commands::test::inject_tests::test_run_inject_command_returns_child_exit_status ... ok rbw-2.45.4> test commands::test::test_import_json_tolerates_unknown_extra_entry_fields ... ok rbw-2.45.4> test commands::test::test_find_by_url_never ... ok rbw-2.45.4> test commands::test::test_imported_data_to_decrypted_login ... ok rbw-2.45.4> test commands::test::test_extract_vault_json_prefers_json_extension ... ok rbw-2.45.4> test commands::test::test_export_entry_in_scope_includes_everything_when_unscoped ... ok rbw-2.45.4> test commands::test::test_export_attachments_round_trip_through_base64 ... ok rbw-2.45.4> test commands::test::test_find_by_url_regex ... ok rbw-2.45.4> test commands::test::test_find_by_url_starts_with ... ok rbw-2.45.4> test commands::test::test_find_by_uuid ... ok rbw-2.45.4> test commands::test::test_find_entry ... ok rbw-2.45.4> test commands::test::test_find_entry_in_file_matches_by_name ... ok rbw-2.45.4> test commands::test::test_find_entry_in_file_reports_no_match ... ok rbw-2.45.4> test commands::test::test_find_entry_scoring ... ok rbw-2.45.4> test commands::test::test_find_with_multiple_urls ... ok rbw-2.45.4> test commands::test::test_fit_to_width_leaves_exact_width_text_untouched ... ok rbw-2.45.4> test commands::test::shell_quote_escapes_single_quotes ... ok rbw-2.45.4> test commands::test::test_import_json_tolerates_unrecognized_attachment_shape ... ok rbw-2.45.4> test commands::test::test_import_json_parses_plain_export_shape ... ok rbw-2.45.4> test commands::test::test_imported_data_to_decrypted_login_carries_fido2_credentials ... ok rbw-2.45.4> test commands::test::test_imported_data_to_editable_login_preserves_fields_and_uris ... ok rbw-2.45.4> test commands::test::test_imported_data_to_editable_ssh_key ... ok rbw-2.45.4> test commands::test::test_imported_entry_key_distinguishes_by_username ... ok rbw-2.45.4> test commands::test::test_imported_entry_key_ignores_username_for_non_logins ... ok rbw-2.45.4> test commands::test::test_imported_entry_key_treats_empty_username_as_none ... ok rbw-2.45.4> test commands::test::test_imported_entry_key_uses_username_only_for_logins ... ok rbw-2.45.4> test commands::test::test_list_field_accepts_uid_alias ... ok rbw-2.45.4> test commands::test::test_next_mirror_state_maps_results_and_only_unique_creations ... ok rbw-2.45.4> test commands::test::test_plan_mirror_never_reuses_copies_of_another_organization ... ok rbw-2.45.4> test commands::test::test_plan_mirror_matches_by_source_id_not_name ... ok rbw-2.45.4> test commands::test::test_load_import_json_accepts_plain_json_without_passphrase ... ok rbw-2.45.4> test commands::test::test_load_import_json_errors_helpfully_for_non_json_without_passphrase ... ok rbw-2.45.4> test commands::test::test_mirror_vault_allows_purge_dest_with_dest_collection ... ok rbw-2.45.4> test commands::test::test_load_from_file_generates_ids_when_missing ... ok rbw-2.45.4> test commands::test::test_resolve_get_alias_ignores_unknown_name ... ok rbw-2.45.4> test commands::test::test_resolve_get_alias_skipped_with_multiple_needles ... ok rbw-2.45.4> test commands::test::test_resolve_org_auto_detects_single_org ... ok rbw-2.45.4> test commands::test::test_load_mirror_config_uses_camel_case_fields ... ok rbw-2.45.4> test commands::test::test_plan_mirror_adopts_unmapped_copies_by_key_pairwise ... ok rbw-2.45.4> test commands::test::test_mirror_marker_source_id ... ok rbw-2.45.4> test commands::test::test_plan_mirror_creates_missing_and_reports_stale ... ok rbw-2.45.4> test commands::test::test_mirror_round_trip_carries_fido2_credentials ... ok rbw-2.45.4> test commands::test::test_load_from_file_reads_bitwarden_encrypted_json_with_passphrase ... ok rbw-2.45.4> test commands::test::test_mirror_vault_rejects_identical_from_and_to ... ok rbw-2.45.4> test commands::test::test_raw_field_linked_id ... ok rbw-2.45.4> test commands::test::test_paint_with_matches_colors_the_matched_ranges_grep_style ... ok rbw-2.45.4> test commands::test::test_search_match_respects_with_attachments_filter ... ok rbw-2.45.4> test commands::test::test_resolve_collection_lists_candidates_on_ambiguity ... ok rbw-2.45.4> test commands::test::test_ssh_key_entries_parse_from_import_json ... ok rbw-2.45.4> test commands::test::test_resolve_get_alias_matches_bare_needle ... ok rbw-2.45.4> test commands::test::test_scope_prefix_ranges_marks_only_recognized_prefixes ... ok rbw-2.45.4> test commands::test::test_imported_data_to_editable_login_without_uris_is_empty ... ok rbw-2.45.4> test commands::test::test_search_match_supports_field_scoped_query_syntax ... ok rbw-2.45.4> test export_info::test::bitwarden_json_reports_counts ... ok rbw-2.45.4> test commands::test::test_set_field_changes_and_updates ... ok rbw-2.45.4> test commands::test::test_mirror_vault_rejects_purge_dest_with_a_scope ... ok rbw-2.45.4> test commands::test::test_should_unlock_for_merge_on_demand_follows_the_all_flag ... ok rbw-2.45.4> test commands::test::test_revision_dates ... ok rbw-2.45.4> test commands::test::starts_with_requires_same_origin ... ok rbw-2.45.4> test commands::test::test_resolve_get_alias_skipped_when_scoping_flags_are_set ... ok rbw-2.45.4> test commands::test::write_outcomes_survive_context_and_do_not_stash_committed_edits ... ok rbw-2.45.4> test commands::test::test_should_unlock_for_merge_always_ignores_the_all_flag ... ok rbw-2.45.4> test commands::test::test_tui_account_server_strips_scheme_and_trailing_slash ... ok rbw-2.45.4> test commands::test::test_plan_mirror_updates_when_attachment_count_differs ... ok rbw-2.45.4> test export_info::test::auto_detects_csv_and_json_shapes ... ok rbw-2.45.4> test export_info::test::rbw_json_reports_native_counts ... ok rbw-2.45.4> test commands::test::test_render_table_row_aligns_columns_with_padding ... ok rbw-2.45.4> test commands::test::test_search_field_for_column_covers_the_matchable_columns ... ok rbw-2.45.4> test commands::test::test_should_unlock_for_merge_never_ignores_the_all_flag ... ok rbw-2.45.4> test commands::test::test_resolve_organization_lists_candidates_on_ambiguity ... ok rbw-2.45.4> test commands::test::test_restore_candidate ... ok rbw-2.45.4> test commands::test::test_resolve_organization_matches_id_name_and_substring ... ok rbw-2.45.4> test export_info::test::csv_reports_supported_counts ... ok rbw-2.45.4> test commands::test::test_resolve_collection_matches_id_name_and_substring ... ok rbw-2.45.4> test export_info::test::zip_reports_attachment_count ... ok rbw-2.45.4> test commands::test::test_mirror_overwrite_requires_destination_organization_match ... ok rbw-2.45.4> test import_bitwarden::test::test_parse_zip_extracts_data_json_and_attachments ... ok rbw-2.45.4> test import_bitwarden::test::test_sanitize_zip_folder_name_replaces_illegal_characters ... ok rbw-2.45.4> test mcp::test::selector_requires_an_entry ... ok rbw-2.45.4> test import_bitwarden::test::test_write_csv_includes_only_login_and_note_items ... ok rbw-2.45.4> test mcp::test::policy_response_reveals_only_when_explicitly_enabled ... ok rbw-2.45.4> test osc52::test::empty_ssh_environment_is_not_a_session ... ok rbw-2.45.4> test mcp::test::policy_response_rejects_mismatched_field ... ok rbw-2.45.4> test osc52::test::tmux_takes_priority_over_screen ... ok rbw-2.45.4> test mcp::test::remote_api_error_text_cannot_echo_server_supplied_data ... ok rbw-2.45.4> test mcp::test::every_tool_schema_is_an_object ... ok rbw-2.45.4> test import_bitwarden::test::test_zip_preserves_unicode_attachment_names ... ok rbw-2.45.4> test osc52::test::wrap_chunks_long_payload_under_screen ... ok rbw-2.45.4> test mcp::test::list_is_limited ... ok rbw-2.45.4> test mcp::test::policy_response_masks_sensitive_values_by_default ... ok rbw-2.45.4> test osc52::test::wrap_doubles_escape_under_screen ... ok rbw-2.45.4> test mcp::test::summary_keeps_metadata_only ... ok rbw-2.45.4> test mcp::test::selector_puts_needles_after_double_dash ... ok rbw-2.45.4> test osc52::test::wrap_doubles_escape_under_tmux ... ok rbw-2.45.4> test osc52::test::wrap_passthrough_outside_multiplexer ... ok rbw-2.45.4> test import_bitwarden::test::test_write_zip_round_trips_through_parse_zip ... ok rbw-2.45.4> test mcp::test::read_only_hides_writes ... ok rbw-2.45.4> test osc52::test::ssh_session_is_detected_without_a_pty ... ok rbw-2.45.4> test import_bitwarden::test::test_zip_preserves_legacy_cp437_attachment_names ... ok rbw-2.45.4> test passkey::assertion_tests::origin_must_belong_to_the_relying_party ... ok rbw-2.45.4> test passkey::tests::reservation_enables_tracking_and_rejects_exhaustion ... ok rbw-2.45.4> test sends::test::test_send_info_status_labels ... ok rbw-2.45.4> test sock::tests::receives_final_response_after_buffered_progress_messages ... ok rbw-2.45.4> test sends::test::test_send_type_display ... ok rbw-2.45.4> test passkey::assertion_tests::assertion_verifies_with_the_public_key ... ok rbw-2.45.4> test test::audit_policy_keeps_disable_event_and_records_enable_event ... ok rbw-2.45.4> test test::test_collection_assign_personal_conflicts_with_collection ... ok rbw-2.45.4> test mcp::test::info_advertises_tools ... ok rbw-2.45.4> test mcp::test::policy_only_offers_no_local_tools_or_fallback ... ok rbw-2.45.4> test test::test_agent_stop_accepts_force_kill ... ok rbw-2.45.4> test test::policy_only_mcp_requires_all_mtls_inputs ... ok rbw-2.45.4> test test::audit_classifies_operations_without_recording_arguments ... ok rbw-2.45.4> test commands::test::test_load_from_file_reads_bitwarden_json_export ... ok rbw-2.45.4> test test::test_agent_restart_options ... ok rbw-2.45.4> test commands::test::test_load_from_file_reads_bitwarden_zip_attachments ... ok rbw-2.45.4> test test::test_collection_assign_splits_entry_and_collections ... ok rbw-2.45.4> test commands::test::test_load_from_file_reads_plain_json_export ... ok rbw-2.45.4> test mcp::test::masked_values_are_refused ... ok rbw-2.45.4> test test::test_history_restore_args ... ok rbw-2.45.4> test test::test_mirror_parses_every_flag ... ok rbw-2.45.4> test test::test_find_based_subcommands_accept_exact ... ok rbw-2.45.4> test test::test_read_secret_source ... ok rbw-2.45.4> test commands::test::inject_tests::test_write_rendered_template_file_uses_owner_only_permissions ... ok rbw-2.45.4> test test::test_fzf_flag_is_found_on_find_commands_only ... ok rbw-2.45.4> test sends::test::test_derive_and_encrypt_decrypt_round_trip ... ok rbw-2.45.4> test test::test_resolve_output_mode_layers_flags ... ok rbw-2.45.4> test commands::test::inject_tests::test_write_rendered_template_file_accepts_bare_relative_paths ... ok rbw-2.45.4> test test::test_org_group_parses ... ok rbw-2.45.4> test test::test_export_and_import_accept_collection_and_org ... ok rbw-2.45.4> test test::test_get_accepts_no_alias ... ok rbw-2.45.4> test commands::test::test_prune_backups_deletes_only_old_backups ... ok rbw-2.45.4> test test::test_strip_one_newline ... ok rbw-2.45.4> test mcp::test::private_key_requires_owner_only_permissions ... ok rbw-2.45.4> test commands::test::test_write_secure_output_file_uses_owner_only_permissions ... ok rbw-2.45.4> test commands::test::inject_tests::test_write_rendered_template_file_replaces_existing_file_atomically ... ok rbw-2.45.4> test test::test_list_older_than_and_set_if_revision ... ok rbw-2.45.4> test test::test_mirror_requires_from_and_to ... ok rbw-2.45.4> test test::status_grant_cli_accepts_multiple_accounts_or_all_configured ... ok rbw-2.45.4> test commands::test::test_write_secure_output_file_replaces_existing_file ... ok rbw-2.45.4> test test::test_find_args_accept_collection_and_org ... ok rbw-2.45.4> test test::test_output_flags_on_show_and_history ... ok rbw-2.45.4> test tui::app::test::accounts_ctrl_c_closes_panel ... ok rbw-2.45.4> test test::test_attachment_create_splits_needles_and_file ... ok rbw-2.45.4> test tui::app::test::accounts_l_opens_account_picker_prefilled_with_current_source ... ok rbw-2.45.4> test tui::app::test::accounts_l_then_enter_advances_to_item_picker ... ok rbw-2.45.4> test test::test_cli_definition_is_consistent ... ok rbw-2.45.4> test commands::test::test_save_to_file_round_trips_through_load_from_file ... ok rbw-2.45.4> test test::test_root_help_groups_commands ... ok rbw-2.45.4> test tui::app::test::accounts_l_with_no_credential_source_opens_blank_picker ... ok rbw-2.45.4> test tui::app::test::detecting_a_lock_clears_secrets_and_shows_the_prompt ... ok rbw-2.45.4> test tui::app::test::edit_form_ctrl_c_cancels ... ok rbw-2.45.4> test tui::app::test::esc_backs_out_of_detail_focus_before_quitting ... ok rbw-2.45.4> test tui::app::test::esc_clears_filter_then_quits ... ok rbw-2.45.4> test tui::app::test::force_quit_is_a_noop_when_unconfigured ... ok rbw-2.45.4> test tui::app::test::force_quit_exits_immediately_even_from_a_dialog ... ok rbw-2.45.4> test tui::app::test::is_session_expired_error_matches_only_that_error ... ok rbw-2.45.4> test tui::app::test::lock_key_requests_a_screen_lock ... ok rbw-2.45.4> test tui::app::test::accounts_shift_l_with_credential_source_opens_confirm ... ok rbw-2.45.4> test tui::app::test::attachments_q_and_down_arrow_are_not_swallowed_by_global_defaults ... ok rbw-2.45.4> test tui::app::test::attachments_ctrl_c_closes_panel ... ok rbw-2.45.4> test tui::app::test::accounts_q_and_down_arrow_are_not_swallowed_by_global_defaults ... ok rbw-2.45.4> test tui::app::test::ctrl_e_opens_editor_from_any_focus ... ok rbw-2.45.4> test test::test_destructive_commands_accept_yes ... ok rbw-2.45.4> test tui::app::test::accounts_s_on_a_linked_locked_account_uses_auto_unlock_path ... ok rbw-2.45.4> test tui::app::test::detail_scroll_is_a_noop_when_nothing_overflows_the_pane ... ok rbw-2.45.4> test tui::app::test::accounts_shift_l_with_no_credential_source_is_a_noop_with_status ... ok rbw-2.45.4> test tui::app::test::accounts_s_on_a_locked_account_requests_unlock_and_sync ... ok rbw-2.45.4> test tui::app::test::add_account_prompt_ctrl_c_cancels ... ok rbw-2.45.4> test tui::app::test::detail_scroll_is_clamped_to_the_rendered_max ... ok rbw-2.45.4> test test::test_collection_group_parses ... ok rbw-2.45.4> test test::unlock_pinentry_is_an_explicit_override ... ok rbw-2.45.4> test test::test_send_subcommands_parse ... ok rbw-2.45.4> test test::test_lock_parses_with_and_without_all ... ok rbw-2.45.4> test passkey::tests::cdp_preserves_early_assertions_and_does_not_echo_error_parameters ... ok rbw-2.45.4> test test::test_set_secret_source_flags_are_mutually_exclusive ... ok rbw-2.45.4> test test::unlock_ui_selection_is_explicit_and_rejects_conflicts ... ok rbw-2.45.4> test test::unlock_credentials_only_takes_no_other_unlock_options ... ok rbw-2.45.4> test import_bitwarden::test::test_decrypt_encrypted_json_round_trips_with_derived_keys ... ok rbw-2.45.4> test tui::app::test::mouse_scroll_over_detail_only_affects_detail_scroll ... ok rbw-2.45.4> test tui::app::test::poll_agent_lock_is_throttled ... ok rbw-2.45.4> test tui::input::test::cursor_column_counts_display_cells_not_chars ... ok rbw-2.45.4> test tui::app::test::poll_agent_lock_skips_while_prompt_already_showing ... ok rbw-2.45.4> test tui::app::test::picker_ctrl_c_cancels ... ok rbw-2.45.4> test tui::app::test::tab_and_slash_toggle_focus ... ok rbw-2.45.4> test tui::app::test::locked_prompt_q_quits ... ok rbw-2.45.4> test tui::app::test::s_opens_settings_and_ctrl_c_closes_it ... ok rbw-2.45.4> test tui::input::test::insert_move_and_delete ... ok rbw-2.45.4> test tui::app::test::right_and_left_arrows_toggle_detail_focus ... ok rbw-2.45.4> test tui::keymap::test::display_matches_the_established_glyph_style ... ok rbw-2.45.4> test tui::keymap::test::display_round_trips_through_parse ... ok rbw-2.45.4> test tui::keymap::test::parses_plain_and_modified_chords ... ok rbw-2.45.4> test tui::keymap::test::force_quit_resolves_once_configured ... ok rbw-2.45.4> test tui::keymap::test::unmentioned_actions_keep_their_defaults ... ok rbw-2.45.4> test export_info::test::encrypted_json_reports_counts_after_decryption ... ok rbw-2.45.4> test tui::keymap::test::action_in_scopes_to_the_given_actions_not_the_global_default ... ok rbw-2.45.4> test tui::app::test::right_arrow_is_a_noop_on_an_empty_list ... ok rbw-2.45.4> test tui::ui::test::detail_lines_highlight_the_matched_field ... ok rbw-2.45.4> test tui::keymap::test::primary_chord_while_typing_skips_plain_char_chords ... ok rbw-2.45.4> test tui::ui::test::detail_lines_mark_a_matching_secret_without_revealing_it ... ok rbw-2.45.4> test tui::keymap::test::force_quit_has_no_default_chord ... ok rbw-2.45.4> test tui::keymap::test::override_replaces_defaults_entirely ... ok rbw-2.45.4> test tui::ui::test::detail_lines_show_organization_and_collections ... ok rbw-2.45.4> test tui::ui::test::detail_lines_cover_a_full_login ... ok rbw-2.45.4> test tui::keymap::test::resolved_keymap_reports_the_overridden_chord_not_the_default ... ok rbw-2.45.4> test tui::ui::test::pane_at_is_none_below_the_main_area ... ok rbw-2.45.4> test tui::ui::test::status_hint_normal_mode_reflects_an_overridden_binding ... ok rbw-2.45.4> test tui::ui::test::status_hint_search_mode_skips_a_plain_char_override ... ok rbw-2.45.4> test tui::keymap::test::plain_keys_are_hidden_from_text_input_contexts ... ok rbw-2.45.4> test tui::app::test::mouse_select_list_jumps_to_the_clicked_row ... ok rbw-2.45.4> test tui::input::test::kill_word_stops_at_previous_word ... ok rbw-2.45.4> test tui::app::test::locked_prompt_accept_keys_request_unlock ... ok rbw-2.45.4> test tui::ui::test::pane_at_splits_top_bottom_on_a_narrow_terminal ... ok rbw-2.45.4> test tui::ui::test::totp_line_masked_hint_names_the_alt_chord ... ok rbw-2.45.4> test tui::ui::test::pane_at_splits_left_right_on_a_wide_terminal ... ok rbw-2.45.4> test tui::app::test::locked_prompt_other_keys_dismiss_to_normal ... ok rbw-2.45.4> test tui::app::test::mouse_select_list_clamps_to_the_last_item ... ok rbw-2.45.4> test tui::app::test::s_opens_settings_and_esc_closes_it ... ok rbw-2.45.4> test tui::app::test::screen_lock_is_blocking_until_unlock_or_quit ... ok rbw-2.45.4> test tui::app::test::session_expired_prompt_accept_keys_request_unlock ... ok rbw-2.45.4> test import_bitwarden::test::test_decrypt_encrypted_json_rejects_wrong_password ... ok rbw-2.45.4> test tui::app::test::session_expired_prompt_other_keys_dismiss_to_normal ... ok rbw-2.45.4> test tui::app::test::session_expired_prompt_q_quits ... ok rbw-2.45.4> test tui::app::test::settings_length_field_accepts_typed_digits ... ok rbw-2.45.4> test tui::app::test::settings_rebuild_policy_reflects_edits ... ok rbw-2.45.4> test tui::ui::test::renders_all_modes_without_panicking ... ok rbw-2.45.4> test tui::app::test::settings_tab_and_space_toggle_a_boolean_field ... ok rbw-2.45.4> test tui::app::test::settings_rebuild_policy_rejects_non_numeric_length ... ok rbw-2.45.4> test tui::app::test::starts_in_search_and_types_to_filter ... ok rbw-2.45.4> test tui::app::test::mouse_focus_and_scroll_detail_work_while_still_searching ... ok rbw-2.45.4> test tui::app::test::mouse_focus_matches_arrow_key_focus ... ok rbw-2.45.4> test tui::app::test::up_down_scroll_detail_instead_of_moving_selection_when_focused ... ok rbw-2.45.4> test tui::keymap::test::uppercase_letter_defaults_match_a_real_shift_reported_keypress ... ok rbw-2.45.4> test test::test_config_show_and_get_options ... ok rbw-2.45.4> test import_bitwarden::test::test_encrypt_encrypted_json_round_trips_through_decrypt ... ok rbw-2.45.4> test passkey::tests::final_counter_captures_racing_assertions_and_rejects_bad_state ... ok rbw-2.45.4> rbw-2.45.4> test result: ok. 329 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.28s rbw-2.45.4> rbw-2.45.4> Running unittests src/bin/rbw-agent/main.rs (target/release/deps/rbw_agent-4d266957b5582620) rbw-2.45.4> rbw-2.45.4> running 25 tests rbw-2.45.4> test actions::remote_totp_tests::accepts_steam_secret_urls ... ok rbw-2.45.4> test agent::audit_tests::quit_reasons_are_fixed_labels ... ok rbw-2.45.4> test actions::audit_result_tests::decrypt_batch_audit_fails_when_any_entry_fails ... ok rbw-2.45.4> test api::tests::account_wide_grants_are_explicit_and_field_scoped ... ok rbw-2.45.4> test agent::audit_tests::program_labels_drop_the_store_hash ... ok rbw-2.45.4> test agent::audit_tests::socket_audit_uses_fixed_labels_and_skips_status_probes ... ok rbw-2.45.4> test api::tests::uri_match_requires_same_uri_grant ... ok rbw-2.45.4> test webauthn::tests::prepares_vaultwarden_request_and_hashes_exact_client_data ... ok rbw-2.45.4> test actions::remote_totp_tests::accepts_case_insensitive_otpauth_scheme ... ok rbw-2.45.4> test webauthn::tests::rejects_malformed_or_discoverable_requests ... ok rbw-2.45.4> test webauthn::tests::supports_padded_base64_and_default_rp_id ... ok rbw-2.45.4> test webauthn::tests::serializes_assertion_in_vaultwarden_wire_format ... ok rbw-2.45.4> test reexec::tests::only_trusted_agents_are_executed ... ok rbw-2.45.4> test actions::remote_totp_tests::accepts_lowercase_and_spaced_otpauth_secrets ... ok rbw-2.45.4> test reexec::tests::handover_roundtrips_every_account ... ok rbw-2.45.4> test api::backoff_tests::repeated_failures_back_off_and_log_once ... ok rbw-2.45.4> test api::tests::revoked_account_wide_uri_grant_stops_field_reads ... ok rbw-2.45.4> test reexec::tests::handover_rejects_garbage_and_other_formats ... ok rbw-2.45.4> test webauthn::tests::rejects_untrusted_origins_and_appids_before_accessing_token ... ok rbw-2.45.4> test actions::remote_totp_tests::honors_otpauth_algorithm_digits_and_period ... ok rbw-2.45.4> test api::tests::listing_combines_account_wide_and_item_grants ... ok rbw-2.45.4> test webauthn::tests::rejects_unknown_or_ambiguous_credentials ... ok rbw-2.45.4> test webauthn::tests::preserves_required_verification_and_bounds_timeout ... ok rbw-2.45.4> test ssh_agent::rsa_components_preserve_the_ssh_public_key ... ok rbw-2.45.4> test api::tests::https_handler_enforces_grants_revocation_and_disabled_state ... ok rbw-2.45.4> rbw-2.45.4> test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.81s rbw-2.45.4> rbw-2.45.4> Running unittests src/bin/rbw-browser/main.rs (target/release/deps/rbw_browser-02be163f538fd5e0) rbw-2.45.4> rbw-2.45.4> running 0 tests rbw-2.45.4> rbw-2.45.4> test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s rbw-2.45.4> rbw-2.45.4> Running unittests src/bin/rbw-unlockd/main.rs (target/release/deps/rbw_unlockd-bbedbdeee498b914) rbw-2.45.4> rbw-2.45.4> running 5 tests rbw-2.45.4> test server::tests::bad_ids_and_keyring_store_are_rejected ... ok rbw-2.45.4> test server::tests::lockout_grows_and_caps ... ok rbw-2.45.4> test server::tests::enroll_unlock_and_remove_need_a_finger ... ok rbw-2.45.4> test server::tests::failed_scans_release_nothing_and_lock_out ... ok rbw-2.45.4> test server::tests::failed_replacement_preserves_old_store ... ok rbw-2.45.4> rbw-2.45.4> test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s rbw-2.45.4> rbw-2.45.4> Doc-tests rbw rbw-2.45.4> rbw-2.45.4> running 0 tests rbw-2.45.4> rbw-2.45.4> test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s rbw-2.45.4> rbw-2.45.4> checkPhase completed in 1 minutes 54 seconds rbw-2.45.4> Running phase: installPhase rbw-2.45.4> actually installing contents of postBuildInstallFromCargoBuildLogOutTempglK to /nix/store/n97imp9x0wac2vgs5r1lfjyn0ifwxxar-rbw-2.45.4 rbw-2.45.4> stripping references to Rust toolchain rbw-2.45.4> Rust toolchain at: /nix/store/mslcwkiyh6wayx8gpzlq53wvr3a5pp44-rustc-1.99.1 rbw-2.45.4> stripping Rust toolchain references done rbw-2.45.4> stripping references to cargoVendorDir from: rbw-2.45.4> /nix/store/n97imp9x0wac2vgs5r1lfjyn0ifwxxar-rbw-2.45.4/bin/git-credential-rbw rbw-2.45.4> /nix/store/n97imp9x0wac2vgs5r1lfjyn0ifwxxar-rbw-2.45.4/bin/rbw rbw-2.45.4> /nix/store/n97imp9x0wac2vgs5r1lfjyn0ifwxxar-rbw-2.45.4/bin/rbw-agent rbw-2.45.4> /nix/store/n97imp9x0wac2vgs5r1lfjyn0ifwxxar-rbw-2.45.4/bin/rbw-browser rbw-2.45.4> /nix/store/n97imp9x0wac2vgs5r1lfjyn0ifwxxar-rbw-2.45.4/bin/rbw-unlockd rbw-2.45.4> /nix/store/n97imp9x0wac2vgs5r1lfjyn0ifwxxar-rbw-2.45.4/share/bash-completion/completions/rbw rbw-2.45.4> /nix/store/n97imp9x0wac2vgs5r1lfjyn0ifwxxar-rbw-2.45.4/share/fish/vendor_completions.d/rbw.fish rbw-2.45.4> /nix/store/n97imp9x0wac2vgs5r1lfjyn0ifwxxar-rbw-2.45.4/share/zsh/site-functions/_rbw rbw-2.45.4> stripping references done rbw-2.45.4> Running phase: fixupPhase rbw-2.45.4> shrinking RPATHs of ELF executables and libraries in /nix/store/n97imp9x0wac2vgs5r1lfjyn0ifwxxar-rbw-2.45.4 rbw-2.45.4> shrinking /nix/store/n97imp9x0wac2vgs5r1lfjyn0ifwxxar-rbw-2.45.4/bin/rbw rbw-2.45.4> shrinking /nix/store/n97imp9x0wac2vgs5r1lfjyn0ifwxxar-rbw-2.45.4/bin/rbw-agent rbw-2.45.4> shrinking /nix/store/n97imp9x0wac2vgs5r1lfjyn0ifwxxar-rbw-2.45.4/bin/rbw-browser rbw-2.45.4> shrinking /nix/store/n97imp9x0wac2vgs5r1lfjyn0ifwxxar-rbw-2.45.4/bin/rbw-unlockd rbw-2.45.4> checking for references to /build/ in /nix/store/n97imp9x0wac2vgs5r1lfjyn0ifwxxar-rbw-2.45.4... rbw-2.45.4> patching script interpreter paths in /nix/store/n97imp9x0wac2vgs5r1lfjyn0ifwxxar-rbw-2.45.4 rbw-2.45.4> stripping (with command strip and flags -S -p) in /nix/store/n97imp9x0wac2vgs5r1lfjyn0ifwxxar-rbw-2.45.4/bin building '/nix/store/zgc6r0j9mqqjfj170g301y5dlgwz259v-browser-ask-human.drv' on 'ssh-ng://nix-remote-builder@rofl-16.brkn.lol' building '/nix/store/h8fvz243790lz3q6vvv45w1fd792lj0n-bluetooth-headset-connect.sh.drv' building '/nix/store/qx4jcrybk7vz40c9b4wzg5k9wp028p0i-bluetooth.sh.drv' building '/nix/store/84xhq5ljcx2lgkn77fk0jg14l5rkvn18-browser-daemon-secret-agent.drv' building '/nix/store/xhw924qvy6d1mc74g6knkc4iiv52kb9f-feierabend-start.sh.drv' building '/nix/store/h1sfbk78mqvy67ifvrxif8v916wsmvav-feierabend-stop.sh.drv' building '/nix/store/7hcb6v3znnm7x5r2rjv4bly6ikbk029z-gnome-keyring-unlock.sh.drv' building '/nix/store/xrrncx2dwxjqfzzzxq7xk3knkzjz50rq-gpg-main-key.sh.drv' building '/nix/store/xmhmvbplzx4hwy7qvvbylwy912yj4gnv-last-seen.sh.drv' building '/nix/store/dlhj7jwikkib38dpx6kp9sqcyqrqgxk8-obs-hide-roomba.sh.drv' building '/nix/store/452kw0bm2iva1ibwf16af4xxksz940sk-obs-mute-switch.sh.drv' building '/nix/store/aqjvg45rnh83x1silayjpgv0s3pxs31i-obs-show-roomba.sh.drv' building '/nix/store/06k1wwwnfwd27pdmwwggsyvnfv4km2vs-pikvm.sh.drv' building '/nix/store/icfd5c7by624i4dd887b4kyhhdhv4lhp-playerctl-pause.sh.drv' building '/nix/store/mmi9ncglvw0cmvxln9qhgz803418pys9-playerctl-play.sh.drv' building '/nix/store/5psprawm9r3mp1383zgcfacx1mf25ajd-pp.sh.drv' building '/nix/store/dahcw6586hv5w77vim4as4kr61n6arqn-rbw.sh.drv' building '/nix/store/ga4bxv08vq8fvja1p1fccy4fvimq4pbs-screenshot.sh.drv' building '/nix/store/lrxma53bl1cw5lh79f2sm2623fnwgm33-status.sh.drv' building '/nix/store/9xchqxhnvax428b73p5gkmr698nmxbwb-stop-gec-vpn.sh.drv' building '/nix/store/d7h9wylisybhgxpjnrqxppx2rdqfw9q8-timewarrior-start.sh.drv' building '/nix/store/4bf5kjvdp95s9l51dk65wgyyy64sdv8d-timewarrior-stop.sh.drv' building '/nix/store/fl5a6p1p7bri1dssmr8ckggsa2jzq6bb-timewarrior-today.sh.drv' building '/nix/store/2q3jsds6vw1xxxx0nvj8pn8pss28q4w9-timewarrior.sh.drv' building '/nix/store/q7amqgnc6sqb7bslwyl823wldjmxawk8-unit-browser-daemon-secret-agent.service.drv' building '/nix/store/5zf9cc7fqhja230gdyww91dv6zyjxfyb-unlock-hyprlock.sh.drv' building '/nix/store/i9hf50l68wpwfa9rd3l96n0cv8wxvhgl-go-hass-agent-commands.toml.drv' building '/nix/store/zgc6r0j9mqqjfj170g301y5dlgwz259v-browser-ask-human.drv' building '/nix/store/zy386y2vy84ax3hs0x5m9097pwhvwf41-antigravity-cli-mcp-config.json.drv' building '/nix/store/4ybnsrsc8cmy7ykk9zxxg92vccsa3vmi-claude-code-mcp.json.drv' building '/nix/store/4ngbs25k08mqavf9mn9mhwhaf0i88ah8-codex-config.drv' building '/nix/store/fj27dxr96sjz9myx4jz56nsis3025xwn-github-copilot-cli-mcp-config.json.drv' cannot build on 'ssh-ng://nix-remote-builder@100.122.21.36': error: failed to start SSH connection to '100.122.21.36' building '/nix/store/r82g52g2lpsczn09f1bmg73hs2bmwjaw-claude-code-hm-plugin.drv' on 'ssh-ng://nix-remote-builder@rofl-15.brkn.lol' building '/nix/store/fjkrszfvsikk8b22mix9jk7n3fqnh8an-mcp.json.drv' building '/nix/store/7gqli3y79la9l83yhs67i33x0y2m5llv-opencode.json.drv' cannot build on 'ssh-ng://nix-remote-builder@100.122.4.173': error: failed to start SSH connection to '100.122.4.173' cannot build on 'ssh-ng://nix-remote-builder@100.122.21.36': error: failed to start SSH connection to '100.122.21.36' building '/nix/store/qc186rkxykqw94mr6zpkp620hyy23jhf-codex-config.toml.drv' on 'ssh-ng://nix-remote-builder@rofl-15.brkn.lol' building '/nix/store/4f4c7qvxc1hmg1cl421v0pxmj36vqrh9-home-manager-path.drv' building '/nix/store/qc186rkxykqw94mr6zpkp620hyy23jhf-codex-config.toml.drv' building '/nix/store/r82g52g2lpsczn09f1bmg73hs2bmwjaw-claude-code-hm-plugin.drv' building '/nix/store/g1n004zxs3clp9vp9yd4gwdgwby9265k-activation-script.drv' home-manager-path> created 9914 symlinks in user environment building '/nix/store/8xfxs8q25ch2jj1z2nka8g26nzg1g1yp-hm_hmfontconfigfonts.xml.drv' building '/nix/store/6ylwg01cihkcx3x2i8abd2lp2irrid32-user-environment.drv' building '/nix/store/vq99c2icz9hck4rybjv7xsg7q69hmhgw-home-manager-files.drv' user-environment> created 832 symlinks in user environment building '/nix/store/2wl7a02wmvyl0nv22054kb1skvbv59v4-hm-putter.json.drv' building '/nix/store/qd01zv8pn67s22sf53yq2l1nrwb8bypk-home-manager-generation.drv' building '/nix/store/2a9yrj8wkj3wkidqlyh30f3bqk0s63yn-unit-home-manager-pschmitt.service.drv' building '/nix/store/jcpvrzy6s0zfpnf422fyws9v4r9f9wvz-system-units.drv' building '/nix/store/vmaf4rb0iqcjwnr1l3nl9xxyqpdbdrbj-etc.drv' building '/nix/store/8rgnwy6kfy60namnyr1k0cvxig461c8n-activate.drv' building '/nix/store/5qrrvp7dsdhxbgg0m2fn7bqzn96ggyrv-nixos-system-fnuc-26.11.20261110.52b3705.drv' upload niks3: ok post-build step niks3 pin: ok time=2026-11-12T15:19:13.490+01:00 level=INFO msg="All 1 paths already cached" time=2026-11-12T15:19:13.507+01:00 level=INFO msg="Created pin" name=nixbot-pschmitt-nixos-config-hosts.fnuc store_path=/nix/store/aaxd86363y77ynzgphnqmgsjgfp2rcrs-nixos-system-fnuc-26.11.20261110.52b3705 post-build step LAN mirror trigger: ok Triggered the LAN mirror on fnuc.ts.brkn.lol