3tears-evals 0.70.0__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 (752) hide show
  1. 3tears_evals-0.70.0/.gitignore +257 -0
  2. 3tears_evals-0.70.0/LICENSE +21 -0
  3. 3tears_evals-0.70.0/MIGRATIONS.toml +255 -0
  4. 3tears_evals-0.70.0/PKG-INFO +169 -0
  5. 3tears_evals-0.70.0/README.md +146 -0
  6. 3tears_evals-0.70.0/api/reexports.toml +43 -0
  7. 3tears_evals-0.70.0/api/surface.json +7610 -0
  8. 3tears_evals-0.70.0/docs/adopting-a-host.md +1679 -0
  9. 3tears_evals-0.70.0/docs/building-an-inventory.md +564 -0
  10. 3tears_evals-0.70.0/docs/concepts.md +558 -0
  11. 3tears_evals-0.70.0/docs/cost-and-budgets.md +379 -0
  12. 3tears_evals-0.70.0/docs/design.md +520 -0
  13. 3tears_evals-0.70.0/docs/evaluating-agents.md +509 -0
  14. 3tears_evals-0.70.0/docs/judges-and-calibration.md +801 -0
  15. 3tears_evals-0.70.0/docs/ladder.md +394 -0
  16. 3tears_evals-0.70.0/docs/measuring-soundly.md +460 -0
  17. 3tears_evals-0.70.0/docs/open-problems.md +132 -0
  18. 3tears_evals-0.70.0/docs/reading-reports.md +747 -0
  19. 3tears_evals-0.70.0/docs/reference.md +2025 -0
  20. 3tears_evals-0.70.0/docs/serving.md +611 -0
  21. 3tears_evals-0.70.0/docs/surface.md +97 -0
  22. 3tears_evals-0.70.0/examples/.gitignore +3 -0
  23. 3tears_evals-0.70.0/examples/1-triage/emails.jsonl +30 -0
  24. 3tears_evals-0.70.0/examples/1-triage/recordings/triage-toml.jsonl +90 -0
  25. 3tears_evals-0.70.0/examples/1-triage/recordings/triage.jsonl +90 -0
  26. 3tears_evals-0.70.0/examples/1-triage/triage.py +34 -0
  27. 3tears_evals-0.70.0/examples/1-triage/triage.toml +14 -0
  28. 3tears_evals-0.70.0/examples/2-replies/emails.jsonl +20 -0
  29. 3tears_evals-0.70.0/examples/2-replies/policy.md +28 -0
  30. 3tears_evals-0.70.0/examples/2-replies/recordings/judge.jsonl +120 -0
  31. 3tears_evals-0.70.0/examples/2-replies/recordings/replies.jsonl +40 -0
  32. 3tears_evals-0.70.0/examples/2-replies/replies.py +47 -0
  33. 3tears_evals-0.70.0/examples/2-replies/to_label.csv +4342 -0
  34. 3tears_evals-0.70.0/examples/3-invoices/extract.py +55 -0
  35. 3tears_evals-0.70.0/examples/3-invoices/invoices.jsonl +30 -0
  36. 3tears_evals-0.70.0/examples/3-invoices/recordings/invoices.jsonl +180 -0
  37. 3tears_evals-0.70.0/examples/4-booking/agent.py +78 -0
  38. 3tears_evals-0.70.0/examples/4-booking/recordings/agent.jsonl +100 -0
  39. 3tears_evals-0.70.0/examples/4-booking/requests.jsonl +12 -0
  40. 3tears_evals-0.70.0/examples/4-booking/serve.py +19 -0
  41. 3tears_evals-0.70.0/examples/README.md +198 -0
  42. 3tears_evals-0.70.0/pyproject.toml +46 -0
  43. 3tears_evals-0.70.0/scripts/generate_api_snapshot.py +108 -0
  44. 3tears_evals-0.70.0/scripts/generate_reference.py +592 -0
  45. 3tears_evals-0.70.0/scripts/public_surface.py +1969 -0
  46. 3tears_evals-0.70.0/scripts/regenerate_core_fixtures.py +314 -0
  47. 3tears_evals-0.70.0/scripts/release_notes.py +71 -0
  48. 3tears_evals-0.70.0/src/threetears/evals/__init__.py +237 -0
  49. 3tears_evals-0.70.0/src/threetears/evals/__main__.py +8 -0
  50. 3tears_evals-0.70.0/src/threetears/evals/actions/__init__.py +75 -0
  51. 3tears_evals-0.70.0/src/threetears/evals/actions/catalogue.py +739 -0
  52. 3tears_evals-0.70.0/src/threetears/evals/actions/definitions.py +131 -0
  53. 3tears_evals-0.70.0/src/threetears/evals/actions/engine.py +2467 -0
  54. 3tears_evals-0.70.0/src/threetears/evals/actions/render.py +552 -0
  55. 3tears_evals-0.70.0/src/threetears/evals/analysis/GEN_PROMPT_RULES.md +55 -0
  56. 3tears_evals-0.70.0/src/threetears/evals/analysis/__init__.py +720 -0
  57. 3tears_evals-0.70.0/src/threetears/evals/analysis/agreement.py +1489 -0
  58. 3tears_evals-0.70.0/src/threetears/evals/analysis/arms.py +460 -0
  59. 3tears_evals-0.70.0/src/threetears/evals/analysis/bar_proposals.py +187 -0
  60. 3tears_evals-0.70.0/src/threetears/evals/analysis/bundle/__init__.py +20 -0
  61. 3tears_evals-0.70.0/src/threetears/evals/analysis/bundle/assemble.py +979 -0
  62. 3tears_evals-0.70.0/src/threetears/evals/analysis/bundle/bars.py +438 -0
  63. 3tears_evals-0.70.0/src/threetears/evals/analysis/bundle/caps.py +120 -0
  64. 3tears_evals-0.70.0/src/threetears/evals/analysis/bundle/cell_notes.py +215 -0
  65. 3tears_evals-0.70.0/src/threetears/evals/analysis/bundle/cell_reads.py +666 -0
  66. 3tears_evals-0.70.0/src/threetears/evals/analysis/bundle/comparisons.py +1005 -0
  67. 3tears_evals-0.70.0/src/threetears/evals/analysis/bundle/config.py +347 -0
  68. 3tears_evals-0.70.0/src/threetears/evals/analysis/bundle/confounds.py +328 -0
  69. 3tears_evals-0.70.0/src/threetears/evals/analysis/bundle/coverage.py +803 -0
  70. 3tears_evals-0.70.0/src/threetears/evals/analysis/bundle/design.py +1040 -0
  71. 3tears_evals-0.70.0/src/threetears/evals/analysis/bundle/divergence.py +624 -0
  72. 3tears_evals-0.70.0/src/threetears/evals/analysis/bundle/insights.py +197 -0
  73. 3tears_evals-0.70.0/src/threetears/evals/analysis/bundle/judges.py +133 -0
  74. 3tears_evals-0.70.0/src/threetears/evals/analysis/bundle/measures.py +1011 -0
  75. 3tears_evals-0.70.0/src/threetears/evals/analysis/bundle/mechanisms.py +581 -0
  76. 3tears_evals-0.70.0/src/threetears/evals/analysis/bundle/observations.py +232 -0
  77. 3tears_evals-0.70.0/src/threetears/evals/analysis/bundle/schema.py +3341 -0
  78. 3tears_evals-0.70.0/src/threetears/evals/analysis/bundle/surface.py +176 -0
  79. 3tears_evals-0.70.0/src/threetears/evals/analysis/bundle/telemetry.py +219 -0
  80. 3tears_evals-0.70.0/src/threetears/evals/analysis/bundle/time_axis.py +222 -0
  81. 3tears_evals-0.70.0/src/threetears/evals/analysis/bundle/trials.py +381 -0
  82. 3tears_evals-0.70.0/src/threetears/evals/analysis/campaigns.py +1302 -0
  83. 3tears_evals-0.70.0/src/threetears/evals/analysis/cassette_mode.py +103 -0
  84. 3tears_evals-0.70.0/src/threetears/evals/analysis/cells.py +805 -0
  85. 3tears_evals-0.70.0/src/threetears/evals/analysis/completeness.py +119 -0
  86. 3tears_evals-0.70.0/src/threetears/evals/analysis/confusion.py +146 -0
  87. 3tears_evals-0.70.0/src/threetears/evals/analysis/contention.py +191 -0
  88. 3tears_evals-0.70.0/src/threetears/evals/analysis/errors.py +114 -0
  89. 3tears_evals-0.70.0/src/threetears/evals/analysis/gate.py +233 -0
  90. 3tears_evals-0.70.0/src/threetears/evals/analysis/gen_prompt.py +143 -0
  91. 3tears_evals-0.70.0/src/threetears/evals/analysis/generator.py +1697 -0
  92. 3tears_evals-0.70.0/src/threetears/evals/analysis/judge_drift.py +290 -0
  93. 3tears_evals-0.70.0/src/threetears/evals/analysis/judge_kind_readings.py +377 -0
  94. 3tears_evals-0.70.0/src/threetears/evals/analysis/judge_profiles.py +439 -0
  95. 3tears_evals-0.70.0/src/threetears/evals/analysis/judge_temperature.py +391 -0
  96. 3tears_evals-0.70.0/src/threetears/evals/analysis/latency_partition.py +179 -0
  97. 3tears_evals-0.70.0/src/threetears/evals/analysis/lens_text.py +125 -0
  98. 3tears_evals-0.70.0/src/threetears/evals/analysis/lenses/__init__.py +13 -0
  99. 3tears_evals-0.70.0/src/threetears/evals/analysis/lenses/aggregation.py +294 -0
  100. 3tears_evals-0.70.0/src/threetears/evals/analysis/lenses/comparison_sets.py +558 -0
  101. 3tears_evals-0.70.0/src/threetears/evals/analysis/lenses/contestants.py +122 -0
  102. 3tears_evals-0.70.0/src/threetears/evals/analysis/lenses/cost_estimate.py +574 -0
  103. 3tears_evals-0.70.0/src/threetears/evals/analysis/lenses/export.py +230 -0
  104. 3tears_evals-0.70.0/src/threetears/evals/analysis/lenses/frontier.py +1715 -0
  105. 3tears_evals-0.70.0/src/threetears/evals/analysis/lenses/history.py +975 -0
  106. 3tears_evals-0.70.0/src/threetears/evals/analysis/lenses/orphaned_runs.py +138 -0
  107. 3tears_evals-0.70.0/src/threetears/evals/analysis/lenses/pivot.py +1071 -0
  108. 3tears_evals-0.70.0/src/threetears/evals/analysis/lenses/program_budget.py +250 -0
  109. 3tears_evals-0.70.0/src/threetears/evals/analysis/measurement_windows.py +424 -0
  110. 3tears_evals-0.70.0/src/threetears/evals/analysis/null_claims.py +105 -0
  111. 3tears_evals-0.70.0/src/threetears/evals/analysis/numbers.py +117 -0
  112. 3tears_evals-0.70.0/src/threetears/evals/analysis/out_of_run_spend.py +190 -0
  113. 3tears_evals-0.70.0/src/threetears/evals/analysis/prose_refs.py +443 -0
  114. 3tears_evals-0.70.0/src/threetears/evals/analysis/quantities.py +167 -0
  115. 3tears_evals-0.70.0/src/threetears/evals/analysis/reads.py +1622 -0
  116. 3tears_evals-0.70.0/src/threetears/evals/analysis/references.py +469 -0
  117. 3tears_evals-0.70.0/src/threetears/evals/analysis/remainder.py +55 -0
  118. 3tears_evals-0.70.0/src/threetears/evals/analysis/report/__init__.py +96 -0
  119. 3tears_evals-0.70.0/src/threetears/evals/analysis/report/build.py +3644 -0
  120. 3tears_evals-0.70.0/src/threetears/evals/analysis/report/decision.py +602 -0
  121. 3tears_evals-0.70.0/src/threetears/evals/analysis/report/figures.py +249 -0
  122. 3tears_evals-0.70.0/src/threetears/evals/analysis/report/memo_style.py +261 -0
  123. 3tears_evals-0.70.0/src/threetears/evals/analysis/report/model.py +888 -0
  124. 3tears_evals-0.70.0/src/threetears/evals/analysis/report/serialize.py +40 -0
  125. 3tears_evals-0.70.0/src/threetears/evals/analysis/report/serialize_html.py +595 -0
  126. 3tears_evals-0.70.0/src/threetears/evals/analysis/report/serialize_md.py +310 -0
  127. 3tears_evals-0.70.0/src/threetears/evals/analysis/report/svg.py +525 -0
  128. 3tears_evals-0.70.0/src/threetears/evals/analysis/report/verdict.py +633 -0
  129. 3tears_evals-0.70.0/src/threetears/evals/analysis/report/words.py +365 -0
  130. 3tears_evals-0.70.0/src/threetears/evals/analysis/reporter_bank.py +792 -0
  131. 3tears_evals-0.70.0/src/threetears/evals/analysis/reporter_contract.py +168 -0
  132. 3tears_evals-0.70.0/src/threetears/evals/analysis/reporter_curation.py +183 -0
  133. 3tears_evals-0.70.0/src/threetears/evals/analysis/reporter_kind.py +1157 -0
  134. 3tears_evals-0.70.0/src/threetears/evals/analysis/reporting.py +1932 -0
  135. 3tears_evals-0.70.0/src/threetears/evals/analysis/revisions.py +74 -0
  136. 3tears_evals-0.70.0/src/threetears/evals/analysis/service.py +2054 -0
  137. 3tears_evals-0.70.0/src/threetears/evals/analysis/significance.py +225 -0
  138. 3tears_evals-0.70.0/src/threetears/evals/analysis/stats.py +2673 -0
  139. 3tears_evals-0.70.0/src/threetears/evals/analysis/style.py +405 -0
  140. 3tears_evals-0.70.0/src/threetears/evals/analysis/summary.py +1519 -0
  141. 3tears_evals-0.70.0/src/threetears/evals/gen/__init__.py +39 -0
  142. 3tears_evals-0.70.0/src/threetears/evals/gen/prompts/__init__.py +0 -0
  143. 3tears_evals-0.70.0/src/threetears/evals/gen/prompts/boundary_gen.py +155 -0
  144. 3tears_evals-0.70.0/src/threetears/evals/gen/prompts/proposer.py +117 -0
  145. 3tears_evals-0.70.0/src/threetears/evals/gen/proposers.py +343 -0
  146. 3tears_evals-0.70.0/src/threetears/evals/gen/variation_gen.py +418 -0
  147. 3tears_evals-0.70.0/src/threetears/evals/kernel/__init__.py +754 -0
  148. 3tears_evals-0.70.0/src/threetears/evals/kernel/analysis_measures.py +445 -0
  149. 3tears_evals-0.70.0/src/threetears/evals/kernel/arguments.py +40 -0
  150. 3tears_evals-0.70.0/src/threetears/evals/kernel/authored.py +393 -0
  151. 3tears_evals-0.70.0/src/threetears/evals/kernel/authoring_fields.py +110 -0
  152. 3tears_evals-0.70.0/src/threetears/evals/kernel/campaign.py +1205 -0
  153. 3tears_evals-0.70.0/src/threetears/evals/kernel/campaign_writes.py +62 -0
  154. 3tears_evals-0.70.0/src/threetears/evals/kernel/candidate_kind.py +854 -0
  155. 3tears_evals-0.70.0/src/threetears/evals/kernel/capped_completion.py +151 -0
  156. 3tears_evals-0.70.0/src/threetears/evals/kernel/cassettes.py +471 -0
  157. 3tears_evals-0.70.0/src/threetears/evals/kernel/covariates.py +439 -0
  158. 3tears_evals-0.70.0/src/threetears/evals/kernel/declaration.py +1888 -0
  159. 3tears_evals-0.70.0/src/threetears/evals/kernel/dsl.py +999 -0
  160. 3tears_evals-0.70.0/src/threetears/evals/kernel/errors.py +257 -0
  161. 3tears_evals-0.70.0/src/threetears/evals/kernel/eval_file.py +55 -0
  162. 3tears_evals-0.70.0/src/threetears/evals/kernel/evidence_tiers.py +548 -0
  163. 3tears_evals-0.70.0/src/threetears/evals/kernel/host/__init__.py +206 -0
  164. 3tears_evals-0.70.0/src/threetears/evals/kernel/host/apparatus.py +49 -0
  165. 3tears_evals-0.70.0/src/threetears/evals/kernel/host/attribution.py +77 -0
  166. 3tears_evals-0.70.0/src/threetears/evals/kernel/host/bars.py +686 -0
  167. 3tears_evals-0.70.0/src/threetears/evals/kernel/host/eval_host.py +230 -0
  168. 3tears_evals-0.70.0/src/threetears/evals/kernel/host/kinds.py +728 -0
  169. 3tears_evals-0.70.0/src/threetears/evals/kernel/host/measures.py +208 -0
  170. 3tears_evals-0.70.0/src/threetears/evals/kernel/host/profile.py +1063 -0
  171. 3tears_evals-0.70.0/src/threetears/evals/kernel/host/style.py +74 -0
  172. 3tears_evals-0.70.0/src/threetears/evals/kernel/host/sweepables.py +1975 -0
  173. 3tears_evals-0.70.0/src/threetears/evals/kernel/host/timeouts.py +106 -0
  174. 3tears_evals-0.70.0/src/threetears/evals/kernel/host/world.py +1373 -0
  175. 3tears_evals-0.70.0/src/threetears/evals/kernel/host/world_conformance.py +1953 -0
  176. 3tears_evals-0.70.0/src/threetears/evals/kernel/host/world_schema.py +293 -0
  177. 3tears_evals-0.70.0/src/threetears/evals/kernel/host/world_seed.py +204 -0
  178. 3tears_evals-0.70.0/src/threetears/evals/kernel/identity.py +1013 -0
  179. 3tears_evals-0.70.0/src/threetears/evals/kernel/inner_ceilings.py +92 -0
  180. 3tears_evals-0.70.0/src/threetears/evals/kernel/job_context.py +55 -0
  181. 3tears_evals-0.70.0/src/threetears/evals/kernel/job_leases.py +1014 -0
  182. 3tears_evals-0.70.0/src/threetears/evals/kernel/job_timeout.py +143 -0
  183. 3tears_evals-0.70.0/src/threetears/evals/kernel/judge_cases.py +669 -0
  184. 3tears_evals-0.70.0/src/threetears/evals/kernel/judge_profiles.py +267 -0
  185. 3tears_evals-0.70.0/src/threetears/evals/kernel/judge_temperature.py +141 -0
  186. 3tears_evals-0.70.0/src/threetears/evals/kernel/metrics.py +3077 -0
  187. 3tears_evals-0.70.0/src/threetears/evals/kernel/offload.py +98 -0
  188. 3tears_evals-0.70.0/src/threetears/evals/kernel/out_of_run.py +547 -0
  189. 3tears_evals-0.70.0/src/threetears/evals/kernel/prompts/__init__.py +0 -0
  190. 3tears_evals-0.70.0/src/threetears/evals/kernel/prompts/catalogue.py +70 -0
  191. 3tears_evals-0.70.0/src/threetears/evals/kernel/prompts/contract.py +264 -0
  192. 3tears_evals-0.70.0/src/threetears/evals/kernel/prompts/drift.py +189 -0
  193. 3tears_evals-0.70.0/src/threetears/evals/kernel/prompts/seed.py +229 -0
  194. 3tears_evals-0.70.0/src/threetears/evals/kernel/provider.py +430 -0
  195. 3tears_evals-0.70.0/src/threetears/evals/kernel/refusals.py +60 -0
  196. 3tears_evals-0.70.0/src/threetears/evals/kernel/remedies.py +115 -0
  197. 3tears_evals-0.70.0/src/threetears/evals/kernel/result_condition.py +609 -0
  198. 3tears_evals-0.70.0/src/threetears/evals/kernel/runner_spend.py +69 -0
  199. 3tears_evals-0.70.0/src/threetears/evals/kernel/scoring.py +1394 -0
  200. 3tears_evals-0.70.0/src/threetears/evals/kernel/spend.py +85 -0
  201. 3tears_evals-0.70.0/src/threetears/evals/kernel/status_filter.py +143 -0
  202. 3tears_evals-0.70.0/src/threetears/evals/kernel/storage.py +2630 -0
  203. 3tears_evals-0.70.0/src/threetears/evals/kernel/surface.py +930 -0
  204. 3tears_evals-0.70.0/src/threetears/evals/kernel/text_block.py +58 -0
  205. 3tears_evals-0.70.0/src/threetears/evals/kernel/usage_capture.py +978 -0
  206. 3tears_evals-0.70.0/src/threetears/evals/kernel/world_session.py +542 -0
  207. 3tears_evals-0.70.0/src/threetears/evals/negotiation/__init__.py +74 -0
  208. 3tears_evals-0.70.0/src/threetears/evals/negotiation/catalogue.py +47 -0
  209. 3tears_evals-0.70.0/src/threetears/evals/negotiation/loop.py +394 -0
  210. 3tears_evals-0.70.0/src/threetears/evals/negotiation/readers.py +255 -0
  211. 3tears_evals-0.70.0/src/threetears/evals/negotiation/refusals.py +104 -0
  212. 3tears_evals-0.70.0/src/threetears/evals/negotiation/settings.py +450 -0
  213. 3tears_evals-0.70.0/src/threetears/evals/ops/__init__.py +423 -0
  214. 3tears_evals-0.70.0/src/threetears/evals/ops/analysis.py +1217 -0
  215. 3tears_evals-0.70.0/src/threetears/evals/ops/cases.py +148 -0
  216. 3tears_evals-0.70.0/src/threetears/evals/ops/host.py +150 -0
  217. 3tears_evals-0.70.0/src/threetears/evals/ops/jobs.py +909 -0
  218. 3tears_evals-0.70.0/src/threetears/evals/ops/judge_cases.py +356 -0
  219. 3tears_evals-0.70.0/src/threetears/evals/ops/judge_profiles.py +160 -0
  220. 3tears_evals-0.70.0/src/threetears/evals/ops/lenses.py +1546 -0
  221. 3tears_evals-0.70.0/src/threetears/evals/ops/regressions.py +279 -0
  222. 3tears_evals-0.70.0/src/threetears/evals/ops/reporter.py +592 -0
  223. 3tears_evals-0.70.0/src/threetears/evals/ops/results.py +311 -0
  224. 3tears_evals-0.70.0/src/threetears/evals/ops/runs.py +1033 -0
  225. 3tears_evals-0.70.0/src/threetears/evals/ops/sweeps.py +446 -0
  226. 3tears_evals-0.70.0/src/threetears/evals/providers/__init__.py +61 -0
  227. 3tears_evals-0.70.0/src/threetears/evals/providers/catalogue.py +632 -0
  228. 3tears_evals-0.70.0/src/threetears/evals/providers/failures.py +185 -0
  229. 3tears_evals-0.70.0/src/threetears/evals/providers/model.py +1038 -0
  230. 3tears_evals-0.70.0/src/threetears/evals/providers/wire.py +467 -0
  231. 3tears_evals-0.70.0/src/threetears/evals/py.typed +0 -0
  232. 3tears_evals-0.70.0/src/threetears/evals/quick/__init__.py +69 -0
  233. 3tears_evals-0.70.0/src/threetears/evals/quick/answer.py +80 -0
  234. 3tears_evals-0.70.0/src/threetears/evals/quick/cli.py +668 -0
  235. 3tears_evals-0.70.0/src/threetears/evals/quick/contract.py +608 -0
  236. 3tears_evals-0.70.0/src/threetears/evals/quick/files.py +144 -0
  237. 3tears_evals-0.70.0/src/threetears/evals/quick/graders.py +366 -0
  238. 3tears_evals-0.70.0/src/threetears/evals/quick/guardrails.py +80 -0
  239. 3tears_evals-0.70.0/src/threetears/evals/quick/judged.py +448 -0
  240. 3tears_evals-0.70.0/src/threetears/evals/quick/levers.py +84 -0
  241. 3tears_evals-0.70.0/src/threetears/evals/quick/logged.py +139 -0
  242. 3tears_evals-0.70.0/src/threetears/evals/quick/measures.py +122 -0
  243. 3tears_evals-0.70.0/src/threetears/evals/quick/one_call.py +2047 -0
  244. 3tears_evals-0.70.0/src/threetears/evals/quick/result.py +1039 -0
  245. 3tears_evals-0.70.0/src/threetears/evals/quick/toml_file.py +214 -0
  246. 3tears_evals-0.70.0/src/threetears/evals/quick/tools.py +279 -0
  247. 3tears_evals-0.70.0/src/threetears/evals/quick/world.py +716 -0
  248. 3tears_evals-0.70.0/src/threetears/evals/run/__init__.py +442 -0
  249. 3tears_evals-0.70.0/src/threetears/evals/run/authoring.py +1181 -0
  250. 3tears_evals-0.70.0/src/threetears/evals/run/budget.py +385 -0
  251. 3tears_evals-0.70.0/src/threetears/evals/run/call_floor.py +210 -0
  252. 3tears_evals-0.70.0/src/threetears/evals/run/case_sets.py +167 -0
  253. 3tears_evals-0.70.0/src/threetears/evals/run/cassette_proxy.py +884 -0
  254. 3tears_evals-0.70.0/src/threetears/evals/run/ceilings.py +184 -0
  255. 3tears_evals-0.70.0/src/threetears/evals/run/check_controls.py +630 -0
  256. 3tears_evals-0.70.0/src/threetears/evals/run/conversation.py +203 -0
  257. 3tears_evals-0.70.0/src/threetears/evals/run/curation.py +910 -0
  258. 3tears_evals-0.70.0/src/threetears/evals/run/definition_digests.py +145 -0
  259. 3tears_evals-0.70.0/src/threetears/evals/run/definition_drift.py +1051 -0
  260. 3tears_evals-0.70.0/src/threetears/evals/run/definition_seed.py +1068 -0
  261. 3tears_evals-0.70.0/src/threetears/evals/run/executor.py +131 -0
  262. 3tears_evals-0.70.0/src/threetears/evals/run/fidelity.py +282 -0
  263. 3tears_evals-0.70.0/src/threetears/evals/run/job_work.py +623 -0
  264. 3tears_evals-0.70.0/src/threetears/evals/run/jobs.py +1457 -0
  265. 3tears_evals-0.70.0/src/threetears/evals/run/judge.py +762 -0
  266. 3tears_evals-0.70.0/src/threetears/evals/run/judge_kind.py +1294 -0
  267. 3tears_evals-0.70.0/src/threetears/evals/run/judge_repeat.py +679 -0
  268. 3tears_evals-0.70.0/src/threetears/evals/run/judge_second.py +795 -0
  269. 3tears_evals-0.70.0/src/threetears/evals/run/judge_service.py +1102 -0
  270. 3tears_evals-0.70.0/src/threetears/evals/run/judge_temperature.py +705 -0
  271. 3tears_evals-0.70.0/src/threetears/evals/run/launch.py +4264 -0
  272. 3tears_evals-0.70.0/src/threetears/evals/run/launch_job.py +172 -0
  273. 3tears_evals-0.70.0/src/threetears/evals/run/lifecycle.py +662 -0
  274. 3tears_evals-0.70.0/src/threetears/evals/run/metering.py +499 -0
  275. 3tears_evals-0.70.0/src/threetears/evals/run/package_ceilings.py +56 -0
  276. 3tears_evals-0.70.0/src/threetears/evals/run/ratings.py +242 -0
  277. 3tears_evals-0.70.0/src/threetears/evals/run/reads.py +262 -0
  278. 3tears_evals-0.70.0/src/threetears/evals/run/regrade.py +426 -0
  279. 3tears_evals-0.70.0/src/threetears/evals/run/rejudge.py +562 -0
  280. 3tears_evals-0.70.0/src/threetears/evals/run/run_document.py +296 -0
  281. 3tears_evals-0.70.0/src/threetears/evals/run/runner.py +3964 -0
  282. 3tears_evals-0.70.0/src/threetears/evals/run/simulator.py +862 -0
  283. 3tears_evals-0.70.0/src/threetears/evals/run/witnessed.py +777 -0
  284. 3tears_evals-0.70.0/src/threetears/evals/schema/__init__.py +470 -0
  285. 3tears_evals-0.70.0/src/threetears/evals/schema/base.py +768 -0
  286. 3tears_evals-0.70.0/src/threetears/evals/schema/call_ledger.py +154 -0
  287. 3tears_evals-0.70.0/src/threetears/evals/schema/completion.py +549 -0
  288. 3tears_evals-0.70.0/src/threetears/evals/schema/doc_types.py +130 -0
  289. 3tears_evals-0.70.0/src/threetears/evals/schema/external_spend.py +108 -0
  290. 3tears_evals-0.70.0/src/threetears/evals/schema/goal_grammar.py +877 -0
  291. 3tears_evals-0.70.0/src/threetears/evals/schema/hashing.py +87 -0
  292. 3tears_evals-0.70.0/src/threetears/evals/schema/job_lease.py +222 -0
  293. 3tears_evals-0.70.0/src/threetears/evals/schema/judge_attribution.py +103 -0
  294. 3tears_evals-0.70.0/src/threetears/evals/schema/logs.py +43 -0
  295. 3tears_evals-0.70.0/src/threetears/evals/schema/models.py +6098 -0
  296. 3tears_evals-0.70.0/src/threetears/evals/schema/out_of_run_spend.py +193 -0
  297. 3tears_evals-0.70.0/src/threetears/evals/schema/prose.py +186 -0
  298. 3tears_evals-0.70.0/src/threetears/evals/schema/refusal.py +79 -0
  299. 3tears_evals-0.70.0/src/threetears/evals/schema/schema_nesting.py +75 -0
  300. 3tears_evals-0.70.0/src/threetears/evals/schema/store_port.py +593 -0
  301. 3tears_evals-0.70.0/src/threetears/evals/schema/subject.py +159 -0
  302. 3tears_evals-0.70.0/src/threetears/evals/schema/traces.py +178 -0
  303. 3tears_evals-0.70.0/src/threetears/evals/schema/values.py +370 -0
  304. 3tears_evals-0.70.0/src/threetears/evals/schema/versioning.py +638 -0
  305. 3tears_evals-0.70.0/src/threetears/evals/schema/world_events.py +204 -0
  306. 3tears_evals-0.70.0/src/threetears/evals/storage/__init__.py +50 -0
  307. 3tears_evals-0.70.0/src/threetears/evals/storage/async_bridge.py +211 -0
  308. 3tears_evals-0.70.0/src/threetears/evals/storage/memory.py +289 -0
  309. 3tears_evals-0.70.0/src/threetears/evals/storage/routed.py +729 -0
  310. 3tears_evals-0.70.0/src/threetears/evals/storage/sqlite.py +436 -0
  311. 3tears_evals-0.70.0/src/threetears/evals/surface_tiers.json +1526 -0
  312. 3tears_evals-0.70.0/src/threetears/evals/testing/__init__.py +99 -0
  313. 3tears_evals-0.70.0/src/threetears/evals/testing/completion_conformance.py +109 -0
  314. 3tears_evals-0.70.0/src/threetears/evals/testing/jobs_conformance.py +360 -0
  315. 3tears_evals-0.70.0/src/threetears/evals/testing/negotiation_conformance.py +449 -0
  316. 3tears_evals-0.70.0/src/threetears/evals/testing/reader_conformance.py +288 -0
  317. 3tears_evals-0.70.0/src/threetears/evals/testing/recorded_completions.py +877 -0
  318. 3tears_evals-0.70.0/src/threetears/evals/testing/store_conformance.py +959 -0
  319. 3tears_evals-0.70.0/src/threetears/evals/transports/__init__.py +7 -0
  320. 3tears_evals-0.70.0/src/threetears/evals/transports/fastmcp/__init__.py +907 -0
  321. 3tears_evals-0.70.0/tests/bundle_support.py +46 -0
  322. 3tears_evals-0.70.0/tests/chart_examples.py +252 -0
  323. 3tears_evals-0.70.0/tests/example_loader.py +86 -0
  324. 3tears_evals-0.70.0/tests/factories.py +598 -0
  325. 3tears_evals-0.70.0/tests/fixtures/core_documents/v15/eval_action_job.json +25 -0
  326. 3tears_evals-0.70.0/tests/fixtures/core_documents/v15/eval_analysis_attempt.json +30 -0
  327. 3tears_evals-0.70.0/tests/fixtures/core_documents/v15/eval_campaign.json +62 -0
  328. 3tears_evals-0.70.0/tests/fixtures/core_documents/v15/eval_generation_slot.json +10 -0
  329. 3tears_evals-0.70.0/tests/fixtures/core_documents/v15/eval_judge_temperature_check.json +24 -0
  330. 3tears_evals-0.70.0/tests/fixtures/core_documents/v15/eval_launch.json +27 -0
  331. 3tears_evals-0.70.0/tests/fixtures/core_documents/v15/eval_out_of_run_spend.json +34 -0
  332. 3tears_evals-0.70.0/tests/fixtures/core_documents/v15/eval_result.json +108 -0
  333. 3tears_evals-0.70.0/tests/fixtures/core_documents/v15/eval_run.json +97 -0
  334. 3tears_evals-0.70.0/tests/fixtures/core_documents/v15/eval_second_judge_pass.json +30 -0
  335. 3tears_evals-0.70.0/tests/fixtures/core_documents/v15/eval_sweep.json +30 -0
  336. 3tears_evals-0.70.0/tests/fixtures/core_documents/v15/eval_trace.json +20 -0
  337. 3tears_evals-0.70.0/tests/fixtures/courierhost/__init__.py +540 -0
  338. 3tears_evals-0.70.0/tests/fixtures/durable_documents/v15/calibration_rating.json +18 -0
  339. 3tears_evals-0.70.0/tests/fixtures/durable_documents/v15/case_set.json +15 -0
  340. 3tears_evals-0.70.0/tests/fixtures/durable_documents/v15/eval_template.json +83 -0
  341. 3tears_evals-0.70.0/tests/fixtures/durable_documents/v15/eval_test_case.json +18 -0
  342. 3tears_evals-0.70.0/tests/fixtures/durable_documents/v15/judge_config.json +15 -0
  343. 3tears_evals-0.70.0/tests/fixtures/durable_documents/v15/judge_config_tombstone.json +11 -0
  344. 3tears_evals-0.70.0/tests/fixtures/durable_documents/v15/rubric_dim.json +20 -0
  345. 3tears_evals-0.70.0/tests/fixtures/durable_documents/v15/rubric_dim_tombstone.json +10 -0
  346. 3tears_evals-0.70.0/tests/fixtures/generate_analysis/llm_analysis.py +226 -0
  347. 3tears_evals-0.70.0/tests/fixtures/generate_analysis/llm_analysis_first_draft.json +29 -0
  348. 3tears_evals-0.70.0/tests/fixtures/generate_analysis/recordings/llm_analysis.bundle.json +3951 -0
  349. 3tears_evals-0.70.0/tests/fixtures/generate_analysis/recordings/llm_analysis.jsonl +1 -0
  350. 3tears_evals-0.70.0/tests/fixtures/generate_analysis/recordings/llm_analysis.prompt.txt +62 -0
  351. 3tears_evals-0.70.0/tests/fixtures/host_imports/discodon.txt +330 -0
  352. 3tears_evals-0.70.0/tests/fixtures/number-format-cases.json +240 -0
  353. 3tears_evals-0.70.0/tests/fixtures/providers/json_schema.jsonl +1 -0
  354. 3tears_evals-0.70.0/tests/fixtures/providers/negotiation.jsonl +1 -0
  355. 3tears_evals-0.70.0/tests/fixtures/providers/plain.jsonl +1 -0
  356. 3tears_evals-0.70.0/tests/fixtures/providers/priced.jsonl +1 -0
  357. 3tears_evals-0.70.0/tests/fixtures/toyhost/README.md +105 -0
  358. 3tears_evals-0.70.0/tests/fixtures/toyhost/__init__.py +18 -0
  359. 3tears_evals-0.70.0/tests/fixtures/toyhost/campaign.py +234 -0
  360. 3tears_evals-0.70.0/tests/fixtures/toyhost/contract.py +87 -0
  361. 3tears_evals-0.70.0/tests/fixtures/toyhost/corpus.py +619 -0
  362. 3tears_evals-0.70.0/tests/fixtures/toyhost/fidelity.py +26 -0
  363. 3tears_evals-0.70.0/tests/fixtures/toyhost/host.py +85 -0
  364. 3tears_evals-0.70.0/tests/fixtures/toyhost/judge.py +199 -0
  365. 3tears_evals-0.70.0/tests/fixtures/toyhost/kind.py +674 -0
  366. 3tears_evals-0.70.0/tests/fixtures/toyhost/launch.py +274 -0
  367. 3tears_evals-0.70.0/tests/fixtures/toyhost/product.py +87 -0
  368. 3tears_evals-0.70.0/tests/fixtures/toyhost/profile.py +204 -0
  369. 3tears_evals-0.70.0/tests/fixtures/toyhost/run.py +651 -0
  370. 3tears_evals-0.70.0/tests/fixtures/toyhost/sweepables.py +293 -0
  371. 3tears_evals-0.70.0/tests/fixtures/toyhost/tracing.py +257 -0
  372. 3tears_evals-0.70.0/tests/fixtures/toyhost/variant.py +120 -0
  373. 3tears_evals-0.70.0/tests/fixtures/toyhost/world.py +500 -0
  374. 3tears_evals-0.70.0/tests/g2_support.py +213 -0
  375. 3tears_evals-0.70.0/tests/guardrail_support.py +109 -0
  376. 3tears_evals-0.70.0/tests/host_vocabulary.py +34 -0
  377. 3tears_evals-0.70.0/tests/host_vocabulary_register.py +301 -0
  378. 3tears_evals-0.70.0/tests/identifier_words.py +39 -0
  379. 3tears_evals-0.70.0/tests/import_resolution.py +74 -0
  380. 3tears_evals-0.70.0/tests/job_support.py +88 -0
  381. 3tears_evals-0.70.0/tests/jobs_conformance_support.py +213 -0
  382. 3tears_evals-0.70.0/tests/ladder_support.py +127 -0
  383. 3tears_evals-0.70.0/tests/llm_client_fakes.py +51 -0
  384. 3tears_evals-0.70.0/tests/off_loop.py +38 -0
  385. 3tears_evals-0.70.0/tests/ops_support.py +176 -0
  386. 3tears_evals-0.70.0/tests/package_placement.py +173 -0
  387. 3tears_evals-0.70.0/tests/recorded_model_support.py +86 -0
  388. 3tears_evals-0.70.0/tests/report_support.py +83 -0
  389. 3tears_evals-0.70.0/tests/reporter_case_support.py +48 -0
  390. 3tears_evals-0.70.0/tests/rung_support.py +89 -0
  391. 3tears_evals-0.70.0/tests/schema_pin_support.py +44 -0
  392. 3tears_evals-0.70.0/tests/script_loader.py +47 -0
  393. 3tears_evals-0.70.0/tests/scripted_table.py +175 -0
  394. 3tears_evals-0.70.0/tests/simulation_support.py +453 -0
  395. 3tears_evals-0.70.0/tests/source_tree.py +55 -0
  396. 3tears_evals-0.70.0/tests/stored_models.py +328 -0
  397. 3tears_evals-0.70.0/tests/test_a_run_is_one_arm.py +86 -0
  398. 3tears_evals-0.70.0/tests/test_action_catalogue.py +480 -0
  399. 3tears_evals-0.70.0/tests/test_action_refusals.py +229 -0
  400. 3tears_evals-0.70.0/tests/test_adopter_exports.py +46 -0
  401. 3tears_evals-0.70.0/tests/test_adoption_needs_separation.py +413 -0
  402. 3tears_evals-0.70.0/tests/test_all_failed_arm.py +851 -0
  403. 3tears_evals-0.70.0/tests/test_analyses_undescribable.py +73 -0
  404. 3tears_evals-0.70.0/tests/test_analysis_models.py +676 -0
  405. 3tears_evals-0.70.0/tests/test_analysis_spend.py +395 -0
  406. 3tears_evals-0.70.0/tests/test_analysis_through_host.py +72 -0
  407. 3tears_evals-0.70.0/tests/test_analysis_writer_models.py +119 -0
  408. 3tears_evals-0.70.0/tests/test_api_surface.py +562 -0
  409. 3tears_evals-0.70.0/tests/test_api_tiers.py +280 -0
  410. 3tears_evals-0.70.0/tests/test_apparatus_settings.py +323 -0
  411. 3tears_evals-0.70.0/tests/test_arm_is_the_unit_vocabulary.py +110 -0
  412. 3tears_evals-0.70.0/tests/test_arm_labels.py +508 -0
  413. 3tears_evals-0.70.0/tests/test_arm_pricing.py +730 -0
  414. 3tears_evals-0.70.0/tests/test_async_store_bridge.py +241 -0
  415. 3tears_evals-0.70.0/tests/test_authored_contract.py +237 -0
  416. 3tears_evals-0.70.0/tests/test_bar_proposals.py +284 -0
  417. 3tears_evals-0.70.0/tests/test_bar_verdicts.py +158 -0
  418. 3tears_evals-0.70.0/tests/test_bars_propose_action.py +113 -0
  419. 3tears_evals-0.70.0/tests/test_base.py +406 -0
  420. 3tears_evals-0.70.0/tests/test_booking_rung.py +205 -0
  421. 3tears_evals-0.70.0/tests/test_boolean_text_measures.py +377 -0
  422. 3tears_evals-0.70.0/tests/test_boundary_errors_are_recorded.py +503 -0
  423. 3tears_evals-0.70.0/tests/test_bounded_intervals.py +260 -0
  424. 3tears_evals-0.70.0/tests/test_budget.py +320 -0
  425. 3tears_evals-0.70.0/tests/test_builtin_judge_identity.py +355 -0
  426. 3tears_evals-0.70.0/tests/test_bundle_growing_lists.py +291 -0
  427. 3tears_evals-0.70.0/tests/test_bundle_mismatch_cause.py +157 -0
  428. 3tears_evals-0.70.0/tests/test_bundle_store_reads.py +143 -0
  429. 3tears_evals-0.70.0/tests/test_bundle_trials.py +243 -0
  430. 3tears_evals-0.70.0/tests/test_calibration_ratings.py +718 -0
  431. 3tears_evals-0.70.0/tests/test_call_ceiling_admission.py +278 -0
  432. 3tears_evals-0.70.0/tests/test_call_ledger.py +77 -0
  433. 3tears_evals-0.70.0/tests/test_campaign_by_actions.py +285 -0
  434. 3tears_evals-0.70.0/tests/test_campaign_control_pre_image.py +863 -0
  435. 3tears_evals-0.70.0/tests/test_campaign_create_declares.py +252 -0
  436. 3tears_evals-0.70.0/tests/test_campaign_exploratory.py +326 -0
  437. 3tears_evals-0.70.0/tests/test_campaign_freeze.py +186 -0
  438. 3tears_evals-0.70.0/tests/test_campaign_scope.py +129 -0
  439. 3tears_evals-0.70.0/tests/test_campaign_template.py +94 -0
  440. 3tears_evals-0.70.0/tests/test_campaign_write_serialization.py +116 -0
  441. 3tears_evals-0.70.0/tests/test_candidate_kind.py +1560 -0
  442. 3tears_evals-0.70.0/tests/test_case_rename.py +216 -0
  443. 3tears_evals-0.70.0/tests/test_case_sets.py +188 -0
  444. 3tears_evals-0.70.0/tests/test_case_strata.py +530 -0
  445. 3tears_evals-0.70.0/tests/test_cassette_runner.py +612 -0
  446. 3tears_evals-0.70.0/tests/test_cassette_seams.py +1059 -0
  447. 3tears_evals-0.70.0/tests/test_cassette_sync_act.py +397 -0
  448. 3tears_evals-0.70.0/tests/test_ceilings.py +223 -0
  449. 3tears_evals-0.70.0/tests/test_cell_failure_and_cost.py +1101 -0
  450. 3tears_evals-0.70.0/tests/test_cell_timeout_at_launch.py +140 -0
  451. 3tears_evals-0.70.0/tests/test_cell_width_and_spend.py +729 -0
  452. 3tears_evals-0.70.0/tests/test_cells.py +528 -0
  453. 3tears_evals-0.70.0/tests/test_check_controls.py +456 -0
  454. 3tears_evals-0.70.0/tests/test_cli.py +472 -0
  455. 3tears_evals-0.70.0/tests/test_cli_host_commands.py +123 -0
  456. 3tears_evals-0.70.0/tests/test_closest_settings.py +431 -0
  457. 3tears_evals-0.70.0/tests/test_code_only_charts.py +159 -0
  458. 3tears_evals-0.70.0/tests/test_compact_code_only_report.py +146 -0
  459. 3tears_evals-0.70.0/tests/test_compare_two_runs.py +149 -0
  460. 3tears_evals-0.70.0/tests/test_completion_sent_settings.py +340 -0
  461. 3tears_evals-0.70.0/tests/test_composite_basis.py +201 -0
  462. 3tears_evals-0.70.0/tests/test_concurrent_cells.py +310 -0
  463. 3tears_evals-0.70.0/tests/test_construction_site_wiring.py +323 -0
  464. 3tears_evals-0.70.0/tests/test_contended_latency.py +246 -0
  465. 3tears_evals-0.70.0/tests/test_control_is_a_variant.py +154 -0
  466. 3tears_evals-0.70.0/tests/test_conversation.py +368 -0
  467. 3tears_evals-0.70.0/tests/test_core_minor.py +942 -0
  468. 3tears_evals-0.70.0/tests/test_core_schema_pins.py +393 -0
  469. 3tears_evals-0.70.0/tests/test_core_upgrade.py +208 -0
  470. 3tears_evals-0.70.0/tests/test_cost_precision.py +139 -0
  471. 3tears_evals-0.70.0/tests/test_covariates.py +440 -0
  472. 3tears_evals-0.70.0/tests/test_coverage_join.py +113 -0
  473. 3tears_evals-0.70.0/tests/test_curation_seam.py +330 -0
  474. 3tears_evals-0.70.0/tests/test_declared_crossing.py +139 -0
  475. 3tears_evals-0.70.0/tests/test_declared_level_not_run.py +119 -0
  476. 3tears_evals-0.70.0/tests/test_definition_reset.py +1069 -0
  477. 3tears_evals-0.70.0/tests/test_definition_seed_judge_cases.py +315 -0
  478. 3tears_evals-0.70.0/tests/test_definition_seed_scope.py +80 -0
  479. 3tears_evals-0.70.0/tests/test_definition_seed_slots.py +370 -0
  480. 3tears_evals-0.70.0/tests/test_design_readers.py +236 -0
  481. 3tears_evals-0.70.0/tests/test_doc_blocks.py +203 -0
  482. 3tears_evals-0.70.0/tests/test_doc_type_facts.py +173 -0
  483. 3tears_evals-0.70.0/tests/test_dsl.py +1169 -0
  484. 3tears_evals-0.70.0/tests/test_dsl_calls.py +253 -0
  485. 3tears_evals-0.70.0/tests/test_durable_schema_pins.py +264 -0
  486. 3tears_evals-0.70.0/tests/test_durable_survives_reset.py +169 -0
  487. 3tears_evals-0.70.0/tests/test_engine_asserts_preconditions.py +151 -0
  488. 3tears_evals-0.70.0/tests/test_engine_sent_settings.py +602 -0
  489. 3tears_evals-0.70.0/tests/test_equivalence_needs_a_range.py +150 -0
  490. 3tears_evals-0.70.0/tests/test_eval_contract.py +540 -0
  491. 3tears_evals-0.70.0/tests/test_eval_host.py +450 -0
  492. 3tears_evals-0.70.0/tests/test_eval_toml.py +164 -0
  493. 3tears_evals-0.70.0/tests/test_every_job_kind_reads_back.py +94 -0
  494. 3tears_evals-0.70.0/tests/test_evidence_tier.py +85 -0
  495. 3tears_evals-0.70.0/tests/test_examples.py +25 -0
  496. 3tears_evals-0.70.0/tests/test_execution_mode_probe.py +121 -0
  497. 3tears_evals-0.70.0/tests/test_external_spend_vocabulary.py +225 -0
  498. 3tears_evals-0.70.0/tests/test_extract_json.py +98 -0
  499. 3tears_evals-0.70.0/tests/test_extraction_import_boundary.py +589 -0
  500. 3tears_evals-0.70.0/tests/test_factor_aliasing.py +257 -0
  501. 3tears_evals-0.70.0/tests/test_fastmcp_hooks.py +1020 -0
  502. 3tears_evals-0.70.0/tests/test_fastmcp_transport.py +301 -0
  503. 3tears_evals-0.70.0/tests/test_fidelity_adoption.py +139 -0
  504. 3tears_evals-0.70.0/tests/test_finding_substance.py +350 -0
  505. 3tears_evals-0.70.0/tests/test_frontier_bar.py +139 -0
  506. 3tears_evals-0.70.0/tests/test_frontier_boundary_pillar.py +76 -0
  507. 3tears_evals-0.70.0/tests/test_frontier_judge_tier.py +158 -0
  508. 3tears_evals-0.70.0/tests/test_gen_prompt_budget.py +143 -0
  509. 3tears_evals-0.70.0/tests/test_gen_prompt_pruning_test.py +57 -0
  510. 3tears_evals-0.70.0/tests/test_gen_proposers.py +421 -0
  511. 3tears_evals-0.70.0/tests/test_generate_analysis_fixture.py +92 -0
  512. 3tears_evals-0.70.0/tests/test_generation_restart_after_ending.py +73 -0
  513. 3tears_evals-0.70.0/tests/test_goal_check_coverage.py +139 -0
  514. 3tears_evals-0.70.0/tests/test_goal_check_proofs.py +357 -0
  515. 3tears_evals-0.70.0/tests/test_goal_check_prose_matches.py +173 -0
  516. 3tears_evals-0.70.0/tests/test_guardrails.py +313 -0
  517. 3tears_evals-0.70.0/tests/test_guide_names_are_declared.py +95 -0
  518. 3tears_evals-0.70.0/tests/test_headline_null_claims.py +300 -0
  519. 3tears_evals-0.70.0/tests/test_host_contract.py +1283 -0
  520. 3tears_evals-0.70.0/tests/test_host_diagnostic_measure.py +188 -0
  521. 3tears_evals-0.70.0/tests/test_host_imports_are_declared.py +57 -0
  522. 3tears_evals-0.70.0/tests/test_host_vocabulary_ceiling.py +304 -0
  523. 3tears_evals-0.70.0/tests/test_hostneutral_analysis_models.py +207 -0
  524. 3tears_evals-0.70.0/tests/test_hostneutral_fidelity.py +173 -0
  525. 3tears_evals-0.70.0/tests/test_hostneutral_judge.py +214 -0
  526. 3tears_evals-0.70.0/tests/test_hostneutral_metrics_cells.py +78 -0
  527. 3tears_evals-0.70.0/tests/test_hostneutral_references.py +218 -0
  528. 3tears_evals-0.70.0/tests/test_hostneutral_reporter_bank.py +468 -0
  529. 3tears_evals-0.70.0/tests/test_hostneutral_run_kind.py +117 -0
  530. 3tears_evals-0.70.0/tests/test_hostneutral_stats.py +47 -0
  531. 3tears_evals-0.70.0/tests/test_hostneutral_sweepables.py +212 -0
  532. 3tears_evals-0.70.0/tests/test_hostneutral_toy_analysis_path.py +576 -0
  533. 3tears_evals-0.70.0/tests/test_identity_golden_keys.py +213 -0
  534. 3tears_evals-0.70.0/tests/test_import_resolution.py +87 -0
  535. 3tears_evals-0.70.0/tests/test_import_time.py +73 -0
  536. 3tears_evals-0.70.0/tests/test_invoices_rung.py +173 -0
  537. 3tears_evals-0.70.0/tests/test_job_budgets.py +225 -0
  538. 3tears_evals-0.70.0/tests/test_job_faults.py +95 -0
  539. 3tears_evals-0.70.0/tests/test_job_lease_renewal_under_load.py +157 -0
  540. 3tears_evals-0.70.0/tests/test_job_leases.py +905 -0
  541. 3tears_evals-0.70.0/tests/test_job_refusal_as_data.py +90 -0
  542. 3tears_evals-0.70.0/tests/test_job_work_runs_once.py +127 -0
  543. 3tears_evals-0.70.0/tests/test_jobs.py +1096 -0
  544. 3tears_evals-0.70.0/tests/test_jobs_conformance.py +238 -0
  545. 3tears_evals-0.70.0/tests/test_jobs_launch_group.py +198 -0
  546. 3tears_evals-0.70.0/tests/test_judge_cases_list.py +143 -0
  547. 3tears_evals-0.70.0/tests/test_judge_declaration.py +269 -0
  548. 3tears_evals-0.70.0/tests/test_judge_evidence_tiers.py +1020 -0
  549. 3tears_evals-0.70.0/tests/test_judge_identity_pins.py +306 -0
  550. 3tears_evals-0.70.0/tests/test_judge_kind.py +995 -0
  551. 3tears_evals-0.70.0/tests/test_judge_profiles.py +397 -0
  552. 3tears_evals-0.70.0/tests/test_judge_repeat.py +711 -0
  553. 3tears_evals-0.70.0/tests/test_judge_second.py +464 -0
  554. 3tears_evals-0.70.0/tests/test_judge_service.py +1260 -0
  555. 3tears_evals-0.70.0/tests/test_judge_temperature.py +245 -0
  556. 3tears_evals-0.70.0/tests/test_judge_temperature_comparison.py +700 -0
  557. 3tears_evals-0.70.0/tests/test_judge_template_create.py +95 -0
  558. 3tears_evals-0.70.0/tests/test_judge_truncation.py +284 -0
  559. 3tears_evals-0.70.0/tests/test_kind_contract.py +719 -0
  560. 3tears_evals-0.70.0/tests/test_kind_owned_result_payloads.py +262 -0
  561. 3tears_evals-0.70.0/tests/test_latency_declaration.py +132 -0
  562. 3tears_evals-0.70.0/tests/test_launch_k_default.py +165 -0
  563. 3tears_evals-0.70.0/tests/test_lens_actions.py +433 -0
  564. 3tears_evals-0.70.0/tests/test_llm_decided_scheduler.py +208 -0
  565. 3tears_evals-0.70.0/tests/test_load_bar_registry.py +161 -0
  566. 3tears_evals-0.70.0/tests/test_lost_jobs_read_lost_everywhere.py +303 -0
  567. 3tears_evals-0.70.0/tests/test_materiality.py +164 -0
  568. 3tears_evals-0.70.0/tests/test_measure_producers.py +80 -0
  569. 3tears_evals-0.70.0/tests/test_measurement_window.py +895 -0
  570. 3tears_evals-0.70.0/tests/test_mechanism_checks.py +989 -0
  571. 3tears_evals-0.70.0/tests/test_memo_projection.py +202 -0
  572. 3tears_evals-0.70.0/tests/test_memo_refusals.py +140 -0
  573. 3tears_evals-0.70.0/tests/test_memory_bound_probe.py +164 -0
  574. 3tears_evals-0.70.0/tests/test_model_calling_jobs.py +264 -0
  575. 3tears_evals-0.70.0/tests/test_model_calls_are_planned_then_made.py +136 -0
  576. 3tears_evals-0.70.0/tests/test_model_calls_send_their_schema.py +315 -0
  577. 3tears_evals-0.70.0/tests/test_model_identity_disclosure.py +301 -0
  578. 3tears_evals-0.70.0/tests/test_multiple_comparisons.py +719 -0
  579. 3tears_evals-0.70.0/tests/test_negotiation_conformance.py +238 -0
  580. 3tears_evals-0.70.0/tests/test_negotiation_loop.py +664 -0
  581. 3tears_evals-0.70.0/tests/test_no_compatibility_readers.py +442 -0
  582. 3tears_evals-0.70.0/tests/test_no_host_names_in_shared_contract.py +1430 -0
  583. 3tears_evals-0.70.0/tests/test_no_matching_over_model_prose.py +276 -0
  584. 3tears_evals-0.70.0/tests/test_no_metered_tools.py +154 -0
  585. 3tears_evals-0.70.0/tests/test_no_process_global_state.py +453 -0
  586. 3tears_evals-0.70.0/tests/test_null_overlay_level.py +152 -0
  587. 3tears_evals-0.70.0/tests/test_numbers.py +439 -0
  588. 3tears_evals-0.70.0/tests/test_one_ruler_per_measure.py +198 -0
  589. 3tears_evals-0.70.0/tests/test_open_family.py +119 -0
  590. 3tears_evals-0.70.0/tests/test_ops_jobs.py +576 -0
  591. 3tears_evals-0.70.0/tests/test_out_of_run_budget.py +319 -0
  592. 3tears_evals-0.70.0/tests/test_out_of_run_spend_lens.py +134 -0
  593. 3tears_evals-0.70.0/tests/test_output_bound_labels.py +382 -0
  594. 3tears_evals-0.70.0/tests/test_overlay_resolves_into.py +742 -0
  595. 3tears_evals-0.70.0/tests/test_package_ceilings.py +58 -0
  596. 3tears_evals-0.70.0/tests/test_package_matrix.py +963 -0
  597. 3tears_evals-0.70.0/tests/test_paid_analysis_generation.py +231 -0
  598. 3tears_evals-0.70.0/tests/test_pass_fail_scale.py +413 -0
  599. 3tears_evals-0.70.0/tests/test_pass_k_without_criteria.py +176 -0
  600. 3tears_evals-0.70.0/tests/test_pass_threshold.py +145 -0
  601. 3tears_evals-0.70.0/tests/test_per_kind_applicability.py +544 -0
  602. 3tears_evals-0.70.0/tests/test_portable_strict_enums.py +135 -0
  603. 3tears_evals-0.70.0/tests/test_post_cell_readback.py +245 -0
  604. 3tears_evals-0.70.0/tests/test_power_preflight.py +286 -0
  605. 3tears_evals-0.70.0/tests/test_predicted_cost.py +338 -0
  606. 3tears_evals-0.70.0/tests/test_prediction_powered.py +216 -0
  607. 3tears_evals-0.70.0/tests/test_production_footing.py +411 -0
  608. 3tears_evals-0.70.0/tests/test_prompt_catalogue.py +74 -0
  609. 3tears_evals-0.70.0/tests/test_prompt_contract.py +300 -0
  610. 3tears_evals-0.70.0/tests/test_prompt_drift.py +119 -0
  611. 3tears_evals-0.70.0/tests/test_provider.py +328 -0
  612. 3tears_evals-0.70.0/tests/test_provider_failure_logging.py +105 -0
  613. 3tears_evals-0.70.0/tests/test_providers_boundary.py +350 -0
  614. 3tears_evals-0.70.0/tests/test_providers_ceiling.py +877 -0
  615. 3tears_evals-0.70.0/tests/test_providers_live.py +97 -0
  616. 3tears_evals-0.70.0/tests/test_providers_model.py +824 -0
  617. 3tears_evals-0.70.0/tests/test_public_surface_is_closed.py +242 -0
  618. 3tears_evals-0.70.0/tests/test_question_standing.py +73 -0
  619. 3tears_evals-0.70.0/tests/test_quick_answer.py +139 -0
  620. 3tears_evals-0.70.0/tests/test_quick_as_host.py +88 -0
  621. 3tears_evals-0.70.0/tests/test_quick_building_blocks.py +188 -0
  622. 3tears_evals-0.70.0/tests/test_quick_combinations.py +101 -0
  623. 3tears_evals-0.70.0/tests/test_quick_comparison.py +222 -0
  624. 3tears_evals-0.70.0/tests/test_quick_eval_files.py +170 -0
  625. 3tears_evals-0.70.0/tests/test_quick_eval_judged.py +482 -0
  626. 3tears_evals-0.70.0/tests/test_quick_eval_runs.py +595 -0
  627. 3tears_evals-0.70.0/tests/test_quick_factorial.py +261 -0
  628. 3tears_evals-0.70.0/tests/test_quick_frontier.py +127 -0
  629. 3tears_evals-0.70.0/tests/test_quick_guardrails.py +518 -0
  630. 3tears_evals-0.70.0/tests/test_quick_judged_compare.py +224 -0
  631. 3tears_evals-0.70.0/tests/test_quick_margins.py +378 -0
  632. 3tears_evals-0.70.0/tests/test_quick_reread.py +181 -0
  633. 3tears_evals-0.70.0/tests/test_quick_results.py +223 -0
  634. 3tears_evals-0.70.0/tests/test_quick_spend_cap.py +125 -0
  635. 3tears_evals-0.70.0/tests/test_quick_store.py +200 -0
  636. 3tears_evals-0.70.0/tests/test_quick_strata.py +176 -0
  637. 3tears_evals-0.70.0/tests/test_quick_world_lookups.py +254 -0
  638. 3tears_evals-0.70.0/tests/test_quick_world_state.py +380 -0
  639. 3tears_evals-0.70.0/tests/test_read_tier_observer.py +173 -0
  640. 3tears_evals-0.70.0/tests/test_reader_conformance.py +236 -0
  641. 3tears_evals-0.70.0/tests/test_reader_names.py +157 -0
  642. 3tears_evals-0.70.0/tests/test_recorded_completions.py +723 -0
  643. 3tears_evals-0.70.0/tests/test_recorded_falsy_apparatus.py +51 -0
  644. 3tears_evals-0.70.0/tests/test_reference_doc.py +22 -0
  645. 3tears_evals-0.70.0/tests/test_references.py +261 -0
  646. 3tears_evals-0.70.0/tests/test_refusal_remedies.py +372 -0
  647. 3tears_evals-0.70.0/tests/test_refusal_remedies_exist.py +126 -0
  648. 3tears_evals-0.70.0/tests/test_refused_calls.py +207 -0
  649. 3tears_evals-0.70.0/tests/test_regenerate_core_fixtures.py +74 -0
  650. 3tears_evals-0.70.0/tests/test_registered_judged_bars.py +165 -0
  651. 3tears_evals-0.70.0/tests/test_regrade.py +495 -0
  652. 3tears_evals-0.70.0/tests/test_regression_watch.py +179 -0
  653. 3tears_evals-0.70.0/tests/test_rejudge_reads_stored_evidence.py +658 -0
  654. 3tears_evals-0.70.0/tests/test_remainder_state.py +91 -0
  655. 3tears_evals-0.70.0/tests/test_repair_boundary_canary.py +137 -0
  656. 3tears_evals-0.70.0/tests/test_report.py +537 -0
  657. 3tears_evals-0.70.0/tests/test_report_decision_rule.py +847 -0
  658. 3tears_evals-0.70.0/tests/test_report_doors.py +131 -0
  659. 3tears_evals-0.70.0/tests/test_report_golden_g2.py +153 -0
  660. 3tears_evals-0.70.0/tests/test_report_html_measure.py +70 -0
  661. 3tears_evals-0.70.0/tests/test_report_html_no_script.py +228 -0
  662. 3tears_evals-0.70.0/tests/test_report_presentation.py +709 -0
  663. 3tears_evals-0.70.0/tests/test_report_settled_rule_memo.py +357 -0
  664. 3tears_evals-0.70.0/tests/test_report_style.py +133 -0
  665. 3tears_evals-0.70.0/tests/test_report_svg.py +261 -0
  666. 3tears_evals-0.70.0/tests/test_report_vocabulary.py +127 -0
  667. 3tears_evals-0.70.0/tests/test_reporter_call_ceiling.py +275 -0
  668. 3tears_evals-0.70.0/tests/test_reporter_case_actions.py +459 -0
  669. 3tears_evals-0.70.0/tests/test_reporter_contract.py +412 -0
  670. 3tears_evals-0.70.0/tests/test_reporting.py +8150 -0
  671. 3tears_evals-0.70.0/tests/test_result_actions.py +508 -0
  672. 3tears_evals-0.70.0/tests/test_result_condition.py +547 -0
  673. 3tears_evals-0.70.0/tests/test_role_usage.py +209 -0
  674. 3tears_evals-0.70.0/tests/test_routed_store.py +749 -0
  675. 3tears_evals-0.70.0/tests/test_run_index_disclosure.py +181 -0
  676. 3tears_evals-0.70.0/tests/test_run_labels.py +142 -0
  677. 3tears_evals-0.70.0/tests/test_rung_one_triage.py +225 -0
  678. 3tears_evals-0.70.0/tests/test_rung_two_replies.py +181 -0
  679. 3tears_evals-0.70.0/tests/test_runs_compare_action.py +197 -0
  680. 3tears_evals-0.70.0/tests/test_runs_unreadable.py +136 -0
  681. 3tears_evals-0.70.0/tests/test_schema_installable.py +375 -0
  682. 3tears_evals-0.70.0/tests/test_schema_nesting.py +141 -0
  683. 3tears_evals-0.70.0/tests/test_scope_divergence_stated_once.py +297 -0
  684. 3tears_evals-0.70.0/tests/test_scope_id_is_required.py +110 -0
  685. 3tears_evals-0.70.0/tests/test_scoring.py +1731 -0
  686. 3tears_evals-0.70.0/tests/test_sent_temperature.py +121 -0
  687. 3tears_evals-0.70.0/tests/test_served_model_confound.py +268 -0
  688. 3tears_evals-0.70.0/tests/test_served_model_surfaces.py +192 -0
  689. 3tears_evals-0.70.0/tests/test_served_words.py +303 -0
  690. 3tears_evals-0.70.0/tests/test_session_breaks.py +91 -0
  691. 3tears_evals-0.70.0/tests/test_ships_type_marker.py +17 -0
  692. 3tears_evals-0.70.0/tests/test_significance_rule.py +50 -0
  693. 3tears_evals-0.70.0/tests/test_significance_single_renderer.py +61 -0
  694. 3tears_evals-0.70.0/tests/test_sim_bars_and_change.py +261 -0
  695. 3tears_evals-0.70.0/tests/test_sim_pass_k.py +128 -0
  696. 3tears_evals-0.70.0/tests/test_sim_reading_intervals.py +265 -0
  697. 3tears_evals-0.70.0/tests/test_simulated_agreement.py +382 -0
  698. 3tears_evals-0.70.0/tests/test_simulated_classifier.py +178 -0
  699. 3tears_evals-0.70.0/tests/test_simulated_cost_band.py +99 -0
  700. 3tears_evals-0.70.0/tests/test_simulated_equivalence.py +219 -0
  701. 3tears_evals-0.70.0/tests/test_simulated_frontier.py +321 -0
  702. 3tears_evals-0.70.0/tests/test_simulated_guardrails.py +297 -0
  703. 3tears_evals-0.70.0/tests/test_simulated_judge_drift.py +213 -0
  704. 3tears_evals-0.70.0/tests/test_simulated_mechanism_check.py +140 -0
  705. 3tears_evals-0.70.0/tests/test_simulated_multiple_comparisons.py +495 -0
  706. 3tears_evals-0.70.0/tests/test_simulated_percentiles.py +169 -0
  707. 3tears_evals-0.70.0/tests/test_simulated_prediction_powered.py +82 -0
  708. 3tears_evals-0.70.0/tests/test_simulated_scope_divergence.py +311 -0
  709. 3tears_evals-0.70.0/tests/test_simulated_separation.py +412 -0
  710. 3tears_evals-0.70.0/tests/test_simulated_switch.py +84 -0
  711. 3tears_evals-0.70.0/tests/test_simulator.py +684 -0
  712. 3tears_evals-0.70.0/tests/test_start_paid_call.py +175 -0
  713. 3tears_evals-0.70.0/tests/test_stats.py +814 -0
  714. 3tears_evals-0.70.0/tests/test_storage_one_store.py +217 -0
  715. 3tears_evals-0.70.0/tests/test_store_conformance_memory.py +793 -0
  716. 3tears_evals-0.70.0/tests/test_store_conformance_sqlite.py +94 -0
  717. 3tears_evals-0.70.0/tests/test_strict_output.py +90 -0
  718. 3tears_evals-0.70.0/tests/test_subject_admission.py +126 -0
  719. 3tears_evals-0.70.0/tests/test_subject_call_floor.py +552 -0
  720. 3tears_evals-0.70.0/tests/test_subject_snapshot.py +238 -0
  721. 3tears_evals-0.70.0/tests/test_summary_spend.py +192 -0
  722. 3tears_evals-0.70.0/tests/test_surface_row_order.py +108 -0
  723. 3tears_evals-0.70.0/tests/test_sweep_launch.py +180 -0
  724. 3tears_evals-0.70.0/tests/test_template_fields_a_kind_ignores.py +196 -0
  725. 3tears_evals-0.70.0/tests/test_tenancy_is_one_opaque_scope.py +539 -0
  726. 3tears_evals-0.70.0/tests/test_text_under_its_item.py +79 -0
  727. 3tears_evals-0.70.0/tests/test_toyhost_bundle_determinism.py +94 -0
  728. 3tears_evals-0.70.0/tests/test_toyhost_judged_path.py +56 -0
  729. 3tears_evals-0.70.0/tests/test_trace_split.py +394 -0
  730. 3tears_evals-0.70.0/tests/test_two_hosts_one_process.py +148 -0
  731. 3tears_evals-0.70.0/tests/test_typed_verdicts.py +302 -0
  732. 3tears_evals-0.70.0/tests/test_uncapped_spend_ceiling.py +78 -0
  733. 3tears_evals-0.70.0/tests/test_uncontrollable_declared_axis.py +83 -0
  734. 3tears_evals-0.70.0/tests/test_unreadable_run_refusals.py +432 -0
  735. 3tears_evals-0.70.0/tests/test_unreported_token_counts.py +167 -0
  736. 3tears_evals-0.70.0/tests/test_usage_capture.py +606 -0
  737. 3tears_evals-0.70.0/tests/test_variation_gen.py +828 -0
  738. 3tears_evals-0.70.0/tests/test_variation_model.py +1034 -0
  739. 3tears_evals-0.70.0/tests/test_viz_timeseries.py +396 -0
  740. 3tears_evals-0.70.0/tests/test_wall_clock_ceilings.py +134 -0
  741. 3tears_evals-0.70.0/tests/test_witnessed_cell.py +363 -0
  742. 3tears_evals-0.70.0/tests/test_witnessed_judging.py +663 -0
  743. 3tears_evals-0.70.0/tests/test_witnessed_provenance.py +215 -0
  744. 3tears_evals-0.70.0/tests/test_world_binding.py +263 -0
  745. 3tears_evals-0.70.0/tests/test_world_conformance.py +2008 -0
  746. 3tears_evals-0.70.0/tests/test_world_registry.py +881 -0
  747. 3tears_evals-0.70.0/tests/test_world_rounds_and_passed.py +192 -0
  748. 3tears_evals-0.70.0/tests/test_world_runtime_algebra.py +251 -0
  749. 3tears_evals-0.70.0/tests/test_world_schema.py +154 -0
  750. 3tears_evals-0.70.0/tests/test_world_seed.py +211 -0
  751. 3tears_evals-0.70.0/tests/test_world_session.py +674 -0
  752. 3tears_evals-0.70.0/tests/toyhost_memo.py +213 -0
