mostlyright-data 0.15.2__tar.gz → 0.16.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 (538) hide show
  1. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/PKG-INFO +29 -15
  2. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/README.md +28 -14
  3. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/pyproject.toml +4 -1
  4. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/skills/mr-data-build/SKILL.md +19 -16
  5. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/acquisition/http.py +19 -0
  6. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/acquisition/parsing.py +8 -4
  7. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/acquisition/sandbox.py +577 -121
  8. mostlyright_data-0.16.0/src/mostlyright/data_harness/acquisition/sandbox_bootstrap.py +20 -0
  9. mostlyright_data-0.16.0/src/mostlyright/data_harness/hosted_ingestion_worker.py +267 -0
  10. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/hosted_run_worker.py +532 -65
  11. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/inprocess_acquisition.py +59 -2
  12. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/local_contracts.py +4 -1
  13. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/run_execution_v4.py +31 -6
  14. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/source_bundle_writer.py +2 -7
  15. mostlyright_data-0.16.0/src/mostlyright/data_harness/source_partition.py +50 -0
  16. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/source_raw_inventory.py +5 -8
  17. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/source_state_index.py +2 -1
  18. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/bounded_io.py +15 -0
  19. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/registry.py +32 -0
  20. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/stream_registry.py +18 -1
  21. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/stream_series.py +18 -1
  22. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/studio_boundary.py +1 -1
  23. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/thin/vocabulary.py +5 -0
  24. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/thin/workers.py +6 -0
  25. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/ux/remediation.py +1 -1
  26. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/v4_closed_source.py +8 -63
  27. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/v4_recipe.py +23 -16
  28. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/v4_window.py +92 -12
  29. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/.gitignore +0 -0
  30. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/scripts/hatch_build.py +0 -0
  31. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/skills/mr-data-build/agents/openai.yaml +0 -0
  32. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/skills/mr-data-build/scripts/write_research_notebook.py +0 -0
  33. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/skills/mr-data-build/scripts/write_visual_run.py +0 -0
  34. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/__init__.py +0 -0
  35. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/LICENSE +0 -0
  36. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/PROVENANCE.json +0 -0
  37. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/__init__.py +0 -0
  38. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/__init__.pyi +0 -0
  39. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/_version.py +0 -0
  40. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/cal_rec_boxes/__init__.py +0 -0
  41. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/cal_rec_boxes/main.py +0 -0
  42. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_cls/__init__.py +0 -0
  43. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_cls/main.py +0 -0
  44. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_cls/utils.py +0 -0
  45. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_det/__init__.py +0 -0
  46. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_det/main.py +0 -0
  47. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_det/utils.py +0 -0
  48. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/__init__.py +0 -0
  49. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/main.py +0 -0
  50. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/typings.py +0 -0
  51. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/utils.py +0 -0
  52. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/config.yaml +0 -0
  53. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/inference_engine/__init__.py +0 -0
  54. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/inference_engine/base.py +0 -0
  55. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/inference_engine/onnxruntime/__init__.py +0 -0
  56. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/inference_engine/onnxruntime/main.py +0 -0
  57. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/inference_engine/onnxruntime/provider_config.py +0 -0
  58. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/main.py +0 -0
  59. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/models/PP-OCRv6_det_small.onnx +0 -0
  60. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/models/PP-OCRv6_rec_small.onnx +0 -0
  61. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/models/ch_ppocr_mobile_v2.0_cls_mobile.onnx +0 -0
  62. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/py.typed +0 -0
  63. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/utils/__init__.py +0 -0
  64. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/utils/load_image.py +0 -0
  65. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/utils/log.py +0 -0
  66. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/utils/model_resolver.py +0 -0
  67. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/utils/output.py +0 -0
  68. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/utils/parse_parameters.py +0 -0
  69. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/utils/process_img.py +0 -0
  70. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/utils/typings.py +0 -0
  71. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/_vendor/rapidocr/utils/utils.py +0 -0
  72. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/__init__.py +0 -0
  73. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/acquisition/__init__.py +0 -0
  74. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/acquisition/derived_credentials.py +0 -0
  75. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/acquisition/ranges.py +0 -0
  76. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/acquisition/result_download.py +0 -0
  77. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/acquisition/retention_admission.py +0 -0
  78. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/acquisition/url_policy.py +0 -0
  79. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/agent_runtime.py +0 -0
  80. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/assets/logo-ink.svg +0 -0
  81. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/backends/__init__.py +0 -0
  82. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/backends/pandas_backend.py +0 -0
  83. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/backends/polars_backend.py +0 -0
  84. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/backends/protocol.py +0 -0
  85. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/backends/reference.py +0 -0
  86. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/backends/registry.py +0 -0
  87. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/backends/restrictions.py +0 -0
  88. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/bounded_query.py +0 -0
  89. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/bounded_scratch_sink.py +0 -0
  90. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/canonical.py +0 -0
  91. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/catalog_job.py +0 -0
  92. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/cli.py +0 -0
  93. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/compact_worker.py +0 -0
  94. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/contracts.py +0 -0
  95. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/coordinator.py +0 -0
  96. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/crosswalks.py +0 -0
  97. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/declared_checks.py +0 -0
  98. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/deploy.py +0 -0
  99. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/deploy_target.py +0 -0
  100. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/deployment_evidence.py +0 -0
  101. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/documents/__init__.py +0 -0
  102. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/documents/_worker_capability.py +0 -0
  103. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/documents/capture.py +0 -0
  104. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/documents/contracts.py +0 -0
  105. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/documents/lane.py +0 -0
  106. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/documents/ocr.py +0 -0
  107. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/documents/pdf.py +0 -0
  108. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/documents/registry.py +0 -0
  109. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/documents/sandbox.py +0 -0
  110. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/documents/selections.py +0 -0
  111. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/documents/tables.py +0 -0
  112. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/documents/vendor_rapidocr.py +0 -0
  113. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/events.py +0 -0
  114. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/fast_delimited.py +0 -0
  115. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/formats.py +0 -0
  116. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/governors.py +0 -0
  117. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/hosted_bootstrap.py +0 -0
  118. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/hosted_crawler.py +0 -0
  119. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/hosted_crawler_container_smoke.py +0 -0
  120. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/hosted_crawler_fetch.py +0 -0
  121. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/hosted_crawler_job.py +0 -0
  122. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/hosted_crawler_protocol.py +0 -0
  123. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/hosted_deploy.py +0 -0
  124. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/hosted_ingestion_contract.py +0 -0
  125. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/hosted_ingestion_job.py +0 -0
  126. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/hosted_ingestion_job_smoke.py +0 -0
  127. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/hosted_rlimit_as_container_smoke.py +0 -0
  128. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/hosted_session_container_smoke.py +0 -0
  129. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/hosted_session_worker.py +0 -0
  130. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/hosted_session_worker_job_smoke.py +0 -0
  131. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/hosted_stream_recorder_container_smoke.py +0 -0
  132. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/hosted_stream_recorder_job.py +0 -0
  133. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/hosted_stream_subscription_container_smoke.py +0 -0
  134. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/hosted_stream_subscription_worker.py +0 -0
  135. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/hosted_worker.py +0 -0
  136. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/incremental_slice_executor.py +0 -0
  137. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/incremental_worker.py +0 -0
  138. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/ingestion/__init__.py +0 -0
  139. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/ingestion/contracts.py +0 -0
  140. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/ingestion/faults.py +0 -0
  141. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/ingestion/gcs_store.py +0 -0
  142. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/ingestion/spool.py +0 -0
  143. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/ingestion/store.py +0 -0
  144. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/key_seam.py +0 -0
  145. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/linux_process_boundary.py +0 -0
  146. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/nbrender/CONTRACT.md +0 -0
  147. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/nbrender/__init__.py +0 -0
  148. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/nbrender/chrome.py +0 -0
  149. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/nbrender/code_body.py +0 -0
  150. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/nbrender/document.py +0 -0
  151. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/nbrender/frame.py +0 -0
  152. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/nbrender/interactive.py +0 -0
  153. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/nbrender/markdown_body.py +0 -0
  154. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/nbrender/mr_components.py +0 -0
  155. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/nbrender/outputs_data.py +0 -0
  156. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/nbrender/outputs_rich.py +0 -0
  157. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/nbrender/outputs_source.py +0 -0
  158. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/nbrender/outputs_stage.py +0 -0
  159. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/nbrender/outputs_text.py +0 -0
  160. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/nbrender/parse.py +0 -0
  161. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/nbrender/status.py +0 -0
  162. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/nbrender/tokens.py +0 -0
  163. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/notebook.py +0 -0
  164. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/offline.py +0 -0
  165. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/operation_registry.py +0 -0
  166. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/operator_setup.py +0 -0
  167. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/part_check_evidence.py +0 -0
  168. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/pipeline.py +0 -0
  169. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/plan_graph.py +0 -0
  170. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/preparation/__init__.py +0 -0
  171. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/preparation/contracts.py +0 -0
  172. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/preparation/engine.py +0 -0
  173. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/preparation/errors.py +0 -0
  174. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/preparation/gates.py +0 -0
  175. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/preparation/joins.py +0 -0
  176. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/preparation/profile.py +0 -0
  177. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/preparation/table.py +0 -0
  178. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/preparation/transforms.py +0 -0
  179. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/progress_events.py +0 -0
  180. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/__init__.py +0 -0
  181. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/_openpyxl.py +0 -0
  182. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/budgets.py +0 -0
  183. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/containers.py +0 -0
  184. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/contracts.py +0 -0
  185. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/delimited.py +0 -0
  186. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/geojson_vector.py +0 -0
  187. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/geopackage.py +0 -0
  188. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/geoparquet.py +0 -0
  189. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/grib2/__init__.py +0 -0
  190. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/grib2/admission.py +0 -0
  191. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/grib2/collection.py +0 -0
  192. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/grib2/collection_reader.py +0 -0
  193. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/grib2/decode.py +0 -0
  194. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/grib2/geometry.py +0 -0
  195. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/grib2/portable_math.py +0 -0
  196. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/grib_eccodes.py +0 -0
  197. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/html_tabular.py +0 -0
  198. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/html_web_extract.py +0 -0
  199. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/json_tabular.py +0 -0
  200. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/parquet_tabular.py +0 -0
  201. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/pcaxis_px.py +0 -0
  202. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/protobuf_tabular.py +0 -0
  203. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/raster/__init__.py +0 -0
  204. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/raster/_bytes.py +0 -0
  205. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/raster/decode.py +0 -0
  206. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/raster/family.py +0 -0
  207. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/raster/jpeg2000.py +0 -0
  208. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/raster/profiles.py +0 -0
  209. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/raster/rendered.py +0 -0
  210. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/raster/safe.py +0 -0
  211. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/raster/sentinel_safe.py +0 -0
  212. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/raster/tiff.py +0 -0
  213. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/registry.py +0 -0
  214. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/README.md +0 -0
  215. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.0.0/cities_one_stream/cities.csv.gz +0 -0
  216. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.0.0/cities_one_stream/expected.json +0 -0
  217. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.1.0/cities_one_stream/cities.csv.gz +0 -0
  218. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.1.0/cities_one_stream/expected.json +0 -0
  219. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/archive.tar/1.0.0/cities_beside_a_directory_entry/cities.tar +0 -0
  220. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/archive.tar/1.0.0/cities_beside_a_directory_entry/expected.json +0 -0
  221. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/archive.tar/1.1.0/cities_beside_a_directory_entry/cities.tar +0 -0
  222. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/archive.tar/1.1.0/cities_beside_a_directory_entry/expected.json +0 -0
  223. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/archive.zip/1.0.0/cities_beside_a_second_member/cities.zip +0 -0
  224. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/archive.zip/1.0.0/cities_beside_a_second_member/expected.json +0 -0
  225. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/archive.zip/1.1.0/dwd_semicolon_station_member/dwd-station.zip +0 -0
  226. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/archive.zip/1.1.0/dwd_semicolon_station_member/expected.json +0 -0
  227. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/archive.zip/1.2.0/dwd_semicolon_station_member/dwd-station.zip +0 -0
  228. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/archive.zip/1.2.0/dwd_semicolon_station_member/expected.json +0 -0
  229. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/an_ordinary_comma_separated_table/cities.csv +0 -0
  230. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/an_ordinary_comma_separated_table/expected.json +0 -0
  231. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/quoted_fields_holding_the_delimiter/cities.tsv +0 -0
  232. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/quoted_fields_holding_the_delimiter/expected.json +0 -0
  233. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/delimited_text/1.1.0/an_hourly_observation_table_served_as_plain_text/expected.json +0 -0
  234. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/delimited_text/1.1.0/an_hourly_observation_table_served_as_plain_text/observations.csv +0 -0
  235. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/geojson.vector/1.0.0/czech_capital/expected.json +0 -0
  236. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/geojson.vector/1.0.0/czech_capital/places.geojson +0 -0
  237. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/geopackage.vector/1.0.0/epsg_4326_feature/expected.json +0 -0
  238. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/geopackage.vector/1.0.0/epsg_4326_feature/places.gpkg +0 -0
  239. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/geoparquet.vector/1.0.0/primary_wkb_point/expected.json +0 -0
  240. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/geoparquet.vector/1.0.0/primary_wkb_point/places.parquet +0 -0
  241. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/html.tabular/1.0.0/sanitized_table/expected.json +0 -0
  242. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/html.tabular/1.0.0/sanitized_table/table.html +0 -0
  243. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/html.web_extract/1.0.0/json_ld_scorecards/expected.json +0 -0
  244. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/html.web_extract/1.0.0/json_ld_scorecards/scorecards.html +0 -0
  245. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/image.rendered/1.0.0/tiny_png/expected.json +0 -0
  246. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/image.rendered/1.0.0/tiny_png/tiny-rendered.png +0 -0
  247. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/json.tabular/1.0.0/nested_hourly_observations/expected.json +0 -0
  248. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/json.tabular/1.0.0/nested_hourly_observations/stations.json +0 -0
  249. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/json.tabular/1.1.0/an_observation_stream_served_as_plain_text/expected.json +0 -0
  250. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/json.tabular/1.1.0/an_observation_stream_served_as_plain_text/observations.ndjson +0 -0
  251. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/meteorology.bufr/1.0.0/eccodes_bufr4_subset/eccodes-bufr4.bufr +0 -0
  252. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/meteorology.bufr/1.0.0/eccodes_bufr4_subset/expected.json +0 -0
  253. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/meteorology.grib/1.0.0/eccodes_grib1_origin/expected.json +0 -0
  254. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/meteorology.grib/1.0.0/eccodes_grib1_origin/regular-ll-surface.grib1 +0 -0
  255. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/microdata.sas_xpt/1.0.0/two_raw_columns/expected.json +0 -0
  256. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/microdata.sas_xpt/1.0.0/two_raw_columns/survey.xpt +0 -0
  257. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/microdata.spss_sav/1.0.0/two_raw_columns/expected.json +0 -0
  258. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/microdata.spss_sav/1.0.0/two_raw_columns/survey.sav +0 -0
  259. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/microdata.stata_dta/1.0.0/two_raw_columns/expected.json +0 -0
  260. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/microdata.stata_dta/1.0.0/two_raw_columns/stata.dta +0 -0
  261. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/official.pcaxis_px/1.0.0/population_by_region_and_year/expected.json +0 -0
  262. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/official.pcaxis_px/1.0.0/population_by_region_and_year/population.px +0 -0
  263. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/official.sdmx_json/1.0.0/compact_population_series/expected.json +0 -0
  264. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/official.sdmx_json/1.0.0/compact_population_series/population.json +0 -0
  265. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/parquet.tabular/1.0.0/two_columns/expected.json +0 -0
  266. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/parquet.tabular/1.0.0/two_columns/prices.parquet +0 -0
  267. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/protobuf.tabular/1.0.0/gtfs_realtime_trip_updates/expected.json +0 -0
  268. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/protobuf.tabular/1.0.0/gtfs_realtime_trip_updates/gtfs-realtime.desc +0 -0
  269. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/protobuf.tabular/1.0.0/gtfs_realtime_trip_updates/trip-updates.pb +0 -0
  270. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/raster.geospatial/1.0.0/tiny_geotiff/expected.json +0 -0
  271. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/raster.geospatial/1.0.0/tiny_geotiff/tiny-geospatial.tif +0 -0
  272. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/satellite.goes_abi_l2/1.0.0/authored_cmi_window/expected.json +0 -0
  273. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/satellite.goes_abi_l2/1.0.0/authored_cmi_window/goes-abi-l2-cmi-window.nc +0 -0
  274. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/satellite.himawari_hsd/1.0.0/authored_b13_single_bzip2/expected.json +0 -0
  275. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/satellite.himawari_hsd/1.0.0/authored_b13_single_bzip2/himawari-b13-0101-bzip2.dat +0 -0
  276. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/satellite.himawari_hsd_complete/1.0.0/authored_b13_three_segment_scan/expected.json +0 -0
  277. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/satellite.himawari_hsd_complete/1.0.0/authored_b13_three_segment_scan/himawari-hsd-b13-complete.zip +0 -0
  278. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/satellite.msg_seviri_l15/1.0.0/authored_calibrated_complete_visir/expected.json +0 -0
  279. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/satellite.msg_seviri_l15/1.0.0/authored_calibrated_complete_visir/msg-seviri-l15.zip +0 -0
  280. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/satellite.sentinel_safe/1.0.0/authored_b02_scl_window/expected.json +0 -0
  281. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/satellite.sentinel_safe/1.0.0/authored_b02_scl_window/sentinel-safe-b02-scl.zip +0 -0
  282. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/satellite.xrit_image/1.0.0/authored_complete_raw_counts/expected.json +0 -0
  283. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/satellite.xrit_image/1.0.0/authored_complete_raw_counts/xrit-complete-image.zip +0 -0
  284. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/scientific.fits/1.0.0/tiny_primary_window/expected.json +0 -0
  285. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/scientific.fits/1.0.0/tiny_primary_window/tiny-primary.fits +0 -0
  286. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf4/1.0.0/authored_temperature_window/expected.json +0 -0
  287. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf4/1.0.0/authored_temperature_window/temperature.hdf +0 -0
  288. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf5/1.0.0/authored_temperature_window/expected.json +0 -0
  289. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf5/1.0.0/authored_temperature_window/temperature.h5 +0 -0
  290. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_grid_temperature_window/expected.json +0 -0
  291. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_grid_temperature_window/nasa-hdfeos2-grid.hdf +0 -0
  292. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_swath_temperature_window/expected.json +0 -0
  293. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_swath_temperature_window/nasa-hdfeos2-swath.hdf +0 -0
  294. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/scientific.netcdf/1.0.0/authored_classic_temperature_window/expected.json +0 -0
  295. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/scientific.netcdf/1.0.0/authored_classic_temperature_window/temperature-classic.nc +0 -0
  296. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/scientific.zarr/1.0.0/authored_v3_temperature_window/expected.json +0 -0
  297. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/scientific.zarr/1.0.0/authored_v3_temperature_window/temperature-zarr-v3.zip +0 -0
  298. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/an_ordinary_table_beside_a_second_sheet/cities.xlsx +0 -0
  299. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/an_ordinary_table_beside_a_second_sheet/expected.json +0 -0
  300. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/shares_the_workbook_had_already_computed/expected.json +0 -0
  301. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/shares_the_workbook_had_already_computed/shares.xlsx +0 -0
  302. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.1.0/shares_the_workbook_had_already_computed/expected.json +0 -0
  303. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.1.0/shares_the_workbook_had_already_computed/shares.xlsx +0 -0
  304. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/README.md +0 -0
  305. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/gfs_2m_temperature/expected.json +0 -0
  306. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/gfs_2m_temperature/gfs-2m-temperature.grib2 +0 -0
  307. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_2m_temperature/expected.json +0 -0
  308. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_2m_temperature/hrrr-2m-temperature.grib2 +0 -0
  309. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_categorical_rain/expected.json +0 -0
  310. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_categorical_rain/hrrr-categorical-rain.grib2 +0 -0
  311. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/2.0.0/hrrr_2m_temperature/expected.json +0 -0
  312. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/2.0.0/hrrr_2m_temperature/hrrr-2m-temperature.grib2 +0 -0
  313. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/3.0.0/gfs_and_hrrr_categorical_rain/expected.json +0 -0
  314. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/3.0.0/gfs_and_hrrr_categorical_rain/gfs-and-hrrr-categorical-rain.grib2 +0 -0
  315. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/plain_filing_fact/expected.json +0 -0
  316. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/plain_filing_fact/filing.xml +0 -0
  317. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/xml_inline_fact/expected.json +0 -0
  318. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/xml_inline_fact/filing.xhtml +0 -0
  319. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/pacer_rss_feed/expected.json +0 -0
  320. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/pacer_rss_feed/feed.xml +0 -0
  321. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/sec_form_d_filing/expected.json +0 -0
  322. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/sec_form_d_filing/filing.xml +0 -0
  323. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/unified_agenda_extract/agenda.xml +0 -0
  324. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/unified_agenda_extract/expected.json +0 -0
  325. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/samples.py +0 -0
  326. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/scientific.py +0 -0
  327. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/scientific_arrays/__init__.py +0 -0
  328. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/scientific_arrays/container.py +0 -0
  329. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/scientific_arrays/goes.py +0 -0
  330. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/scientific_arrays/hdf4.py +0 -0
  331. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/scientific_arrays/hdf4_bridge.py +0 -0
  332. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/scientific_arrays/hdf5.py +0 -0
  333. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/scientific_arrays/native.py +0 -0
  334. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/scientific_arrays/netcdf.py +0 -0
  335. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/scientific_arrays/profiles.py +0 -0
  336. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/scientific_arrays/raw.py +0 -0
  337. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/scientific_arrays/zarr.py +0 -0
  338. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/scientific_catalog.py +0 -0
  339. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/scientific_segmented/__init__.py +0 -0
  340. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/scientific_segmented/asset_sets.py +0 -0
  341. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/scientific_segmented/formats.py +0 -0
  342. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/scientific_segmented/hsd.py +0 -0
  343. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/scientific_segmented/native.py +0 -0
  344. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/scientific_segmented/profiles.py +0 -0
  345. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/scientific_segmented/reader.py +0 -0
  346. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/scientific_segmented/xrit.py +0 -0
  347. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/sdmx_json.py +0 -0
  348. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/spreadsheet.py +0 -0
  349. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/statistical_microdata.py +0 -0
  350. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/tabular.py +0 -0
  351. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/vector.py +0 -0
  352. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/vector_wkb.py +0 -0
  353. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/xbrl_facts.py +0 -0
  354. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/readers/xml_tabular.py +0 -0
  355. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/recipe.py +0 -0
  356. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/review.py +0 -0
  357. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/rowset.py +0 -0
  358. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/session_probes.py +0 -0
  359. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/signing.py +0 -0
  360. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/skill_assets.py +0 -0
  361. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/source_bootstrap.py +0 -0
  362. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/source_discovery.py +0 -0
  363. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/source_history_candidate_child.py +0 -0
  364. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/source_history_transform_child.py +0 -0
  365. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/source_inventory.py +0 -0
  366. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/__init__.py +0 -0
  367. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/_adapter_steps.py +0 -0
  368. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/adapters.py +0 -0
  369. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/authenticated_https.py +0 -0
  370. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/authenticated_https_v2.py +0 -0
  371. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/authenticated_https_v3.py +0 -0
  372. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/cadence.py +0 -0
  373. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/cadence_emission.py +0 -0
  374. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/cadence_history.py +0 -0
  375. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/__init__.py +0 -0
  376. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/admission.py +0 -0
  377. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/authoring.py +0 -0
  378. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/authoring_policy.py +0 -0
  379. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/authoring_shards.py +0 -0
  380. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/channel.py +0 -0
  381. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/channel_client.py +0 -0
  382. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/contracts.py +0 -0
  383. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/coverage.py +0 -0
  384. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/embedding.py +0 -0
  385. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/entry_v2.py +0 -0
  386. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/fill.py +0 -0
  387. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/fill_partitions.py +0 -0
  388. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/fill_staging.py +0 -0
  389. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/gating.py +0 -0
  390. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/generation_receipt.py +0 -0
  391. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/harvest/__init__.py +0 -0
  392. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/harvest/ckan.py +0 -0
  393. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/harvest/datagov_v4.py +0 -0
  394. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/harvest/protocol.py +0 -0
  395. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/harvest/sdmx.py +0 -0
  396. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/harvest/stac.py +0 -0
  397. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/hosted_catalog.py +0 -0
  398. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/identity_history.py +0 -0
  399. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/neural.py +0 -0
  400. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/packed_catalog.py +0 -0
  401. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/packed_retrieval.py +0 -0
  402. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/packed_writer.py +0 -0
  403. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/query_trace.py +0 -0
  404. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/recommend.py +0 -0
  405. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/retrieval.py +0 -0
  406. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/retrieval_manifest.py +0 -0
  407. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/sealed.py +0 -0
  408. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/search.py +0 -0
  409. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/streaming_delta.py +0 -0
  410. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/catalog/update.py +0 -0
  411. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/collections.py +0 -0
  412. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/contracts.py +0 -0
  413. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/dataset.py +0 -0
  414. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/deletion.py +0 -0
  415. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/document_projection.py +0 -0
  416. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/fitness.py +0 -0
  417. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/governance.py +0 -0
  418. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/hosted.py +0 -0
  419. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/integration.py +0 -0
  420. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/range_reader.py +0 -0
  421. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/rights_rule.py +0 -0
  422. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/source_cadence_vectors.v1.json +0 -0
  423. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/sports.py +0 -0
  424. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/stream.py +0 -0
  425. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/stream_capture_session.py +0 -0
  426. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/stream_connector.py +0 -0
  427. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.cursor-resume.v3.json +0 -0
  428. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-ed25519.v2.json +0 -0
  429. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-hmac.v2.json +0 -0
  430. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-hmac384.v2.json +0 -0
  431. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-hmac512.v2.json +0 -0
  432. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame.v2.json +0 -0
  433. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-header-rsa.v2.json +0 -0
  434. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-header.v2.json +0 -0
  435. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-permessage-jwt.v2.json +0 -0
  436. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-permessage.v2.json +0 -0
  437. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-prelude.v2.json +0 -0
  438. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-query.v2.json +0 -0
  439. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-subprotocol.v2.json +0 -0
  440. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-subscribe.v2.json +0 -0
  441. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-urlpath.v2.json +0 -0
  442. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/stream_connectors/polymarket.clob-market.v1.json +0 -0
  443. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/stream_credential.py +0 -0
  444. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/stream_prelude.py +0 -0
  445. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/stream_recorder.py +0 -0
  446. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/stream_rotation.py +0 -0
  447. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/stream_segment_recorder.py +0 -0
  448. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/stream_signing.py +0 -0
  449. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sources/stream_transport.py +0 -0
  450. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/sql_transform_engine.py +0 -0
  451. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/stream_order_vector.py +0 -0
  452. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/stream_recovery_objects.py +0 -0
  453. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/stream_segment_spill.py +0 -0
  454. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/stream_subscription_feed.py +0 -0
  455. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/stream_subscription_sealer.py +0 -0
  456. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/stream_subscription_worker.py +0 -0
  457. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/stream_venue.py +0 -0
  458. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/stream_venue_staging.py +0 -0
  459. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/studio_subscription_control.py +0 -0
  460. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/table_manifest.py +0 -0
  461. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/table_parts.py +0 -0
  462. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/table_profile.py +0 -0
  463. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/thin/__init__.py +0 -0
  464. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/thin/acquire.py +0 -0
  465. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/thin/acquire_cancel.py +0 -0
  466. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/thin/activity.py +0 -0
  467. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/thin/approvals.py +0 -0
  468. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/thin/commands.py +0 -0
  469. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/thin/download.py +0 -0
  470. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/thin/narrative.py +0 -0
  471. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/thin/parity.py +0 -0
  472. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/thin/probe.py +0 -0
  473. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/thin/propose.py +0 -0
  474. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/thin/recipe.py +0 -0
  475. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/thin/research.py +0 -0
  476. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/thin/router.py +0 -0
  477. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/thin/runs.py +0 -0
  478. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/thin/session.py +0 -0
  479. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/thin/stream.py +0 -0
  480. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/thin/stream_venue.py +0 -0
  481. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/thin/transport.py +0 -0
  482. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/thin/v4.py +0 -0
  483. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/thin/v4_artifacts.py +0 -0
  484. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/thin/v4_connections.py +0 -0
  485. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/thin/v4_dataset_covers.py +0 -0
  486. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/thin/v4_datasets.py +0 -0
  487. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/thin/v4_handoff.py +0 -0
  488. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/thin/v4_narrative.py +0 -0
  489. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/thin/v4_query.py +0 -0
  490. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/thin/v4_runs.py +0 -0
  491. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/thin/v4_secrets.py +0 -0
  492. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/thin/v4_stream.py +0 -0
  493. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/thin/v4_tables.py +0 -0
  494. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/ucum/TABLE-PIN.json +0 -0
  495. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/ucum/ucum-subset.v1.json +0 -0
  496. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/unit_flow.py +0 -0
  497. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/units.py +0 -0
  498. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/ux/__init__.py +0 -0
  499. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/ux/attendance.py +0 -0
  500. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/ux/clarification.py +0 -0
  501. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/ux/cloud_auth.py +0 -0
  502. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/ux/commands/__init__.py +0 -0
  503. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/ux/commands/auth.py +0 -0
  504. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/ux/commands/catalog_author.py +0 -0
  505. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/ux/commands/catalog_harvest.py +0 -0
  506. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/ux/commands/catalog_publish.py +0 -0
  507. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/ux/commands/clarify.py +0 -0
  508. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/ux/commands/login.py +0 -0
  509. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/ux/commands/record.py +0 -0
  510. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/ux/commands/whoami.py +0 -0
  511. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/ux/credential_native.py +0 -0
  512. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/ux/credential_store.py +0 -0
  513. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/ux/credentials.py +0 -0
  514. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/ux/headline.py +0 -0
  515. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/ux/hosted_acquisition.py +0 -0
  516. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/ux/local_review.py +0 -0
  517. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/ux/login.py +0 -0
  518. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/ux/path_kind.py +0 -0
  519. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/ux/plain_file.py +0 -0
  520. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/ux/readers.py +0 -0
  521. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/ux/render.py +0 -0
  522. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/v4_acquisition.py +0 -0
  523. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/v4_check_dialect.py +0 -0
  524. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/v4_document_pin.py +0 -0
  525. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/v4_reader_pin.py +0 -0
  526. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/v4_required_controls.py +0 -0
  527. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/v4_snapshot_artifact.py +0 -0
  528. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/v4_stream_recording.py +0 -0
  529. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/v4_transform.py +0 -0
  530. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/visual_run/__init__.py +0 -0
  531. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/visual_run/authoring.py +0 -0
  532. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/visual_run/contracts.py +0 -0
  533. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/visual_run/materialize.py +0 -0
  534. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/visual_run/observations.py +0 -0
  535. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/visual_run/reducer.py +0 -0
  536. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/visual_run/sdk.py +0 -0
  537. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/visual_run/store.py +0 -0
  538. {mostlyright_data-0.15.2 → mostlyright_data-0.16.0}/src/mostlyright/data_harness/visual_run/transport.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mostlyright-data
