.gitignore
CLAUDE.md
Dockerfile
LICENSE
README.md
docker-compose.yml
pyproject.toml
requirements.txt
.agents/plugins/marketplace.json
.claude/settings.json
.claude-plugin/marketplace.json
.claude-plugin/plugin.json
.codex-plugin/plugin.json
.github/workflows/ci.yml
commands/hhru.md
config/config.example.yaml
deploy/com.hhru.bot.apply.plist
deploy/com.hhru.bot.bump.plist
docs/cli-spec.md
docs/market-recipes.md
docs/portfolio-evidence.md
docs/testing.md
docs/design/issue-55-write-negotiations.md
docs/research/issue-257-live-probe.md
docs/research/issue-265-cefr-live-probe.md
docs/research/issue-335-semernyakov-diff-audit.md
docs/research/issue-567-profile-hydration.md
docs/research/issue-84-references.md
docs/research/reference-audit-full-sweep.md
docs/research/reference-selector-diff-audit.md
scripts/check_pytest_budget.py
scripts/crontab.example
scripts/gen_cli_docs.py
scripts/live_test.sh
scripts/live_test_safe.sh
scripts/manual_ai_live_check.py
scripts/run.sh
scripts/scheduled_run.sh
skills/hhru/SKILL.md
skills/hhru-apply/SKILL.md
skills/hhru-market/SKILL.md
skills/hhru-monitor/SKILL.md
src/hhru_bot/__init__.py
src/hhru_bot/_version.py
src/hhru_bot/about.py
src/hhru_bot/account_profile.py
src/hhru_bot/accounts.py
src/hhru_bot/adaptive_metrics.py
src/hhru_bot/adaptive_resume.py
src/hhru_bot/adaptive_resume_apply.py
src/hhru_bot/auth.py
src/hhru_bot/auth_code.py
src/hhru_bot/backup.py
src/hhru_bot/blacklist.py
src/hhru_bot/browser.py
src/hhru_bot/bump.py
src/hhru_bot/catalog_preflight.py
src/hhru_bot/cli.py
src/hhru_bot/common.py
src/hhru_bot/competitor_workers.py
src/hhru_bot/competitors.py
src/hhru_bot/config.py
src/hhru_bot/cookie_import.py
src/hhru_bot/copy_resume.py
src/hhru_bot/create_resume.py
src/hhru_bot/delete_photo.py
src/hhru_bot/delete_resume.py
src/hhru_bot/diagnostics.py
src/hhru_bot/exit_codes.py
src/hhru_bot/experience.py
src/hhru_bot/google_calendar.py
src/hhru_bot/history.py
src/hhru_bot/languages.py
src/hhru_bot/logging_setup.py
src/hhru_bot/negotiations_chat.py
src/hhru_bot/negotiations_probe.py
src/hhru_bot/portfolio_evidence.py
src/hhru_bot/professional_roles.py
src/hhru_bot/provenance.py
src/hhru_bot/publish_resume.py
src/hhru_bot/rename_resume.py
src/hhru_bot/reply_suggestions.py
src/hhru_bot/report.py
src/hhru_bot/report_adaptive.py
src/hhru_bot/report_funnel.py
src/hhru_bot/report_market.py
src/hhru_bot/report_skipped.py
src/hhru_bot/report_vacancy.py
src/hhru_bot/responses.py
src/hhru_bot/resume_clusters.py
src/hhru_bot/resume_education.py
src/hhru_bot/resume_ids.py
src/hhru_bot/resume_limits.py
src/hhru_bot/resume_photo.py
src/hhru_bot/resume_pool.py
src/hhru_bot/resume_position.py
src/hhru_bot/resume_sections.py
src/hhru_bot/resume_state.py
src/hhru_bot/resume_titles.py
src/hhru_bot/resume_views.py
src/hhru_bot/resume_visibility.py
src/hhru_bot/resume_wizard.py
src/hhru_bot/search.py
src/hhru_bot/selectors.py
src/hhru_bot/session_security.py
src/hhru_bot/skill_gaps.py
src/hhru_bot/skills.py
src/hhru_bot/throttle.py
src/hhru_bot/transient_overlays.py
src/hhru_bot/update.py
src/hhru_bot/vacancy_refresh.py
src/hhru_bot/write_lock.py
src/hhru_bot.egg-info/PKG-INFO
src/hhru_bot.egg-info/SOURCES.txt
src/hhru_bot.egg-info/dependency_links.txt
src/hhru_bot.egg-info/entry_points.txt
src/hhru_bot.egg-info/requires.txt
src/hhru_bot.egg-info/top_level.txt
src/hhru_bot/ai/__init__.py
src/hhru_bot/ai/feedback.py
src/hhru_bot/ai/letters.py
src/hhru_bot/ai/llm_client.py
src/hhru_bot/ai/questions.py
src/hhru_bot/ai/runtime_provider.py
src/hhru_bot/ai/types.py
src/hhru_bot/apply/__init__.py
src/hhru_bot/apply/antibot.py
src/hhru_bot/apply/blockers.py
src/hhru_bot/apply/dedup.py
src/hhru_bot/apply/letter.py
src/hhru_bot/apply/locators.py
src/hhru_bot/apply/pipeline.py
src/hhru_bot/apply/probe.py
src/hhru_bot/apply/questionnaire.py
src/hhru_bot/apply/questions.py
src/hhru_bot/apply/router.py
src/hhru_bot/apply/steps.py
src/hhru_bot/apply/success.py
src/hhru_bot/apply/verdict.py
src/hhru_bot/apply/verify.py
src/hhru_bot/commands/__init__.py
src/hhru_bot/commands/_audit.py
src/hhru_bot/commands/_common.py
src/hhru_bot/commands/_common_resume_guidance.py
src/hhru_bot/commands/_professional_role_guidance.py
src/hhru_bot/commands/_wizard_next_guidance.py
src/hhru_bot/commands/about.py
src/hhru_bot/commands/account.py
src/hhru_bot/commands/adaptive_report.py
src/hhru_bot/commands/adaptive_resume.py
src/hhru_bot/commands/apply.py
src/hhru_bot/commands/backup.py
src/hhru_bot/commands/blacklist.py
src/hhru_bot/commands/bump.py
src/hhru_bot/commands/calendar.py
src/hhru_bot/commands/call_api.py
src/hhru_bot/commands/census.py
src/hhru_bot/commands/clear_negotiations.py
src/hhru_bot/commands/clear_skipped.py
src/hhru_bot/commands/common.py
src/hhru_bot/commands/competitors.py
src/hhru_bot/commands/config_cmd.py
src/hhru_bot/commands/copy_resume.py
src/hhru_bot/commands/create_resume.py
src/hhru_bot/commands/delete_education_entry.py
src/hhru_bot/commands/delete_photo.py
src/hhru_bot/commands/delete_resume.py
src/hhru_bot/commands/diagnostics.py
src/hhru_bot/commands/edit_education.py
src/hhru_bot/commands/edit_experience.py
src/hhru_bot/commands/edit_languages.py
src/hhru_bot/commands/edit_skills.py
src/hhru_bot/commands/fill_form.py
src/hhru_bot/commands/funnel.py
src/hhru_bot/commands/import_cookies.py
src/hhru_bot/commands/learn.py
src/hhru_bot/commands/list_resumes.py
src/hhru_bot/commands/log_cmd.py
src/hhru_bot/commands/login.py
src/hhru_bot/commands/login_code.py
src/hhru_bot/commands/mark.py
src/hhru_bot/commands/market.py
src/hhru_bot/commands/probe.py
src/hhru_bot/commands/professional_roles.py
src/hhru_bot/commands/profile.py
src/hhru_bot/commands/publish_resume.py
src/hhru_bot/commands/query.py
src/hhru_bot/commands/questionnaire.py
src/hhru_bot/commands/refresh_token.py
src/hhru_bot/commands/reject.py
src/hhru_bot/commands/rename_resume.py
src/hhru_bot/commands/reply_employers.py
src/hhru_bot/commands/report_vacancy.py
src/hhru_bot/commands/responses.py
src/hhru_bot/commands/resume_pool.py
src/hhru_bot/commands/resume_position.py
src/hhru_bot/commands/resume_sections.py
src/hhru_bot/commands/resume_views.py
src/hhru_bot/commands/resume_visibility.py
src/hhru_bot/commands/review.py
src/hhru_bot/commands/robot_queue.py
src/hhru_bot/commands/run.py
src/hhru_bot/commands/schedule.py
src/hhru_bot/commands/search.py
src/hhru_bot/commands/select_photo.py
src/hhru_bot/commands/settings.py
src/hhru_bot/commands/skipped.py
src/hhru_bot/commands/stats.py
src/hhru_bot/commands/uncertain.py
src/hhru_bot/commands/update.py
src/hhru_bot/commands/upload_photo.py
src/hhru_bot/commands/whoami.py
src/hhru_bot/commands/wizard_next.py
src/hhru_bot/config_sections/__init__.py
src/hhru_bot/config_sections/_registry.py
src/hhru_bot/config_sections/_validation.py
src/hhru_bot/config_sections/account.py
src/hhru_bot/config_sections/ai.py
src/hhru_bot/config_sections/ai_profile.py
src/hhru_bot/config_sections/candidate_facts.py
src/hhru_bot/config_sections/cluster.py
src/hhru_bot/config_sections/education.py
src/hhru_bot/config_sections/questionnaires.py
src/hhru_bot/config_sections/resume_sections.py
src/hhru_bot/config_sections/scoring.py
src/hhru_bot/config_sections/search.py
src/hhru_bot/external_forms/__init__.py
src/hhru_bot/external_forms/detect.py
src/hhru_bot/questionnaires/__init__.py
src/hhru_bot/questionnaires/answerer.py
src/hhru_bot/questionnaires/resolver.py
src/hhru_bot/questionnaires/templates.py
src/hhru_bot/scoring/__init__.py
src/hhru_bot/scoring/employer.py
src/hhru_bot/scoring/letter_match.py
src/hhru_bot/scoring/prefilter.py
src/hhru_bot/scoring/resume_match.py
src/hhru_bot/scoring/types.py
src/hhru_bot/scoring/vacancy.py
src/hhru_bot/selector_groups/__init__.py
src/hhru_bot/selector_groups/_generated.py
src/hhru_bot/selector_groups/account_profile.py
src/hhru_bot/selector_groups/apply_form.py
src/hhru_bot/selector_groups/competitor_resume.py
src/hhru_bot/selector_groups/login.py
src/hhru_bot/selector_groups/negotiations.py
src/hhru_bot/selector_groups/resume_experience.py
src/hhru_bot/selector_groups/resume_list.py
src/hhru_bot/selector_groups/resume_page.py
src/hhru_bot/selector_groups/resume_photo.py
src/hhru_bot/selector_groups/resume_rename.py
src/hhru_bot/selector_groups/resume_visibility.py
src/hhru_bot/selector_groups/search_page.py
src/hhru_bot/selector_groups/vacancy_complain.py
src/hhru_bot/selector_groups/vacancy_page.py
tests/_fakes.py
tests/conftest.py
tests/packaging_smoke.py
tests/test_about.py
tests/test_account_command.py
tests/test_account_delete.py
tests/test_account_profile.py
tests/test_account_profile_login.py
tests/test_account_write_lock_isolation.py
tests/test_accounts.py
tests/test_adaptive_metrics.py
tests/test_adaptive_resume.py
tests/test_adaptive_resume_apply.py
tests/test_adaptive_resume_command.py
tests/test_ai_config.py
tests/test_ai_feedback.py
tests/test_ai_hermes_transport.py
tests/test_ai_live_transport.py
tests/test_ai_questions.py
tests/test_ai_questions_extract.py
tests/test_ai_runtime_provider.py
tests/test_apply_antibot.py
tests/test_apply_audit.py
tests/test_apply_blockers.py
tests/test_apply_letter.py
tests/test_apply_letter_integration.py
tests/test_apply_limit.py
tests/test_apply_pipeline.py
tests/test_apply_placeholder.py
tests/test_apply_plan.py
tests/test_apply_probe.py
tests/test_apply_progress.py
tests/test_apply_questions.py
tests/test_apply_router.py
tests/test_apply_scoring_integration.py
tests/test_apply_steps.py
tests/test_apply_success.py
tests/test_apply_verify.py
tests/test_audit_launch_and_navigation.py
tests/test_auth.py
tests/test_auth_code.py
tests/test_backup.py
tests/test_browser_navigation.py
tests/test_bump.py
tests/test_bump_command_runs.py
tests/test_call_api.py
tests/test_candidate_facts.py
tests/test_catalog_preflight.py
tests/test_check_hh_connectivity.py
tests/test_ci_selector_gate.py
tests/test_clear_negotiations_command.py
tests/test_clear_skipped_command.py
tests/test_cli_commands.py
tests/test_cli_honesty_audit.py
tests/test_command_audit.py
tests/test_common.py
tests/test_common_run_context.py
tests/test_competitors.py
tests/test_competitors_command.py
tests/test_config.py
tests/test_config_command.py
tests/test_config_scoring_warning.py
tests/test_cookie_import.py
tests/test_copy_resume_browser.py
tests/test_copy_resume_command.py
tests/test_create_resume.py
tests/test_create_resume_browser.py
tests/test_create_resume_command.py
tests/test_delete_education_entry_browser.py
tests/test_delete_education_entry_command.py
tests/test_delete_photo.py
tests/test_delete_photo_command.py
tests/test_delete_resume_browser.py
tests/test_delete_resume_command.py
tests/test_diagnostics.py
tests/test_docker_compose.py
tests/test_edit_skills_command.py
tests/test_experience.py
tests/test_experience_panel_reconcile.py
tests/test_external_forms_detect.py
tests/test_fill_form.py
tests/test_funnel_command.py
tests/test_google_calendar.py
tests/test_hhru_live_behavior.py
tests/test_history_competitors.py
tests/test_history_created_at_format.py
tests/test_history_estimate_salary.py
tests/test_history_funnel.py
tests/test_history_key_consistency.py
tests/test_history_market.py
tests/test_history_questionnaires.py
tests/test_history_replies.py
tests/test_history_schema.py
tests/test_history_skipped.py
tests/test_history_stats.py
tests/test_import_cookies_command.py
tests/test_languages.py
tests/test_letter_fewshot.py
tests/test_letter_randomize.py
tests/test_list_resume_cards.py
tests/test_list_resumes_command.py
tests/test_live_browser_guard.py
tests/test_live_test_script.py
tests/test_log_command.py
tests/test_logging_setup.py
tests/test_login_import_cookies_account_isolation.py
tests/test_manual_input_commands.py
tests/test_mark_command.py
tests/test_markers.py
tests/test_market_bounds.py
tests/test_market_currency.py
tests/test_multi_account_isolation.py
tests/test_negotiations_chat.py
tests/test_negotiations_probe.py
tests/test_no_hardcoded_resume_ids.py
tests/test_no_page_request.py
tests/test_page_state.py
tests/test_playwright_fakes_contract.py
tests/test_plugin_metadata.py
tests/test_plugin_packaging.py
tests/test_plugin_refs.py
tests/test_portfolio_evidence.py
tests/test_probe_command.py
tests/test_probe_gitignore.py
tests/test_probe_healthcheck.py
tests/test_probe_letter_integration.py
tests/test_professional_roles.py
tests/test_professional_roles_command.py
tests/test_profile_command.py
tests/test_provenance.py
tests/test_publish_resume.py
tests/test_publish_resume_command.py
tests/test_pytest_budget.py
tests/test_query_command.py
tests/test_questionnaire_answerer.py
tests/test_questionnaire_bulk.py
tests/test_questionnaire_cli.py
tests/test_questionnaire_resolver.py
tests/test_questionnaire_templates_history.py
tests/test_refresh_token_command.py
tests/test_reject_feedback.py
tests/test_release_packaging.py
tests/test_reliability_bundle.py
tests/test_reply_employers_command.py
tests/test_report_funnel.py
tests/test_report_market.py
tests/test_report_stats.py
tests/test_report_vacancy_browser.py
tests/test_report_vacancy_command.py
tests/test_responses_command.py
tests/test_responses_history.py
tests/test_responses_pagination.py
tests/test_responses_parser.py
tests/test_responses_ssr_topic_mapping.py
tests/test_resume_cluster_config.py
tests/test_resume_clusters.py
tests/test_resume_edit_command_runs.py
tests/test_resume_education.py
tests/test_resume_education_additional_direct.py
tests/test_resume_education_edit_block.py
tests/test_resume_education_fill_reset.py
tests/test_resume_education_form_shapes.py
tests/test_resume_education_hydration_wait.py
tests/test_resume_education_primary_route.py
tests/test_resume_error_banner.py
tests/test_resume_error_banner_live.py
tests/test_resume_id_addressing.py
tests/test_resume_ids.py
tests/test_resume_limits.py
tests/test_resume_pool.py
tests/test_resume_pool_command.py
tests/test_resume_position.py
tests/test_resume_position_catalog_fixture.py
tests/test_resume_position_command.py
tests/test_resume_position_empty_state_live.py
tests/test_resume_position_gate.py
tests/test_resume_position_title_source.py
tests/test_resume_position_wizard_direct.py
tests/test_resume_position_wizard_direct_fixture.py
tests/test_resume_sections.py
tests/test_resume_sections_apply.py
tests/test_resume_sections_recommendation_route.py
tests/test_resume_titles.py
tests/test_resume_views.py
tests/test_resume_visibility.py
tests/test_resume_visibility_command.py
tests/test_resume_visibility_dom_fixture.py
tests/test_resume_wizard.py
tests/test_salary_parse.py
tests/test_sandbox_preflight.py
tests/test_schedule_command.py
tests/test_schema.py
tests/test_scoring.py
tests/test_scoring_letter_match.py
tests/test_scoring_ml.py
tests/test_scoring_prefilter.py
tests/test_scoring_resume_match.py
tests/test_search.py
tests/test_search_command_output.py
tests/test_search_extra_fields.py
tests/test_search_pagination.py
tests/test_search_publication_time.py
tests/test_search_salary_extract.py
tests/test_select_photo.py
tests/test_selector_contracts.py
tests/test_selector_metrics.py
tests/test_selectors_shim.py
tests/test_session_security.py
tests/test_settings.py
tests/test_skill_gaps.py
tests/test_skills.py
tests/test_skipped_command.py
tests/test_stats_command.py
tests/test_throttle_policy.py
tests/test_transient_overlays.py
tests/test_update.py
tests/test_update_windows.py
tests/test_upload_photo.py
tests/test_vacancy_refresh.py
tests/test_whoami_command.py
tests/test_wizard_next_command.py
tests/test_write_lock.py
tests/fixtures/vacancy_card_no_salary.html
tests/fixtures/vacancy_card_salary_usd.html
tests/fixtures/vacancy_card_text_only_salary.html
tests/fixtures/vacancy_card_text_only_salary.txt
tests/fixtures/vacancy_card_with_rating.html
tests/fixtures/vacancy_card_with_salary.html