sable-sphynx 0.7.0.dev0__py3-none-any.whl

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 (174) hide show
  1. sable_sphynx-0.7.0.dev0.dist-info/METADATA +152 -0
  2. sable_sphynx-0.7.0.dev0.dist-info/RECORD +174 -0
  3. sable_sphynx-0.7.0.dev0.dist-info/WHEEL +5 -0
  4. sable_sphynx-0.7.0.dev0.dist-info/top_level.txt +1 -0
  5. sphynx/__init__.py +469 -0
  6. sphynx/__init__.pyi +376 -0
  7. sphynx/_analytical_client.py +77 -0
  8. sphynx/_analytical_values.py +252 -0
  9. sphynx/_audit_client.py +173 -0
  10. sphynx/_comparison_adapters.py +113 -0
  11. sphynx/_componentized_full_rag.py +34 -0
  12. sphynx/_composed_pipeline.py +109 -0
  13. sphynx/_full_rag_grading.py +218 -0
  14. sphynx/_full_rag_trace.py +221 -0
  15. sphynx/_local_eval.py +268 -0
  16. sphynx/_pipeline_core.py +243 -0
  17. sphynx/_pr_client.py +237 -0
  18. sphynx/_rag_diagnostics_calibration.py +285 -0
  19. sphynx/_rag_diagnostics_catalog.py +39 -0
  20. sphynx/_rag_diagnostics_common.py +26 -0
  21. sphynx/_rag_diagnostics_contracts.py +186 -0
  22. sphynx/_rag_diagnostics_engine.py +243 -0
  23. sphynx/_rag_diagnostics_importers.py +242 -0
  24. sphynx/_rag_diagnostics_ranking.py +81 -0
  25. sphynx/_rag_diagnostics_semantic.py +325 -0
  26. sphynx/_rag_ranking.py +149 -0
  27. sphynx/_speech_benchmark_scoring.py +140 -0
  28. sphynx/_speech_benchmark_sources.py +275 -0
  29. sphynx/_speech_complete_scoring.py +218 -0
  30. sphynx/_speech_complete_source.py +118 -0
  31. sphynx/_speech_kido.py +294 -0
  32. sphynx/_speech_scoring.py +77 -0
  33. sphynx/_track_capture.py +213 -0
  34. sphynx/analytical_views.py +515 -0
  35. sphynx/assessment_contracts.py +378 -0
  36. sphynx/assessment_selection.py +57 -0
  37. sphynx/audit_access.py +245 -0
  38. sphynx/audit_contracts.py +204 -0
  39. sphynx/audit_requests.py +180 -0
  40. sphynx/authoring.py +188 -0
  41. sphynx/benchmarks.py +568 -0
  42. sphynx/candidates.py +62 -0
  43. sphynx/catalog.py +272 -0
  44. sphynx/chunking.py +372 -0
  45. sphynx/clickhouse_reader.py +169 -0
  46. sphynx/client.py +486 -0
  47. sphynx/comparison_core.py +149 -0
  48. sphynx/comparison_views.py +223 -0
  49. sphynx/components.py +1661 -0
  50. sphynx/contracts.py +514 -0
  51. sphynx/customer_rerank.py +299 -0
  52. sphynx/customer_retrieval.py +146 -0
  53. sphynx/data/benchmark-releases.v1.json +164 -0
  54. sphynx/data/public-benchmark-release.v1.json +354 -0
  55. sphynx/data/rag-diagnostics-synthetic.v1.json +6982 -0
  56. sphynx/data/rag-paper-references.v1.json +176 -0
  57. sphynx/data/rag-paper-schemas.v1.json +1069 -0
  58. sphynx/data/rag-rerank-v1.json +507 -0
  59. sphynx/dataset_catalog_data.py +1214 -0
  60. sphynx/dataset_readiness.py +138 -0
  61. sphynx/dataset_v3.py +999 -0
  62. sphynx/demo.py +130 -0
  63. sphynx/demo_candidates/__init__.py +1 -0
  64. sphynx/demo_candidates/dense.py +11 -0
  65. sphynx/demo_candidates/lexical.py +21 -0
  66. sphynx/diagnostics.py +207 -0
  67. sphynx/documentation.py +737 -0
  68. sphynx/documentation_candidate.py +939 -0
  69. sphynx/evals.py +538 -0
  70. sphynx/evaluation_protocols.py +124 -0
  71. sphynx/evaluator_bindings.py +370 -0
  72. sphynx/evidence.py +352 -0
  73. sphynx/execution_capabilities.py +109 -0
  74. sphynx/fast_search.py +285 -0
  75. sphynx/full_rag.py +341 -0
  76. sphynx/hosted/__init__.py +18 -0
  77. sphynx/hosted/benchmark_intake.py +218 -0
  78. sphynx/hosted/contracts.py +361 -0
  79. sphynx/hosted/model_admission.py +130 -0
  80. sphynx/hosted/model_artifacts.py +298 -0
  81. sphynx/hosted/model_contracts.py +63 -0
  82. sphynx/hosted/model_gcs.py +181 -0
  83. sphynx/hosted/model_history.py +84 -0
  84. sphynx/hosted/model_session.py +233 -0
  85. sphynx/hosted/public_suite.py +74 -0
  86. sphynx/hosted/registry.py +97 -0
  87. sphynx/hosted/revisions.py +126 -0
  88. sphynx/hosted/sandbox.py +105 -0
  89. sphynx/hosted/submission.py +287 -0
  90. sphynx/hosted_workflow.py +451 -0
  91. sphynx/http_transport.py +86 -0
  92. sphynx/integrated_rag.py +352 -0
  93. sphynx/integrated_workflow.py +552 -0
  94. sphynx/integration_contracts.py +474 -0
  95. sphynx/invocation.py +791 -0
  96. sphynx/invocation_candidates.py +392 -0
  97. sphynx/invocation_catalog_data.py +40 -0
  98. sphynx/learned_catalog_data.py +30 -0
  99. sphynx/learned_rerank.py +267 -0
  100. sphynx/legacy_full_rag.py +67 -0
  101. sphynx/lifecycle.py +885 -0
  102. sphynx/lifecycle_workflow.py +490 -0
  103. sphynx/metric_views.py +474 -0
  104. sphynx/metrics.py +282 -0
  105. sphynx/model_adapters.py +438 -0
  106. sphynx/model_catalog_data.py +30 -0
  107. sphynx/official_benchmarks.py +385 -0
  108. sphynx/packs.py +258 -0
  109. sphynx/pipeline.py +313 -0
  110. sphynx/pipeline_workflow.py +551 -0
  111. sphynx/pr_evaluations.py +560 -0
  112. sphynx/progress.py +89 -0
  113. sphynx/public_bundle.py +173 -0
  114. sphynx/public_eval.py +62 -0
  115. sphynx/public_rerank.py +355 -0
  116. sphynx/py.typed +0 -0
  117. sphynx/pytest_plugin.py +62 -0
  118. sphynx/question_robustness.py +437 -0
  119. sphynx/rag.py +329 -0
  120. sphynx/rag_diagnostics.py +309 -0
  121. sphynx/rag_papers/__init__.py +29 -0
  122. sphynx/rag_papers/__main__.py +45 -0
  123. sphynx/rag_papers/candidates.py +19 -0
  124. sphynx/rag_papers/contracts.py +282 -0
  125. sphynx/rag_papers/datasets.py +291 -0
  126. sphynx/rag_papers/experiments.py +116 -0
  127. sphynx/rag_papers/judges.py +308 -0
  128. sphynx/rag_papers/registry.py +33 -0
  129. sphynx/rag_papers/runner.py +176 -0
  130. sphynx/rag_papers/sable.py +135 -0
  131. sphynx/rag_papers/schemas.py +12 -0
  132. sphynx/rag_papers/scoring.py +249 -0
  133. sphynx/rag_papers/semantic.py +288 -0
  134. sphynx/rag_papers/trec.py +80 -0
  135. sphynx/recorded_scores.py +352 -0
  136. sphynx/records.py +124 -0
  137. sphynx/reflex_traces.py +193 -0
  138. sphynx/report_rendering.py +71 -0
  139. sphynx/rerank_family_contracts.py +150 -0
  140. sphynx/rerank_workflow.py +424 -0
  141. sphynx/research_candidate.py +190 -0
  142. sphynx/results.py +852 -0
  143. sphynx/retrieval.py +750 -0
  144. sphynx/retrieval_candidates.py +295 -0
  145. sphynx/retrieval_catalog_data.py +19 -0
  146. sphynx/retrieval_recordings.py +125 -0
  147. sphynx/reviewer_audit.py +266 -0
  148. sphynx/routing_policies.py +375 -0
  149. sphynx/runner.py +544 -0
  150. sphynx/sable_rerank.py +489 -0
  151. sphynx/score_reliability.py +393 -0
  152. sphynx/speech_benchmarks.py +204 -0
  153. sphynx/speech_campaigns.py +378 -0
  154. sphynx/speech_complete.py +236 -0
  155. sphynx/speech_contracts.py +225 -0
  156. sphynx/speech_evidence.py +429 -0
  157. sphynx/speech_listening.py +115 -0
  158. sphynx/speech_multilingual.py +71 -0
  159. sphynx/speech_tts.py +479 -0
  160. sphynx/sql/001_sync_v1.sql +30 -0
  161. sphynx/stage_contracts.py +199 -0
  162. sphynx/statistical_catalog_data.py +53 -0
  163. sphynx/statistical_rerank.py +232 -0
  164. sphynx/sync.py +797 -0
  165. sphynx/workbench.py +378 -0
  166. sphynx/workbench_catalog_data.py +13 -0
  167. sphynx/workbench_tracks.py +78 -0
  168. sphynx/workflow_async.py +197 -0
  169. sphynx/workflow_contracts.py +594 -0
  170. sphynx/workflow_decisions.py +211 -0
  171. sphynx/workflow_defaults.py +16 -0
  172. sphynx/workflow_extensions.py +212 -0
  173. sphynx/workflow_registry.py +513 -0
  174. sphynx/workflows.py +792 -0