3
- Version: 0.15.2
3
+ Version: 0.16.0
4
4
  Summary: Mostly Right CLI for reproducible, reviewed Parquet datasets
5
5
  Project-URL: Homepage, https://mostlyright.md/
6
6
  Project-URL: Documentation, https://mostlyright.md/docs/guides/cli/
@@ -208,21 +208,33 @@ mr-data --help
208
208
 
209
209
  ## Build a dataset
210
210
 
211
+ Register a recipe document with the sources, table schema, transformations and checks:
212
+
211
213
  ```bash
212
- mr-data probe SOURCE_ID "does this feed carry city grain before 2021"
213
- mr-data recipe RECIPE.json
214
- mr-data run RECIPE_ID --sample --max-rows 50000
215
- mr-data checks RUN
216
- mr-data download RUN --output ./out
214
+ mr-data recipe recipe.json --json
215
+ mr-data run --recipe RECIPE_ID --digest RECIPE_DIGEST --full
216
+ mr-data status RUN_ID
217
+ mr-data checks RUN_ID
218
+ mr-data download RUN_ID --output ./out
217
219
  ```
218
220
 
219
- `probe` asks one registered source one question; the session behind it is opened, reused and closed
220
- for you. `recipe` registers one document and prints the identifiers the server derived from it.
221
- `run` starts a run and `mr-data status RUN`, `mr-data runs`, and `mr-data watch RUN` report on it.
222
- The current Harness worker executes unwindowed `sample` and `full` runs. It refuses a stated run
223
- window, and it does not execute `refresh`, `backfill`, promotion catch-up, or scheduled warehouse
224
- continuation. `mr-data promote TABLE_ID` is still the human-gated publication request, but claim a
225
- table is live and current only when the deployed Studio and warehouse services return that evidence.
221
+ Use the identifiers returned by registration and run submission. `mr-data dataset create`
222
+ creates a dataset page before a recipe is ready. `mr-data watch RUN_ID` follows a submitted run.
223
+
224
+ The hosted engine executes sample, full and refresh runs. A refresh uses each source's declared
225
+ update behavior: bounded source windows merge with retained history; snapshot sources are
226
+ revalidated or acquired again. The table's transformations and checks run over the resulting
227
+ source relations. URL windows may use declared query parameters or path placeholders; a fixed
228
+ date URL does not advance automatically. Configure a correction lookback where the publisher
229
+ can revise earlier observations.
230
+
231
+ A source exposing only its current snapshot cannot supply a historical delta. It remains a
232
+ supported source, with snapshot comparison and recomputation rather than a claim that only new
233
+ rows were fetched. Recorded streams use their registered capture and continuation semantics.
234
+
235
+ See [Recipe documents](docs/RECIPE-DOCUMENT.md) for source-window and bootstrap contracts.
236
+ `mr-data promote TABLE_ID` requests publication; claim a table is live and current only when
237
+ Studio returns that evidence.
226
238
 