@@ -0,0 +1,257 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[codz]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ # Anchored: these name top-level build output. Unanchored, `lib/` matches at ANY depth --
18
+ # it swallowed a vendored `.../pako/lib/` tree, and hatchling reads this file with its own
19
+ # matcher that does NOT honour `!` re-inclusion, so the miss reached built artifacts.
20
+ /lib/
21
+ /lib64/
22
+ parts/
23
+ sdist/
24
+ var/
25
+ wheels/
26
+ share/python-wheels/
27
+ *.egg-info/
28
+ .installed.cfg
29
+ *.egg
30
+ MANIFEST
31
+
32
+ # PyInstaller
33
+ # Usually these files are written by a python script from a template
34
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
35
+ *.manifest
36
+ *.spec
37
+
38
+ # Installer logs
39
+ pip-log.txt
40
+ pip-delete-this-directory.txt
41
+
42
+ # Unit test / coverage reports
43
+ htmlcov/
44
+ .tox/
45
+ .nox/
46
+ .coverage
47
+ .coverage.*
48
+ .cache
49
+ nosetests.xml
50
+ coverage.xml
51
+ *.cover
52
+ *.py.cover
53
+ .hypothesis/
54
+ .pytest_cache/
55
+ cover/
56
+
57
+ # Translations
58
+ *.mo
59
+ *.pot
60
+
61
+ # Django stuff:
62
+ *.log
63
+ local_settings.py
64
+ db.sqlite3
65
+ db.sqlite3-journal
66
+
67
+ # Flask stuff:
68
+ instance/
69
+ .webassets-cache
70
+
71
+ # Scrapy stuff:
72
+ .scrapy
73
+
74
+ # Sphinx documentation
75
+ docs/_build/
76
+
77
+ # PyBuilder
78
+ .pybuilder/
79
+ target/
80
+
81
+ # Jupyter Notebook
82
+ .ipynb_checkpoints
83
+
84
+ # IPython
85
+ profile_default/
86
+ ipython_config.py
87
+
88
+ # pyenv
89
+ # For a library or package, you might want to ignore these files since the code is
90
+ # intended to run in multiple environments; otherwise, check them in:
91
+ # .python-version
92
+
93
+ # pipenv
94
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
95
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
96
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
97
+ # install all needed dependencies.
98
+ #Pipfile.lock
99
+
100
+ # UV
101
+ # Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
102
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
103
+ # commonly ignored for libraries.
104
+ #uv.lock
105
+
106
+ # poetry
107
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
108
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
109
+ # commonly ignored for libraries.
110
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
111
+ #poetry.lock
112
+ #poetry.toml
113
+
114
+ # pdm
115
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
116
+ # pdm recommends including project-wide configuration in pdm.toml, but excluding .pdm-python.
117
+ # https://pdm-project.org/en/latest/usage/project/#working-with-version-control
118
+ #pdm.lock
119
+ #pdm.toml
120
+ .pdm-python
121
+ .pdm-build/
122
+
123
+ # pixi
124
+ # Similar to Pipfile.lock, it is generally recommended to include pixi.lock in version control.
125
+ #pixi.lock
126
+ # Pixi creates a virtual environment in the .pixi directory, just like venv module creates one
127
+ # in the .venv directory. It is recommended not to include this directory in version control.
128
+ .pixi
129
+
130
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
131
+ __pypackages__/
132
+
133
+ # Celery stuff
134
+ celerybeat-schedule
135
+ celerybeat.pid
136
+
137
+ # SageMath parsed files
138
+ *.sage.py
139
+
140
+ # Environments
141
+ .env
142
+ .envrc
143
+ .venv
144
+ env/
145
+ venv/
146
+ ENV/
147
+ env.bak/
148
+ venv.bak/
149
+
150
+ # Spyder project settings
151
+ .spyderproject
152
+ .spyproject
153
+
154
+ # Rope project settings
155
+ .ropeproject
156
+
157
+ # mkdocs documentation
158
+ /site
159
+
160
+ # mypy
161
+ .mypy_cache/
162
+ .dmypy.json
163
+ dmypy.json
164
+
165
+ # Pyre type checker
166
+ .pyre/
167
+
168
+ # pytype static type analyzer
169
+ .pytype/
170
+
171
+ # Cython debug symbols
172
+ cython_debug/
173
+
174
+ # PyCharm
175
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
176
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
177
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
178
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
179
+ #.idea/
180
+
181
+ # Abstra
182
+ # Abstra is an AI-powered process automation framework.
183
+ # Ignore directories containing user credentials, local state, and settings.
184
+ # Learn more at https://abstra.io/docs
185
+ .abstra/
186
+
187
+ # Visual Studio Code
188
+ # Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore
189
+ # that can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore
190
+ # and can be added to the global gitignore or merged into this file. However, if you prefer,
191
+ # you could uncomment the following to ignore the entire vscode folder
192
+ # .vscode/
193
+
194
+ # Ruff stuff:
195
+ .ruff_cache/
196
+
197
+ # PyPI configuration file
198
+ .pypirc
199
+
200
+ # Cursor
201
+ # Cursor is an AI-powered code editor. `.cursorignore` specifies files/directories to
202
+ # exclude from AI features like autocomplete and code analysis. Recommended for sensitive data
203
+ # refer to https://docs.cursor.com/context/ignore-files
204
+ .cursorignore
205
+ .cursorindexingignore
206
+
207
+ # Marimo
208
+ marimo/_static/
209
+ marimo/_lsp/
210
+ __marimo__/
211
+
212
+ # Claude Code local state
213
+ # .claude/* rather than .claude/ so the one file below can be re-included:
214
+ # git never descends into an excluded DIRECTORY, so a negation inside one is
215
+ # silently dead. Excluding the contents instead leaves the directory readable.
216
+ .claude/*
217
+ # Prawduct install reference. Committed on purpose: it is what enables the
218
+ # plugin for anyone who clones this repo. Without it the governance hooks run
219
+ # only on a machine that already has prawduct installed, and a new developer
220
+ # gets none of them.
221
+ !.claude/settings.json
222
+
223
+ # prawduct session evidence (local governance artifacts, never shipped)
224
+ .prawduct/
225
+
226
+ # macOS folder metadata
227
+ .DS_Store
228
+
229
+
230
+ # Prawduct session files
231
+ .claude/settings.local.json
232
+ .prawduct/.bug-inbox
233
+ .prawduct/.critic-active
234
+ .prawduct/.critic-findings.json
235
+ .prawduct/.critic-partials/
236
+ .prawduct/.critic-partials-archive/
237
+ .prawduct/.governance-ledger.jsonl
238
+ .prawduct/.handoff-notes.md
239
+ .prawduct/.test-evidence.json
240
+ .prawduct/.pr-reviews/
241
+ .prawduct/.session-base-tree
242
+ .prawduct/.session-git-baseline
243
+ .prawduct/.session-handoff.md
244
+ .prawduct/.session-reflected
245
+ .prawduct/.session-start
246
+ .prawduct/.subagent-briefing.md
247
+ .prawduct/.gates-waived
248
+ .prawduct/.advisories.json
249
+ .prawduct/.work-model-index.json
250
+ .prawduct/reflections.md
251
+
252
+ # Prawduct session files
253
+ .prawduct/.delegate-brief.md
254
+ .prawduct/.test-report.xml
255
+ .prawduct/.test-report.xml.scope.json
256
+ .prawduct/.critic-review-dispatch.json
257
+ .prawduct/.pr-review-dispatch.json
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Mark Pace
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.