omegaprompt 2.0.1__tar.gz → 2.0.2__tar.gz

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 (266) hide show
  1. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/.gitignore +1 -0
  2. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/CHANGELOG.md +16 -0
  3. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/PKG-INFO +7 -7
  4. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/README.md +5 -5
  5. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/README_KR.md +5 -5
  6. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/pyproject.toml +7 -2
  7. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/__init__.py +1 -1
  8. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/commands/calibrate.py +13 -0
  9. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/runtime.py +15 -0
  10. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/targets/prompt_target.py +541 -471
  11. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/AGENT_TRIGGERS.md +0 -0
  12. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/AUTHORS.md +0 -0
  13. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/IP_DEFENSE_CHECKLIST.md +0 -0
  14. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/LICENSE +0 -0
  15. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/NOTICE +0 -0
  16. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/PRE_EXISTING_IP.md +0 -0
  17. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/README.md +0 -0
  18. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/_demo_output.txt +0 -0
  19. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/README.md +0 -0
  20. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/_mainline_outputs/V0_baseline.txt +0 -0
  21. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/_mainline_outputs/V1_role_terse.txt +0 -0
  22. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/_mainline_outputs/V2_xml_format.txt +0 -0
  23. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/_mainline_outputs/V3prime_rules_format.txt +0 -0
  24. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/_mainline_outputs/V5_no_issue_guard.txt +0 -0
  25. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/_subagent_outputs/V0_baseline.txt +0 -0
  26. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/_subagent_outputs/V1_role_terse.txt +0 -0
  27. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/_subagent_outputs/V2_xml_format.txt +0 -0
  28. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/_subagent_outputs/V3prime_rules_format.txt +0 -0
  29. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/_subagent_outputs/V5_no_issue_guard.txt +0 -0
  30. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/_subagent_prompts/V0_baseline.txt +0 -0
  31. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/_subagent_prompts/V1_role_terse.txt +0 -0
  32. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/_subagent_prompts/V2_xml_format.txt +0 -0
  33. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/_subagent_prompts/V3prime_rules_format.txt +0 -0
  34. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/_subagent_prompts/V5_no_issue_guard.txt +0 -0
  35. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/backtest.log +0 -0
  36. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/backtest.py +0 -0
  37. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/backtest_gemma4.log +0 -0
  38. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/backtest_results.json +0 -0
  39. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/backtest_results_gemma4.json +0 -0
  40. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/backtest_results_v2.json +0 -0
  41. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/backtest_results_v2_gemma4.json +0 -0
  42. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/backtest_results_v3.json +0 -0
  43. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/backtest_results_v3_gemma4.json +0 -0
  44. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/backtest_v2.log +0 -0
  45. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/backtest_v2_gemma4.log +0 -0
  46. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/backtest_v3.log +0 -0
  47. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/backtest_v3_gemma4.log +0 -0
  48. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/claude_full_validation_results.json +0 -0
  49. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/claude_validation_outputs.json +0 -0
  50. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/mainline_results.json +0 -0
  51. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/production_variant.json +0 -0
  52. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/quality_review.json +0 -0
  53. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/quality_review_claude_full.json +0 -0
  54. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/quality_review_mainline.json +0 -0
  55. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/quality_review_v2.json +0 -0
  56. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/quality_review_v3.json +0 -0
  57. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/rubric.json +0 -0
  58. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/score_and_write.py +0 -0
  59. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/test.jsonl +0 -0
  60. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/train.jsonl +0 -0
  61. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/validation_archive.json +0 -0
  62. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/variant_0_texts.txt +0 -0
  63. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/variant_1_texts.txt +0 -0
  64. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/variant_2_texts.txt +0 -0
  65. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/variant_3_texts.txt +0 -0
  66. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/variant_4_texts.txt +0 -0
  67. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/variants.json +0 -0
  68. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/variants_v2.json +0 -0
  69. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_review/variants_v3.json +0 -0
  70. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_writing/README.md +0 -0
  71. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_writing/_subagent_outputs/V0_baseline.txt +0 -0
  72. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_writing/_subagent_outputs/V1_role_terse.txt +0 -0
  73. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_writing/_subagent_outputs/V2_format.txt +0 -0
  74. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_writing/_subagent_outputs/V3prime_rules.txt +0 -0
  75. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_writing/_subagent_outputs/V4_guard.txt +0 -0
  76. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_writing/_subagent_prompts/V0_baseline.txt +0 -0
  77. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_writing/_subagent_prompts/V1_role_terse.txt +0 -0
  78. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_writing/_subagent_prompts/V2_format.txt +0 -0
  79. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_writing/_subagent_prompts/V3prime_rules.txt +0 -0
  80. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_writing/_subagent_prompts/V4_guard.txt +0 -0
  81. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_writing/claude_results.json +0 -0
  82. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_writing/quality_review.json +0 -0
  83. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_writing/rubric.json +0 -0
  84. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_writing/train.jsonl +0 -0
  85. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/code_writing/variants.json +0 -0
  86. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/commit_message/README.md +0 -0
  87. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/commit_message/_subagent_outputs/V0_baseline.txt +0 -0
  88. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/commit_message/_subagent_outputs/V1_role_terse.txt +0 -0
  89. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/commit_message/_subagent_outputs/V2_format.txt +0 -0
  90. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/commit_message/_subagent_outputs/V3prime_rules.txt +0 -0
  91. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/commit_message/_subagent_outputs/V4_guard.txt +0 -0
  92. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/commit_message/_subagent_prompts/V0_baseline.txt +0 -0
  93. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/commit_message/_subagent_prompts/V1_role_terse.txt +0 -0
  94. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/commit_message/_subagent_prompts/V2_format.txt +0 -0
  95. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/commit_message/_subagent_prompts/V3prime_rules.txt +0 -0
  96. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/commit_message/_subagent_prompts/V4_guard.txt +0 -0
  97. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/commit_message/claude_results.json +0 -0
  98. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/commit_message/quality_review.json +0 -0
  99. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/commit_message/rubric.json +0 -0
  100. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/commit_message/train.jsonl +0 -0
  101. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/commit_message/variants.json +0 -0
  102. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/debugging/README.md +0 -0
  103. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/debugging/_subagent_outputs/V0_baseline.txt +0 -0
  104. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/debugging/_subagent_outputs/V1_role_terse.txt +0 -0
  105. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/debugging/_subagent_outputs/V2_format.txt +0 -0
  106. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/debugging/_subagent_outputs/V3prime_rules.txt +0 -0
  107. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/debugging/_subagent_outputs/V4_guard.txt +0 -0
  108. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/debugging/_subagent_prompts/V0_baseline.txt +0 -0
  109. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/debugging/_subagent_prompts/V1_role_terse.txt +0 -0
  110. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/debugging/_subagent_prompts/V2_format.txt +0 -0
  111. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/debugging/_subagent_prompts/V3prime_rules.txt +0 -0
  112. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/debugging/_subagent_prompts/V4_guard.txt +0 -0
  113. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/debugging/claude_results.json +0 -0
  114. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/debugging/quality_review.json +0 -0
  115. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/debugging/rubric.json +0 -0
  116. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/debugging/train.jsonl +0 -0
  117. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/debugging/variants.json +0 -0
  118. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/demo_calibration.py +0 -0
  119. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/demo_replay.py +0 -0
  120. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/explanation/README.md +0 -0
  121. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/explanation/_subagent_outputs/V0_baseline.txt +0 -0
  122. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/explanation/_subagent_outputs/V1_role_terse.txt +0 -0
  123. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/explanation/_subagent_outputs/V2_format.txt +0 -0
  124. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/explanation/_subagent_outputs/V3prime_rules.txt +0 -0
  125. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/explanation/_subagent_outputs/V4_guard.txt +0 -0
  126. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/explanation/_subagent_prompts/V0_baseline.txt +0 -0
  127. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/explanation/_subagent_prompts/V1_role_terse.txt +0 -0
  128. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/explanation/_subagent_prompts/V2_format.txt +0 -0
  129. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/explanation/_subagent_prompts/V3prime_rules.txt +0 -0
  130. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/explanation/_subagent_prompts/V4_guard.txt +0 -0
  131. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/explanation/claude_results.json +0 -0
  132. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/explanation/quality_review.json +0 -0
  133. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/explanation/rubric.json +0 -0
  134. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/explanation/train.jsonl +0 -0
  135. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/explanation/variants.json +0 -0
  136. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/refactoring/README.md +0 -0
  137. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/refactoring/_subagent_outputs/V0_baseline.txt +0 -0
  138. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/refactoring/_subagent_outputs/V1_role_terse.txt +0 -0
  139. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/refactoring/_subagent_outputs/V2_format.txt +0 -0
  140. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/refactoring/_subagent_outputs/V3prime_rules.txt +0 -0
  141. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/refactoring/_subagent_outputs/V4_guard.txt +0 -0
  142. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/refactoring/_subagent_prompts/V0_baseline.txt +0 -0
  143. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/refactoring/_subagent_prompts/V1_role_terse.txt +0 -0
  144. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/refactoring/_subagent_prompts/V2_format.txt +0 -0
  145. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/refactoring/_subagent_prompts/V3prime_rules.txt +0 -0
  146. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/refactoring/_subagent_prompts/V4_guard.txt +0 -0
  147. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/refactoring/claude_results.json +0 -0
  148. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/refactoring/quality_review.json +0 -0
  149. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/refactoring/rubric.json +0 -0
  150. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/refactoring/train.jsonl +0 -0
  151. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/refactoring/variants.json +0 -0
  152. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/reference/README.md +0 -0
  153. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/reference/golden_manifest.json +0 -0
  154. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/reference/reference_adaptation_plan.json +0 -0
  155. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/reference/reference_artifact.json +0 -0
  156. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/reference/reference_diff_regression.json +0 -0
  157. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/reference/reference_fail_hard_gates.json +0 -0
  158. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/reference/reference_fail_kc4_gate.json +0 -0
  159. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/reference/reference_preflight_report.json +0 -0
  160. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/reference/reference_provider_degradation.json +0 -0
  161. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/reference/reproduce_preflight_demo.py +0 -0
  162. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/reference/reproduce_reference_artifact.py +0 -0
  163. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/rubric_example.json +0 -0
  164. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/sample_dataset.jsonl +0 -0
  165. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/summarization/README.md +0 -0
  166. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/summarization/_subagent_outputs/V0_baseline.txt +0 -0
  167. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/summarization/_subagent_outputs/V1_role_terse.txt +0 -0
  168. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/summarization/_subagent_outputs/V2_format.txt +0 -0
  169. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/summarization/_subagent_outputs/V3prime_rules.txt +0 -0
  170. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/summarization/_subagent_outputs/V4_guard.txt +0 -0
  171. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/summarization/_subagent_prompts/V0_baseline.txt +0 -0
  172. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/summarization/_subagent_prompts/V1_role_terse.txt +0 -0
  173. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/summarization/_subagent_prompts/V2_format.txt +0 -0
  174. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/summarization/_subagent_prompts/V3prime_rules.txt +0 -0
  175. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/summarization/_subagent_prompts/V4_guard.txt +0 -0
  176. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/summarization/claude_results.json +0 -0
  177. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/summarization/quality_review.json +0 -0
  178. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/summarization/rubric.json +0 -0
  179. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/summarization/train.jsonl +0 -0
  180. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/summarization/variants.json +0 -0
  181. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/test_writing/README.md +0 -0
  182. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/test_writing/_subagent_outputs/V0_baseline.txt +0 -0
  183. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/test_writing/_subagent_outputs/V1_role_terse.txt +0 -0
  184. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/test_writing/_subagent_outputs/V2_format.txt +0 -0
  185. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/test_writing/_subagent_outputs/V3prime_rules.txt +0 -0
  186. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/test_writing/_subagent_outputs/V4_guard.txt +0 -0
  187. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/test_writing/_subagent_prompts/V0_baseline.txt +0 -0
  188. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/test_writing/_subagent_prompts/V1_role_terse.txt +0 -0
  189. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/test_writing/_subagent_prompts/V2_format.txt +0 -0
  190. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/test_writing/_subagent_prompts/V3prime_rules.txt +0 -0
  191. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/test_writing/_subagent_prompts/V4_guard.txt +0 -0
  192. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/test_writing/claude_results.json +0 -0
  193. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/test_writing/quality_review.json +0 -0
  194. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/test_writing/rubric.json +0 -0
  195. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/test_writing/train.jsonl +0 -0
  196. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/test_writing/variants.json +0 -0
  197. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/translation/README.md +0 -0
  198. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/translation/_subagent_outputs/V0_baseline.txt +0 -0
  199. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/translation/_subagent_outputs/V1_role_terse.txt +0 -0
  200. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/translation/_subagent_outputs/V2_format.txt +0 -0
  201. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/translation/_subagent_outputs/V3prime_rules.txt +0 -0
  202. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/translation/_subagent_outputs/V4_guard.txt +0 -0
  203. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/translation/_subagent_prompts/V0_baseline.txt +0 -0
  204. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/translation/_subagent_prompts/V1_role_terse.txt +0 -0
  205. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/translation/_subagent_prompts/V2_format.txt +0 -0
  206. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/translation/_subagent_prompts/V3prime_rules.txt +0 -0
  207. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/translation/_subagent_prompts/V4_guard.txt +0 -0
  208. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/translation/claude_results.json +0 -0
  209. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/translation/quality_review.json +0 -0
  210. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/translation/rubric.json +0 -0
  211. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/translation/train.jsonl +0 -0
  212. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/translation/variants.json +0 -0
  213. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/examples/variants_example.json +0 -0
  214. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegacal/__init__.py +0 -0
  215. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegacal/__main__.py +0 -0
  216. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegacal/cli.py +0 -0
  217. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/__main__.py +0 -0
  218. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/api.py +0 -0
  219. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/cli.py +0 -0
  220. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/commands/__init__.py +0 -0
  221. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/commands/check_artifact.py +0 -0
  222. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/commands/diff.py +0 -0
  223. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/commands/report.py +0 -0
  224. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/core/__init__.py +0 -0
  225. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/core/artifact.py +0 -0
  226. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/core/artifact_integrity.py +0 -0
  227. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/core/fitness.py +0 -0
  228. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/core/profiles.py +0 -0
  229. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/core/risk.py +0 -0
  230. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/core/sensitivity.py +0 -0
  231. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/core/walkforward.py +0 -0
  232. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/dataset.py +0 -0
  233. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/domain/__init__.py +0 -0
  234. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/domain/dataset.py +0 -0
  235. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/domain/enums.py +0 -0
  236. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/domain/judge.py +0 -0
  237. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/domain/params.py +0 -0
  238. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/domain/profiles.py +0 -0
  239. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/domain/result.py +0 -0
  240. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/fitness.py +0 -0
  241. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/judge.py +0 -0
  242. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/judges/__init__.py +0 -0
  243. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/judges/base.py +0 -0
  244. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/judges/ensemble_judge.py +0 -0
  245. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/judges/llm_judge.py +0 -0
  246. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/judges/rule_judge.py +0 -0
  247. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/mcp/__init__.py +0 -0
  248. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/mcp/__main__.py +0 -0
  249. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/mcp/server.py +0 -0
  250. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/preflight/__init__.py +0 -0
  251. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/preflight/adaptation.py +0 -0
  252. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/preflight/contracts.py +0 -0
  253. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/prompts.py +0 -0
  254. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/providers/__init__.py +0 -0
  255. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/providers/anthropic_provider.py +0 -0
  256. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/providers/base.py +0 -0
  257. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/providers/factory.py +0 -0
  258. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/providers/gemini_provider.py +0 -0
  259. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/providers/local_provider.py +0 -0
  260. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/providers/openai_provider.py +0 -0
  261. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/reporting/__init__.py +0 -0
  262. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/reporting/markdown.py +0 -0
  263. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/schema.py +0 -0
  264. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/target.py +0 -0
  265. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/targets/__init__.py +0 -0
  266. {omegaprompt-2.0.1 → omegaprompt-2.0.2}/src/omegaprompt/targets/base.py +0 -0