227
239
  ## There is no local execution
228
240
 
@@ -252,7 +264,9 @@ Use `mr-data --help` for the full command list and options. Commands that suppor
252
264
 
253
265
  - Weather Reader versions 1 and 2 accept one extracted GRIB2 record and refuse a multi-record GFS
254
266
  or HRRR file. Version 3 reads a bounded collection and selects exactly one sealed record.
255
- - Hosted credential-free acquisition supports one single-address public HTTPS object. Bounded collections have no hosted route, and the route they used to have was the deleted local one.
267
+ - A single-address credential-free public HTTPS source uses the reviewed hosted route. Bounded
268
+ collections have no route at all; the retired local lane was their only route.
269
+ - A recipe supports up to 256 declared sources. Source count is separate from bounded request concurrency and resource limits. Existing source adapters and Readers retain their own format, pagination, byte, row and credential contracts; a URL collection is not an implicit permission to crawl arbitrary links.
256
270
  - A keyed stream venue is named by a credential reference the backend holds, never by a value. No command flag takes a secret as an argument. Venues reached over an actual WebSocket are covered; a venue whose credential comes from an interactive human login, or that is not WebSocket at all, is not.
257
271
 
258
272
  ## Verification
@@ -267,7 +281,7 @@ before review or merge.
267
281
  ## Development
