.gitignore
.python-version
CLAUDE.md
CONTEXT.md
README.md
pyproject.toml
.github/workflows/publish.yml
docs/cron-setup.md
docs/latex.md
docs/usage.md
docs/adr/0001-claude-cli-as-llm-backend.md
docs/adr/0002-seen-state-durable-via-syncthing.md
docs/adr/0003-dedup-alias-on-tuple-match.md
docs/adr/0004-parser-threads-as-pure-producers.md
docs/adr/0005-seen-result-three-variant.md
docs/adr/0006-orchestrator-queue-topology.md
docs/adr/0007-failures-as-syncthing-files.md
docs/adr/0008-user-settings-and-paths-anchored-to-data-dir.md
docs/adr/0009-parser-location-resolution-policy.md
docs/adr/0010-claude-cli-pinned-model-and-tag-wrapped-output.md
docs/adr/0011-no-dedup-discover-early-stop.md
docs/adr/0012-log-convention-components-by-layer.md
docs/adr/0013-prefilter-pure-title-only-blacklist.md
docs/adr/0014-match-tier-retired-judge-picks-top-n.md
docs/adr/0015-daily-results-file-replaces-trio.md
docs/adr/0016-quota-sleep-and-retry.md
docs/adr/0017-cron-once-per-day-no-migration.md
docs/adr/0018-freshness-gate-drops-stale-listings.md
docs/adr/0019-triage-profile-reused-as-v2-authoring-context.md
docs/adr/0020-distribution-via-pypi-and-cron-upgrade.md
docs/adr/0021-search-terms-in-user-info-not-config.md
docs/adr/0022-settings-dir-is-cwd-relative.md
docs/adr/0023-write-cv-slot-map-and-user-info-refactor.md
docs/adr/0024-nested-user-info-subdirs-and-search-terms-split.md
docs/adr/0025-skills-grouped-dual-consumed-pool.md
docs/adr/0026-re-vendor-moderncv-1-2-0.md
docs/adr/0027-cv-layout-migration-from-cv-7-and-personalinfo-refactor.md
docs/adr/0028-classifier-solo-calls-batching-retired.md
docs/adr/0029-combine-system-and-user-prompts-via-stdin.md
docs/adr/0030-content-gate-drops-empty-raw-description.md
docs/adr/0031-parallel-classify-worker-pool.md
docs/adr/0032-llm-enricher-replaces-per-source-enrich.md
docs/adr/0033-card-structure-hardcoded-layout-retires.md
docs/adr/0034-classifier-three-check-matches-verdict-and-triage-profile-merge.md
docs/adr/0035-template-buckets-and-claude-skills-seeded-by-init.md
docs/adr/0036-log-files-grouped-into-layer-subdirs.md
docs/adr/0037-runtime-data-subdir.md
docs/adr/0038-parser-owns-body-production-gates-bundle.md
docs/adr/0039-enrich-failed-status-retired-all-stub-failures-transient.md
docs/adr/0040-native-enrich-exclusive-no-fallback-scrape.md
docs/adr/0041-parser-error-surfacing-and-discover-cleanup.md
docs/adr/0042-enrich-inline-on-parser-thread-classify-queue.md
docs/adr/0043-status-display-per-stage-counters.md
docs/adr/0044-dedup-fuzzy-tier-pending-and-cooldown.md
docs/adr/0045-classifier-single-gate-check-and-profile-split.md
docs/adr/0046-classifier-small-batch-reintroduced.md
docs/adr/0047-classify-accumulator-worker-split.md
docs/agents/domain.md
docs/agents/issue-tracker.md
docs/agents/triage-labels.md
pycastle/.gitignore
src/application_pipeline/__init__.py
src/application_pipeline/__main__.py
src/application_pipeline/_context.py
src/application_pipeline/atomic_write.py
src/application_pipeline/compile_cv_cmd.py
src/application_pipeline/content_gate.py
src/application_pipeline/dedup_counters.py
src/application_pipeline/failure_report.py
src/application_pipeline/freshness_gate.py
src/application_pipeline/init_cmd.py
src/application_pipeline/llm_enricher.py
src/application_pipeline/maintenance.py
src/application_pipeline/orchestrator.py
src/application_pipeline/parser_log.py
src/application_pipeline/prefilter_gate.py
src/application_pipeline/prompts.py
src/application_pipeline/renderer.py
src/application_pipeline/run_metrics.py
src/application_pipeline/status_display.py
src/application_pipeline/user_settings.py
src/application_pipeline.egg-info/PKG-INFO
src/application_pipeline.egg-info/SOURCES.txt
src/application_pipeline.egg-info/dependency_links.txt
src/application_pipeline.egg-info/entry_points.txt
src/application_pipeline.egg-info/requires.txt
src/application_pipeline.egg-info/top_level.txt
src/application_pipeline/config/__init__.py
src/application_pipeline/config/loader.py
src/application_pipeline/config/types.py
src/application_pipeline/content_pool/__init__.py
src/application_pipeline/content_pool/errors.py
src/application_pipeline/content_pool/parser.py
src/application_pipeline/dedup/__init__.py
src/application_pipeline/dedup/errors.py
src/application_pipeline/dedup/store.py
src/application_pipeline/extracts/__init__.py
src/application_pipeline/extracts/card_store.py
src/application_pipeline/extracts/errors.py
src/application_pipeline/http/__init__.py
src/application_pipeline/http/errors.py
src/application_pipeline/latex/__init__.py
src/application_pipeline/latex/cv_template.tex
src/application_pipeline/latex/moderncv.cls
src/application_pipeline/latex/moderncvcolorblack.sty
src/application_pipeline/latex/moderncvcolorblue.sty
src/application_pipeline/latex/moderncvcolorgreen.sty
src/application_pipeline/latex/moderncvcolorgrey.sty
src/application_pipeline/latex/moderncvcolororange.sty
src/application_pipeline/latex/moderncvcolorpurple.sty
src/application_pipeline/latex/moderncvcolorred.sty
src/application_pipeline/latex/moderncvcompatibility.sty
src/application_pipeline/latex/moderncvstylebanking.sty
src/application_pipeline/latex/moderncvstylecasual.sty
src/application_pipeline/latex/moderncvstyleclassic.sty
src/application_pipeline/latex/moderncvstyleempty.sty
src/application_pipeline/latex/moderncvstyleoldstyle.sty
src/application_pipeline/latex/slot_map.py
src/application_pipeline/latex/tweaklist.sty
src/application_pipeline/llm/__init__.py
src/application_pipeline/llm/agent_output.py
src/application_pipeline/llm/body_strip.py
src/application_pipeline/llm/claude.py
src/application_pipeline/llm/claude_cli.py
src/application_pipeline/llm/quota.py
src/application_pipeline/llm/types.py
src/application_pipeline/parsers/__init__.py
src/application_pipeline/parsers/body_fetch.py
src/application_pipeline/parsers/bundesagentur_api.py
src/application_pipeline/parsers/errors.py
src/application_pipeline/parsers/http.py
src/application_pipeline/parsers/jobs_beim_staat_html.py
src/application_pipeline/parsers/location.py
src/application_pipeline/parsers/protocol.py
src/application_pipeline/parsers/registry.py
src/application_pipeline/parsers/stellen_hamburg_api.py
src/application_pipeline/parsers/types.py
src/application_pipeline/results/__init__.py
src/application_pipeline/results/errors.py
src/application_pipeline/results/manager.py
src/application_pipeline/search_terms/__init__.py
src/application_pipeline/search_terms/loader.py
src/application_pipeline/search_terms/types.py
src/application_pipeline/skills_pool/__init__.py
src/application_pipeline/skills_pool/parser.py
src/application_pipeline/templates/__init__.py
src/application_pipeline/templates/application-pipeline/.gitignore
src/application_pipeline/templates/application-pipeline/config.py
src/application_pipeline/templates/application-pipeline/cv-template/cv_skeleton.tex
src/application_pipeline/templates/application-pipeline/setup/cron-install.sh
src/application_pipeline/templates/application-pipeline/setup/cron-uninstall.sh
src/application_pipeline/templates/application-pipeline/setup/cron.sh
src/application_pipeline/templates/application-pipeline/user-info/cv/content_pool.tex
src/application_pipeline/templates/application-pipeline/user-info/cv/facts.tex
src/application_pipeline/templates/application-pipeline/user-info/cv/positive-exemplars.md
src/application_pipeline/templates/application-pipeline/user-info/cv/profile.png
src/application_pipeline/templates/application-pipeline/user-info/cv/signature.png
src/application_pipeline/templates/application-pipeline/user-info/cv/writing-style.md
src/application_pipeline/templates/application-pipeline/user-info/search-terms/keywords.md
src/application_pipeline/templates/application-pipeline/user-info/search-terms/negative-keywords.md
src/application_pipeline/templates/application-pipeline/user-info/triage-profile/candidate-profile.md
src/application_pipeline/templates/application-pipeline/user-info/triage-profile/gate-criteria.md
src/application_pipeline/templates/application-pipeline/user-info/triage-profile/skills.md
src/application_pipeline/templates/claude/skills/_shared/APPLICATION-FOLDER-ARG.md
src/application_pipeline/templates/claude/skills/_shared/BUILD-CONTRACT.md
src/application_pipeline/templates/claude/skills/_shared/CONVENTIONS.md
src/application_pipeline/templates/claude/skills/_shared/SLOT-MAP.md
src/application_pipeline/templates/claude/skills/_shared/STARTUP-APPLICATION.md
src/application_pipeline/templates/claude/skills/_shared/STARTUP-TRIAGE.md
src/application_pipeline/templates/claude/skills/_shared/STRIP-DOWN.md
src/application_pipeline/templates/claude/skills/_shared/TRIAGE-ROUTING.md
src/application_pipeline/templates/claude/skills/analyse-listing/SKILL.md
src/application_pipeline/templates/claude/skills/iterate-cv/SKILL.md
src/application_pipeline/templates/claude/skills/write-cv/SKILL.md
src/application_pipeline/templates/prompts/__init__.py
src/application_pipeline/templates/prompts/classify_relevance.md
src/application_pipeline/templates/prompts/judge_top_n.md
src/application_pipeline/text/__init__.py
src/application_pipeline/text/normalize.py
tests/__init__.py
tests/conftest.py
tests/fake_status_display.py
tests/test_agent_output.py
tests/test_atomic_write.py
tests/test_card_store.py
tests/test_claude_cli_invoker.py
tests/test_claude_extractor.py
tests/test_cli_dispatch.py
tests/test_compile_cv_cmd.py
tests/test_compile_cv_smoke.py
tests/test_component_log.py
tests/test_config_loader.py
tests/test_content_gate.py
tests/test_content_pool_parser.py
tests/test_cron_scripts.py
tests/test_dedup_counters.py
tests/test_dedup_store.py
tests/test_facts_consolidation.py
tests/test_failure_report.py
tests/test_freshness_gate.py
tests/test_init_cmd.py
tests/test_latex_templates.py
tests/test_llm_enricher.py
tests/test_log_artifacts.py
tests/test_main_dotenv.py
tests/test_main_failure.py
tests/test_maintenance.py
tests/test_normalize.py
tests/test_orchestrator.py
tests/test_parser_http_class.py
tests/test_parser_log.py
tests/test_parsers.py
tests/test_prefilter_gate.py
tests/test_prompt_loader.py
tests/test_publish_yml.py
tests/test_quota_wall.py
tests/test_renderer.py
tests/test_results_manager.py
tests/test_run_metrics.py
tests/test_search_terms_loader.py
tests/test_setuptools_scm_config.py
tests/test_skills_pool_parser.py
tests/test_slot_map.py
tests/test_status_display.py
tests/test_stellen_hamburg_parser.py
tests/test_user_settings.py
tests/parsers/__init__.py
tests/parsers/test_body_fetch.py
tests/parsers/test_bundesagentur_api.py
tests/parsers/test_jobs_beim_staat_html.py
tests/parsers/test_stellen_hamburg_api.py
tests/parsers/fixtures/bundesagentur/detail.json
tests/parsers/fixtures/bundesagentur/search.json
tests/parsers/fixtures/jobs_beim_staat/detail.html
tests/parsers/fixtures/jobs_beim_staat/iframe_target.html
tests/parsers/fixtures/jobs_beim_staat/list.html
tests/parsers/fixtures/jobs_beim_staat/wrapper.html
tests/parsers/fixtures/stellen_hamburg/detail.html
tests/parsers/fixtures/stellen_hamburg/detail_list_wrapped.html
tests/parsers/fixtures/stellen_hamburg/detail_no_job_posting.html
tests/parsers/fixtures/stellen_hamburg/search.json
tests/parsers/smoke/__init__.py
tests/parsers/smoke/test_bundesagentur_api_smoke.py
tests/parsers/smoke/test_jobs_beim_staat_html_smoke.py
tests/parsers/smoke/test_stellen_hamburg_api_smoke.py