quantbt-engine 1.1.0__tar.gz → 1.2.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 (601) hide show
  1. quantbt_engine-1.2.0/CHANGELOG.md +223 -0
  2. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/MANIFEST.in +4 -0
  3. quantbt_engine-1.2.0/PKG-INFO +892 -0
  4. quantbt_engine-1.2.0/README.md +838 -0
  5. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/pyproject.toml +4 -2
  6. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/__init__.py +190 -1
  7. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/api/event_driven.py +51 -0
  8. quantbt_engine-1.2.0/src/quantbt/backends/__init__.py +124 -0
  9. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/backends/_native_event_rust.py +1532 -84
  10. quantbt_engine-1.2.0/src/quantbt/backends/native_audit_projection.py +187 -0
  11. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/backends/native_event.py +1562 -208
  12. quantbt_engine-1.2.0/src/quantbt/backends/native_intrabar_rust.py +600 -0
  13. quantbt_engine-1.2.0/src/quantbt/backends/native_metric_support.py +42 -0
  14. quantbt_engine-1.2.0/src/quantbt/backends/native_option.py +956 -0
  15. quantbt_engine-1.2.0/src/quantbt/backends/native_package_arbitrage.py +274 -0
  16. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/backends/native_portfolio.py +61 -229
  17. quantbt_engine-1.2.0/src/quantbt/backends/native_portfolio_package.py +913 -0
  18. quantbt_engine-1.2.0/src/quantbt/backends/native_prepared_evaluation.py +999 -0
  19. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/backends/native_vectorized.py +546 -86
  20. quantbt_engine-1.2.0/src/quantbt/backends/native_wfo.py +1000 -0
  21. quantbt_engine-1.2.0/src/quantbt/backends/native_wfo_public.py +731 -0
  22. quantbt_engine-1.2.0/src/quantbt/backends/native_wfo_support.py +239 -0
  23. quantbt_engine-1.2.0/src/quantbt/backends/native_wfo_target.py +579 -0
  24. quantbt_engine-1.2.0/src/quantbt/backends/option_validation.py +110 -0
  25. quantbt_engine-1.2.0/src/quantbt/backends/portfolio_reports.py +206 -0
  26. quantbt_engine-1.2.0/src/quantbt/backends/reactive_wfo.py +881 -0
  27. quantbt_engine-1.2.0/src/quantbt/backends/reactive_wfo_batch.py +323 -0
  28. quantbt_engine-1.2.0/src/quantbt/backends/reactive_wfo_batch_selection.py +516 -0
  29. quantbt_engine-1.2.0/src/quantbt/backends/reactive_wfo_preparation.py +127 -0
  30. quantbt_engine-1.2.0/src/quantbt/backends/reactive_wfo_sampling.py +199 -0
  31. quantbt_engine-1.2.0/src/quantbt/backends/reactive_wfo_support.py +671 -0
  32. quantbt_engine-1.2.0/src/quantbt/backends/reactive_wfo_workers.py +567 -0
  33. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/backtester.py +54 -16
  34. quantbt_engine-1.2.0/src/quantbt/benchmarks/README.md +118 -0
  35. quantbt_engine-1.2.0/src/quantbt/benchmarks/phase7_thresholds.json +45 -0
  36. quantbt_engine-1.2.0/src/quantbt/benchmarks/v1_1_measurement.py +198 -0
  37. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/__init__.py +143 -0
  38. quantbt_engine-1.2.0/src/quantbt/core/_trace_columns.py +141 -0
  39. quantbt_engine-1.2.0/src/quantbt/core/account_metadata.py +17 -0
  40. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/accounting_contracts.py +14 -9
  41. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/constraints.py +6 -3
  42. quantbt_engine-1.2.0/src/quantbt/core/delivery_lifecycle.py +74 -0
  43. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/engine.py +112 -8
  44. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/event.py +47 -2
  45. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/execution_contract.py +20 -0
  46. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/execution_trace.py +104 -50
  47. quantbt_engine-1.2.0/src/quantbt/core/fill_replay_v2.py +599 -0
  48. quantbt_engine-1.2.0/src/quantbt/core/generated_product_contracts.py +33 -0
  49. quantbt_engine-1.2.0/src/quantbt/core/instrument_registry_v2.py +434 -0
  50. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/intrabar_kernel.py +4 -0
  51. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/intrabar_reference.py +2 -0
  52. quantbt_engine-1.2.0/src/quantbt/core/market_calendar_v2.py +743 -0
  53. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/market_tape.py +64 -29
  54. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/native_event_promotion.py +111 -1
  55. quantbt_engine-1.2.0/src/quantbt/core/native_result_v2.py +293 -0
  56. quantbt_engine-1.2.0/src/quantbt/core/package_execution_v2.py +647 -0
  57. quantbt_engine-1.2.0/src/quantbt/core/performance_contracts.py +452 -0
  58. quantbt_engine-1.2.0/src/quantbt/core/portfolio_validation.py +26 -0
  59. quantbt_engine-1.2.0/src/quantbt/core/prepared_execution_v2.py +94 -0
  60. quantbt_engine-1.2.0/src/quantbt/core/preprocessor.py +378 -0
  61. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/reactive.py +74 -2
  62. quantbt_engine-1.2.0/src/quantbt/core/research_audit.py +735 -0
  63. quantbt_engine-1.2.0/src/quantbt/core/research_audit_artifact.py +958 -0
  64. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/results.py +79 -9
  65. quantbt_engine-1.2.0/src/quantbt/core/runtime_governance.py +408 -0
  66. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/schema.py +11 -10
  67. quantbt_engine-1.2.0/src/quantbt/core/target_intents.py +169 -0
  68. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/types.py +20 -3
  69. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/vectorized.py +54 -4
  70. quantbt_engine-1.2.0/src/quantbt/core/wfo_contracts.py +351 -0
  71. quantbt_engine-1.2.0/src/quantbt/core/wfo_evaluation.py +661 -0
  72. quantbt_engine-1.2.0/src/quantbt/core/wfo_failures.py +44 -0
  73. quantbt_engine-1.2.0/src/quantbt/core/wfo_preparation.py +212 -0
  74. quantbt_engine-1.2.0/src/quantbt/diagnostics/__init__.py +32 -0
  75. quantbt_engine-1.2.0/src/quantbt/diagnostics/access.py +4 -0
  76. quantbt_engine-1.2.0/src/quantbt/diagnostics/account_profile.py +70 -0
  77. quantbt_engine-1.2.0/src/quantbt/diagnostics/analysis_profile.py +39 -0
  78. quantbt_engine-1.2.0/src/quantbt/diagnostics/archive.py +219 -0
  79. quantbt_engine-1.2.0/src/quantbt/diagnostics/archive_contracts.py +276 -0
  80. quantbt_engine-1.2.0/src/quantbt/diagnostics/assessment.py +235 -0
  81. quantbt_engine-1.2.0/src/quantbt/diagnostics/calibration/__init__.py +26 -0
  82. quantbt_engine-1.2.0/src/quantbt/diagnostics/calibration/donor_binding.py +44 -0
  83. quantbt_engine-1.2.0/src/quantbt/diagnostics/calibration/donors.py +352 -0
  84. quantbt_engine-1.2.0/src/quantbt/diagnostics/calibration/pack.py +283 -0
  85. quantbt_engine-1.2.0/src/quantbt/diagnostics/calibration/reconcile.py +175 -0
  86. quantbt_engine-1.2.0/src/quantbt/diagnostics/calibration/render.py +109 -0
  87. quantbt_engine-1.2.0/src/quantbt/diagnostics/calibration/verification.py +85 -0
  88. quantbt_engine-1.2.0/src/quantbt/diagnostics/calibration/worksheet.py +314 -0
  89. quantbt_engine-1.2.0/src/quantbt/diagnostics/contracts.py +140 -0
  90. quantbt_engine-1.2.0/src/quantbt/diagnostics/decisions/__init__.py +8 -0
  91. quantbt_engine-1.2.0/src/quantbt/diagnostics/decisions/adapters.py +62 -0
  92. quantbt_engine-1.2.0/src/quantbt/diagnostics/decisions/completed.py +57 -0
  93. quantbt_engine-1.2.0/src/quantbt/diagnostics/decisions/contracts.py +219 -0
  94. quantbt_engine-1.2.0/src/quantbt/diagnostics/decisions/effects.py +80 -0
  95. quantbt_engine-1.2.0/src/quantbt/diagnostics/decisions/reduction.py +228 -0
  96. quantbt_engine-1.2.0/src/quantbt/diagnostics/decisions/render.py +211 -0
  97. quantbt_engine-1.2.0/src/quantbt/diagnostics/decisions/report.py +291 -0
  98. quantbt_engine-1.2.0/src/quantbt/diagnostics/decisions/snapshots.py +106 -0
  99. quantbt_engine-1.2.0/src/quantbt/diagnostics/decisions/validation.py +94 -0
  100. quantbt_engine-1.2.0/src/quantbt/diagnostics/environments/__init__.py +7 -0
  101. quantbt_engine-1.2.0/src/quantbt/diagnostics/environments/attribution.py +141 -0
  102. quantbt_engine-1.2.0/src/quantbt/diagnostics/environments/manifests.py +119 -0
  103. quantbt_engine-1.2.0/src/quantbt/diagnostics/evidence.py +150 -0
  104. quantbt_engine-1.2.0/src/quantbt/diagnostics/geometry/__init__.py +20 -0
  105. quantbt_engine-1.2.0/src/quantbt/diagnostics/geometry/basins.py +94 -0
  106. quantbt_engine-1.2.0/src/quantbt/diagnostics/geometry/design.py +144 -0
  107. quantbt_engine-1.2.0/src/quantbt/diagnostics/geometry/estimators.py +396 -0
  108. quantbt_engine-1.2.0/src/quantbt/diagnostics/geometry/finite_panel.py +259 -0
  109. quantbt_engine-1.2.0/src/quantbt/diagnostics/geometry/neighborhoods.py +128 -0
  110. quantbt_engine-1.2.0/src/quantbt/diagnostics/geometry/schema.py +4 -0
  111. quantbt_engine-1.2.0/src/quantbt/diagnostics/geometry/sensitivity.py +66 -0
  112. quantbt_engine-1.2.0/src/quantbt/diagnostics/geometry/structured.py +270 -0
  113. quantbt_engine-1.2.0/src/quantbt/diagnostics/identity.py +4 -0
  114. quantbt_engine-1.2.0/src/quantbt/diagnostics/interpretation.py +111 -0
  115. quantbt_engine-1.2.0/src/quantbt/diagnostics/planner.py +50 -0
  116. quantbt_engine-1.2.0/src/quantbt/diagnostics/report.py +143 -0
  117. quantbt_engine-1.2.0/src/quantbt/diagnostics/research_contracts.py +143 -0
  118. quantbt_engine-1.2.0/src/quantbt/diagnostics/research_render.py +76 -0
  119. quantbt_engine-1.2.0/src/quantbt/diagnostics/researcher.py +84 -0
  120. quantbt_engine-1.2.0/src/quantbt/diagnostics/reuse.py +101 -0
  121. quantbt_engine-1.2.0/src/quantbt/diagnostics/search_profile.py +76 -0
  122. quantbt_engine-1.2.0/src/quantbt/diagnostics/winner/__init__.py +8 -0
  123. quantbt_engine-1.2.0/src/quantbt/diagnostics/winner/accounts.py +238 -0
  124. quantbt_engine-1.2.0/src/quantbt/diagnostics/winner/contracts.py +182 -0
  125. quantbt_engine-1.2.0/src/quantbt/diagnostics/winner/explanation.py +92 -0
  126. quantbt_engine-1.2.0/src/quantbt/diagnostics/winner/render.py +53 -0
  127. quantbt_engine-1.2.0/src/quantbt/diagnostics/winner/report.py +231 -0
  128. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/endpoint.py +1728 -72
  129. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/engine_spi/native_event.py +107 -67
  130. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/engines.py +100 -14
  131. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/metrics/performance.py +97 -20
  132. quantbt_engine-1.2.0/src/quantbt/metrics/report_contracts.py +209 -0
  133. quantbt_engine-1.2.0/src/quantbt/metrics/reporting/__init__.py +7 -0
  134. quantbt_engine-1.2.0/src/quantbt/metrics/reporting/account.py +172 -0
  135. quantbt_engine-1.2.0/src/quantbt/metrics/reporting/adapters.py +102 -0
  136. quantbt_engine-1.2.0/src/quantbt/metrics/reporting/cache.py +80 -0
  137. quantbt_engine-1.2.0/src/quantbt/metrics/reporting/drawdown.py +147 -0
  138. quantbt_engine-1.2.0/src/quantbt/metrics/reporting/execution.py +118 -0
  139. quantbt_engine-1.2.0/src/quantbt/metrics/reporting/inputs.py +190 -0
  140. quantbt_engine-1.2.0/src/quantbt/metrics/reporting/ledger.py +263 -0
  141. quantbt_engine-1.2.0/src/quantbt/metrics/reporting/ledger_inputs.py +118 -0
  142. quantbt_engine-1.2.0/src/quantbt/metrics/reporting/plot.py +48 -0
  143. quantbt_engine-1.2.0/src/quantbt/metrics/reporting/public.py +122 -0
  144. quantbt_engine-1.2.0/src/quantbt/metrics/reporting/request.py +60 -0
  145. quantbt_engine-1.2.0/src/quantbt/metrics/reporting/results.py +108 -0
  146. quantbt_engine-1.2.0/src/quantbt/metrics/reporting/snapshots.py +93 -0
  147. quantbt_engine-1.2.0/src/quantbt/mode5/__init__.py +10 -0
  148. quantbt_engine-1.2.0/src/quantbt/mode5/artifacts.py +21 -0
  149. quantbt_engine-1.2.0/src/quantbt/mode5/continuous.py +515 -0
  150. quantbt_engine-1.2.0/src/quantbt/mode5/continuous_binding.py +119 -0
  151. quantbt_engine-1.2.0/src/quantbt/mode5/continuous_eligibility.py +47 -0
  152. quantbt_engine-1.2.0/src/quantbt/mode5/continuous_producer.py +71 -0
  153. quantbt_engine-1.2.0/src/quantbt/mode5/continuous_retention.py +25 -0
  154. quantbt_engine-1.2.0/src/quantbt/mode5/continuous_runtime.py +277 -0
  155. quantbt_engine-1.2.0/src/quantbt/mode5/continuous_scope.py +167 -0
  156. quantbt_engine-1.2.0/src/quantbt/mode5/decision_report.py +447 -0
  157. quantbt_engine-1.2.0/src/quantbt/mode5/diagnostics/__init__.py +1 -0
  158. quantbt_engine-1.2.0/src/quantbt/mode5/diagnostics/access.py +58 -0
  159. quantbt_engine-1.2.0/src/quantbt/mode5/diagnostics/full_development.py +113 -0
  160. quantbt_engine-1.2.0/src/quantbt/mode5/diagnostics/identity.py +73 -0
  161. quantbt_engine-1.2.0/src/quantbt/mode5/dossier/__init__.py +1 -0
  162. quantbt_engine-1.2.0/src/quantbt/mode5/dossier/dossier.py +129 -0
  163. quantbt_engine-1.2.0/src/quantbt/mode5/dossier/evidence.py +110 -0
  164. quantbt_engine-1.2.0/src/quantbt/mode5/dossier/governance.py +110 -0
  165. quantbt_engine-1.2.0/src/quantbt/mode5/dossier/plans.py +90 -0
  166. quantbt_engine-1.2.0/src/quantbt/mode5/dossier/records.py +44 -0
  167. quantbt_engine-1.2.0/src/quantbt/mode5/dossier/researcher_report.py +340 -0
  168. quantbt_engine-1.2.0/src/quantbt/mode5/evaluation.py +100 -0
  169. quantbt_engine-1.2.0/src/quantbt/mode5/event_producer.py +225 -0
  170. quantbt_engine-1.2.0/src/quantbt/mode5/geometry/__init__.py +1 -0
  171. quantbt_engine-1.2.0/src/quantbt/mode5/geometry/schema.py +169 -0
  172. quantbt_engine-1.2.0/src/quantbt/mode5/integration_contracts.py +209 -0
  173. quantbt_engine-1.2.0/src/quantbt/mode5/runtime.py +256 -0
  174. quantbt_engine-1.2.0/src/quantbt/mode5/selection/__init__.py +11 -0
  175. quantbt_engine-1.2.0/src/quantbt/mode5/selection/advisory.py +59 -0
  176. quantbt_engine-1.2.0/src/quantbt/mode5/selection/contracts.py +316 -0
  177. quantbt_engine-1.2.0/src/quantbt/mode5/selection/geometry.py +19 -0
  178. quantbt_engine-1.2.0/src/quantbt/mode5/selection/migration.py +59 -0
  179. quantbt_engine-1.2.0/src/quantbt/mode5/selection/objectives.py +154 -0
  180. quantbt_engine-1.2.0/src/quantbt/mode5/selection/pareto.py +113 -0
  181. quantbt_engine-1.2.0/src/quantbt/mode5/selection/registry.py +26 -0
  182. quantbt_engine-1.2.0/src/quantbt/mode5/selection/selectors.py +60 -0
  183. quantbt_engine-1.2.0/src/quantbt/mode5/statistics/__init__.py +10 -0
  184. quantbt_engine-1.2.0/src/quantbt/mode5/statistics/analysis.py +137 -0
  185. quantbt_engine-1.2.0/src/quantbt/mode5/statistics/contracts.py +83 -0
  186. quantbt_engine-1.2.0/src/quantbt/mode5/statistics/dependence.py +85 -0
  187. quantbt_engine-1.2.0/src/quantbt/mode5/statistics/moments.py +135 -0
  188. quantbt_engine-1.2.0/src/quantbt/mode5/statistics/tails.py +151 -0
  189. quantbt_engine-1.2.0/src/quantbt/mode5/statistics/uncertainty.py +65 -0
  190. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/__init__.py +7 -0
  191. quantbt_engine-1.2.0/src/quantbt/optimization/bootstrap.py +44 -0
  192. quantbt_engine-1.2.0/src/quantbt/optimization/conditional_sobol.py +142 -0
  193. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/config.py +19 -0
  194. quantbt_engine-1.2.0/src/quantbt/optimization/continuation/__init__.py +6 -0
  195. quantbt_engine-1.2.0/src/quantbt/optimization/continuation/contract.py +167 -0
  196. quantbt_engine-1.2.0/src/quantbt/optimization/continuation/session.py +239 -0
  197. quantbt_engine-1.2.0/src/quantbt/optimization/continuation/storage.py +64 -0
  198. quantbt_engine-1.2.0/src/quantbt/optimization/exact_is_reuse.py +37 -0
  199. quantbt_engine-1.2.0/src/quantbt/optimization/execution_trial_output.py +19 -0
  200. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/__init__.py +25 -0
  201. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/artifacts.py +105 -0
  202. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/capture.py +161 -0
  203. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/common.py +104 -0
  204. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/config.py +173 -0
  205. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/descriptors.py +341 -0
  206. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/domains/__init__.py +9 -0
  207. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/domains/base.py +127 -0
  208. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/domains/contracts.py +183 -0
  209. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/domains/execution.py +101 -0
  210. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/domains/package.py +51 -0
  211. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/domains/package_contract.py +124 -0
  212. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/domains/portfolio.py +98 -0
  213. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/domains/portfolio_contract.py +117 -0
  214. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/domains/portfolio_witness.py +91 -0
  215. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/domains/reactive.py +62 -0
  216. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/domains/registry.py +101 -0
  217. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/domains/scalar.py +106 -0
  218. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/domains/scalar_contract.py +93 -0
  219. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/handoff.py +251 -0
  220. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/history.py +400 -0
  221. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/memo.py +34 -0
  222. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/model.py +450 -0
  223. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/nested.py +142 -0
  224. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/numerics.py +385 -0
  225. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/observer.py +365 -0
  226. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/panel.py +121 -0
  227. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/persistence.py +229 -0
  228. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/prepared.py +95 -0
  229. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/reactive.py +99 -0
  230. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/reactive_batch_witness.py +34 -0
  231. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/reactive_execution.py +100 -0
  232. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/reactive_transport.py +127 -0
  233. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/records.py +356 -0
  234. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/runtime.py +505 -0
  235. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/selection.py +468 -0
  236. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/telemetry.py +47 -0
  237. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/witness.py +131 -0
  238. quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/work_cache.py +63 -0
  239. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/objectives.py +16 -4
  240. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/optimizer.py +15 -4
  241. quantbt_engine-1.2.0/src/quantbt/optimization/parameter_space.py +284 -0
  242. quantbt_engine-1.2.0/src/quantbt/optimization/representatives.py +137 -0
  243. quantbt_engine-1.2.0/src/quantbt/optimization/sampler_space.py +197 -0
  244. quantbt_engine-1.2.0/src/quantbt/optimization/samplers.py +150 -0
  245. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/space.py +16 -0
  246. quantbt_engine-1.2.0/src/quantbt/optimization/study_schedule.py +56 -0
  247. quantbt_engine-1.2.0/src/quantbt/optimization/wfo_study.py +402 -0
  248. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/__init__.py +16 -0
  249. quantbt_engine-1.2.0/src/quantbt/options/authority.py +275 -0
  250. quantbt_engine-1.2.0/src/quantbt/options/capabilities.py +243 -0
  251. quantbt_engine-1.2.0/src/quantbt/options/endpoint_validation.py +27 -0
  252. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/execution.py +53 -17
  253. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/fees.py +15 -9
  254. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/hedging.py +11 -0
  255. quantbt_engine-1.2.0/src/quantbt/options/ledger.py +332 -0
  256. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/lifecycle.py +5 -4
  257. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/margin.py +76 -33
  258. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/packages.py +8 -8
  259. quantbt_engine-1.2.0/src/quantbt/options/reporting.py +716 -0
  260. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/schema.py +4 -6
  261. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/strategy.py +7 -0
  262. quantbt_engine-1.2.0/src/quantbt/options/validation.py +39 -0
  263. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/portfolio.py +138 -63
  264. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/preparation/native_event.py +107 -46
  265. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/preparation/native_execution.py +190 -2
  266. quantbt_engine-1.2.0/src/quantbt/preparation/native_intrabar_requests.py +292 -0
  267. quantbt_engine-1.2.0/src/quantbt/preparation/native_package_requests.py +475 -0
  268. quantbt_engine-1.2.0/src/quantbt/preparation/native_target_requests.py +341 -0
  269. quantbt_engine-1.2.0/src/quantbt/reporting/executed_attribution.py +30 -0
  270. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/reporting/portfolio_audit.py +15 -7
  271. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/sizing/fast.py +13 -4
  272. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/sizing/modes.py +35 -11
  273. quantbt_engine-1.2.0/src/quantbt/strategies/__init__.py +96 -0
  274. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/strategies/context.py +15 -0
  275. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/strategies/driver.py +126 -12
  276. quantbt_engine-1.2.0/src/quantbt/strategies/reactive_protocols.py +482 -0
  277. quantbt_engine-1.2.0/src/quantbt/strategies/reactive_wfo.py +484 -0
  278. quantbt_engine-1.2.0/src/quantbt/strategies/wfo_prepared.py +426 -0
  279. quantbt_engine-1.2.0/src/quantbt/verification/__init__.py +25 -0
  280. quantbt_engine-1.2.0/src/quantbt/verification/canonical_trace_v2.py +502 -0
  281. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/walkforward.py +2065 -319
  282. quantbt_engine-1.2.0/src/quantbt/wfo_execution.py +402 -0
  283. quantbt_engine-1.2.0/src/quantbt_engine.egg-info/PKG-INFO +892 -0
  284. quantbt_engine-1.2.0/src/quantbt_engine.egg-info/SOURCES.txt +585 -0
  285. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt_engine.egg-info/requires.txt +3 -1
  286. quantbt_engine-1.2.0/tests/test_acc01_clocks_funding.py +417 -0
  287. quantbt_engine-1.2.0/tests/test_acc01_event_vectorized.py +155 -0
  288. quantbt_engine-1.2.0/tests/test_acc01_source_guard.py +53 -0
  289. quantbt_engine-1.2.0/tests/test_ci_native_identity.py +108 -0
  290. quantbt_engine-1.2.0/tests/test_ci_shards_keep_going.py +134 -0
  291. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_endpoint.py +36 -5
  292. quantbt_engine-1.2.0/tests/test_followup_statistical_work.py +140 -0
  293. quantbt_engine-1.2.0/tests/test_gate_paired_timings.py +131 -0
  294. quantbt_engine-1.2.0/tests/test_generic_callback_audit_regression.py +171 -0
  295. quantbt_engine-1.2.0/tests/test_hma_perf_compact_feedback.py +128 -0
  296. quantbt_engine-1.2.0/tests/test_hma_perf_delta_tape.py +363 -0
  297. quantbt_engine-1.2.0/tests/test_hma_perf_snapshot.py +394 -0
  298. quantbt_engine-1.2.0/tests/test_m5_12_benchmark_reporting.py +24 -0
  299. quantbt_engine-1.2.0/tests/test_m5_12_ci_format_guard.py +283 -0
  300. quantbt_engine-1.2.0/tests/test_m5_12_ci_rust_guard.py +94 -0
  301. quantbt_engine-1.2.0/tests/test_m5_12_closeout_report.py +303 -0
  302. quantbt_engine-1.2.0/tests/test_m5_12_consumer_wiring.py +623 -0
  303. quantbt_engine-1.2.0/tests/test_m5_12_local_artifacts.py +71 -0
  304. quantbt_engine-1.2.0/tests/test_m5_12_native_build.py +103 -0
  305. quantbt_engine-1.2.0/tests/test_m5_12_pct_activity_capability.py +150 -0
  306. quantbt_engine-1.2.0/tests/test_m5_12_pct_alias.py +44 -0
  307. quantbt_engine-1.2.0/tests/test_m5_12_pct_alias_guard.py +213 -0
  308. quantbt_engine-1.2.0/tests/test_m5_12_pct_installed.py +353 -0
  309. quantbt_engine-1.2.0/tests/test_m5_12_pct_source_guard.py +203 -0
  310. quantbt_engine-1.2.0/tests/test_m5_12_preparation.py +130 -0
  311. quantbt_engine-1.2.0/tests/test_m5_12_release120_guard.py +79 -0
  312. quantbt_engine-1.2.0/tests/test_m5_12_reproduction.py +384 -0
  313. quantbt_engine-1.2.0/tests/test_m5_12_snapshot_guard.py +343 -0
  314. quantbt_engine-1.2.0/tests/test_m5_12_traceability.py +235 -0
  315. quantbt_engine-1.2.0/tests/test_mode4_qualification.py +320 -0
  316. quantbt_engine-1.2.0/tests/test_mode5_covariance_finance.py +349 -0
  317. quantbt_engine-1.2.0/tests/test_mode5_covariance_requests.py +253 -0
  318. quantbt_engine-1.2.0/tests/test_mode5_driver_observer.py +121 -0
  319. quantbt_engine-1.2.0/tests/test_mode5_feedback_observer.py +794 -0
  320. quantbt_engine-1.2.0/tests/test_mode5_iteration_witness.py +147 -0
  321. quantbt_engine-1.2.0/tests/test_mode5_m5081_history.py +88 -0
  322. quantbt_engine-1.2.0/tests/test_mode5_m509_dossier_report.py +68 -0
  323. quantbt_engine-1.2.0/tests/test_mode5_missing_probes.py +319 -0
  324. quantbt_engine-1.2.0/tests/test_mode5_probe_closure.py +425 -0
  325. quantbt_engine-1.2.0/tests/test_mode5_probe_views.py +282 -0
  326. quantbt_engine-1.2.0/tests/test_mode5_research_jobs.py +558 -0
  327. quantbt_engine-1.2.0/tests/test_mode5_selector_checkpoint.py +445 -0
  328. quantbt_engine-1.2.0/tests/test_native_release_evidence_hygiene.py +20 -0
  329. quantbt_engine-1.2.0/tests/test_next01_reactive_public_runtime.py +218 -0
  330. quantbt_engine-1.2.0/tests/test_next02_reactive_wfo_benchmark.py +47 -0
  331. quantbt_engine-1.2.0/tests/test_next03_canonical_source_layout.py +21 -0
  332. quantbt_engine-1.2.0/tests/test_next03_capability_surface.py +94 -0
  333. quantbt_engine-1.2.0/tests/test_next03_clean_consumer_proof.py +51 -0
  334. quantbt_engine-1.2.0/tests/test_next03_product_qualification.py +89 -0
  335. quantbt_engine-1.2.0/tests/test_next03_source_inventory.py +67 -0
  336. quantbt_engine-1.2.0/tests/test_perf_01_traceability_and_computation.py +302 -0
  337. quantbt_engine-1.2.0/tests/test_perf_02_session_reuse.py +124 -0
  338. quantbt_engine-1.2.0/tests/test_perf_03_reactive_boundary.py +489 -0
  339. quantbt_engine-1.2.0/tests/test_perf_04_native_matching.py +290 -0
  340. quantbt_engine-1.2.0/tests/test_perf_05_wfo_evaluation_reuse.py +441 -0
  341. quantbt_engine-1.2.0/tests/test_perf_06_research_audit.py +617 -0
  342. quantbt_engine-1.2.0/tests/test_perf_07_performance_closure.py +168 -0
  343. quantbt_engine-1.2.0/tests/test_perf_08_wfo_preparation.py +403 -0
  344. quantbt_engine-1.2.0/tests/test_perf_09_reactive_boundary.py +377 -0
  345. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase13_portfolio_report_parity.py +3 -1
  346. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase42_packaging_layout.py +3 -3
  347. quantbt_engine-1.2.0/tests/test_phase45a_source_tree_sync.py +13 -0
  348. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase45d_native_event_zero_object.py +2 -13
  349. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase46c_import_graph.py +5 -1
  350. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase46f_packaging_release.py +20 -4
  351. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase48a_release_surfaces.py +2 -1
  352. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase48b_release_hygiene.py +7 -31
  353. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase49b_wfo_performance.py +19 -1
  354. quantbt_engine-1.2.0/tests/test_phase54b2_benchmark_policy.py +55 -0
  355. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase55a_native_distribution.py +9 -6
  356. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase55b_public_release.py +44 -13
  357. quantbt_engine-1.2.0/tests/test_phase56_v1_1_baseline.py +226 -0
  358. quantbt_engine-1.2.0/tests/test_phase57_v1_1_specs_oracle_trace.py +357 -0
  359. quantbt_engine-1.2.0/tests/test_phase58_market_calendar_instrument_v2.py +509 -0
  360. quantbt_engine-1.2.0/tests/test_phase59_linear_accounting_fill_replay.py +556 -0
  361. quantbt_engine-1.2.0/tests/test_phase60_execution_metrics_native_result.py +171 -0
  362. quantbt_engine-1.2.0/tests/test_phase61_static_event_rust_primary.py +308 -0
  363. quantbt_engine-1.2.0/tests/test_phase62_reactive_numeric_coruntime.py +504 -0
  364. quantbt_engine-1.2.0/tests/test_phase63_sparse_block_reactive.py +592 -0
  365. quantbt_engine-1.2.0/tests/test_phase64_wfo_correctness.py +631 -0
  366. quantbt_engine-1.2.0/tests/test_phase65_native_wfo_runtime.py +451 -0
  367. quantbt_engine-1.2.0/tests/test_phase66_rust_target_vectorized.py +627 -0
  368. quantbt_engine-1.2.0/tests/test_phase67_rust_shared_portfolio.py +616 -0
  369. quantbt_engine-1.2.0/tests/test_phase68_rust_package_authority.py +595 -0
  370. quantbt_engine-1.2.0/tests/test_phase69_rust_intrabar_authority.py +404 -0
  371. quantbt_engine-1.2.0/tests/test_phase71_runtime_productization.py +470 -0
  372. quantbt_engine-1.2.0/tests/test_phase72_measurement_contract.py +378 -0
  373. quantbt_engine-1.2.0/tests/test_phase73_prepared_evaluation.py +537 -0
  374. quantbt_engine-1.2.0/tests/test_phase74_public_wfo_native.py +759 -0
  375. quantbt_engine-1.2.0/tests/test_phase75_reactive_scalar_retention.py +276 -0
  376. quantbt_engine-1.2.0/tests/test_phase76_reactive_wfo.py +947 -0
  377. quantbt_engine-1.2.0/tests/test_phase77_1_measurement_contract.py +143 -0
  378. quantbt_engine-1.2.0/tests/test_phase77_2_pct_equity_native.py +477 -0
  379. quantbt_engine-1.2.0/tests/test_phase77_3_kernel_resource_parity.py +64 -0
  380. quantbt_engine-1.2.0/tests/test_phase77_3_reactive_parity.py +432 -0
  381. quantbt_engine-1.2.0/tests/test_phase77_native_performance_parity.py +286 -0
  382. quantbt_engine-1.2.0/tests/test_phase78_public_release_closure.py +166 -0
  383. quantbt_engine-1.2.0/tests/test_portfolio_account_review_fixes.py +172 -0
  384. quantbt_engine-1.2.0/tests/test_portfolio_guard_current_qualification.py +205 -0
  385. quantbt_engine-1.2.0/tests/test_portfolio_legacy_review_fixes.py +396 -0
  386. quantbt_engine-1.2.0/tests/test_portfolio_repair_native_parity.py +85 -0
  387. quantbt_engine-1.2.0/tests/test_portfolio_repair_source_guard.py +44 -0
  388. quantbt_engine-1.2.0/tests/test_pre_m512_extraction_contract.py +82 -0
  389. quantbt_engine-1.2.0/tests/test_pre_m512_portfolio_extraction.py +109 -0
  390. quantbt_engine-1.2.0/tests/test_pre_m512_resources.py +32 -0
  391. quantbt_engine-1.2.0/tests/test_pre_m512_source_guard.py +83 -0
  392. quantbt_engine-1.2.0/tests/test_qms_candidate_diagnostics.py +63 -0
  393. quantbt_engine-1.2.0/tests/test_qms_real_evidence.py +120 -0
  394. quantbt_engine-1.2.0/tests/test_qms_real_review.py +104 -0
  395. quantbt_engine-1.2.0/tests/test_release_evidence_hygiene.py +24 -0
  396. quantbt_engine-1.2.0/tests/test_scalar_report_contract.py +47 -0
  397. quantbt_engine-1.2.0/tests/test_vectorized_account_review_fixes.py +235 -0
  398. quantbt_engine-1.2.0/tests/test_version_pair_120.py +155 -0
  399. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_walkforward_phase1.py +14 -1
  400. quantbt_engine-1.1.0/CHANGELOG.md +0 -105
  401. quantbt_engine-1.1.0/PKG-INFO +0 -1040
  402. quantbt_engine-1.1.0/README.md +0 -988
  403. quantbt_engine-1.1.0/src/quantbt/backends/__init__.py +0 -49
  404. quantbt_engine-1.1.0/src/quantbt/backends/native_option.py +0 -796
  405. quantbt_engine-1.1.0/src/quantbt/backends/native_portfolio_package.py +0 -335
  406. quantbt_engine-1.1.0/src/quantbt/core/generated_product_contracts.py +0 -29
  407. quantbt_engine-1.1.0/src/quantbt/core/preprocessor.py +0 -256
  408. quantbt_engine-1.1.0/src/quantbt/optimization/samplers.py +0 -84
  409. quantbt_engine-1.1.0/src/quantbt/options/ledger.py +0 -263
  410. quantbt_engine-1.1.0/src/quantbt/strategies/__init__.py +0 -40
  411. quantbt_engine-1.1.0/src/quantbt_engine.egg-info/PKG-INFO +0 -1040
  412. quantbt_engine-1.1.0/src/quantbt_engine.egg-info/SOURCES.txt +0 -265
  413. quantbt_engine-1.1.0/tests/test_phase45a_source_tree_sync.py +0 -24
  414. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/LICENSE +0 -0
  415. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/setup.cfg +0 -0
  416. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/adapters/__init__.py +0 -0
  417. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/adapters/nautilus/__init__.py +0 -0
  418. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/adapters/nautilus/_dependency.py +0 -0
  419. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/adapters/nautilus/backend.py +0 -0
  420. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/adapters/nautilus/instruments.py +0 -0
  421. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/adapters/nautilus/options.py +0 -0
  422. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/adapters/nautilus/reports.py +0 -0
  423. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/api/__init__.py +0 -0
  424. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/backends/native_strategy_ir.py +0 -0
  425. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/__init__.py +0 -0
  426. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/compare_phase9_parity.py +0 -0
  427. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/gamma_scalping_backtestsample.py +0 -0
  428. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/profile_phase7.py +0 -0
  429. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_arbitrage_phase_e.py +0 -0
  430. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_optimization_overhead.py +0 -0
  431. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_options_engine.py +0 -0
  432. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_pct_equity_nautilus_smoke.py +0 -0
  433. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_phase12_arbitrage_cert.py +0 -0
  434. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_phase12_benchmark_nautilus_cert.py +0 -0
  435. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_phase13_portfolio_report.py +0 -0
  436. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_phase13_wfo_cache.py +0 -0
  437. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_phase14_service_loop.py +0 -0
  438. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_phase15a_nautilus_certification.py +0 -0
  439. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_phase15b_synthetic_depth.py +0 -0
  440. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_phase16_performance_debt.py +0 -0
  441. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_phase30e_reactive_runner.py +0 -0
  442. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_phase31_intrabar.py +0 -0
  443. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_phase34a_native_event_memory.py +0 -0
  444. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_phase34b_native_event_prepared_score.py +0 -0
  445. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_phase34c_native_event_single_pass.py +0 -0
  446. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_phase49b_wfo_performance.py +0 -0
  447. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_phase7.py +0 -0
  448. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_portfolio_real_parity.py +0 -0
  449. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/arbitrage.py +0 -0
  450. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/basket.py +0 -0
  451. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/certification.py +0 -0
  452. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/event_contracts.py +0 -0
  453. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/execution_depth.py +0 -0
  454. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/generated_native_event_contracts.py +0 -0
  455. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/instrument_contracts.py +0 -0
  456. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/intrabar_session.py +0 -0
  457. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/native_event_capabilities.py +0 -0
  458. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/native_event_parity.py +0 -0
  459. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/order_compiler.py +0 -0
  460. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/orders.py +0 -0
  461. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/package_execution_contracts.py +0 -0
  462. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/portfolio.py +0 -0
  463. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/portfolio_execution_contracts.py +0 -0
  464. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/product_contracts.py +0 -0
  465. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/scopes.py +0 -0
  466. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/structured_orders.py +0 -0
  467. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/engine_spi/__init__.py +0 -0
  468. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/engine_spi/errors.py +0 -0
  469. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/engine_spi/protocol.py +0 -0
  470. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/engine_spi/registry.py +0 -0
  471. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/errors.py +0 -0
  472. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/metrics/__init__.py +0 -0
  473. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/metrics/options_analytics.py +0 -0
  474. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/callbacks.py +0 -0
  475. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/candidate_selection.py +0 -0
  476. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/constraints.py +0 -0
  477. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/evaluator.py +0 -0
  478. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/evaluators/__init__.py +0 -0
  479. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/evaluators/arbitrage.py +0 -0
  480. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/evaluators/generic.py +0 -0
  481. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/evaluators/grid_dca.py +0 -0
  482. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/evaluators/intrabar.py +0 -0
  483. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/evaluators/native_event.py +0 -0
  484. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/evaluators/options.py +0 -0
  485. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/evaluators/portfolio.py +0 -0
  486. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/evaluators/signal.py +0 -0
  487. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/multiseed.py +0 -0
  488. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/result.py +0 -0
  489. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/cache.py +0 -0
  490. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/conventions.py +0 -0
  491. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/data.py +0 -0
  492. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/greeks.py +0 -0
  493. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/iv.py +0 -0
  494. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/pricing.py +0 -0
  495. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/selectors.py +0 -0
  496. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/surface.py +0 -0
  497. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/tape.py +0 -0
  498. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/templates/__init__.py +0 -0
  499. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/templates/packages.py +0 -0
  500. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/planning/__init__.py +0 -0
  501. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/planning/capabilities.py +0 -0
  502. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/planning/fingerprints.py +0 -0
  503. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/planning/models.py +0 -0
  504. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/planning/output.py +0 -0
  505. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/planning/resolve.py +0 -0
  506. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/preparation/__init__.py +0 -0
  507. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/preparation/cache.py +0 -0
  508. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/preparation/models.py +0 -0
  509. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/py.typed +0 -0
  510. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/reporting/__init__.py +0 -0
  511. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/reporting/arbitrage_audit.py +0 -0
  512. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/reporting/nautilus_bundle.py +0 -0
  513. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/reporting/nautilus_certification.py +0 -0
  514. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/reporting/nautilus_diagnostics.py +0 -0
  515. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/reporting/parity.py +0 -0
  516. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/reporting/portfolio_nautilus.py +0 -0
  517. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/results/__init__.py +0 -0
  518. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/results/raw.py +0 -0
  519. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/sizing/__init__.py +0 -0
  520. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/strategies/commands.py +0 -0
  521. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/strategies/native_ir.py +0 -0
  522. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/strategies/requirements.py +0 -0
  523. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/viz/__init__.py +0 -0
  524. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/viz/plots.py +0 -0
  525. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/viz/themes.py +0 -0
  526. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt_engine.egg-info/dependency_links.txt +0 -0
  527. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt_engine.egg-info/top_level.txt +0 -0
  528. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_metrics_intraday_scope.py +0 -0
  529. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_optimization_core.py +0 -0
  530. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_optimization_evaluators.py +0 -0
  531. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_optimization_integration.py +0 -0
  532. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_optimization_phase33b.py +0 -0
  533. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_optimization_samplers.py +0 -0
  534. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_pct_equity_nautilus_smoke.py +0 -0
  535. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase0_baseline.py +0 -0
  536. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase11_native_portfolio_backend.py +0 -0
  537. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase11_native_portfolio_full_surface.py +0 -0
  538. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase11_portfolio_engine_spec.py +0 -0
  539. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase11_portfolio_institutional_scenarios.py +0 -0
  540. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase11_portfolio_nautilus_validation.py +0 -0
  541. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase11_portfolio_real_parity_script.py +0 -0
  542. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase12_arbitrage_certification.py +0 -0
  543. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase12_benchmark_nautilus_cert.py +0 -0
  544. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase13_arbitrage_certification_cleanup.py +0 -0
  545. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase14_service_loop_benchmark.py +0 -0
  546. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase14c_prepared_report_levels.py +0 -0
  547. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase15a_nautilus_certification.py +0 -0
  548. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase15b_synthetic_depth.py +0 -0
  549. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase16_prepared_service_context.py +0 -0
  550. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase1_schema.py +0 -0
  551. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase2_native_vectorized.py +0 -0
  552. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase30a_native_event_lifecycle_contract.py +0 -0
  553. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase30b_native_event_lifecycle_kernel.py +0 -0
  554. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase30c_native_event_endpoint_lifecycle.py +0 -0
  555. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase30d_native_event_reactive_runner.py +0 -0
  556. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase30e_native_event_incremental_runner.py +0 -0
  557. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase31_merge_blockers.py +0 -0
  558. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase31a_execution_correctness_contract.py +0 -0
  559. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase31b_market_tape_intrabar_oracle.py +0 -0
  560. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase31c_intrabar_kernel.py +0 -0
  561. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase31d_certification.py +0 -0
  562. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase31h_intrabar_session_reference.py +0 -0
  563. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase34a_native_event_artifacts.py +0 -0
  564. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase34b_native_event_prepared_score.py +0 -0
  565. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase34c_native_event_single_pass.py +0 -0
  566. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase3_native_event.py +0 -0
  567. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase42c_ci_release.py +0 -0
  568. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase46a_correctness_certification.py +0 -0
  569. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase46b_score_rss.py +0 -0
  570. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase47a_grid_adapter.py +0 -0
  571. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase47c_grid_parity.py +0 -0
  572. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase47d_grid_optimizer.py +0 -0
  573. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase48c_event_driven_facade.py +0 -0
  574. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase48f_release_gate.py +0 -0
  575. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase49a_walkforward_schedules.py +0 -0
  576. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase4_basket.py +0 -0
  577. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase50_nested_mode1_causal.py +0 -0
  578. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase5_1_nautilus_report_bundle.py +0 -0
  579. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase5_3_arbitrage_audit.py +0 -0
  580. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase5_3_institutional_simulations.py +0 -0
  581. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase5_3_portfolio_audit.py +0 -0
  582. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase5_4_debt_domain_validation.py +0 -0
  583. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase5_4_endpoint_depth.py +0 -0
  584. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase5_4_nautilus_depth.py +0 -0
  585. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase5_nautilus_adapter.py +0 -0
  586. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase6_public_api.py +0 -0
  587. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase7_benchmark_suite.py +0 -0
  588. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase8_arbitrage_phase_a.py +0 -0
  589. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase8_arbitrage_phase_b.py +0 -0
  590. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase8_arbitrage_phase_c.py +0 -0
  591. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase8_arbitrage_phase_d.py +0 -0
  592. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase8_arbitrage_phase_e.py +0 -0
  593. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase8_arbitrage_phase_f.py +0 -0
  594. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase8_arbitrage_phase_g.py +0 -0
  595. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase8_arbitrage_phase_h.py +0 -0
  596. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase9_performance_parity.py +0 -0
  597. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_pre48e_native_event_fast_paths.py +0 -0
  598. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_real.py +0 -0
  599. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_real_endpoints.py +0 -0
  600. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_release_channel_policy.py +0 -0
  601. {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_shared_quantity_constraints.py +0 -0
@@ -0,0 +1,223 @@
1
+ # Changelog
2
+
3
+ All notable changes to `quantbt-engine` are documented here.
4
+
5
+ ## [Unreleased]
6
+
7
+ ## [1.2.0] - 2026-10-23
8
+
9
+ ### Core 1.2.0 / Native 0.4.3
10
+
11
+ - Retargeted the unreleased core candidate from1.1.2to1.2.0 to reflect the
12
+ diagnostics, Mode4/Mode5, sampler/meta, reporting and account upgrade below.
13
+ Historical1.1.2receipts retain their original scope; they are not renamed
14
+ release evidence. Native version remains0.4.3; generated product metadata
15
+ follows the new pair, requiring fresh matching native artifacts.
16
+ - Reduced full Reporting V1 Python scalar-dispatch and metadata overhead;
17
+ closed-ledger reason counting uses one pass instead of one scan per reason.
18
+ Exact before/after output, snapshot/identity and undefined-policy parity are
19
+ tested. Reporting formulas, financial kernels and WFO selection are unchanged;
20
+ timing gains are workload-specific and do not imply a universal speedup.
21
+
22
+ - Added opt-in `reporting=ReportingRequest(...)` on completed endpoint/result
23
+ reports and quick plots. Account-period, execution, closed-trade/action and
24
+ drawdown episode output has explicit baseline, frequency, currency, coverage
25
+ and unavailable policies. This opt-in does not alter execution or WFO/meta
26
+ objectives; separate account repairs below intentionally correct financial
27
+ edge cases. Read [Reporting V1](docs/metrics/PUBLIC_REPORTING.md).
28
+ - Reduced optional reporting copies and duplicate hashing using immutable
29
+ bytes-owned snapshots, a prepared boolean mask and one report/plot snapshot.
30
+ Cache hits still rehash mutable completed input; formulas, exact identities,
31
+ requested episode detail, legacy reports and financial/WFO metrics are unchanged.
32
+ - Fixed immutable reporting snapshot reconstruction after copy/deepcopy and
33
+ pickle, including nested execution paths and drawdown episodes. Constructors
34
+ revalidate storage and recompute hashes; changed observations cannot reuse a
35
+ saved identity. Python reporting scans use zero-copy native scalar access
36
+ with preserved numerical overflow policies and exact differential coverage.
37
+
38
+ - Added opt-in Mode 4 / per-fold causal meta selection and a shared sampler
39
+ bridge for legacy TPE, grouped multivariate TPE, CMA-ES and fixed-space Sobol.
40
+ - Qualified causal history, ridge artifacts, reference/prepared selection
41
+ parity, exact reusable calendar/market witnesses, observed thread telemetry
42
+ and bounded sequential W3 meta on the original native accounting pass.
43
+ - Enabled the already-qualified QMS native exports in default Cargo builds;
44
+ Linux core dependency is exactly `quantbt-native==0.4.3`. The ABI remains
45
+ versioned; later ACC-01 changes affect both Python and Rust financial source
46
+ and require fresh compatible artifacts. Meta remains disabled unless requested.
47
+ - Earlier QMS wheel/sdist, installed-W3 and six-row Ubuntu receipts retain
48
+ their historical source scope. They do not certify the later Mode 5,
49
+ reporting and account repairs. Final M5-12 artifacts, remote qualification
50
+ and public consumers remain separate gates.
51
+ - Added diagnostics-first opt-in Mode 5 calibration with versioned objectives,
52
+ selectors, diagnostic evidence/rights, frozen plans, explanation and winner
53
+ qualification. Shared diagnostics/reporting include Mode 4 fold consistency,
54
+ R/Q, decision coverage and explicit cross-mode researcher handoff. No automatic
55
+ sampler/selector router or universal economic improvement is claimed.
56
+ - Extended the stable endpoint API additively: optional `execution_endpoint`
57
+ on `walk_forward`, keyword-only `meta_history` on `backtest`, optional
58
+ `reporting` on completed reports/plots, and `research_report(...)`.
59
+ - Corrected current-capability account/configuration behavior: financial clocks,
60
+ funding interval coverage, contract multipliers, risk-reducing admission,
61
+ constraints, invalid inputs, actual attribution and reporting horizon/time
62
+ handling. Unsupported non-default options fail explicitly; gross-cross/netting
63
+ is not hedge inventory or isolated liquidation. See
64
+ [ACC-01 migration](docs/portfolio_review/ACC01_CONFIGURATION_AND_MIGRATION.md).
65
+ - Refreshed the generated root API inventory to 527 exports (11 additions to
66
+ the stale generated list, no removals), with an exact metadata-only amendment
67
+ that preserves the separate financial source qualification and historical receipts.
68
+ - Extracted cold option validation and portfolio report helpers, preserving
69
+ endpoint/private aliases, moved function bodies and retained engine code.
70
+ Exact source qualification is separate from historical financial-invariance
71
+ receipts and still does not certify installed artifacts.
72
+ - Added maintained installed-consumer/CI wiring for the Mode 5,
73
+ winner/donor, reporting and account changes. Execution on final wheel/sdist
74
+ artifacts and remote/public qualification remain separate gates.
75
+ - Aligned tag/release regression with the qualified CI native-wheel identity
76
+ pin and isolated host-PID tests. Release publication is native-first and
77
+ requires its own artifact and public-consumer gates; this changelog is not
78
+ a publication receipt or a new scientific acceptance claim. See the
79
+ [release checklist](docs/testpypi_release_checklist.md).
80
+
81
+ ## [1.1.1]
82
+
83
+ ### Changed
84
+
85
+ - Released the completed statistical WFO follow-up: stationary-bootstrap index
86
+ construction now preserves the existing RNG draw sequence while avoiding
87
+ repeated Python work, and report-metric objectives share one report snapshot
88
+ per evaluation.
89
+ - Updated the governed wheel-only companion contract to
90
+ `quantbt-native==0.4.2`; `quantbt-engine==1.1.1` keeps the exact
91
+ platform-marked dependency for supported Linux x86_64 CPython 3.11-3.13
92
+ consumers.
93
+
94
+ ### Compatibility And Verification
95
+
96
+ - No public endpoint, methodology, selection, accounting, trace, or backend
97
+ promotion policy changed. The release remains native-first: publish the
98
+ complete native wheel matrix before publishing the matching core package.
99
+
100
+ ### Changed
101
+
102
+ - NEXT-01 reduces generic every-bar and declared sparse callback overhead while
103
+ retaining full financial/audit output and dynamic callback compatibility.
104
+ - NEXT-02 reuses immutable WFO market/window preparation and native score
105
+ requests while preserving candidate ordering, selection and fresh accounts.
106
+ - NEXT-03 makes `src/quantbt` the sole Python package source; the reviewed
107
+ duplicate root modules are retired. Local developers should use an editable
108
+ install rather than a parent-directory import-path override.
109
+ - Research audit exposes objective components and eight record-family links
110
+ while preserving existing public trial/candidate tables and legacy exports.
111
+
112
+ ### Compatibility And Qualification
113
+
114
+ - Endpoint factory signatures are unchanged across NEXT-01 through NEXT-03.
115
+ Reactive WFO adds optional `preparation_policy="prepared"`; numeric reactive
116
+ minimal output omits diagnostic tables while retaining financial paths.
117
+ - Local release shards and isolated wheel/sdist/editable consumer checks pass.
118
+ Publication requires new compatible core/native versions and remote matrix
119
+ certification. Performance claims remain limited to the measured workloads.
120
+ - CI and release test checkouts retain Git history for qualification ancestry
121
+ verification; the validator continues to reject unverified source ancestry.
122
+
123
+ ## [1.1.0]
124
+
125
+ ### Changed
126
+
127
+ - Renamed the governed public release line to `1.1.0` and synchronized package
128
+ metadata, runtime version, generated core/native contracts, lockfile, and
129
+ release documentation.
130
+ - Prepared the governed public `quantbt-native==0.4.1` companion contract for
131
+ Linux x86_64 / CPython 3.11-3.13. The core declares an exact,
132
+ platform-marked dependency; unsupported platforms keep Python/Numba.
133
+ - Added a native-first, wheel-only manylinux OIDC release workflow and a six-row
134
+ Ubuntu 22.04/24.04 Poetry consumer proof. The core release preflights the
135
+ matching public native artifact before it can publish.
136
+ - Kept public release certification self-contained by excluding private,
137
+ out-of-tree Grid integration fixtures from its test shard profile.
138
+ - Updated release, install, capability, troubleshooting, and handoff docs to
139
+ state that supported users receive a pre-built wheel rather than compiling
140
+ Rust locally.
141
+
142
+ ### Compatibility
143
+
144
+ - No endpoint signature, execution policy, promotion threshold, or domain
145
+ accounting behavior changes in this packaging-only phase.
146
+
147
+ ## [1.0.9] - 2026-08-21
148
+
149
+ ### Added
150
+
151
+ - Direct PyPI discovery and installation guidance in the repository README.
152
+ - Release-preparation guidance for the governed Rust-first routes, exact
153
+ installed-wheel certification, and the matching core/native compatibility
154
+ contract.
155
+
156
+ ### Changed
157
+
158
+ - Promoted the bounded Rust-first public policy for certified static command
159
+ tapes, Native Strategy IR, batch, and causal-fold workloads while preserving
160
+ Python authority for callbacks, reactive strategies, generic portfolio,
161
+ basket, arbitrage, and options routes.
162
+ - Updated the core product registry to the `1.0.9` release line. The staged
163
+ `quantbt-native` companion remains unpublished and capability-gated.
164
+
165
+ ### Verification
166
+
167
+ - Source-mirror, generated-product-contract, documentation-link, build, and
168
+ installed-wheel release checks are required from the final tagged commit.
169
+
170
+ ## [1.0.8] - 2026-08-12
171
+
172
+ ### Changed
173
+
174
+ - Added strict nested causal retraining for
175
+ `mode_1_decay + optimization_schedule="per_fold_causal"`. Mode 1 decay now
176
+ uses inner IS-only folds while each outer OOS segment remains untouched until
177
+ its parameters are frozen.
178
+ - Added explicit chronological validation metadata so consumers can distinguish
179
+ retrospective global calibration, selection-adjusted OOS, and strict outer
180
+ OOS evaluation without breaking legacy result fields.
181
+ - Added a bounded-RSS release test runner that executes deterministic pytest
182
+ shards in fresh processes; CI and publish workflows use the same selection.
183
+
184
+ ### Verification
185
+
186
+ - Root/source mirror, prepared/reference WFO parity, nested-fold causality,
187
+ and the full non-real-data release suite passed before this version bump.
188
+
189
+ ## [1.0.7] - 2026-08-04
190
+
191
+ This is the first independently installable core package release line.
192
+
193
+ ### Release candidate
194
+
195
+ - `1.0.7rc1` was blocked before publication because its lockfile version was stale.
196
+ - `1.0.7rc2` prepared for TestPyPI on 2026-08-03 with immutable lock validation.
197
+ - `1.0.7rc2` passed clean TestPyPI installation and functional endpoint smoke.
198
+ - Python 3.11-3.13 package validation is required before final publication.
199
+ - `backend="auto"` remains Python.
200
+ - `backend="rust"` remains explicit and experimental.
201
+ - `quantbt-native` is not included in this core release.
202
+ - Native crate and Python metadata remain aligned to API version `0.4.0`.
203
+
204
+ ### Added
205
+
206
+ - Stable `from quantbt import QuantBTEndpoint` import contract.
207
+ - NumPy/Numba native vectorized, event-driven, portfolio, arbitrage, options,
208
+ intrabar, and walk-forward research routes.
209
+ - Optional extras for optimization, reports, visualization, and NautilusTrader
210
+ validation.
211
+ - Prepared service contexts and report levels for repeated research workloads.
212
+ - Explicit Python/Rust native-event selector contract with Python as the
213
+ release default and Rust as a capability-gated experimental backend.
214
+ - Wheel, sdist, clean-install, source-sync, parity, and RSS release gates.
215
+
216
+ ### Release policy
217
+
218
+ - The core `quantbt-engine` distribution is the release candidate for PyPI.
219
+ - `quantbt-native` is not part of this core release and is not exposed through
220
+ a non-empty `native` extra until its wheel matrix and incremental RSS gates
221
+ pass.
222
+ - `native_backend="auto"` remains Python; explicit Rust requests never
223
+ silently fall back to Python.
@@ -4,6 +4,8 @@ include CHANGELOG.md
4
4
  include pyproject.toml
5
5
 
6
6
  recursive-include src/quantbt *.py py.typed
7
+ include src/quantbt/benchmarks/README.md
8
+ include src/quantbt/benchmarks/phase7_thresholds.json
7
9
 
8
10
  global-exclude *.pem
9
11
  global-exclude *.key
@@ -14,6 +16,8 @@ global-exclude .pypirc
14
16
  prune upgrade/private
15
17
  prune upgrade/local
16
18
  prune upgrade/drafts
19
+ prune upgrade/alphas
20
+ exclude upgrade/MODE5_INVARIANT_AND_ALPHA_PROFILING_SPEC_V1.md
17
21
  prune benchmarks
18
22
  prune artifacts
19
23
  prune data/raw