268
282
 
269
283
  ```bash
270
- uv sync --locked --extra dev
284
+ uv sync --locked --extra dev --extra local-search-neural
271
285
  ```
272
286
 
273
287
  The test suite drives the execution engine in-process, and requires Linux for the worker-boundary
@@ -45,21 +45,33 @@ mr-data --help
45
45
 
46
46
  ## Build a dataset
47
47
 
48
+ Register a recipe document with the sources, table schema, transformations and checks:
49
+
48
50
  ```bash
49
- mr-data probe SOURCE_ID "does this feed carry city grain before 2021"
50
- mr-data recipe RECIPE.json
51
- mr-data run RECIPE_ID --sample --max-rows 50000
52
- mr-data checks RUN
53
- mr-data download RUN --output ./out
51
+ mr-data recipe recipe.json --json
52
+ mr-data run --recipe RECIPE_ID --digest RECIPE_DIGEST --full
53
+ mr-data status RUN_ID
54
+ mr-data checks RUN_ID
55
+ mr-data download RUN_ID --output ./out
54
56
  ```
55
57
 
56
- `probe` asks one registered source one question; the session behind it is opened, reused and closed
57
- for you. `recipe` registers one document and prints the identifiers the server derived from it.
58
- `run` starts a run and `mr-data status RUN`, `mr-data runs`, and `mr-data watch RUN` report on it.
59
- The current Harness worker executes unwindowed `sample` and `full` runs. It refuses a stated run
60
- window, and it does not execute `refresh`, `backfill`, promotion catch-up, or scheduled warehouse
61
- continuation. `mr-data promote TABLE_ID` is still the human-gated publication request, but claim a
62
- table is live and current only when the deployed Studio and warehouse services return that evidence.
58
+ Use the identifiers returned by registration and run submission. `mr-data dataset create`
59
+ creates a dataset page before a recipe is ready. `mr-data watch RUN_ID` follows a submitted run.
60
+
61
+ The hosted engine executes sample, full and refresh runs. A refresh uses each source's declared
62
+ update behavior: bounded source windows merge with retained history; snapshot sources are
63
+ revalidated or acquired again. The table's transformations and checks run over the resulting
64
+ source relations. URL windows may use declared query parameters or path placeholders; a fixed
65
+ date URL does not advance automatically. Configure a correction lookback where the publisher
66
+ can revise earlier observations.
67
+
68
+ A source exposing only its current snapshot cannot supply a historical delta. It remains a
69
+ supported source, with snapshot comparison and recomputation rather than a claim that only new
70
+ rows were fetched. Recorded streams use their registered capture and continuation semantics.
71
+
72
+ See [Recipe documents](docs/RECIPE-DOCUMENT.md) for source-window and bootstrap contracts.
73
+ `mr-data promote TABLE_ID` requests publication; claim a table is live and current only when
74
+ Studio returns that evidence.
63
75
 
