ruby_llm-contract 0.10.6 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -0
  3. data/CHANGELOG.md +354 -211
  4. data/README.md +12 -2
  5. data/docs/guide/getting_started.md +3 -1
  6. data/docs/guide/llm_judge.md +1 -1
  7. data/docs/guide/multimodal_input.md +4 -3
  8. data/docs/guide/output_schema.md +2 -2
  9. data/docs/guide/testing.md +1 -1
  10. data/examples/README.md +1 -1
  11. data/lib/ruby_llm/contract/adapters/ruby_llm.rb +13 -9
  12. data/lib/ruby_llm/contract/concerns/context_helpers.rb +0 -2
  13. data/lib/ruby_llm/contract/concerns/deep_symbolize.rb +0 -1
  14. data/lib/ruby_llm/contract/contract/parser.rb +0 -3
  15. data/lib/ruby_llm/contract/contract/schema_validator/bound_rule.rb +0 -1
  16. data/lib/ruby_llm/contract/contract/schema_validator/enum_rule.rb +0 -1
  17. data/lib/ruby_llm/contract/contract/schema_validator/node.rb +0 -4
  18. data/lib/ruby_llm/contract/contract/schema_validator/scalar_rules.rb +0 -1
  19. data/lib/ruby_llm/contract/contract/schema_validator/type_rule.rb +0 -1
  20. data/lib/ruby_llm/contract/cost_calculator.rb +28 -2
  21. data/lib/ruby_llm/contract/eval/aggregated_report.rb +4 -0
  22. data/lib/ruby_llm/contract/eval/baseline_diff.rb +22 -3
  23. data/lib/ruby_llm/contract/eval/candidate_label.rb +31 -0
  24. data/lib/ruby_llm/contract/eval/case_executor.rb +2 -2
  25. data/lib/ruby_llm/contract/eval/case_result.rb +17 -3
  26. data/lib/ruby_llm/contract/eval/case_result_builder.rb +2 -1
  27. data/lib/ruby_llm/contract/eval/contract_detail_builder.rb +0 -2
  28. data/lib/ruby_llm/contract/eval/model_comparison.rb +3 -2
  29. data/lib/ruby_llm/contract/eval/pipeline_result_adapter.rb +1 -2
  30. data/lib/ruby_llm/contract/eval/prompt_diff_comparator.rb +0 -1
  31. data/lib/ruby_llm/contract/eval/prompt_diff_presenter.rb +0 -1
  32. data/lib/ruby_llm/contract/eval/prompt_diff_serializer.rb +0 -1
  33. data/lib/ruby_llm/contract/eval/report.rb +1 -1
  34. data/lib/ruby_llm/contract/eval/report_presenter.rb +0 -1
  35. data/lib/ruby_llm/contract/eval/report_stats.rb +5 -1
  36. data/lib/ruby_llm/contract/eval/report_storage.rb +0 -1
  37. data/lib/ruby_llm/contract/eval/retry_optimizer.rb +10 -20
  38. data/lib/ruby_llm/contract/eval/step_expectation_applier.rb +2 -1
  39. data/lib/ruby_llm/contract/eval/trait_evaluator.rb +0 -2
  40. data/lib/ruby_llm/contract/eval/unknown_cost_gate.rb +40 -0
  41. data/lib/ruby_llm/contract/eval.rb +2 -0
  42. data/lib/ruby_llm/contract/minitest.rb +6 -1
  43. data/lib/ruby_llm/contract/pipeline/runner.rb +0 -1
  44. data/lib/ruby_llm/contract/pipeline/trace.rb +7 -0
  45. data/lib/ruby_llm/contract/rake_task/suite_gate.rb +18 -21
  46. data/lib/ruby_llm/contract/rake_task.rb +9 -4
  47. data/lib/ruby_llm/contract/rspec/pass_eval.rb +80 -52
  48. data/lib/ruby_llm/contract/step/base.rb +12 -3
  49. data/lib/ruby_llm/contract/step/dsl.rb +2 -4
  50. data/lib/ruby_llm/contract/step/limit_checker.rb +0 -2
  51. data/lib/ruby_llm/contract/step/retry_executor.rb +0 -2
  52. data/lib/ruby_llm/contract/step/trace.rb +19 -0
  53. data/lib/ruby_llm/contract/token_estimator.rb +0 -2
  54. data/lib/ruby_llm/contract/version.rb +1 -1
  55. data/lib/ruby_llm/contract.rb +0 -4
  56. data/ruby_llm-contract.gemspec +6 -5
  57. metadata +9 -11
  58. data/.rubocop.yml +0 -58
  59. data/Gemfile +0 -13
  60. data/Gemfile.lock +0 -278
  61. data/Rakefile +0 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3a8b39b568c6799c294c1f303f7d727e7c2daaf71762c84af9e255f99ba65482
4
- data.tar.gz: 890deebfa3a297be4bb65e219ea3db1ea3e8a03e72dd0e51ce74ae04de62385c
3
+ metadata.gz: 4620ae344425d6b9473b5265821d9bc16e25c7ade812f2c0d89a7926859a2e2e
4
+ data.tar.gz: 68565f25b5aa97b9804c9e91cec01cf0253602686e709f94ed26a07fe2bf3ce9
5
5
  SHA512:
6
- metadata.gz: 64ab1a5b8ac27e460356bafcf37e1489df89990c238bdec6d352dd3e9201433addaa48a157528671d1785946e8fd9e502d0d0bbdccb8ff3d6ecfb59334a5ce03
7
- data.tar.gz: adaf5ac758ab00aabc58b3d7f2544db74c36649b90313b3a1732c5bb5a42986ba9f721d972e4bb9744c5c1f94e46c75dd5223dedd2ebfd64e89975dacb3b9825
6
+ metadata.gz: 3c1b4e7ef0f06065bfecd68742c07e40c50e7f08c53760a24097ed5a7fe9eaa84dbf9796fab40dd1096791c623c14bdc48eb3a44e39ebd5858bbc21bd888c24c
7
+ data.tar.gz: b2f3aaa92a43c8e638bcbe30d46cf0629cca8f201416cf848fc2d9b93ed7d9a393e92973ec2e3dc69ce6951b0d4c436955d8a5fd976161f93c1fd587be437877
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 3.4.4