[gw2] [ 2%] FAILED src/features/open_viewer/test.py::test_the_viewer_waits_for_a_busy_port_opens_a_page_only_when_no_tab_has_it_and_lists_the_journals_running [gw2] [ 2%] FAILED src/features/open_viewer/test.py::test_the_viewer_reads_and_changes_its_settings_hooks_services_files_and_identity [gw1] [ 3%] FAILED src/features/checks/test.py::test_upgrades_rename_old_stored_keys_in_events_agents_checks_and_settings [gw1] [ 4%] FAILED src/features/clean_slate/test.py::test_an_agent_ending_waits_for_nothing_slow_and_a_slow_end_leaves_its_stack [gw0] [ 6%] FAILED tests/test_every_action.py::test_every_call_the_viewer_makes_is_answered_by_the_api_as_the_user [gw0] [ 6%] FAILED tests/test_every_action.py::test_every_read_the_viewer_polls_answers_with_the_keys_it_reads [gw2] [ 8%] FAILED src/features/phone/test.py::test_a_message_from_the_phone_is_the_users_own [gw2] [ 13%] FAILED src/features/pull_requests/test.py::test_a_pull_request_the_agent_opens_is_pinned_until_it_is_merged [gw2] [ 14%] FAILED src/features/put_off_work/test.py::test_a_rollback_to_the_previous_build_reads_the_index_this_build_wrote_and_this_build_takes_back_what_it_left [gw2] [ 15%] FAILED src/features/record_audit/test.py::test_evidence_finds_dead_paths_and_verbs_and_a_struck_claim_has_none [gw2] [ 18%] FAILED src/features/rules/test.py::test_a_command_that_touches_a_rules_keyword_is_whispered_the_rule_once_per_session [gw2] [ 20%] FAILED src/features/secrets/test.py::test_a_secret_keeps_its_value_in_a_file_of_its_own_and_nowhere_in_the_journal [gw2] [ 20%] FAILED src/features/secrets/test.py::test_a_deleted_secret_keeps_its_values_for_30_days [gw2] [ 21%] FAILED src/features/secrets/test.py::test_a_command_gets_the_value_and_prints_only_its_mask [gw2] [ 21%] FAILED src/features/secrets/test.py::test_a_login_is_saved_once_and_the_agents_browser_starts_with_it [gw2] [ 21%] FAILED src/features/secrets/test.py::test_a_site_the_user_lets_the_agent_log_in_to_needs_no_button [gw2] [ 21%] FAILED src/features/secrets/test.py::test_a_journal_on_a_server_keeps_its_own_values_which_no_backup_restore_or_other_machine_touches [gw2] [ 22%] FAILED src/features/sequences/test.py::test_a_step_not_taken_up_holds_journal_commands_but_not_the_ones_that_answer_it [gw0] [ 24%] FAILED tests/test_every_action.py::test_every_listing_is_one_page_of_open_rows_inside_the_budget [gw0] [ 27%] FAILED tests/test_every_action.py::test_a_failed_attach_leaves_the_attached_file_and_its_description_as_they_were_for_every_type [gw0] [ 28%] FAILED tests/test_every_action.py::test_a_row_of_every_type_moved_to_another_environment_keeps_its_words_and_file_and_leaves_an_archived_original [gw0] [ 35%] FAILED tests/test_every_action.py::test_a_row_of_every_type_written_behind_the_stores_back_shows_up_in_lists_fresh_stale_or_in_bulk [gw0] [ 35%] FAILED tests/test_every_action.py::test_an_upload_and_the_file_route_stay_inside_the_rows_folder_for_every_type [gw1] [ 41%] FAILED src/features/form_of_address/test.py::test_a_voices_animations_are_found_by_file_name_grouped_by_kind_and_take_dropped_sheets [gw1] [ 47%] FAILED src/features/hosted_journal/test.py::test_a_full_disk_refuses_the_write_and_leaves_the_kept_file_whole [gw1] [ 48%] FAILED src/features/integrations/test.py::test_only_you_pick_an_integrations_key_and_a_phone_never_does [gw1] [ 49%] FAILED src/features/integrations/test.py::test_an_integration_holds_one_client_and_builds_it_again_when_its_settings_change [gw1] [ 51%] FAILED src/features/journal_laws/test.py::test_an_instruction_file_past_its_providers_limit_is_told_once_per_size_band [gw1] [ 53%] FAILED src/features/kept_rows/test.py::test_a_release_asks_for_a_full_restart_in_its_changelog_entry [gw0] [ 56%] FAILED tests/test_it_boots.py::test_an_upgrade_copies_a_changed_file_into_the_attic_before_replacing_it [gw0] [ 57%] FAILED tests/test_it_boots.py::test_a_legacy_install_copies_managed_files_and_updates_without_holding [gw1] [ 63%] FAILED tests/test_the_viewer.py::test_the_viewer_answers_every_state_in_a_browser[planbars] [gw1] [ 65%] FAILED tests/test_the_viewer.py::test_the_viewer_answers_every_state_in_a_browser[secrets] [gw1] [ 65%] FAILED tests/test_the_viewer.py::test_the_viewer_answers_every_state_in_a_browser[settings] [gw1] [ 65%] FAILED tests/test_the_viewer.py::test_the_viewer_answers_every_state_in_a_browser[tooltip] [gw1] [ 65%] FAILED tests/test_the_viewer.py::test_the_viewer_answers_every_state_in_a_browser[triggers] [gw1] [ 65%] FAILED tests/test_the_viewer.py::test_a_paired_phone_answers_every_state_in_a_browser[agent]