@@ -38,6 +38,7 @@ ENV/
38
38
 
39
39
  # ── Packaging / tooling ──
40
40
  .uv/
41
+ .uv-cache/
41
42
  pip-log.txt
42
43
  pip-delete-this-directory.txt
43
44
 
@@ -6,6 +6,22 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [2.0.2] - 2026-06-08
10
+
11
+ ### Added
12
+
13
+ - **Opt-in parallel item evaluation.** `CalibrateTuning.max_workers` (Python) / `--concurrency` (CLI) parallelize per-item target+judge evaluation within each candidate via a local `concurrent.futures.ThreadPoolExecutor`. Each item still runs its target call then its judge call sequentially, so the number of concurrent calls to any one provider never exceeds the configured value. Default `1` (serial) produces byte-identical artifacts to prior versions. Wall-clock speedup is bounded by — and conditional on — your provider account's concurrency ceiling (RPM/TPM): roughly ~50% at `2`, ~75% at `4`, ~85% at `8` when the account permits it, and **none** if the account effectively serializes calls. No cross-provider rate-limit handling; configure per your account (a value above your real ceiling produces 429s, not speedups).
14
+
15
+ ### Changed
16
+
17
+ - **Best-candidate evaluation is memoized.** `PromptTarget.evaluate()` now caches results keyed on the resolved params, so the final best-candidate evaluation reuses the grid-search result instead of re-calling the providers. This reduces live API calls during `calibrate()`. No public-surface change (`EvalResult` / `CalibrationArtifact` / `CalibrableTarget` unchanged) and no artifact-schema change.
18
+
19
+ ### Notes
20
+
21
+ - Package version is `2.0.2`; `CalibrationArtifact.schema_version` remains `2.0`. The omega-lock dependency pin remains `>=0.3.0,<0.4.0`.
22
+ - Golden reference artifacts are **unchanged** — the deterministic harness uses fixed counts/latency and builds artifacts directly (not via `runtime.calibrate()`), so neither feature affects the golden hash.
23
+ - This release-preparation change edits the working tree only; it does not publish to PyPI, push tags, or create/edit GitHub Releases.
24
+
9
25
  ## [2.0.1] - 2026-06-07
