LICENSE
README.md
pyproject.toml
src/platterpus/__init__.py
src/platterpus/__main__.py
src/platterpus/app.py
src/platterpus/app_icon.py
src/platterpus/appimage_integration.py
src/platterpus/atomic_write.py
src/platterpus/build_info.py
src/platterpus/checksums.py
src/platterpus/cli_compare.py
src/platterpus/composition.py
src/platterpus/config.py
src/platterpus/cue_validate.py
src/platterpus/cyanrip_cli.py
src/platterpus/diagnostics.py
src/platterpus/drive_access.py
src/platterpus/drive_control.py
src/platterpus/drive_media.py
src/platterpus/drive_profile_store.py
src/platterpus/drive_profiles.py
src/platterpus/eac_log_export.py
src/platterpus/evidence_bundle.py
src/platterpus/goal_presets.py
src/platterpus/handshake_approval.py
src/platterpus/hard_exit.py
src/platterpus/help_content.py
src/platterpus/killable.py
src/platterpus/library_move.py
src/platterpus/log_buffer.py
src/platterpus/logging_setup.py
src/platterpus/medium_select.py
src/platterpus/naming.py
src/platterpus/notify.py
src/platterpus/offset_config.py
src/platterpus/option_labels.py
src/platterpus/parity.py
src/platterpus/paths.py
src/platterpus/preflight.py
src/platterpus/read_speed_ladder.py
src/platterpus/report_artifacts.py
src/platterpus/report_types.py
src/platterpus/report_writer.py
src/platterpus/rig_check.py
src/platterpus/rig_session.sh
src/platterpus/rip_addendum.py
src/platterpus/rip_audit.py
src/platterpus/rip_compare.py
src/platterpus/rip_files.py
src/platterpus/rip_plan.py
src/platterpus/rip_report.py
src/platterpus/rip_timing.py
src/platterpus/ripper_identity.py
src/platterpus/ripper_message_inventory.py
src/platterpus/ripper_messages.py
src/platterpus/safe_int.py
src/platterpus/settings_validation.py
src/platterpus/tool_paths.py
src/platterpus/update_check.py
src/platterpus/update_install.py
src/platterpus/update_signing.py
src/platterpus/verdict.py
src/platterpus.egg-info/PKG-INFO
src/platterpus.egg-info/SOURCES.txt
src/platterpus.egg-info/dependency_links.txt
src/platterpus.egg-info/entry_points.txt
src/platterpus.egg-info/requires.txt
src/platterpus.egg-info/top_level.txt
src/platterpus/adapters/__init__.py
src/platterpus/adapters/accuraterip_offsets.py
src/platterpus/adapters/accuraterip_offsets_data.py
src/platterpus/adapters/cache_probe.py
src/platterpus/adapters/cover_art.py
src/platterpus/adapters/ctdb_client.py
src/platterpus/adapters/cyanrip_backend.py
src/platterpus/adapters/derived_verify.py
src/platterpus/adapters/flac_recompress.py
src/platterpus/adapters/flac_verify.py
src/platterpus/adapters/metaflac.py
src/platterpus/adapters/musicbrainz_client.py
src/platterpus/adapters/rip_backend.py
src/platterpus/adapters/ripper_log_verify.py
src/platterpus/adapters/tool_run.py
src/platterpus/adapters/transcode.py
src/platterpus/ctdb/__init__.py
src/platterpus/ctdb/calibrate.py
src/platterpus/ctdb/crc.py
src/platterpus/ctdb/decode.py
src/platterpus/ctdb/diagnose.py
src/platterpus/ctdb/toc.py
src/platterpus/ctdb/verify.py
src/platterpus/deps/__init__.py
src/platterpus/deps/build_notes.py
src/platterpus/deps/checks.py
src/platterpus/deps/fork_source.py
src/platterpus/deps/host_setup.py
src/platterpus/deps/host_teardown.py
src/platterpus/deps/manager.py
src/platterpus/deps/registry.py
src/platterpus/deps/resolvers.py
src/platterpus/deps/ripper_manifest.py
src/platterpus/deps/ripper_offer.py
src/platterpus/deps/step_engine.py
src/platterpus/deps/version.py
src/platterpus/parsers/__init__.py
src/platterpus/parsers/cd_info.py
src/platterpus/parsers/cyanrip_info.py
src/platterpus/parsers/cyanrip_log.py
src/platterpus/parsers/drive_list.py
src/platterpus/parsers/eac_log.py
src/platterpus/parsers/rip_log.py
src/platterpus/resources/platterpus-logo.svg
src/platterpus/ui/__init__.py
src/platterpus/ui/accessibility.py
src/platterpus/ui/disc_info_panel.py
src/platterpus/ui/drive_picker.py
src/platterpus/ui/drive_setup_dialog.py
src/platterpus/ui/external_open.py
src/platterpus/ui/failure_text.py
src/platterpus/ui/help_dialogs.py
src/platterpus/ui/host_setup_dialog.py
src/platterpus/ui/main_window.py
src/platterpus/ui/main_window_deps.py
src/platterpus/ui/main_window_drive.py
src/platterpus/ui/main_window_helpers.py
src/platterpus/ui/main_window_provision.py
src/platterpus/ui/main_window_rip.py
src/platterpus/ui/main_window_shared.py
src/platterpus/ui/main_window_update.py
src/platterpus/ui/release_picker.py
src/platterpus/ui/rip_controls.py
src/platterpus/ui/rip_progress.py
src/platterpus/ui/scroll_guards.py
src/platterpus/ui/settings_dialog.py
src/platterpus/ui/track_table.py
src/platterpus/ui/uninstall_dialog.py
src/platterpus/ui/unknown_album.py
src/platterpus/ui/dialogs/__init__.py
src/platterpus/ui/dialogs/auto_center.py
src/platterpus/ui/dialogs/centering.py
src/platterpus/ui/dialogs/diagnostics_dialog.py
src/platterpus/ui/dialogs/file_viewer.py
src/platterpus/ui/dialogs/manual_install.py
src/platterpus/ui/dialogs/pending_installs.py
src/platterpus/ui/dialogs/script_console.py
src/platterpus/uiscript/__init__.py
src/platterpus/uiscript/find_script.py
src/platterpus/uiscript/report.py
src/platterpus/uiscript/runner.py
src/platterpus/uiscript/script.py
src/platterpus/uiscript/verbs.py
src/platterpus/workers/__init__.py
src/platterpus/workers/ctdb_worker.py
src/platterpus/workers/dependency_worker.py
src/platterpus/workers/derived_verify_worker.py
src/platterpus/workers/disc_info_worker.py
src/platterpus/workers/drive_list_worker.py
src/platterpus/workers/drive_setup_worker.py
src/platterpus/workers/flac_verify_worker.py
src/platterpus/workers/host_setup_worker.py
src/platterpus/workers/mb_worker.py
src/platterpus/workers/rip_worker.py
src/platterpus/workers/ripper_update_worker.py
src/platterpus/workers/update_worker.py
tests/test_accessibility_standards.py
tests/test_accuraterip_offsets.py
tests/test_app.py
tests/test_app_icon.py
tests/test_app_smoke.py
tests/test_appimage_integration.py
tests/test_argv_surface_agreement.py
tests/test_atomic_write.py
tests/test_audit_regressions.py
tests/test_auto_fix_convergence.py
tests/test_build_harness.py
tests/test_build_info.py
tests/test_cache_defeat_wiring.py
tests/test_cache_probe.py
tests/test_checksums.py
tests/test_ci_jobs_are_bounded.py
tests/test_cli_compare.py
tests/test_composition.py
tests/test_config.py
tests/test_cover_art.py
tests/test_ctdb_calibrate.py
tests/test_ctdb_client.py
tests/test_ctdb_decode.py
tests/test_ctdb_diagnose.py
tests/test_ctdb_toc.py
tests/test_ctdb_verify.py
tests/test_ctdb_worker.py
tests/test_cue_validate.py
tests/test_cyanrip_backend.py
tests/test_cyanrip_colon_patcher.py
tests/test_cyanrip_version_flag.py
tests/test_dead_attribute_reads.py
tests/test_dependency_arg_contract.py
tests/test_dependency_build_notes.py
tests/test_dependency_contract_emitted.py
tests/test_dependency_worker.py
tests/test_deps_checks.py
tests/test_deps_host_setup.py
tests/test_deps_host_teardown.py
tests/test_deps_manager.py
tests/test_deps_registry.py
tests/test_deps_resolvers.py
tests/test_deps_step_engine.py
tests/test_deps_version.py
tests/test_derived_verify.py
tests/test_derived_verify_worker.py
tests/test_diagnostics.py
tests/test_dialog_lifecycle_logging.py
tests/test_disc_info_worker.py
tests/test_doc_index_completeness.py
tests/test_doc_links.py
tests/test_doc_version_stamps.py
tests/test_documented_ripper_flags_are_real.py
tests/test_double_rip_discovery.py
tests/test_drive_access.py
tests/test_drive_control.py
tests/test_drive_list_worker.py
tests/test_drive_media.py
tests/test_drive_profiles.py
tests/test_drive_setup_worker.py
tests/test_e2e_rip_pipeline.py
tests/test_eac_layout_parity.py
tests/test_eac_log_export.py
tests/test_eac_pregap_convention.py
tests/test_evidence_bundle.py
tests/test_failure_surfaces.py
tests/test_flac_recompress.py
tests/test_flac_verify.py
tests/test_fork_golden_reference.py
tests/test_fork_golden_reference_r6b.py
tests/test_fork_rip_eac_parity.py
tests/test_fork_source.py
tests/test_gating_tools_are_pinned.py
tests/test_goal_presets.py
tests/test_golden_reference_parse.py
tests/test_gui_thread_discipline.py
tests/test_handshake_approval.py
tests/test_handshake_cites_the_pair_it_ran.py
tests/test_handshake_conformance.py
tests/test_handshake_file_naming.py
tests/test_handshake_protocol.py
tests/test_handshake_source_anchor.py
tests/test_handshake_tooling.py
tests/test_harness_fidelity.py
tests/test_host_setup_worker.py
tests/test_imports_are_declared.py
tests/test_install_appimage_script.py
tests/test_install_script.py
tests/test_killable.py
tests/test_killable_timeout_capture.py
tests/test_library_move.py
tests/test_log_buffer.py
tests/test_log_truncation.py
tests/test_logging_setup.py
tests/test_mb_worker.py
tests/test_medium_select.py
tests/test_metaflac_adapter.py
tests/test_multi_pass_rip_end_to_end.py
tests/test_musicbrainz_client.py
tests/test_naming.py
tests/test_never_raises_contract.py
tests/test_no_stale_version_claims.py
tests/test_notify.py
tests/test_offset_config.py
tests/test_offset_confirmation.py
tests/test_option_labels.py
tests/test_parity.py
tests/test_parsers_cd_info.py
tests/test_parsers_cyanrip_info.py
tests/test_parsers_cyanrip_log.py
tests/test_parsers_drive_list.py
tests/test_parsers_eac_log.py
tests/test_parsers_pregap_state.py
tests/test_parsers_property.py
tests/test_parsers_rip_log.py
tests/test_partial_summary_after_autofix.py
tests/test_planning_module_map.py
tests/test_preflight.py
tests/test_provider_contract_agreement.py
tests/test_qt_teardown_fitness.py
tests/test_qthread_ownership.py
tests/test_qthread_teardown_abort.py
tests/test_read_speed_ladder.py
tests/test_read_stalls.py
tests/test_regex_bounded_time.py
tests/test_report_artifacts.py
tests/test_report_types_completeness.py
tests/test_report_writer.py
tests/test_rig_check.py
tests/test_rig_session_reachable.py
tests/test_rig_session_script.py
tests/test_rip_addendum.py
tests/test_rip_addendum_outcome.py
tests/test_rip_audit.py
tests/test_rip_backend.py
tests/test_rip_compare.py
tests/test_rip_files.py
tests/test_rip_plan.py
tests/test_rip_progress_live_log_follows.py
tests/test_rip_report.py
tests/test_rip_report_completeness.py
tests/test_rip_timing.py
tests/test_rip_worker.py
tests/test_ripper_capture_completeness.py
tests/test_ripper_error_surfacing.py
tests/test_ripper_identity.py
tests/test_ripper_log_verify.py
tests/test_ripper_manifest.py
tests/test_ripper_update_worker.py
tests/test_round_digest.py
tests/test_script_console.py
tests/test_script_language_emitted.py
tests/test_script_surface_is_the_default.py
tests/test_scroll_guards.py
tests/test_security_no_shell.py
tests/test_self_invocation_sweep.py
tests/test_sent_laps_are_immutable.py
tests/test_settings_validation.py
tests/test_setup_host_script.py
tests/test_suite_completion_guard.py
tests/test_surface_consistency.py
tests/test_timing_honesty.py
tests/test_track5_autofix_vs_eac.py
tests/test_track_table_lock.py
tests/test_transcode.py
tests/test_trust_copy_honesty.py
tests/test_ui_accessibility.py
tests/test_ui_auto_center.py
tests/test_ui_diagnostics_dialog.py
tests/test_ui_disc_info_panel.py
tests/test_ui_drive_picker.py
tests/test_ui_drive_setup_dialog.py
tests/test_ui_external_open.py
tests/test_ui_file_viewer.py
tests/test_ui_help_dialogs.py
tests/test_ui_host_setup_dialog.py
tests/test_ui_main_window.py
tests/test_ui_manual_install_dialog.py
tests/test_ui_pending_installs_dialog.py
tests/test_ui_release_picker.py
tests/test_ui_rip_controls.py
tests/test_ui_rip_progress.py
tests/test_ui_settings_dialog.py
tests/test_ui_track_table.py
tests/test_ui_uninstall_dialog.py
tests/test_ui_unknown_album.py
tests/test_uiscript.py
tests/test_uiscript_cyanrip_verb.py
tests/test_uiscript_rip_verbs.py
tests/test_uiscript_settings.py
tests/test_uninstall_script.py
tests/test_update_check.py
tests/test_update_install.py
tests/test_update_signing.py
tests/test_update_worker.py
tests/test_user_guide_currency.py
tests/test_verdict.py
tests/test_verify_log_support.py
tests/test_workers_init.py