64
76
  ## There is no local execution
65
77
 
@@ -89,7 +101,9 @@ Use `mr-data --help` for the full command list and options. Commands that suppor
89
101
 
90
102
  - Weather Reader versions 1 and 2 accept one extracted GRIB2 record and refuse a multi-record GFS
91
103
  or HRRR file. Version 3 reads a bounded collection and selects exactly one sealed record.
92
- - Hosted credential-free acquisition supports one single-address public HTTPS object. Bounded collections have no hosted route, and the route they used to have was the deleted local one.
104
+ - A single-address credential-free public HTTPS source uses the reviewed hosted route. Bounded
105
+ collections have no route at all; the retired local lane was their only route.
106
+ - A recipe supports up to 256 declared sources. Source count is separate from bounded request concurrency and resource limits. Existing source adapters and Readers retain their own format, pagination, byte, row and credential contracts; a URL collection is not an implicit permission to crawl arbitrary links.
93
107
  - A keyed stream venue is named by a credential reference the backend holds, never by a value. No command flag takes a secret as an argument. Venues reached over an actual WebSocket are covered; a venue whose credential comes from an interactive human login, or that is not WebSocket at all, is not.
94
108
 
95
109
  ## Verification
@@ -104,7 +118,7 @@ before review or merge.
104
118
  ## Development