10
26
 
11
27
  ### Fixed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: omegaprompt
3
- Version: 2.0.1
3
+ Version: 2.0.2
4
4
  Summary: Provider-neutral prompt calibration engine with sensitivity-ranked meta-axes, hard-gate x soft-score fitness, walk-forward ship gates, guarded/expedition profiles, and explicit capability/risk reporting across Anthropic, OpenAI, Gemini, and local OpenAI-compatible backends. Optional sub-tools (mini-omega-lock, mini-antemortem-cli) distribute separately and plug in via the omegaprompt.preflight interface.
5
5
  Project-URL: Homepage, https://github.com/hibou04-ops/omegaprompt
6
6
  Project-URL: Repository, https://github.com/hibou04-ops/omegaprompt
@@ -213,7 +213,7 @@ License-File: AUTHORS.md
213
213
  License-File: LICENSE
214
214
  License-File: NOTICE
215
215
  Keywords: llm-as-judge,local-llm,overfitting,prompt-calibration,prompt-engineering,provider-neutral,walk-forward
216
- Classifier: Development Status :: 3 - Alpha
216
+ Classifier: Development Status :: 4 - Beta
217
217
  Classifier: Environment :: Console
218
218
  Classifier: Intended Audience :: Developers
219
219
  Classifier: License :: OSI Approved :: Apache Software License
