diff --git a/pipeline/.clang-format b/tooling/pipeline/.clang-format similarity index 100% rename from pipeline/.clang-format rename to tooling/pipeline/.clang-format diff --git a/pipeline/.clang-tidy b/tooling/pipeline/.clang-tidy similarity index 100% rename from pipeline/.clang-tidy rename to tooling/pipeline/.clang-tidy diff --git a/pipeline/.gitignore b/tooling/pipeline/.gitignore similarity index 100% rename from pipeline/.gitignore rename to tooling/pipeline/.gitignore diff --git a/pipeline/CMakeLists.txt b/tooling/pipeline/CMakeLists.txt similarity index 100% rename from pipeline/CMakeLists.txt rename to tooling/pipeline/CMakeLists.txt diff --git a/pipeline/ETHICS-AND-KNOWN-ISSUES.md b/tooling/pipeline/ETHICS-AND-KNOWN-ISSUES.md similarity index 100% rename from pipeline/ETHICS-AND-KNOWN-ISSUES.md rename to tooling/pipeline/ETHICS-AND-KNOWN-ISSUES.md diff --git a/pipeline/README.md b/tooling/pipeline/README.md similarity index 100% rename from pipeline/README.md rename to tooling/pipeline/README.md diff --git a/pipeline/beer-styles.json b/tooling/pipeline/beer-styles.json similarity index 100% rename from pipeline/beer-styles.json rename to tooling/pipeline/beer-styles.json diff --git a/pipeline/diagrams/biergarten-weizen-theme.puml b/tooling/pipeline/diagrams/biergarten-weizen-theme.puml similarity index 100% rename from pipeline/diagrams/biergarten-weizen-theme.puml rename to tooling/pipeline/diagrams/biergarten-weizen-theme.puml diff --git a/pipeline/diagrams/current/activity.puml b/tooling/pipeline/diagrams/current/activity.puml similarity index 100% rename from pipeline/diagrams/current/activity.puml rename to tooling/pipeline/diagrams/current/activity.puml diff --git a/pipeline/diagrams/current/class.puml b/tooling/pipeline/diagrams/current/class.puml similarity index 100% rename from pipeline/diagrams/current/class.puml rename to tooling/pipeline/diagrams/current/class.puml diff --git a/pipeline/diagrams/current/output/activity.svg b/tooling/pipeline/diagrams/current/output/activity.svg similarity index 100% rename from pipeline/diagrams/current/output/activity.svg rename to tooling/pipeline/diagrams/current/output/activity.svg diff --git a/pipeline/diagrams/current/output/class.svg b/tooling/pipeline/diagrams/current/output/class.svg similarity index 100% rename from pipeline/diagrams/current/output/class.svg rename to tooling/pipeline/diagrams/current/output/class.svg diff --git a/pipeline/diagrams/planned/activity.puml b/tooling/pipeline/diagrams/planned/activity.puml similarity index 100% rename from pipeline/diagrams/planned/activity.puml rename to tooling/pipeline/diagrams/planned/activity.puml diff --git a/pipeline/diagrams/planned/class.puml b/tooling/pipeline/diagrams/planned/class.puml similarity index 100% rename from pipeline/diagrams/planned/class.puml rename to tooling/pipeline/diagrams/planned/class.puml diff --git a/pipeline/diagrams/planned/output/biergarten_activity.svg b/tooling/pipeline/diagrams/planned/output/biergarten_activity.svg similarity index 100% rename from pipeline/diagrams/planned/output/biergarten_activity.svg rename to tooling/pipeline/diagrams/planned/output/biergarten_activity.svg diff --git a/pipeline/diagrams/planned/output/class.svg b/tooling/pipeline/diagrams/planned/output/class.svg similarity index 100% rename from pipeline/diagrams/planned/output/class.svg rename to tooling/pipeline/diagrams/planned/output/class.svg diff --git a/pipeline/format.sh b/tooling/pipeline/format.sh similarity index 100% rename from pipeline/format.sh rename to tooling/pipeline/format.sh diff --git a/pipeline/includes/biergarten_data_generator.h b/tooling/pipeline/includes/biergarten_data_generator.h similarity index 100% rename from pipeline/includes/biergarten_data_generator.h rename to tooling/pipeline/includes/biergarten_data_generator.h diff --git a/pipeline/includes/data_generation/data_generator.h b/tooling/pipeline/includes/data_generation/data_generator.h similarity index 100% rename from pipeline/includes/data_generation/data_generator.h rename to tooling/pipeline/includes/data_generation/data_generator.h diff --git a/pipeline/includes/data_generation/llama_generator.h b/tooling/pipeline/includes/data_generation/llama_generator.h similarity index 100% rename from pipeline/includes/data_generation/llama_generator.h rename to tooling/pipeline/includes/data_generation/llama_generator.h diff --git a/pipeline/includes/data_generation/llama_generator_helpers.h b/tooling/pipeline/includes/data_generation/llama_generator_helpers.h similarity index 100% rename from pipeline/includes/data_generation/llama_generator_helpers.h rename to tooling/pipeline/includes/data_generation/llama_generator_helpers.h diff --git a/pipeline/includes/data_generation/mock_generator.h b/tooling/pipeline/includes/data_generation/mock_generator.h similarity index 100% rename from pipeline/includes/data_generation/mock_generator.h rename to tooling/pipeline/includes/data_generation/mock_generator.h diff --git a/pipeline/includes/data_generation/prompt_formatting/gemma4_jinja_prompt_formatter.h b/tooling/pipeline/includes/data_generation/prompt_formatting/gemma4_jinja_prompt_formatter.h similarity index 100% rename from pipeline/includes/data_generation/prompt_formatting/gemma4_jinja_prompt_formatter.h rename to tooling/pipeline/includes/data_generation/prompt_formatting/gemma4_jinja_prompt_formatter.h diff --git a/pipeline/includes/data_generation/prompt_formatting/prompt_formatter.h b/tooling/pipeline/includes/data_generation/prompt_formatting/prompt_formatter.h similarity index 100% rename from pipeline/includes/data_generation/prompt_formatting/prompt_formatter.h rename to tooling/pipeline/includes/data_generation/prompt_formatting/prompt_formatter.h diff --git a/pipeline/includes/data_model/application_options.h b/tooling/pipeline/includes/data_model/application_options.h similarity index 100% rename from pipeline/includes/data_model/application_options.h rename to tooling/pipeline/includes/data_model/application_options.h diff --git a/pipeline/includes/data_model/brewery_location.h b/tooling/pipeline/includes/data_model/brewery_location.h similarity index 100% rename from pipeline/includes/data_model/brewery_location.h rename to tooling/pipeline/includes/data_model/brewery_location.h diff --git a/pipeline/includes/data_model/brewery_result.h b/tooling/pipeline/includes/data_model/brewery_result.h similarity index 100% rename from pipeline/includes/data_model/brewery_result.h rename to tooling/pipeline/includes/data_model/brewery_result.h diff --git a/pipeline/includes/data_model/enriched_city.h b/tooling/pipeline/includes/data_model/enriched_city.h similarity index 100% rename from pipeline/includes/data_model/enriched_city.h rename to tooling/pipeline/includes/data_model/enriched_city.h diff --git a/pipeline/includes/data_model/generated_brewery.h b/tooling/pipeline/includes/data_model/generated_brewery.h similarity index 100% rename from pipeline/includes/data_model/generated_brewery.h rename to tooling/pipeline/includes/data_model/generated_brewery.h diff --git a/pipeline/includes/data_model/generation_models.h b/tooling/pipeline/includes/data_model/generation_models.h similarity index 100% rename from pipeline/includes/data_model/generation_models.h rename to tooling/pipeline/includes/data_model/generation_models.h diff --git a/pipeline/includes/data_model/location.h b/tooling/pipeline/includes/data_model/location.h similarity index 100% rename from pipeline/includes/data_model/location.h rename to tooling/pipeline/includes/data_model/location.h diff --git a/pipeline/includes/data_model/pipeline_models.h b/tooling/pipeline/includes/data_model/pipeline_models.h similarity index 100% rename from pipeline/includes/data_model/pipeline_models.h rename to tooling/pipeline/includes/data_model/pipeline_models.h diff --git a/pipeline/includes/data_model/user_result.h b/tooling/pipeline/includes/data_model/user_result.h similarity index 100% rename from pipeline/includes/data_model/user_result.h rename to tooling/pipeline/includes/data_model/user_result.h diff --git a/pipeline/includes/json_handling/json_loader.h b/tooling/pipeline/includes/json_handling/json_loader.h similarity index 100% rename from pipeline/includes/json_handling/json_loader.h rename to tooling/pipeline/includes/json_handling/json_loader.h diff --git a/pipeline/includes/llama_backend_state.h b/tooling/pipeline/includes/llama_backend_state.h similarity index 100% rename from pipeline/includes/llama_backend_state.h rename to tooling/pipeline/includes/llama_backend_state.h diff --git a/pipeline/includes/services/date_time_provider.h b/tooling/pipeline/includes/services/date_time_provider.h similarity index 100% rename from pipeline/includes/services/date_time_provider.h rename to tooling/pipeline/includes/services/date_time_provider.h diff --git a/pipeline/includes/services/enrichment_service.h b/tooling/pipeline/includes/services/enrichment_service.h similarity index 100% rename from pipeline/includes/services/enrichment_service.h rename to tooling/pipeline/includes/services/enrichment_service.h diff --git a/pipeline/includes/services/export_service.h b/tooling/pipeline/includes/services/export_service.h similarity index 100% rename from pipeline/includes/services/export_service.h rename to tooling/pipeline/includes/services/export_service.h diff --git a/pipeline/includes/services/sqlite_export_service.h b/tooling/pipeline/includes/services/sqlite_export_service.h similarity index 100% rename from pipeline/includes/services/sqlite_export_service.h rename to tooling/pipeline/includes/services/sqlite_export_service.h diff --git a/pipeline/includes/services/sqlite_export_service_helpers.h b/tooling/pipeline/includes/services/sqlite_export_service_helpers.h similarity index 100% rename from pipeline/includes/services/sqlite_export_service_helpers.h rename to tooling/pipeline/includes/services/sqlite_export_service_helpers.h diff --git a/pipeline/includes/services/wikipedia_service.h b/tooling/pipeline/includes/services/wikipedia_service.h similarity index 100% rename from pipeline/includes/services/wikipedia_service.h rename to tooling/pipeline/includes/services/wikipedia_service.h diff --git a/pipeline/includes/web_client/curl_web_client.h b/tooling/pipeline/includes/web_client/curl_web_client.h similarity index 100% rename from pipeline/includes/web_client/curl_web_client.h rename to tooling/pipeline/includes/web_client/curl_web_client.h diff --git a/pipeline/includes/web_client/web_client.h b/tooling/pipeline/includes/web_client/web_client.h similarity index 100% rename from pipeline/includes/web_client/web_client.h rename to tooling/pipeline/includes/web_client/web_client.h diff --git a/pipeline/locations.json b/tooling/pipeline/locations.json similarity index 100% rename from pipeline/locations.json rename to tooling/pipeline/locations.json diff --git a/pipeline/out-sample/french-cities.example b/tooling/pipeline/out-sample/french-cities.example similarity index 100% rename from pipeline/out-sample/french-cities.example rename to tooling/pipeline/out-sample/french-cities.example diff --git a/pipeline/prompts/system.md b/tooling/pipeline/prompts/system.md similarity index 100% rename from pipeline/prompts/system.md rename to tooling/pipeline/prompts/system.md diff --git a/pipeline/src/biergarten_data_generator/biergarten_data_generator.cc b/tooling/pipeline/src/biergarten_data_generator/biergarten_data_generator.cc similarity index 100% rename from pipeline/src/biergarten_data_generator/biergarten_data_generator.cc rename to tooling/pipeline/src/biergarten_data_generator/biergarten_data_generator.cc diff --git a/pipeline/src/biergarten_data_generator/generate_breweries.cc b/tooling/pipeline/src/biergarten_data_generator/generate_breweries.cc similarity index 100% rename from pipeline/src/biergarten_data_generator/generate_breweries.cc rename to tooling/pipeline/src/biergarten_data_generator/generate_breweries.cc diff --git a/pipeline/src/biergarten_data_generator/log_results.cc b/tooling/pipeline/src/biergarten_data_generator/log_results.cc similarity index 100% rename from pipeline/src/biergarten_data_generator/log_results.cc rename to tooling/pipeline/src/biergarten_data_generator/log_results.cc diff --git a/pipeline/src/biergarten_data_generator/query_cities_with_countries.cc b/tooling/pipeline/src/biergarten_data_generator/query_cities_with_countries.cc similarity index 100% rename from pipeline/src/biergarten_data_generator/query_cities_with_countries.cc rename to tooling/pipeline/src/biergarten_data_generator/query_cities_with_countries.cc diff --git a/pipeline/src/biergarten_data_generator/run.cc b/tooling/pipeline/src/biergarten_data_generator/run.cc similarity index 100% rename from pipeline/src/biergarten_data_generator/run.cc rename to tooling/pipeline/src/biergarten_data_generator/run.cc diff --git a/pipeline/src/data_generation/llama/generate_brewery.cc b/tooling/pipeline/src/data_generation/llama/generate_brewery.cc similarity index 100% rename from pipeline/src/data_generation/llama/generate_brewery.cc rename to tooling/pipeline/src/data_generation/llama/generate_brewery.cc diff --git a/pipeline/src/data_generation/llama/generate_user.cc b/tooling/pipeline/src/data_generation/llama/generate_user.cc similarity index 100% rename from pipeline/src/data_generation/llama/generate_user.cc rename to tooling/pipeline/src/data_generation/llama/generate_user.cc diff --git a/pipeline/src/data_generation/llama/helpers.cc b/tooling/pipeline/src/data_generation/llama/helpers.cc similarity index 100% rename from pipeline/src/data_generation/llama/helpers.cc rename to tooling/pipeline/src/data_generation/llama/helpers.cc diff --git a/pipeline/src/data_generation/llama/infer.cc b/tooling/pipeline/src/data_generation/llama/infer.cc similarity index 100% rename from pipeline/src/data_generation/llama/infer.cc rename to tooling/pipeline/src/data_generation/llama/infer.cc diff --git a/pipeline/src/data_generation/llama/llama_generator.cc b/tooling/pipeline/src/data_generation/llama/llama_generator.cc similarity index 100% rename from pipeline/src/data_generation/llama/llama_generator.cc rename to tooling/pipeline/src/data_generation/llama/llama_generator.cc diff --git a/pipeline/src/data_generation/llama/load.cc b/tooling/pipeline/src/data_generation/llama/load.cc similarity index 100% rename from pipeline/src/data_generation/llama/load.cc rename to tooling/pipeline/src/data_generation/llama/load.cc diff --git a/pipeline/src/data_generation/llama/load_brewery_prompt.cc b/tooling/pipeline/src/data_generation/llama/load_brewery_prompt.cc similarity index 100% rename from pipeline/src/data_generation/llama/load_brewery_prompt.cc rename to tooling/pipeline/src/data_generation/llama/load_brewery_prompt.cc diff --git a/pipeline/src/data_generation/mock/deterministic_hash.cc b/tooling/pipeline/src/data_generation/mock/deterministic_hash.cc similarity index 100% rename from pipeline/src/data_generation/mock/deterministic_hash.cc rename to tooling/pipeline/src/data_generation/mock/deterministic_hash.cc diff --git a/pipeline/src/data_generation/mock/generate_brewery.cc b/tooling/pipeline/src/data_generation/mock/generate_brewery.cc similarity index 100% rename from pipeline/src/data_generation/mock/generate_brewery.cc rename to tooling/pipeline/src/data_generation/mock/generate_brewery.cc diff --git a/pipeline/src/data_generation/mock/generate_user.cc b/tooling/pipeline/src/data_generation/mock/generate_user.cc similarity index 100% rename from pipeline/src/data_generation/mock/generate_user.cc rename to tooling/pipeline/src/data_generation/mock/generate_user.cc diff --git a/pipeline/src/data_generation/prompt_formatting/gemma4_jinja_prompt_formatter.cc b/tooling/pipeline/src/data_generation/prompt_formatting/gemma4_jinja_prompt_formatter.cc similarity index 100% rename from pipeline/src/data_generation/prompt_formatting/gemma4_jinja_prompt_formatter.cc rename to tooling/pipeline/src/data_generation/prompt_formatting/gemma4_jinja_prompt_formatter.cc diff --git a/pipeline/src/json_handling/json_loader.cc b/tooling/pipeline/src/json_handling/json_loader.cc similarity index 100% rename from pipeline/src/json_handling/json_loader.cc rename to tooling/pipeline/src/json_handling/json_loader.cc diff --git a/pipeline/src/main.cc b/tooling/pipeline/src/main.cc similarity index 100% rename from pipeline/src/main.cc rename to tooling/pipeline/src/main.cc diff --git a/pipeline/src/services/sqlite/build_database_path.cc b/tooling/pipeline/src/services/sqlite/build_database_path.cc similarity index 100% rename from pipeline/src/services/sqlite/build_database_path.cc rename to tooling/pipeline/src/services/sqlite/build_database_path.cc diff --git a/pipeline/src/services/sqlite/build_location_key.cc b/tooling/pipeline/src/services/sqlite/build_location_key.cc similarity index 100% rename from pipeline/src/services/sqlite/build_location_key.cc rename to tooling/pipeline/src/services/sqlite/build_location_key.cc diff --git a/pipeline/src/services/sqlite/finalize.cc b/tooling/pipeline/src/services/sqlite/finalize.cc similarity index 100% rename from pipeline/src/services/sqlite/finalize.cc rename to tooling/pipeline/src/services/sqlite/finalize.cc diff --git a/pipeline/src/services/sqlite/finalize_statements.cc b/tooling/pipeline/src/services/sqlite/finalize_statements.cc similarity index 100% rename from pipeline/src/services/sqlite/finalize_statements.cc rename to tooling/pipeline/src/services/sqlite/finalize_statements.cc diff --git a/pipeline/src/services/sqlite/initialize.cc b/tooling/pipeline/src/services/sqlite/initialize.cc similarity index 100% rename from pipeline/src/services/sqlite/initialize.cc rename to tooling/pipeline/src/services/sqlite/initialize.cc diff --git a/pipeline/src/services/sqlite/initialize_schema.cc b/tooling/pipeline/src/services/sqlite/initialize_schema.cc similarity index 100% rename from pipeline/src/services/sqlite/initialize_schema.cc rename to tooling/pipeline/src/services/sqlite/initialize_schema.cc diff --git a/pipeline/src/services/sqlite/prepare_statements.cc b/tooling/pipeline/src/services/sqlite/prepare_statements.cc similarity index 100% rename from pipeline/src/services/sqlite/prepare_statements.cc rename to tooling/pipeline/src/services/sqlite/prepare_statements.cc diff --git a/pipeline/src/services/sqlite/process_record.cc b/tooling/pipeline/src/services/sqlite/process_record.cc similarity index 100% rename from pipeline/src/services/sqlite/process_record.cc rename to tooling/pipeline/src/services/sqlite/process_record.cc diff --git a/pipeline/src/services/sqlite/rollback_and_close_no_throw.cc b/tooling/pipeline/src/services/sqlite/rollback_and_close_no_throw.cc similarity index 100% rename from pipeline/src/services/sqlite/rollback_and_close_no_throw.cc rename to tooling/pipeline/src/services/sqlite/rollback_and_close_no_throw.cc diff --git a/pipeline/src/services/sqlite/sqlite_export_service.cc b/tooling/pipeline/src/services/sqlite/sqlite_export_service.cc similarity index 100% rename from pipeline/src/services/sqlite/sqlite_export_service.cc rename to tooling/pipeline/src/services/sqlite/sqlite_export_service.cc diff --git a/pipeline/src/services/wikipedia/fetch_extract.cc b/tooling/pipeline/src/services/wikipedia/fetch_extract.cc similarity index 100% rename from pipeline/src/services/wikipedia/fetch_extract.cc rename to tooling/pipeline/src/services/wikipedia/fetch_extract.cc diff --git a/pipeline/src/services/wikipedia/get_summary.cc b/tooling/pipeline/src/services/wikipedia/get_summary.cc similarity index 100% rename from pipeline/src/services/wikipedia/get_summary.cc rename to tooling/pipeline/src/services/wikipedia/get_summary.cc diff --git a/pipeline/src/services/wikipedia/wikipedia_service.cc b/tooling/pipeline/src/services/wikipedia/wikipedia_service.cc similarity index 100% rename from pipeline/src/services/wikipedia/wikipedia_service.cc rename to tooling/pipeline/src/services/wikipedia/wikipedia_service.cc diff --git a/pipeline/src/web_client/curl_global_state.cc b/tooling/pipeline/src/web_client/curl_global_state.cc similarity index 100% rename from pipeline/src/web_client/curl_global_state.cc rename to tooling/pipeline/src/web_client/curl_global_state.cc diff --git a/pipeline/src/web_client/curl_web_client_get.cc b/tooling/pipeline/src/web_client/curl_web_client_get.cc similarity index 100% rename from pipeline/src/web_client/curl_web_client_get.cc rename to tooling/pipeline/src/web_client/curl_web_client_get.cc diff --git a/pipeline/src/web_client/curl_web_client_url_encode.cc b/tooling/pipeline/src/web_client/curl_web_client_url_encode.cc similarity index 100% rename from pipeline/src/web_client/curl_web_client_url_encode.cc rename to tooling/pipeline/src/web_client/curl_web_client_url_encode.cc