105
119
 
106
120
  ```bash
107
- uv sync --locked --extra dev
121
+ uv sync --locked --extra dev --extra local-search-neural
108
122
  ```
109
123
 
110
124
  The test suite drives the execution engine in-process, and requires Linux for the worker-boundary
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mostlyright-data"
3
- version = "0.15.2"
3
+ version = "0.16.0"
4
4
  description = "Mostly Right CLI for reproducible, reviewed Parquet datasets"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.13,<3.14"
@@ -84,6 +84,9 @@ mr-data-generic-api = "mostlyright.data_harness.thin.workers:generic_api_probe_m
84
84
  mr-data-session-worker = "mostlyright.data_harness.thin.workers:session_worker_main"
85
85
  mr-data-session-worker-job = "mostlyright.data_harness.thin.workers:session_worker_job_main"
86
86
  mr-data-ingestion-job = "mostlyright.data_harness.thin.workers:ingestion_job_main"
87
+ # The shared, persistent executor for bounded incremental refreshes. Unlike the
88
+ # segment-delivery Job above, it claims a run directly and has no task-specific argv.
89
+ mr-data-ingestion-worker = "mostlyright.data_harness.thin.workers:ingestion_worker_main"
87
90
  # The hosted stream venue's recorder. It runs from the same worker runtime the producer and