@@ -250,8 +250,8 @@ Description-Content-Type: text/markdown
250
250
  [![CI](https://github.com/hibou04-ops/omegaprompt/actions/workflows/ci.yml/badge.svg)](https://github.com/hibou04-ops/omegaprompt/actions/workflows/ci.yml)
251
251
  [![License: Apache 2.0](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE)
252
252
  [![Python](https://img.shields.io/badge/python-3.11%2B-blue.svg)](https://www.python.org)
253
- [![PyPI](https://img.shields.io/badge/pypi-2.0.1-blue.svg)](https://pypi.org/project/omegaprompt/)
254
- [![Tests](https://img.shields.io/badge/tests-317%20passing-brightgreen.svg)](tests/)
253
+ [![PyPI](https://img.shields.io/badge/pypi-2.0.2-blue.svg)](https://pypi.org/project/omegaprompt/)
254
+ [![Tests](https://img.shields.io/badge/tests-passing-brightgreen.svg)](tests/)
255
255
  [![Artifact schema](https://img.shields.io/badge/artifact-schema%20v2.0-blueviolet.svg)](#8-the-calibrationartifact-schema-v20)
256
256
  [![MCP](https://img.shields.io/badge/MCP-server-blueviolet.svg)](#103-mcp-server-claude-code-cursor)
257
257
  [![Parent framework](https://img.shields.io/badge/framework-omega--lock-blueviolet.svg)](https://github.com/hibou04-ops/omega-lock)
@@ -298,7 +298,7 @@ pip install omegaprompt # core
298
298
  pip install "omegaprompt[mcp]" # + MCP server (Claude Code / Cursor)
299
299
  ```
300
300
 
301
- > **v2.0.1 (2026-06-07)** — **What's new:** omega-lock 0.3.0 compatibility — omega-lock 0.3.0 reads `.sample_count` off the result `PromptTarget.evaluate` returns; `EvalResult` now exposes `sample_count` as a read-only alias of the stored `n_trials` so calibration no longer crashes on the 0.3.0 seam. Plus a consumer **docking hardlock**: a fail-loud contract test (`tests/test_omega_lock_contract.py`) and a scheduled consumer canary (`.github/workflows/omega-lock-compat.yml`) that run omegaprompt's own consumer reads against omega-lock@main so a producer-side field rename is caught before it reaches a release. Public README/PyPI-facing claims and exact deterministic reference metrics are tracked in the generated [claim ledger](https://github.com/hibou04-ops/omegaprompt/blob/main/docs/claims/README_CLAIMS.generated.md). Release gates cover repository consistency, generated claims, golden reference artifacts, artifact integrity, wheel smoke, and local/post-release verification.
301
+ > **v2.0.2 (2026-06-08)** — **What's new:** **opt-in parallel item evaluation** — `--concurrency N` (CLI) / `CalibrateTuning(max_workers=N)` evaluates dataset items concurrently within each candidate via a local thread pool. Each item still runs its target and judge calls sequentially, so concurrent calls to any one provider never exceed N. The default (`1`) is serial and produces byte-identical artifacts to prior versions. Wall-clock speedup is **entirely conditional on your provider account's concurrency ceiling (RPM/TPM)**: roughly 50% at N=2 when the account permits it, and **zero** if your account effectively serializes calls. Also: `PromptTarget.evaluate()` is now **memoized by resolved params**, so the final best-candidate evaluation reuses the grid-search result instead of re-calling the providers — fewer live API calls during `calibrate()`, with no public-surface or artifact-schema change. omega-lock pin unchanged (`>=0.3.0,<0.4.0`); `CalibrationArtifact.schema_version` stays `2.0`; golden reference artifacts are unchanged. The project's PyPI Development Status is now **4 - Beta**. Public README/PyPI-facing claims and exact deterministic reference metrics are tracked in the generated [claim ledger](https://github.com/hibou04-ops/omegaprompt/blob/main/docs/claims/README_CLAIMS.generated.md). Release gates cover repository consistency, generated claims, golden reference artifacts, artifact integrity, wheel smoke, and local/post-release verification.
302
302
 
303
303
  <!-- public-claim-ledger:start -->
304
304
  > Claim evidence source: [docs/claims/public_claim_ledger.json](https://github.com/hibou04-ops/omegaprompt/blob/main/docs/claims/public_claim_ledger.json), rendered by `python tools/generate_readme_claims.py`.
@@ -1776,7 +1776,7 @@ Every override carries its `parameter`, `default`, `applied`, and `reason`. The
1776
1776
  Short form:
1777
1777
 
1778
1778
  ```
1779
- omegaprompt v2.0.1 — provider-neutral prompt calibration engine.
1779
+ omegaprompt v2.0.2 — provider-neutral prompt calibration engine.
1780
1780
  https://github.com/hibou04-ops/omegaprompt, 2026.
1781
1781
  ```
1782
1782
 
@@ -1788,7 +1788,7 @@ BibTeX:
1788
1788
  title = {{omegaprompt}: Provider-neutral prompt calibration engine
1789
1789
  with sensitivity-ranked meta-axes, walk-forward ship gates,
1790
1790
  and structural capability reporting},
1791
- version = {2.0.1},
1791
+ version = {2.0.2},
1792
1792
  year = {2026},
1793
1793
  url = {https://github.com/hibou04-ops/omegaprompt}
1794
1794
  }
@@ -5,8 +5,8 @@
5
5
  [![CI](https://github.com/hibou04-ops/omegaprompt/actions/workflows/ci.yml/badge.svg)](https://github.com/hibou04-ops/omegaprompt/actions/workflows/ci.yml)
6
6
  [![License: Apache 2.0](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE)
7
7
  [![Python](https://img.shields.io/badge/python-3.11%2B-blue.svg)](https://www.python.org)
8
- [![PyPI](https://img.shields.io/badge/pypi-2.0.1-blue.svg)](https://pypi.org/project/omegaprompt/)
9
- [![Tests](https://img.shields.io/badge/tests-317%20passing-brightgreen.svg)](tests/)
8
+ [![PyPI](https://img.shields.io/badge/pypi-2.0.2-blue.svg)](https://pypi.org/project/omegaprompt/)
9
+ [![Tests](https://img.shields.io/badge/tests-passing-brightgreen.svg)](tests/)
10
10
  [![Artifact schema](https://img.shields.io/badge/artifact-schema%20v2.0-blueviolet.svg)](#8-the-calibrationartifact-schema-v20)
11
11
  [![MCP](https://img.shields.io/badge/MCP-server-blueviolet.svg)](#103-mcp-server-claude-code-cursor)
12
12
  [![Parent framework](https://img.shields.io/badge/framework-omega--lock-blueviolet.svg)](https://github.com/hibou04-ops/omega-lock)
@@ -53,7 +53,7 @@ pip install omegaprompt # core
53
53
  pip install "omegaprompt[mcp]" # + MCP server (Claude Code / Cursor)
54
54
  ```
55
55
 
56
- > **v2.0.1 (2026-06-07)** — **What's new:** omega-lock 0.3.0 compatibility — omega-lock 0.3.0 reads `.sample_count` off the result `PromptTarget.evaluate` returns; `EvalResult` now exposes `sample_count` as a read-only alias of the stored `n_trials` so calibration no longer crashes on the 0.3.0 seam. Plus a consumer **docking hardlock**: a fail-loud contract test (`tests/test_omega_lock_contract.py`) and a scheduled consumer canary (`.github/workflows/omega-lock-compat.yml`) that run omegaprompt's own consumer reads against omega-lock@main so a producer-side field rename is caught before it reaches a release. Public README/PyPI-facing claims and exact deterministic reference metrics are tracked in the generated [claim ledger](https://github.com/hibou04-ops/omegaprompt/blob/main/docs/claims/README_CLAIMS.generated.md). Release gates cover repository consistency, generated claims, golden reference artifacts, artifact integrity, wheel smoke, and local/post-release verification.
56
+ > **v2.0.2 (2026-06-08)** — **What's new:** **opt-in parallel item evaluation** — `--concurrency N` (CLI) / `CalibrateTuning(max_workers=N)` evaluates dataset items concurrently within each candidate via a local thread pool. Each item still runs its target and judge calls sequentially, so concurrent calls to any one provider never exceed N. The default (`1`) is serial and produces byte-identical artifacts to prior versions. Wall-clock speedup is **entirely conditional on your provider account's concurrency ceiling (RPM/TPM)**: roughly 50% at N=2 when the account permits it, and **zero** if your account effectively serializes calls. Also: `PromptTarget.evaluate()` is now **memoized by resolved params**, so the final best-candidate evaluation reuses the grid-search result instead of re-calling the providers — fewer live API calls during `calibrate()`, with no public-surface or artifact-schema change. omega-lock pin unchanged (`>=0.3.0,<0.4.0`); `CalibrationArtifact.schema_version` stays `2.0`; golden reference artifacts are unchanged. The project's PyPI Development Status is now **4 - Beta**. Public README/PyPI-facing claims and exact deterministic reference metrics are tracked in the generated [claim ledger](https://github.com/hibou04-ops/omegaprompt/blob/main/docs/claims/README_CLAIMS.generated.md). Release gates cover repository consistency, generated claims, golden reference artifacts, artifact integrity, wheel smoke, and local/post-release verification.
57
57
 
58
58
  <!-- public-claim-ledger:start -->
59
59
  > Claim evidence source: [docs/claims/public_claim_ledger.json](https://github.com/hibou04-ops/omegaprompt/blob/main/docs/claims/public_claim_ledger.json), rendered by `python tools/generate_readme_claims.py`.
@@ -1531,7 +1531,7 @@ Every override carries its `parameter`, `default`, `applied`, and `reason`. The
1531
1531
  Short form:
1532
1532
 
1533
1533
  ```
1534
- omegaprompt v2.0.1 — provider-neutral prompt calibration engine.
1534
+ omegaprompt v2.0.2 — provider-neutral prompt calibration engine.
1535
1535
  https://github.com/hibou04-ops/omegaprompt, 2026.
1536
1536
  ```
1537
1537
 
@@ -1543,7 +1543,7 @@ BibTeX:
1543
1543
  title = {{omegaprompt}: Provider-neutral prompt calibration engine
1544
1544
  with sensitivity-ranked meta-axes, walk-forward ship gates,
1545
1545
  and structural capability reporting},
1546
- version = {2.0.1},
1546
+ version = {2.0.2},
1547
1547
  year = {2026},
1548
1548
  url = {https://github.com/hibou04-ops/omegaprompt}
1549
1549
  }
@@ -5,10 +5,10 @@
5
5
 
6
6
  [![License: Apache 2.0](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE)
7
7
  [![Python](https://img.shields.io/badge/python-3.11%2B-blue.svg)](https://www.python.org)
8
- [![PyPI](https://img.shields.io/badge/pypi-2.0.1-blue.svg)](https://pypi.org/project/omegaprompt/)
9
- [![Tests](https://img.shields.io/badge/tests-317%20passing-brightgreen.svg)](tests/)
10
- [![Artifact schema](https://img.shields.io/badge/artifact-schema%20v2.0-blueviolet.svg)](#calibrationartifact-schema-v20)
11
- [![MCP](https://img.shields.io/badge/MCP-server-blueviolet.svg)](#mcp-서버)
8
+ [![PyPI](https://img.shields.io/badge/pypi-2.0.2-blue.svg)](https://pypi.org/project/omegaprompt/)
9
+ [![Tests](https://img.shields.io/badge/tests-passing-brightgreen.svg)](tests/)
10
+ [![Artifact schema](https://img.shields.io/badge/artifact-schema%20v2.0-blueviolet.svg)](#10-calibrationartifact-schema-v20)
11
+ [![MCP](https://img.shields.io/badge/MCP-server-blueviolet.svg)](#18-mcp-서버)
12
12
  [![Parent framework](https://img.shields.io/badge/framework-omega--lock-blueviolet.svg)](https://github.com/hibou04-ops/omega-lock)
13
13
 
14
14
  문서: [English](README.md) · [한국어](README_KR.md) · [Easy English](EASY_README.md) · [쉬운 한국어](EASY_README_KR.md)
@@ -26,7 +26,7 @@ pip install omegaprompt # core
26
26
  pip install "omegaprompt[mcp]" # + MCP server
27
27
  ```
28
28
 
29
- > **v2.0.1 (2026-06-07)** — **새 내용:** omega-lock 0.3.0 호환 — omega-lock 0.3.0은 `PromptTarget.evaluate`가 반환하는 결과에서 `.sample_count`를 읽습니다. `EvalResult`는 이제 저장 필드 `n_trials`의 read-only alias로 `sample_count`를 노출하므로 0.3.0 seam에서 calibration이 더 이상 깨지지 않습니다. 또한 consumer **docking hardlock**: fail-loud contract test(`tests/test_omega_lock_contract.py`)와 scheduled consumer canary(`.github/workflows/omega-lock-compat.yml`)가 omegaprompt 자신의 consumer read를 omega-lock@main에 대해 실행해, producer 쪽 field rename을 release 전에 잡습니다. public README/PyPI claim과 deterministic reference metric은 생성된 [claim ledger](docs/claims/README_CLAIMS.generated.md)에서 추적합니다. release gate는 repository consistency, generated claims, golden reference artifacts, artifact integrity, wheel smoke, local/post-release verification을 확인합니다.
29
+ > **v2.0.2 (2026-06-08)** — **새 내용:** **opt-in 병렬 item 평가** — `--concurrency N`(CLI) / `CalibrateTuning(max_workers=N)`이 각 candidate 안에서 dataset item을 local thread pool로 동시에 평가합니다. 각 item은 여전히 target 호출 후 judge 호출을 순차로 실행하므로, 어느 한 provider에 대한 동시 호출 수는 N을 넘지 않습니다. 기본값(`1`)은 serial이며 이전 버전과 byte-identical한 artifact를 만듭니다. wall-clock 속도 향상은 **전적으로 사용 중인 provider 계정의 동시성 한도(RPM/TPM)에 따라 달라집니다**: 계정이 허용하면 N=2에서 대략 50%, 계정이 사실상 호출을 직렬화하면 **0%**입니다. 또한 `PromptTarget.evaluate()`가 이제 **resolved params 기준으로 memoize**되어, 마지막 best-candidate 평가가 provider를 다시 호출하는 대신 grid-search 결과를 재사용합니다 — `calibrate()` 동안 live API 호출이 줄며 public surface나 artifact schema 변경은 없습니다. omega-lock pin은 그대로(`>=0.3.0,<0.4.0`)이고 `CalibrationArtifact.schema_version`은 `2.0`을 유지하며 golden reference artifact는 변경되지 않습니다. 프로젝트의 PyPI Development Status는 이제 **4 - Beta**입니다. public README/PyPI claim과 deterministic reference metric은 생성된 [claim ledger](docs/claims/README_CLAIMS.generated.md)에서 추적합니다. release gate는 repository consistency, generated claims, golden reference artifacts, artifact integrity, wheel smoke, local/post-release verification을 확인합니다.
30
30
 
31
31
  이름 경계: GitHub repo는 `hibou04-ops/omegaprompt`; PyPI distribution, primary import package, primary CLI는 `omegaprompt`; compatibility package / CLI alias는 `omegacal`; 별도 parent calibration framework는 `omega-lock`입니다.
32
32
 
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "omegaprompt"
7
- version = "2.0.1"
7
+ version = "2.0.2"
8
8
  description = "Provider-neutral prompt calibration engine with sensitivity-ranked meta-axes, hard-gate x soft-score fitness, walk-forward ship gates, guarded/expedition profiles, and explicit capability/risk reporting across Anthropic, OpenAI, Gemini, and local OpenAI-compatible backends. Optional sub-tools (mini-omega-lock, mini-antemortem-cli) distribute separately and plug in via the omegaprompt.preflight interface."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -22,7 +22,7 @@ keywords = [
22
22
  "overfitting",
23
23
  ]
24
24
  classifiers = [
25
- "Development Status :: 3 - Alpha",
25
+ "Development Status :: 4 - Beta",
26
26
  "Environment :: Console",
27
27
  "Intended Audience :: Developers",
28
28
  "License :: OSI Approved :: Apache Software License",
@@ -72,6 +72,11 @@ omegaprompt-mcp = "omegaprompt.mcp.__main__:main"
72
72
  packages = ["src/omegaprompt", "src/omegacal"]
73
73
 
74
74
  [tool.hatch.build.targets.sdist]
75
+ exclude = [
76
+ ".uv-cache",
77
+ ".uv",
78
+ "dist",
79
+ ]
75
80
  include = [
76
81
  "src/omegaprompt",
77
82
  "src/omegacal",
@@ -108,7 +108,7 @@ from omegaprompt.runtime import (
108
108
  report,
109
109
  )
110
110
 
111
- __version__ = "2.0.1"
111
+ __version__ = "2.0.2"
112
112
 
113
113
  __all__ = [
114
114
  # domain
@@ -157,6 +157,18 @@ def calibrate(
157
157
  min=1,
158
158
  help="How many top-stress meta-axes to unlock for grid search.",
159
159
  ),
160
+ concurrency: int = typer.Option( # noqa: B008
161
+ 1,
162
+ "--concurrency",
163
+ min=1,
164
+ help=(
165
+ "Max concurrent dataset items per evaluation. Each item runs its "
166
+ "target then judge call sequentially, so concurrent calls to any "
167
+ "one provider never exceed this value. Default 1 (serial). Set per "
168
+ "your provider account's RPM/TPM ceiling; above the real ceiling "
169
+ "you get 429s, not speedups. See README."
170
+ ),
171
+ ),
160
172
  space_path: Path | None = typer.Option( # noqa: B008
161
173
  None,
162
174
  "--space",
@@ -276,6 +288,7 @@ def calibrate(
276
288
  min_kc4=min_kc4,
277
289
  profile=selected_profile,
278
290
  validation_mode=vmode, # type: ignore[arg-type]
291
+ max_workers=concurrency,
279
292
  )
280
293
 
281
294
  typer.secho(
@@ -96,6 +96,19 @@ class CalibrateTuning(BaseModel):
96
96
  max_gap: float | None = None
97
97
  min_kc4: float | None = None
98
98
  profile: ExecutionProfile = ExecutionProfile.GUARDED
99
+ max_workers: int = Field(
100
+ default=1,
101
+ ge=1,
102
+ description=(
103
+ "Max dataset items evaluated concurrently within each candidate "
104
+ "evaluation (opt-in; default 1 = serial). Each item runs its "
105
+ "target then judge call sequentially, so concurrent calls to any "
106
+ "one provider never exceed this value. Default produces "
107
+ "byte-identical artifacts to prior versions. Wall-clock speedup is "
108
+ "bounded by — and conditional on — your provider account's "
109
+ "concurrency ceiling (RPM/TPM)."
110
+ ),
111
+ )
99
112
  validation_mode: Literal["auto", "paired", "disjoint"] = Field(
100
113
  default="auto",
101
114
  description=(
@@ -301,6 +314,7 @@ def calibrate(
301
314
  variants=variants_obj,
302
315
  space=tuning.space,
303
316
  execution_profile=profile,
317
+ max_workers=tuning.max_workers,
304
318
  )
305
319
  test_target = (
306
320
  PromptTarget(
@@ -311,6 +325,7 @@ def calibrate(
311
325
  variants=variants_obj,
312
326
  space=tuning.space,
313
327
  execution_profile=profile,
328
+ max_workers=tuning.max_workers,
314
329
  )
315
330
  if test_ds is not None
316
331
  else None