feat: Integrate DSRs for automatic SYSTEM prompt optimization (#45) (#61)
* feat: add zero-shot Modelfile prompt optimization using DSRs and synthetic data generation
* feat: add LLM-based evaluation judge and fix Modelfile system prompt persistence in tilekit
* feat: optimize for cost with heuristic metric and improve early prompt validation
* fix: address Modelfile parsing resilience and CLI error handling feedback
* fix: fail fast on malformed training data files to prevent silent fallback
* feat: add correctness signal to optimization metric via ground-truth similarity
* fix: upgrade Modelfile persistence to triple-quotes and implement fail-fast generation
* refactor: move optimize module to tilekit, consolidate add_system to allow overwrite, add metric tests
* fix: CI lint, simplify SYSTEM format, return Modelfile from optimize, add tests
* fix(cli): propagate errors in Optimize command instead of swallowing them
The Commands::Optimize branch was logging errors but returning Ok(()),
causing the process to exit with code 0 even on failure. Now uses ? to
propagate both commands::optimize errors and std::fs::write errors,
ensuring the process exits non-zero on failure.
authored by