88
91
  # the ingestion Job run from -- the install stage puts every console script in the image and
89
92
  # that stage deletes none of them -- so this entry is the whole of what a new job shape needs.
@@ -115,7 +115,7 @@ gap rather than doing anything, and `export-hosted-candidate`, which is a backen
115
115
  | `mr-data dataset` | Bring the dataset page into existence before there is anything on it, then fill it in while somebody watches. `dataset create --name TEXT` mints it and prints the `dataset_id`; `dataset show ID` reads it back; `dataset set ID --name TEXT --description-file F` writes the title and the description under the version it was read at, retrying once if somebody else wrote first; `dataset note ID --heading H --blocks-file B` writes one cell of the decision record that OUTLIVES every run, and `--list` reads it back; `dataset watch ID` follows the page's own event stream; `dataset activity ID --phase P --message TEXT` says what is happening right now, silently, and is never a chat message and never a cell; `dataset archive ID --confirm-name TITLE` retires the page and frees its title, deleting nothing. |
116
116
  | `mr-data recipe` | Register one recipe document — dataset, question, table plan, sources, transform, checks and units — in one call, and print the identifiers the server derived. `mr-data recipe show ID` reads one back. |
117
117
  | `mr-data cover` | Generate and attach one branded 1200×630 dataset cover. Give it the dataset ID and what the image should depict; Studio fixes the model, single-color style, curated random palette, dimensions and storage. |
118
- | `mr-data run` | Start one run against a registered recipe, named as `--recipe RECIPE_ID --digest RECIPE_DIGEST` — both required, neither positional, and the digest is the bare hex the registration receipt printed. The command accepts `--sample`, `--full`, `--refresh`, `--backfill` and `--window`, and the worker executes `--sample`, `--full` and `--refresh` (a refresh re-acquires the declared addresses over the previous version and claims no window); `--backfill` and a `--window` on a sample or full are refused before acquisition. `--max-rows` and `--max-source-bytes` remain supported, and each bounds ONE SOURCE rather than the finished table. A large run is held for a spend confirmation, which `--confirm` settles; a sample-first held full requires Studio's interactive human approval instead. `--cancel RUN` stops one. |
118
+ | `mr-data run` | Start one run against a registered recipe, named as `--recipe RECIPE_ID --digest RECIPE_DIGEST` — both required, neither positional, and the digest is the bare hex the registration receipt printed. The command accepts `--sample`, `--full`, `--refresh`, `--backfill` and `--window`, and the worker executes `--sample`, `--full` and `--refresh`. A refresh narrows each source that declares a supported address window and merges its returned relation into retained source state; unwindowed sources are conditionally revalidated or re-acquired whole, then the full declared transform runs. `--backfill` and a `--window` on a sample or full are refused before acquisition. `--max-rows` and `--max-source-bytes` remain supported, and each bounds ONE SOURCE rather than the finished table. A large run is held for a spend confirmation, which `--confirm` settles; a sample-first held full requires Studio's interactive human approval instead. `--cancel RUN` stops one. |
119
119
  | `mr-data status` | Report which of the seven states one run is in, what it delivered and whether a ceiling cut it short, and — on a failure — what failed and where. Exits non-zero on a failed run. |
120
120
  | `mr-data runs` | Report this workspace's own runs: identifier, mode, state and creation time, plus the failure triple of any that failed. `--status` and `--mode` narrow it and are refused for a word outside the seven or the four; `--limit` says how many, and pages are followed to reach it. |
121
121
  | `mr-data watch` | Stream one run's live progress under the durable event type of each stage, resuming across stream cuts. Exits non-zero when the run failed. |
@@ -745,10 +745,10 @@ which is the other reason the search belongs there.
745
745
  protocol, on `--sample`, `max_rows` and `window` truncate: the run succeeds at the clamp boundary
746
746
  and reports the coverage it actually delivered. `max_source_bytes` refuses in every mode, sample
747
747
  included, and on `full`, `refresh` and `backfill`, hitting any clamp is a refusal with
748
- `CLAMP_EXCEEDED`. The current worker admits `sample`, `full` and `refresh` (unwindowed in effect) and refuses `backfill` before applying
749
- those dispositions. Therefore an executable sample may truncate on `max_rows`; an executable full
750
- refuses a crossed row or byte ceiling; every stated window, refresh, and backfill is refused before
751
- a byte is fetched.
748
+ `CLAMP_EXCEEDED`. The current worker admits `sample`, `full` and `refresh` and refuses `backfill` before applying
749
+ those dispositions. A declared supported source window narrows that source's refresh request; it
750
+ does not make every source or connector incremental. Therefore an executable sample may truncate
751
+ on `max_rows`, and an executable full or refresh refuses a crossed row or byte ceiling.
752
752
 