sphynx/__init__.py ADDED
@@ -0,0 +1,469 @@
1
+ """Public entry points for Sphynx suites, native APIs, and extensions."""
2
+
3
+ from .contracts import (
4
+ INTERFACE_VERSION,
5
+ REQUEST_SCHEMA_VERSION,
6
+ RESPONSE_SCHEMA_VERSION,
7
+ CandidateRequest,
8
+ CandidateResponse,
9
+ CandidateScore,
10
+ CandidateSpec,
11
+ CaseReferences,
12
+ ContractError,
13
+ CorpusVersions,
14
+ EvidenceGroup,
15
+ FrozenCandidate,
16
+ FrozenPoolCase,
17
+ ReferenceCandidate,
18
+ build_candidate_request,
19
+ canonical_json,
20
+ pool_digest,
21
+ ranked_candidate_ids,
22
+ validate_candidate_response,
23
+ )
24
+ from .packs import CandidateCheck, ExecutionPolicy, PackDescriptor, check_candidate, get_pack, list_packs
25
+ from .records import (
26
+ EVALUATION_SCHEMA_VERSION,
27
+ EVIDENCE_SCHEMA_VERSION,
28
+ METRIC_DEFINITION_SCHEMA_VERSION,
29
+ CaptureIdentity,
30
+ EvaluationIdentity,
31
+ EvidenceCapability,
32
+ MetricDefinition,
33
+ )
34
+ from .evidence import RunRef, open_run, verify_run
35
+ from .runner import run
36
+ from .results import (
37
+ Comparison,
38
+ EvaluationRef,
39
+ Scorecard,
40
+ compare,
41
+ grade,
42
+ open_evaluation,
43
+ report,
44
+ verify_evaluation,
45
+ )
46
+ from .sync import StorageConfig, SyncResult, read_committed_projection, sync
47
+ from .invocation import (
48
+ InvocationBank, InvocationComparison, InvocationError, InvocationEvaluationRef, InvocationPack, InvocationRunRef,
49
+ InvocationScorecard, compare_invocation, grade_invocation,
50
+ list_invocation_banks, load_invocation_pack, report_invocation, run_invocation,
51
+ )
52
+ from .sable_rerank import (
53
+ SABLE_PACK_ID,
54
+ PrivateEvaluation,
55
+ PrivatePack,
56
+ build_cherry_development_dataset,
57
+ build_exact_sable_dataset,
58
+ compare_private_rerank,
59
+ grade_private_rerank,
60
+ load_private_pack,
61
+ run_private_rerank,
62
+ )
63
+
64
+ __version__ = "0.7.0.dev0"
65
+
66
+ __all__ = [
67
+ "INTERFACE_VERSION",
68
+ "REQUEST_SCHEMA_VERSION",
69
+ "RESPONSE_SCHEMA_VERSION",
70
+ "CandidateRequest",
71
+ "CandidateResponse",
72
+ "CandidateScore",
73
+ "CandidateSpec",
74
+ "CaseReferences",
75
+ "ContractError",
76
+ "CorpusVersions",
77
+ "EvidenceGroup",
78
+ "FrozenCandidate",
79
+ "FrozenPoolCase",
80
+ "ReferenceCandidate",
81
+ "build_candidate_request",
82
+ "canonical_json",
83
+ "pool_digest",
84
+ "ranked_candidate_ids",
85
+ "validate_candidate_response",
86
+ "CandidateCheck",
87
+ "ExecutionPolicy",
88
+ "PackDescriptor",
89
+ "check_candidate",
90
+ "get_pack",
91
+ "list_packs",
92
+ "EVALUATION_SCHEMA_VERSION",
93
+ "EVIDENCE_SCHEMA_VERSION",
94
+ "METRIC_DEFINITION_SCHEMA_VERSION",
95
+ "CaptureIdentity",
96
+ "EvaluationIdentity",
97
+ "EvidenceCapability",
98
+ "MetricDefinition",
99
+ "RunRef",
100
+ "open_run",
101
+ "verify_run",
102
+ "run",
103
+ "EvaluationRef",
104
+ "open_evaluation",
105
+ "verify_evaluation",
106
+ "grade",
107
+ "Scorecard",
108
+ "report",
109
+ "Comparison",
110
+ "compare",
111
+ "StorageConfig",
112
+ "SyncResult",
113
+ "sync",
114
+ "read_committed_projection",
115
+ "InvocationError",
116
+ "InvocationBank",
117
+ "list_invocation_banks",
118
+ "InvocationComparison",
119
+ "InvocationEvaluationRef",
120
+ "InvocationPack",
121
+ "InvocationRunRef",
122
+ "InvocationScorecard",
123
+ "load_invocation_pack",
124
+ "run_invocation",
125
+ "grade_invocation",
126
+ "report_invocation",
127
+ "compare_invocation",
128
+ "SABLE_PACK_ID",
129
+ "PrivateEvaluation",
130
+ "PrivatePack",
131
+ "build_cherry_development_dataset",
132
+ "build_exact_sable_dataset",
133
+ "compare_private_rerank",
134
+ "grade_private_rerank",
135
+ "load_private_pack",
136
+ "run_private_rerank",
137
+ ]
138
+
139
+ from .metric_views import MetricCard, MetricSummary, list_metric_tracks, list_metrics, summarize_metrics
140
+ from .reviewer_audit import ReviewerAudit, audit_invocation_reviewer
141
+ from .recorded_scores import RECORDED_SCORE_SCHEMA, replay_rerank_scores
142
+
143
+ __all__ += ["MetricCard", "MetricSummary", "list_metric_tracks", "list_metrics", "summarize_metrics", "ReviewerAudit", "audit_invocation_reviewer", "RECORDED_SCORE_SCHEMA", "replay_rerank_scores"]
144
+
145
+ from .customer_rerank import build_customer_development_dataset, summarize_customer_rerank
146
+ __all__ += ["build_customer_development_dataset", "summarize_customer_rerank"]
147
+
148
+ from .retrieval import (
149
+ RETRIEVAL_PACK_ID, RETRIEVAL_INTERFACE_VERSION, RetrievalPack,
150
+ RetrievalRun, RetrievalEvaluation, load_retrieval_pack,
151
+ build_retrieval_request, capture_retrieval, run_retrieval,
152
+ verify_retrieval_run, grade_retrieval, compare_retrieval,
153
+ )
154
+ from .customer_retrieval import build_customer_retrieval_dataset
155
+
156
+ __all__ += [
157
+ "RETRIEVAL_PACK_ID", "RETRIEVAL_INTERFACE_VERSION", "RetrievalPack",
158
+ "RetrievalRun", "RetrievalEvaluation", "load_retrieval_pack",
159
+ "build_retrieval_request", "capture_retrieval", "run_retrieval",
160
+ "verify_retrieval_run", "grade_retrieval", "compare_retrieval",
161
+ "build_customer_retrieval_dataset",
162
+ ]
163
+
164
+
165
+ from ._local_eval import LocalRunRef, LocalEvaluationRef, LocalScorecard, open_local_run, open_local_evaluation
166
+ from .question_robustness import (
167
+ QUESTION_ROBUSTNESS_PACK_ID, QUESTION_ROBUSTNESS_INTERFACE, PILOT_MANIFEST_SHA256,
168
+ QuestionRobustnessPack, ObservedSearch, load_question_robustness_pack,
169
+ build_question_robustness_request, build_question_robustness_response, run_question_robustness, grade_question_robustness,
170
+ report_question_robustness, compare_question_robustness, create_query_review_template,
171
+ )
172
+ from .public_rerank import (
173
+ PUBLIC_RERANK_PACK_ID, PUBLIC_POOL_SHA256, PublicRerankPack, load_public_rerank_pack,
174
+ build_public_rerank_request, run_public_rerank, grade_public_rerank,
175
+ report_public_rerank, compare_public_rerank,
176
+ )
177
+ __all__ += [
178
+ "LocalRunRef", "LocalEvaluationRef", "LocalScorecard", "QUESTION_ROBUSTNESS_PACK_ID",
179
+ "QUESTION_ROBUSTNESS_INTERFACE", "PILOT_MANIFEST_SHA256", "QuestionRobustnessPack",
180
+ "ObservedSearch", "open_local_run", "open_local_evaluation", "build_question_robustness_response", "load_question_robustness_pack", "build_question_robustness_request",
181
+ "run_question_robustness", "grade_question_robustness", "report_question_robustness",
182
+ "compare_question_robustness", "create_query_review_template",
183
+ "PUBLIC_RERANK_PACK_ID", "PUBLIC_POOL_SHA256", "PublicRerankPack", "load_public_rerank_pack",
184
+ "build_public_rerank_request", "run_public_rerank", "grade_public_rerank",
185
+ "report_public_rerank", "compare_public_rerank",
186
+ ]
187
+
188
+ from .public_bundle import PublicRerankBundle, prepare_public_rerank_bundle, load_public_rerank_bundle
189
+ __all__ += ["PublicRerankBundle", "prepare_public_rerank_bundle", "load_public_rerank_bundle"]
190
+
191
+ # Hosted client is additive; existing local evaluation APIs remain available.
192
+ from .client import Client, ComparisonRef, Experiment, HostedClientError, HostedEvaluation, HostedResult, HostedRun
193
+ __all__ += ["Client", "ComparisonRef", "Experiment", "HostedClientError", "HostedEvaluation", "HostedResult", "HostedRun"]
194
+
195
+ from .evals import (
196
+ ArtifactBinding, ArtifactReference, EvaluationContractError,
197
+ EvaluationDefinition, EvaluationRegistry, ResolvedInvocation,
198
+ canonical_contract_json, default_evaluation_registry,
199
+ describe_eval, list_evals, resolve_eval,
200
+ )
201
+ __all__ += [
202
+ "ArtifactBinding", "ArtifactReference", "EvaluationContractError",
203
+ "EvaluationDefinition", "EvaluationRegistry", "ResolvedInvocation",
204
+ "canonical_contract_json", "default_evaluation_registry",
205
+ "describe_eval", "list_evals", "resolve_eval",
206
+ ]
207
+
208
+ # Metadata-only benchmark contracts preserve existing local/hosted evaluation APIs.
209
+ from .benchmarks import (
210
+ AssetRef, BenchmarkCase, BenchmarkContractError, BenchmarkEligibility,
211
+ BenchmarkRegistry, BenchmarkRelease, LabelCase, LabelLineage,
212
+ LabelSetRelease, ReviewReceipt, SliceParameters,
213
+ default_registry as default_benchmark_registry,
214
+ )
215
+ __all__ += [
216
+ "AssetRef", "BenchmarkCase", "BenchmarkContractError", "BenchmarkEligibility",
217
+ "BenchmarkRegistry", "BenchmarkRelease", "LabelCase", "LabelLineage",
218
+ "LabelSetRelease", "ReviewReceipt", "SliceParameters", "default_benchmark_registry",
219
+ ]
220
+
221
+ # Lazy research exports keep metadata discovery free of adapter imports.
222
+ _RESEARCH_EXPORTS = {
223
+ 'load_rag_diagnostics_dataset': 'rag_diagnostics',
224
+ 'validate_rag_diagnostics_dataset': 'rag_diagnostics',
225
+ 'rag_candidate_view': 'rag_diagnostics',
226
+ 'grade_rag_diagnostics': 'rag_diagnostics',
227
+ 'load_rag_diagnostics_demo': 'rag_diagnostics',
228
+ 'list_rag_diagnostics_metrics': 'rag_diagnostics',
229
+ 'rag_diagnostics_capabilities': 'rag_diagnostics',
230
+ 'save_rag_diagnostics_report': 'rag_diagnostics',
231
+ 'load_rag_diagnostics_report': 'rag_diagnostics',
232
+ 'render_rag_diagnostics_report': 'rag_diagnostics',
233
+ 'import_rag_diagnostics_beir': 'rag_diagnostics',
234
+ 'audit_rag_judge': 'rag_diagnostics',
235
+ 'estimate_rag_ppi_mean': 'rag_diagnostics',
236
+ 'create_rag_diagnostics_review_template': 'rag_diagnostics',
237
+ 'ReliabilityReference': "score_reliability",
238
+ 'validate_reliability_reference': "score_reliability",
239
+ 'load_reliability_reference': "score_reliability",
240
+ 'grade_score_reliability': "score_reliability",
241
+ 'compare_score_reliability': "score_reliability",
242
+ 'evaluate_fitted_calibrator': "score_reliability",
243
+ 'report_fitted_calibrator': "score_reliability",
244
+ 'make_research_candidate': 'research_candidate',
245
+ 'load_research_candidate': 'research_candidate',
246
+ 'list_candidates': 'catalog',
247
+ 'list_datasets': 'catalog',
248
+ 'get_dataset': 'catalog',
249
+ 'CandidateConfiguration': 'integration_contracts',
250
+ 'ComparisonIdentity': 'integration_contracts',
251
+ 'ScoreField': 'integration_contracts',
252
+ 'ScoreSemantics': 'integration_contracts',
253
+ 'create_model_scorer': 'model_adapters',
254
+ 'get_model_spec': 'model_adapters',
255
+ 'preflight_model': 'model_adapters',
256
+ 'create_recorded_scorer': 'recorded_scores',
257
+ 'import_recorded_scores': 'recorded_scores',
258
+ 'FrozenFittedState': 'rerank_family_contracts',
259
+ 'load_fitted_state': 'rerank_family_contracts',
260
+ 'create_statistical_scorer': 'statistical_rerank',
261
+ 'score_signals': 'statistical_rerank',
262
+ 'create_learned_scorer': 'learned_rerank',
263
+ 'score_learned_signals': 'learned_rerank',
264
+ 'RecordedHybridSignals': 'retrieval_candidates',
265
+ 'make_retrieval_candidate': 'retrieval_candidates',
266
+ 'retrieval_configuration': 'retrieval_candidates',
267
+ 'import_hybrid_recordings': 'retrieval_recordings',
268
+ 'list_public_pool_releases': 'public_rerank',
269
+ 'load_public_pool_release': 'public_rerank',
270
+ 'run_pipeline': 'pipeline',
271
+ 'grade_pipeline': 'pipeline',
272
+ 'report_pipeline': 'pipeline',
273
+ 'compare_pipeline': 'pipeline',
274
+ 'run_full_rag': 'full_rag',
275
+ 'grade_full_rag': 'full_rag',
276
+ 'report_full_rag': 'full_rag',
277
+ 'compare_full_rag': 'full_rag',
278
+ 'compare_full_rag_contexts': 'full_rag',
279
+ 'create_full_rag_review_template': 'full_rag',
280
+ 'workbench_track_runners': 'workbench_tracks',
281
+ 'audit_legacy_cherry_full_rag': 'legacy_full_rag',
282
+ }
283
+ __all__ += list(_RESEARCH_EXPORTS)
284
+
285
+ # These native modules are already loaded above. The aliases preserve their
286
+ # exact grading-pass classes; a grading pass is not an individual assessment.
287
+ GradingPassRef = EvaluationRef
288
+ LocalGradingPassRef = LocalEvaluationRef
289
+ InvocationGradingPassRef = InvocationEvaluationRef
290
+ __all__ += ["GradingPassRef", "LocalGradingPassRef", "InvocationGradingPassRef"]
291
+
292
+ # Explicit lazy aliases keep discovery independent of extension, backend, and
293
+ # optional adapter imports. Each tuple names the authoritative module/object;
294
+ # resolving an export never registers or executes a candidate or evaluator.
295
+ _WORKFLOW_EXPORTS = {
296
+ "ReportSnapshot": ("workflow_decisions", "ReportSnapshot"),
297
+ "DecisionContext": ("workflow_decisions", "DecisionContext"),
298
+ "DecisionOutcome": ("workflow_decisions", "DecisionOutcome"),
299
+ "DecisionPolicyError": ("workflow_decisions", "DecisionPolicyError"),
300
+ "Verdict": ("workflow_decisions", "Verdict"),
301
+ "decide_report": ("workflow_decisions", "decide_report"),
302
+ "PrEvaluationRequest": ("pr_evaluations", "PrEvaluationRequest"),
303
+ "PrEvaluationResult": ("pr_evaluations", "PrEvaluationResult"),
304
+ "PrEvaluation": ("_pr_client", "PrEvaluation"),
305
+ "PrEvaluationError": ("_pr_client", "PrEvaluationError"),
306
+ "ProjectionPage": ("analytical_views", "ProjectionPage"),
307
+ "ProjectionRow": ("analytical_views", "ProjectionRow"),
308
+ "ProjectionEventRef": ("analytical_views", "ProjectionEventRef"),
309
+ "ProjectionResult": ("analytical_views", "ProjectionResult"),
310
+ "ProjectionSelection": ("analytical_views", "ProjectionSelection"),
311
+ "ProjectionProof": ("analytical_views", "ProjectionProof"),
312
+ "EvaluationBoardPage": ("analytical_views", "EvaluationBoardPage"),
313
+ "BoardEntry": ("analytical_views", "BoardEntry"),
314
+ "BoardRanking": ("analytical_views", "BoardRanking"),
315
+ "BoardCoverage": ("analytical_views", "BoardCoverage"),
316
+ "ProjectionCoverage": ("_analytical_values", "ProjectionCoverage"),
317
+ "ReportProjectionSummary": ("_analytical_values", "ReportProjectionSummary"),
318
+ "MetricProjectionSummary": ("_analytical_values", "MetricProjectionSummary"),
319
+ "ComparisonProjectionSummary": ("_analytical_values", "ComparisonProjectionSummary"),
320
+ "AuditProjectionSummary": ("_analytical_values", "AuditProjectionSummary"),
321
+ "ClickHouseReader": ("clickhouse_reader", "ClickHouseReader"),
322
+ "ReadOnlyClickHouseConfig": ("clickhouse_reader", "ReadOnlyClickHouseConfig"),
323
+ "ReadOnlyClickHouseError": ("clickhouse_reader", "ReadOnlyClickHouseError"),
324
+ "AnalyticalReadError": ("_analytical_client", "AnalyticalReadError"),
325
+ "BankReleaseDeclaration": ("audit_requests", "BankReleaseDeclaration"),
326
+ "ReviewAdjudication": ("audit_requests", "ReviewAdjudication"),
327
+ "BankReleaseTransition": ("audit_requests", "BankReleaseTransition"),
328
+ "ReviewTargetPage": ("audit_access", "ReviewTargetPage"),
329
+ "ReviewHistoryPage": ("audit_access", "ReviewHistoryPage"),
330
+ "TargetReviewPage": ("audit_access", "TargetReviewPage"),
331
+ "ReviewOperationReceipt": ("audit_access", "ReviewOperationReceipt"),
332
+ "AuditRequestError": ("_audit_client", "AuditRequestError"),
333
+ "ProgressView": ("progress", "ProgressView"),
334
+ "Diagnostic": ("diagnostics", "Diagnostic"),
335
+ "explain_error": ("diagnostics", "explain_error"),
336
+ "CallableCandidate": ("authoring", "CallableCandidate"),
337
+ "evaluation_suite": ("authoring", "evaluation_suite"),
338
+ "ComparisonPair": ("comparison_views", "ComparisonPair"),
339
+ "ComparisonMetric": ("comparison_views", "ComparisonMetric"),
340
+ "ComparisonView": ("comparison_views", "ComparisonView"),
341
+ "BankRelease": ("audit_contracts", "BankRelease"),
342
+ "ReviewTarget": ("audit_contracts", "ReviewTarget"),
343
+ "ReviewContribution": ("audit_contracts", "ReviewContribution"),
344
+ "ReviewEvent": ("audit_contracts", "ReviewEvent"),
345
+ "InputRequirement": ("evaluator_bindings", "InputRequirement"),
346
+ "EvaluatorBinding": ("evaluator_bindings", "EvaluatorBinding"),
347
+ "ReportAssessment": ("evaluator_bindings", "ReportAssessment"),
348
+ "VersionedIdentity": ("evaluation_protocols", "VersionedIdentity"),
349
+ "EvaluationProtocol": ("evaluation_protocols", "EvaluationProtocol"),
350
+ "ExecutionPath": ("execution_capabilities", "ExecutionPath"),
351
+ "validate_execution_requirement": ("execution_capabilities", "validate_execution_requirement"),
352
+ "AssessmentSelector": ("assessment_selection", "AssessmentSelector"),
353
+ "Suite": ("workflows", "Suite"),
354
+ "Plan": ("workflows", "Plan"),
355
+ "ResolvedPlan": ("workflows", "ResolvedPlan"),
356
+ "Admission": ("workflows", "Admission"),
357
+ "Run": ("workflows", "Run"),
358
+ "Report": ("workflows", "Report"),
359
+ "Submission": ("workflows", "Submission"),
360
+ "GradingPass": ("workflows", "GradingPass"),
361
+ "WorkflowTimeoutError": ("workflows", "WorkflowTimeoutError"),
362
+ "PendingWorkError": ("workflows", "PendingWorkError"),
363
+ "GradingRequestError": ("workflows", "GradingRequestError"),
364
+ "SubmissionIntent": ("workflow_async", "SubmissionIntent"),
365
+ "SubmissionSnapshot": ("workflow_async", "SubmissionSnapshot"),
366
+ "GradingSnapshot": ("workflow_async", "GradingSnapshot"),
367
+ "SubmissionError": ("workflow_async", "SubmissionError"),
368
+ "AsyncWorkflowBackend": ("workflow_async", "AsyncWorkflowBackend"),
369
+ "StageDefinition": ("stage_contracts", "StageDefinition"),
370
+ "StageReplacement": ("stage_contracts", "StageReplacement"),
371
+ "StageSelector": ("stage_contracts", "StageSelector"),
372
+ "StageEvidence": ("stage_contracts", "StageEvidence"),
373
+ "StageContractError": ("stage_contracts", "StageContractError"),
374
+ "StageEvidenceBackend": ("stage_contracts", "StageEvidenceBackend"),
375
+ "PackagedExtension": ("workflow_extensions", "PackagedExtension"),
376
+ "ExtensionError": ("workflow_extensions", "ExtensionError"),
377
+ "discover_extensions": ("workflow_extensions", "discover_extensions"),
378
+ "enable_extension": ("workflow_extensions", "enable_extension"),
379
+ "PullRequestCandidate": ("hosted_workflow", "PullRequestCandidate"),
380
+ "HostedWorkflowBackend": ("hosted_workflow", "HostedWorkflowBackend"),
381
+ "HostedComparison": ("hosted_workflow", "HostedComparison"),
382
+ "build_hosted_registry": ("hosted_workflow", "build_hosted_registry"),
383
+ "PipelineSource": ("pipeline_workflow", "PipelineSource"),
384
+ "PipelineCandidate": ("pipeline_workflow", "PipelineCandidate"),
385
+ "PipelineBackend": ("pipeline_workflow", "PipelineBackend"),
386
+ "build_pipeline_registry": ("pipeline_workflow", "build_pipeline_registry"),
387
+ "register_pipeline_backend": ("pipeline_workflow", "register_pipeline_backend"),
388
+ "RunLimits": ("lifecycle", "RunLimits"),
389
+ "RunPolicy": ("lifecycle", "RunPolicy"),
390
+ "GradingPolicy": ("lifecycle", "GradingPolicy"),
391
+ "CancellationToken": ("lifecycle", "CancellationToken"),
392
+ "DriverDescriptor": ("lifecycle", "DriverDescriptor"),
393
+ "DriverContext": ("lifecycle", "DriverContext"),
394
+ "AttemptOutput": ("lifecycle", "AttemptOutput"),
395
+ "DriverFailure": ("lifecycle", "DriverFailure"),
396
+ "LifecycleDriver": ("lifecycle", "LifecycleDriver"),
397
+ "LifecycleRunRef": ("lifecycle", "LifecycleRunRef"),
398
+ "LifecycleGradingRef": ("lifecycle", "LifecycleGradingRef"),
399
+ "GradingContext": ("lifecycle", "GradingContext"),
400
+ "LifecycleError": ("lifecycle", "LifecycleError"),
401
+ "execute_lifecycle": ("lifecycle", "execute_lifecycle"),
402
+ "assess_lifecycle": ("lifecycle", "assess_lifecycle"),
403
+ "open_lifecycle_run": ("lifecycle", "open_lifecycle_run"),
404
+ "verify_lifecycle_run": ("lifecycle", "verify_lifecycle_run"),
405
+ "verify_lifecycle_grading": ("lifecycle", "verify_lifecycle_grading"),
406
+ "LifecycleBackend": ("lifecycle_workflow", "LifecycleBackend"),
407
+ "LifecycleProjection": ("lifecycle_workflow", "LifecycleProjection"),
408
+ "IntegratedCandidate": ("integrated_rag", "IntegratedCandidate"),
409
+ "IntegratedDriver": ("integrated_rag", "IntegratedDriver"),
410
+ "run_integrated": ("integrated_rag", "run_integrated"),
411
+ "IntegratedBackend": ("integrated_workflow", "IntegratedBackend"),
412
+ "build_integrated_registry": ("integrated_workflow", "build_integrated_registry"),
413
+ "WorkflowError": ("workflows", "WorkflowError"),
414
+ "CaseView": ("assessment_contracts", "CaseView"),
415
+ "EvidenceView": ("assessment_contracts", "EvidenceView"),
416
+ "Assessment": ("assessment_contracts", "Assessment"),
417
+ "EvaluatorContext": ("assessment_contracts", "EvaluatorContext"),
418
+ "AssessmentContractError": ("assessment_contracts", "AssessmentContractError"),
419
+ "PayloadSchema": ("workflow_contracts", "PayloadSchema"),
420
+ "DatasetDefinition": ("workflow_contracts", "DatasetDefinition"),
421
+ "CaseProvider": ("workflow_contracts", "CaseProvider"),
422
+ "Dataset": ("workflow_contracts", "Dataset"),
423
+ "Criterion": ("workflow_contracts", "Criterion"),
424
+ "EvaluatorDefinition": ("workflow_contracts", "EvaluatorDefinition"),
425
+ "MetricSpec": ("workflow_contracts", "MetricSpec"),
426
+ "BackendDescriptor": ("workflow_contracts", "BackendDescriptor"),
427
+ "SuiteDefinition": ("workflow_contracts", "SuiteDefinition"),
428
+ "PlanBinding": ("workflow_contracts", "PlanBinding"),
429
+ "ResolvedBinding": ("workflow_contracts", "ResolvedBinding"),
430
+ "AdmissionBinding": ("workflow_contracts", "AdmissionBinding"),
431
+ "ReferenceBinding": ("workflow_contracts", "ReferenceBinding"),
432
+ "WorkflowBackend": ("workflow_contracts", "WorkflowBackend"),
433
+ "WorkflowContractError": ("workflow_contracts", "WorkflowContractError"),
434
+ "ReportProjection": ("workflow_contracts", "ReportProjection"),
435
+ "contract_digest": ("workflow_contracts", "contract_digest"),
436
+ "WorkflowRegistry": ("workflow_registry", "WorkflowRegistry"),
437
+ "WorkflowRegistryError": ("workflow_registry", "WorkflowRegistryError"),
438
+ "default_workflow_registry": ("workflow_defaults", "default_workflow_registry"),
439
+ "HostedSubmission": ("client", "HostedSubmission"),
440
+ "HostedGradingPass": ("client", "HostedGradingPass"),
441
+ "HostedReport": ("client", "HostedReport"),
442
+ "BatchConfiguration": ("components", "BatchConfiguration"),
443
+ "BatchAlternative": ("components", "BatchAlternative"),
444
+ "BatchPlan": ("components", "BatchPlan"),
445
+ "validate_batch_manifest": ("components", "validate_batch_manifest"),
446
+ "load_batch_manifest": ("components", "load_batch_manifest"),
447
+ "validate_batch": ("workbench", "validate_batch"),
448
+ "run_batch": ("workbench", "run_batch"),
449
+ "TrackGradingPassRef": ("integration_contracts", "TrackEvaluationRef"),
450
+ }
451
+ __all__ += list(_WORKFLOW_EXPORTS)
452
+
453
+
454
+ def __getattr__(name):
455
+ binding = _WORKFLOW_EXPORTS.get(name)
456
+ if binding is None:
457
+ module_name = _RESEARCH_EXPORTS.get(name)
458
+ if module_name is None:
459
+ raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
460
+ binding = (module_name, name)
461
+ from importlib import import_module
462
+ module_name, object_name = binding
463
+ value = getattr(import_module("." + module_name, __name__), object_name)
464
+ globals()[name] = value
465
+ return value
466
+
467
+
468
+ def __dir__():
469
+ return sorted(set(globals()) | set(_RESEARCH_EXPORTS) | set(_WORKFLOW_EXPORTS))