753
753
  **A succeeded run carries `coverage`, and `truncated` is required on every entry.** That is how a
754
754
  complete acquired response is told from one cut at fifty thousand rows without opening the
@@ -760,11 +760,14 @@ the record — `mr-data run --recipe RECIPE_ID --digest RECIPE_DIGEST --full --c
760
760
  held answer prints back as `confirm_command`. Any authenticated surface of the paying workspace may
761
761
  settle it. `mr-data run --cancel RUN_ID` stops a run that is queued or running.
762
762
 
763
- Do not treat the accepted command vocabulary as execution evidence. A `refresh` restores the
764
- previous version, re-acquires the declared addresses in full and seals the next version, claiming
765
- no coverage window -- it is how an enabled table's catch-up and its scheduled refresh run. A
766
- `backfill` is defined by the exact window it covers, which this worker cannot narrow a source
767
- request to, and is refused before acquisition.
763
+ Do not treat the accepted command vocabulary as execution evidence. Author a source window only
764
+ when the publisher has a truthful bounded date endpoint: use query names by default or exact
765
+ `{parameter}` markers in its path, retain a correction lookback, and keep historical sources
766
+ revalidatable unless an explicit closure contract says they cannot change. A refresh merges each
767
+ windowed source slice into retained source state and recomputes the complete transform; unrelated
768
+ snapshot sources are conditionally revalidated or re-acquired as needed. Cursor, pagination and
769
+ new-file discovery need their own supported source contract and must not be represented as a date
770
+ window. A `backfill` remains refused before acquisition.
768
771
 
769
772
  ### 6. Interrogate — ask the run what it actually delivered
770
773
 
@@ -1276,12 +1279,12 @@ the source again. Do not lock a schedule on your own judgement — it is the sam
1276
1279
  promotion, and it belongs to the user.
1277
1280
 
1278
1281
  This call is a publication request, not proof of data continuation. The current Harness worker
1279
- cannot execute the catch-up backfill, refresh mode, or windowed acquisition needed to close the
1280
- idle interval after the last successful run. It also does not attach or execute a warehouse
1281
- schedule. Another deployed Studio or warehouse component may do that work, but only its returned
1282
- state and durable run evidence support a claim that the table is live, caught up, or refreshing.
1283
- If that evidence is absent, report that publication was requested and that ongoing freshness is
1284
- unavailable; do not imply that promotion filled the gap.
1282
+ can execute a supported refresh, including declared source windows, but it does not make a frozen
1283
+ date, a generic cursor or a file listing advance by inference. It also does not attach or execute a
1284
+ warehouse schedule. Another deployed Studio or warehouse component may do that work, but only its
1285
+ returned state and durable run evidence support a claim that the table is live, caught up, or
1286
+ refreshing. If that evidence is absent, report that publication was requested and that ongoing
1287
+ freshness is unavailable; do not imply that promotion filled the gap.
1285
1288
 
1286
1289
  `mr-data pin TABLE_ID --version VERSION_ID` freezes the pointer on an exact version for a rollback
1287
1290
  or a hold, `mr-data unpin TABLE_ID` resumes tracking, and `mr-data demote TABLE_ID` detaches the
@@ -3834,3 +3834,22 @@ def _require_snapshot_fd_bytes(
3834
3834
  "SNAPSHOT_COLLISION",
3835
3835
  "existing content-addressed snapshot bytes differ",
3836
3836
  )
3837
+ # A write can land in an earlier chunk after that chunk was hashed. Metadata alone cannot
3838
+ # close that interval: some filesystems expose timestamps too coarsely for a same-size write.
3839
+ # Re-read positionally and compare against the caller-owned expected bytes, preserving the
3840
+ # first pass's bounded memory use and never advancing this descriptor's stream position.
3841
+ offset = 0
3842
+ while offset < expected_length:
3843
+ try:
3844
+ repeated = os.pread(file_descriptor, min(65_536, expected_length - offset), offset)
3845
+ except OSError as error:
3846
+ raise AcquisitionSecurityError(
3847
+ "SNAPSHOT_COLLISION",
3848
+ "existing content-addressed snapshot could not be re-read",
3849
+ ) from error
3850
+ if not repeated or repeated != expected[offset : offset + len(repeated)]:
3851
+ raise AcquisitionSecurityError(
3852
+ "SNAPSHOT_COLLISION",
3853
+ "existing content-addressed snapshot bytes changed during validation",
3854
+ )
3855
+ offset += len(repeated)
@@ -28,6 +28,7 @@ from mostlyright.data_harness.formats import (
28
28
  FORMAT_MEDIA_TYPES,
29
29
  FORMAT_SUFFIXES,
30
30
  )
31
+ from mostlyright.data_harness.source_partition import PARTITION_KEYS, source_partition_day
31
32
 
32
33
  # Read from the single closed table in ``mostlyright.data_harness.formats``; this module
33
34
  # keeps the private names it has always used so its call sites are unchanged.
@@ -594,7 +595,7 @@ def parse_streaming_csv_window(
594
595
  or not 1 <= max_output_bytes <= MAX_FILE_BACKED_WINDOW_BYTES
595
596
  ):
596
597
  raise AcquisitionSecurityError("WINDOW_STREAM_LIMIT", "window byte ceiling is invalid")
597
- if partition_key not in {"iso_date_prefix", "iso_date_value"}:
598
+ if partition_key not in PARTITION_KEYS:
598
599
  raise AcquisitionSecurityError(
599
600
  "WINDOW_STREAM_PARTITION", "partition key encoding is invalid"
600
601
  )
@@ -858,9 +859,12 @@ def _window_instant(value: object) -> datetime.datetime:
858
859
 
859
860
 
860
861
  def _partition_key_and_date(value: str, *, encoding: str) -> tuple[str, datetime.date]:
861
- key = value[:10] if encoding == "iso_date_prefix" else value
862
- if _ISO_DATE.fullmatch(key) is None:
863
- raise AcquisitionSecurityError("WINDOW_STREAM_PARTITION", "partition key is not canonical")
862
+ try:
863
+ key = source_partition_day(value, encoding)
864
+ except ValueError:
865
+ raise AcquisitionSecurityError(
866
+ "WINDOW_STREAM_PARTITION", "partition key is not canonical"
867
+ ) from None
864
868
  try:
865
869
  parsed_date = datetime.date.fromisoformat(key)
866
870
  except ValueError: