mostlyright-data 0.11.0__tar.gz → 0.12.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 (562) hide show
  1. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/PKG-INFO +1 -1
  2. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/pyproject.toml +1 -1
  3. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/skills/mr-data-build/SKILL.md +129 -37
  4. mostlyright_data-0.12.0/src/mostlyright/data_harness/acquisition/derived_credentials.py +506 -0
  5. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/acquisition/sandbox.py +57 -8
  6. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/hosted_run_worker.py +217 -24
  7. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/hosted_worker.py +820 -75
  8. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/inprocess_acquisition.py +604 -0
  9. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/local_contracts.py +31 -2
  10. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/pipeline.py +5 -0
  11. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/run_execution_v4.py +190 -9
  12. mostlyright_data-0.12.0/src/mostlyright/data_harness/sources/authenticated_https_v3.py +2256 -0
  13. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/contracts.py +12 -0
  14. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sql_transform_engine.py +176 -20
  15. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/studio_boundary.py +2 -2
  16. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/thin/router.py +2 -0
  17. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/thin/v4.py +20 -0
  18. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/thin/v4_artifacts.py +58 -19
  19. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/thin/v4_query.py +193 -5
  20. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/thin/v4_runs.py +5 -1
  21. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/thin/v4_stream.py +37 -3
  22. mostlyright_data-0.12.0/src/mostlyright/data_harness/thin/v4_tables.py +922 -0
  23. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/thin/vocabulary.py +12 -0
  24. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/remediation.py +1 -1
  25. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/render.py +2 -0
  26. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/v4_acquisition.py +54 -13
  27. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/v4_recipe.py +171 -36
  28. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/v4_stream_recording.py +5 -2
  29. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/v4_transform.py +4 -0
  30. mostlyright_data-0.11.0/src/mostlyright/data_harness/thin/v4_tables.py +0 -488
  31. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/.gitignore +0 -0
  32. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/README.md +0 -0
  33. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/scripts/hatch_build.py +0 -0
  34. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/skills/mr-data-build/agents/openai.yaml +0 -0
  35. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/skills/mr-data-build/scripts/write_research_notebook.py +0 -0
  36. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/skills/mr-data-build/scripts/write_visual_run.py +0 -0
  37. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/__init__.py +0 -0
  38. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/LICENSE +0 -0
  39. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/PROVENANCE.json +0 -0
  40. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/__init__.py +0 -0
  41. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/__init__.pyi +0 -0
  42. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/_version.py +0 -0
  43. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/cal_rec_boxes/__init__.py +0 -0
  44. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/cal_rec_boxes/main.py +0 -0
  45. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_cls/__init__.py +0 -0
  46. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_cls/main.py +0 -0
  47. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_cls/utils.py +0 -0
  48. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_det/__init__.py +0 -0
  49. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_det/main.py +0 -0
  50. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_det/utils.py +0 -0
  51. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/__init__.py +0 -0
  52. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/main.py +0 -0
  53. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/typings.py +0 -0
  54. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/utils.py +0 -0
  55. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/config.yaml +0 -0
  56. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/inference_engine/__init__.py +0 -0
  57. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/inference_engine/base.py +0 -0
  58. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/inference_engine/onnxruntime/__init__.py +0 -0
  59. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/inference_engine/onnxruntime/main.py +0 -0
  60. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/inference_engine/onnxruntime/provider_config.py +0 -0
  61. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/main.py +0 -0
  62. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/models/PP-OCRv6_det_small.onnx +0 -0
  63. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/models/PP-OCRv6_rec_small.onnx +0 -0
  64. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/models/ch_ppocr_mobile_v2.0_cls_mobile.onnx +0 -0
  65. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/py.typed +0 -0
  66. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/utils/__init__.py +0 -0
  67. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/utils/load_image.py +0 -0
  68. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/utils/log.py +0 -0
  69. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/utils/model_resolver.py +0 -0
  70. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/utils/output.py +0 -0
  71. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/utils/parse_parameters.py +0 -0
  72. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/utils/process_img.py +0 -0
  73. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/utils/typings.py +0 -0
  74. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/_vendor/rapidocr/utils/utils.py +0 -0
  75. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/__init__.py +0 -0
  76. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/acquisition/__init__.py +0 -0
  77. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/acquisition/http.py +0 -0
  78. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/acquisition/parsing.py +0 -0
  79. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/acquisition/ranges.py +0 -0
  80. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/acquisition/result_download.py +0 -0
  81. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/acquisition/retention_admission.py +0 -0
  82. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/acquisition/url_policy.py +0 -0
  83. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/agent_runtime.py +0 -0
  84. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/assets/logo-ink.svg +0 -0
  85. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/backends/__init__.py +0 -0
  86. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/backends/pandas_backend.py +0 -0
  87. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/backends/polars_backend.py +0 -0
  88. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/backends/protocol.py +0 -0
  89. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/backends/reference.py +0 -0
  90. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/backends/registry.py +0 -0
  91. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/backends/restrictions.py +0 -0
  92. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/bounded_query.py +0 -0
  93. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/canonical.py +0 -0
  94. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/catalog_job.py +0 -0
  95. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/cli.py +0 -0
  96. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/contracts.py +0 -0
  97. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/coordinator.py +0 -0
  98. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/crosswalks.py +0 -0
  99. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/declared_checks.py +0 -0
  100. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/deploy.py +0 -0
  101. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/deploy_target.py +0 -0
  102. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/deployment_evidence.py +0 -0
  103. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/documents/__init__.py +0 -0
  104. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/documents/_worker_capability.py +0 -0
  105. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/documents/agent_request.py +0 -0
  106. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/documents/capture.py +0 -0
  107. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/documents/contracts.py +0 -0
  108. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/documents/lane.py +0 -0
  109. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/documents/ocr.py +0 -0
  110. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/documents/pdf.py +0 -0
  111. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/documents/registry.py +0 -0
  112. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/documents/sandbox.py +0 -0
  113. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/documents/selections.py +0 -0
  114. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/documents/tables.py +0 -0
  115. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/documents/vendor_rapidocr.py +0 -0
  116. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/events.py +0 -0
  117. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/fast_delimited.py +0 -0
  118. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/formats.py +0 -0
  119. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/governors.py +0 -0
  120. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/hosted_bootstrap.py +0 -0
  121. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/hosted_crawler.py +0 -0
  122. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/hosted_crawler_container_smoke.py +0 -0
  123. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/hosted_crawler_fetch.py +0 -0
  124. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/hosted_crawler_job.py +0 -0
  125. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/hosted_crawler_protocol.py +0 -0
  126. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/hosted_dataset.py +0 -0
  127. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/hosted_deploy.py +0 -0
  128. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/hosted_handoff.py +0 -0
  129. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/hosted_ingestion_contract.py +0 -0
  130. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/hosted_ingestion_job.py +0 -0
  131. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/hosted_ingestion_job_smoke.py +0 -0
  132. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/hosted_rlimit_as_container_smoke.py +0 -0
  133. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/hosted_session_container_smoke.py +0 -0
  134. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/hosted_session_worker.py +0 -0
  135. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/hosted_session_worker_job_smoke.py +0 -0
  136. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/hosted_stream_recorder_container_smoke.py +0 -0
  137. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/hosted_stream_recorder_job.py +0 -0
  138. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/hosted_stream_subscription_container_smoke.py +0 -0
  139. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/hosted_stream_subscription_worker.py +0 -0
  140. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ingestion/__init__.py +0 -0
  141. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ingestion/contracts.py +0 -0
  142. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ingestion/faults.py +0 -0
  143. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ingestion/gcs_store.py +0 -0
  144. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ingestion/spool.py +0 -0
  145. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ingestion/store.py +0 -0
  146. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/key_seam.py +0 -0
  147. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/linux_process_boundary.py +0 -0
  148. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/local_search/__init__.py +0 -0
  149. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/local_search/build_index.py +0 -0
  150. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/local_search/contracts.py +0 -0
  151. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/local_search/query_trace.py +0 -0
  152. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/local_search/retrieval.py +0 -0
  153. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/local_search/sealed.py +0 -0
  154. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/local_search/service.py +0 -0
  155. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/nbrender/CONTRACT.md +0 -0
  156. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/nbrender/__init__.py +0 -0
  157. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/nbrender/chrome.py +0 -0
  158. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/nbrender/code_body.py +0 -0
  159. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/nbrender/document.py +0 -0
  160. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/nbrender/frame.py +0 -0
  161. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/nbrender/interactive.py +0 -0
  162. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/nbrender/markdown_body.py +0 -0
  163. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/nbrender/mr_components.py +0 -0
  164. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/nbrender/outputs_data.py +0 -0
  165. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/nbrender/outputs_rich.py +0 -0
  166. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/nbrender/outputs_source.py +0 -0
  167. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/nbrender/outputs_stage.py +0 -0
  168. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/nbrender/outputs_text.py +0 -0
  169. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/nbrender/parse.py +0 -0
  170. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/nbrender/status.py +0 -0
  171. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/nbrender/tokens.py +0 -0
  172. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/notebook.py +0 -0
  173. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/offline.py +0 -0
  174. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/operation_registry.py +0 -0
  175. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/operator_setup.py +0 -0
  176. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/plan_graph.py +0 -0
  177. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/preparation/__init__.py +0 -0
  178. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/preparation/contracts.py +0 -0
  179. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/preparation/engine.py +0 -0
  180. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/preparation/errors.py +0 -0
  181. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/preparation/gates.py +0 -0
  182. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/preparation/joins.py +0 -0
  183. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/preparation/profile.py +0 -0
  184. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/preparation/table.py +0 -0
  185. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/preparation/transforms.py +0 -0
  186. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/progress_events.py +0 -0
  187. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/__init__.py +0 -0
  188. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/_openpyxl.py +0 -0
  189. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/budgets.py +0 -0
  190. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/containers.py +0 -0
  191. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/contracts.py +0 -0
  192. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/delimited.py +0 -0
  193. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/geojson_vector.py +0 -0
  194. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/geopackage.py +0 -0
  195. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/geoparquet.py +0 -0
  196. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/grib2/__init__.py +0 -0
  197. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/grib2/admission.py +0 -0
  198. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/grib2/collection.py +0 -0
  199. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/grib2/collection_reader.py +0 -0
  200. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/grib2/decode.py +0 -0
  201. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/grib2/geometry.py +0 -0
  202. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/grib2/portable_math.py +0 -0
  203. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/grib_eccodes.py +0 -0
  204. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/html_tabular.py +0 -0
  205. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/html_web_extract.py +0 -0
  206. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/json_tabular.py +0 -0
  207. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/parquet_tabular.py +0 -0
  208. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/pcaxis_px.py +0 -0
  209. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/protobuf_tabular.py +0 -0
  210. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/raster/__init__.py +0 -0
  211. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/raster/_bytes.py +0 -0
  212. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/raster/decode.py +0 -0
  213. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/raster/family.py +0 -0
  214. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/raster/jpeg2000.py +0 -0
  215. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/raster/profiles.py +0 -0
  216. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/raster/rendered.py +0 -0
  217. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/raster/safe.py +0 -0
  218. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/raster/sentinel_safe.py +0 -0
  219. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/raster/tiff.py +0 -0
  220. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/registry.py +0 -0
  221. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/README.md +0 -0
  222. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.0.0/cities_one_stream/cities.csv.gz +0 -0
  223. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.0.0/cities_one_stream/expected.json +0 -0
  224. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.1.0/cities_one_stream/cities.csv.gz +0 -0
  225. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.1.0/cities_one_stream/expected.json +0 -0
  226. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/archive.tar/1.0.0/cities_beside_a_directory_entry/cities.tar +0 -0
  227. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/archive.tar/1.0.0/cities_beside_a_directory_entry/expected.json +0 -0
  228. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/archive.tar/1.1.0/cities_beside_a_directory_entry/cities.tar +0 -0
  229. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/archive.tar/1.1.0/cities_beside_a_directory_entry/expected.json +0 -0
  230. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/archive.zip/1.0.0/cities_beside_a_second_member/cities.zip +0 -0
  231. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/archive.zip/1.0.0/cities_beside_a_second_member/expected.json +0 -0
  232. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/archive.zip/1.1.0/dwd_semicolon_station_member/dwd-station.zip +0 -0
  233. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/archive.zip/1.1.0/dwd_semicolon_station_member/expected.json +0 -0
  234. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/archive.zip/1.2.0/dwd_semicolon_station_member/dwd-station.zip +0 -0
  235. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/archive.zip/1.2.0/dwd_semicolon_station_member/expected.json +0 -0
  236. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/an_ordinary_comma_separated_table/cities.csv +0 -0
  237. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/an_ordinary_comma_separated_table/expected.json +0 -0
  238. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/quoted_fields_holding_the_delimiter/cities.tsv +0 -0
  239. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/quoted_fields_holding_the_delimiter/expected.json +0 -0
  240. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/delimited_text/1.1.0/an_hourly_observation_table_served_as_plain_text/expected.json +0 -0
  241. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/delimited_text/1.1.0/an_hourly_observation_table_served_as_plain_text/observations.csv +0 -0
  242. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/geojson.vector/1.0.0/czech_capital/expected.json +0 -0
  243. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/geojson.vector/1.0.0/czech_capital/places.geojson +0 -0
  244. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/geopackage.vector/1.0.0/epsg_4326_feature/expected.json +0 -0
  245. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/geopackage.vector/1.0.0/epsg_4326_feature/places.gpkg +0 -0
  246. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/geoparquet.vector/1.0.0/primary_wkb_point/expected.json +0 -0
  247. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/geoparquet.vector/1.0.0/primary_wkb_point/places.parquet +0 -0
  248. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/html.tabular/1.0.0/sanitized_table/expected.json +0 -0
  249. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/html.tabular/1.0.0/sanitized_table/table.html +0 -0
  250. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/html.web_extract/1.0.0/json_ld_scorecards/expected.json +0 -0
  251. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/html.web_extract/1.0.0/json_ld_scorecards/scorecards.html +0 -0
  252. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/image.rendered/1.0.0/tiny_png/expected.json +0 -0
  253. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/image.rendered/1.0.0/tiny_png/tiny-rendered.png +0 -0
  254. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/json.tabular/1.0.0/nested_hourly_observations/expected.json +0 -0
  255. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/json.tabular/1.0.0/nested_hourly_observations/stations.json +0 -0
  256. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/json.tabular/1.1.0/an_observation_stream_served_as_plain_text/expected.json +0 -0
  257. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/json.tabular/1.1.0/an_observation_stream_served_as_plain_text/observations.ndjson +0 -0
  258. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/meteorology.bufr/1.0.0/eccodes_bufr4_subset/eccodes-bufr4.bufr +0 -0
  259. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/meteorology.bufr/1.0.0/eccodes_bufr4_subset/expected.json +0 -0
  260. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/meteorology.grib/1.0.0/eccodes_grib1_origin/expected.json +0 -0
  261. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/meteorology.grib/1.0.0/eccodes_grib1_origin/regular-ll-surface.grib1 +0 -0
  262. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/microdata.sas_xpt/1.0.0/two_raw_columns/expected.json +0 -0
  263. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/microdata.sas_xpt/1.0.0/two_raw_columns/survey.xpt +0 -0
  264. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/microdata.spss_sav/1.0.0/two_raw_columns/expected.json +0 -0
  265. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/microdata.spss_sav/1.0.0/two_raw_columns/survey.sav +0 -0
  266. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/microdata.stata_dta/1.0.0/two_raw_columns/expected.json +0 -0
  267. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/microdata.stata_dta/1.0.0/two_raw_columns/stata.dta +0 -0
  268. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/official.pcaxis_px/1.0.0/population_by_region_and_year/expected.json +0 -0
  269. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/official.pcaxis_px/1.0.0/population_by_region_and_year/population.px +0 -0
  270. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/official.sdmx_json/1.0.0/compact_population_series/expected.json +0 -0
  271. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/official.sdmx_json/1.0.0/compact_population_series/population.json +0 -0
  272. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/parquet.tabular/1.0.0/two_columns/expected.json +0 -0
  273. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/parquet.tabular/1.0.0/two_columns/prices.parquet +0 -0
  274. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/protobuf.tabular/1.0.0/gtfs_realtime_trip_updates/expected.json +0 -0
  275. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/protobuf.tabular/1.0.0/gtfs_realtime_trip_updates/gtfs-realtime.desc +0 -0
  276. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/protobuf.tabular/1.0.0/gtfs_realtime_trip_updates/trip-updates.pb +0 -0
  277. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/raster.geospatial/1.0.0/tiny_geotiff/expected.json +0 -0
  278. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/raster.geospatial/1.0.0/tiny_geotiff/tiny-geospatial.tif +0 -0
  279. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/satellite.goes_abi_l2/1.0.0/authored_cmi_window/expected.json +0 -0
  280. {mostlyright_data-0.11.0 → mostlyright_data-0.12.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
  281. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/satellite.himawari_hsd/1.0.0/authored_b13_single_bzip2/expected.json +0 -0
  282. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/satellite.himawari_hsd/1.0.0/authored_b13_single_bzip2/himawari-b13-0101-bzip2.dat +0 -0
  283. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/satellite.himawari_hsd_complete/1.0.0/authored_b13_three_segment_scan/expected.json +0 -0
  284. {mostlyright_data-0.11.0 → mostlyright_data-0.12.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
  285. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/satellite.msg_seviri_l15/1.0.0/authored_calibrated_complete_visir/expected.json +0 -0
  286. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/satellite.msg_seviri_l15/1.0.0/authored_calibrated_complete_visir/msg-seviri-l15.zip +0 -0
  287. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/satellite.sentinel_safe/1.0.0/authored_b02_scl_window/expected.json +0 -0
  288. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/satellite.sentinel_safe/1.0.0/authored_b02_scl_window/sentinel-safe-b02-scl.zip +0 -0
  289. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/satellite.xrit_image/1.0.0/authored_complete_raw_counts/expected.json +0 -0
  290. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/satellite.xrit_image/1.0.0/authored_complete_raw_counts/xrit-complete-image.zip +0 -0
  291. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/scientific.fits/1.0.0/tiny_primary_window/expected.json +0 -0
  292. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/scientific.fits/1.0.0/tiny_primary_window/tiny-primary.fits +0 -0
  293. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf4/1.0.0/authored_temperature_window/expected.json +0 -0
  294. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf4/1.0.0/authored_temperature_window/temperature.hdf +0 -0
  295. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf5/1.0.0/authored_temperature_window/expected.json +0 -0
  296. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf5/1.0.0/authored_temperature_window/temperature.h5 +0 -0
  297. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_grid_temperature_window/expected.json +0 -0
  298. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_grid_temperature_window/nasa-hdfeos2-grid.hdf +0 -0
  299. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_swath_temperature_window/expected.json +0 -0
  300. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_swath_temperature_window/nasa-hdfeos2-swath.hdf +0 -0
  301. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/scientific.netcdf/1.0.0/authored_classic_temperature_window/expected.json +0 -0
  302. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/scientific.netcdf/1.0.0/authored_classic_temperature_window/temperature-classic.nc +0 -0
  303. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/scientific.zarr/1.0.0/authored_v3_temperature_window/expected.json +0 -0
  304. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/scientific.zarr/1.0.0/authored_v3_temperature_window/temperature-zarr-v3.zip +0 -0
  305. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/an_ordinary_table_beside_a_second_sheet/cities.xlsx +0 -0
  306. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/an_ordinary_table_beside_a_second_sheet/expected.json +0 -0
  307. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/shares_the_workbook_had_already_computed/expected.json +0 -0
  308. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/shares_the_workbook_had_already_computed/shares.xlsx +0 -0
  309. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.1.0/shares_the_workbook_had_already_computed/expected.json +0 -0
  310. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.1.0/shares_the_workbook_had_already_computed/shares.xlsx +0 -0
  311. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/README.md +0 -0
  312. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/gfs_2m_temperature/expected.json +0 -0
  313. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/gfs_2m_temperature/gfs-2m-temperature.grib2 +0 -0
  314. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_2m_temperature/expected.json +0 -0
  315. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_2m_temperature/hrrr-2m-temperature.grib2 +0 -0
  316. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_categorical_rain/expected.json +0 -0
  317. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_categorical_rain/hrrr-categorical-rain.grib2 +0 -0
  318. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/2.0.0/hrrr_2m_temperature/expected.json +0 -0
  319. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/2.0.0/hrrr_2m_temperature/hrrr-2m-temperature.grib2 +0 -0
  320. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/3.0.0/gfs_and_hrrr_categorical_rain/expected.json +0 -0
  321. {mostlyright_data-0.11.0 → mostlyright_data-0.12.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
  322. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/plain_filing_fact/expected.json +0 -0
  323. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/plain_filing_fact/filing.xml +0 -0
  324. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/xml_inline_fact/expected.json +0 -0
  325. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/xml_inline_fact/filing.xhtml +0 -0
  326. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/pacer_rss_feed/expected.json +0 -0
  327. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/pacer_rss_feed/feed.xml +0 -0
  328. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/sec_form_d_filing/expected.json +0 -0
  329. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/sec_form_d_filing/filing.xml +0 -0
  330. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/unified_agenda_extract/agenda.xml +0 -0
  331. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/unified_agenda_extract/expected.json +0 -0
  332. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/samples.py +0 -0
  333. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/scientific.py +0 -0
  334. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/scientific_arrays/__init__.py +0 -0
  335. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/scientific_arrays/container.py +0 -0
  336. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/scientific_arrays/goes.py +0 -0
  337. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/scientific_arrays/hdf4.py +0 -0
  338. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/scientific_arrays/hdf4_bridge.py +0 -0
  339. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/scientific_arrays/hdf5.py +0 -0
  340. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/scientific_arrays/native.py +0 -0
  341. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/scientific_arrays/netcdf.py +0 -0
  342. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/scientific_arrays/profiles.py +0 -0
  343. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/scientific_arrays/raw.py +0 -0
  344. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/scientific_arrays/zarr.py +0 -0
  345. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/scientific_catalog.py +0 -0
  346. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/scientific_segmented/__init__.py +0 -0
  347. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/scientific_segmented/asset_sets.py +0 -0
  348. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/scientific_segmented/formats.py +0 -0
  349. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/scientific_segmented/hsd.py +0 -0
  350. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/scientific_segmented/native.py +0 -0
  351. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/scientific_segmented/profiles.py +0 -0
  352. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/scientific_segmented/reader.py +0 -0
  353. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/scientific_segmented/xrit.py +0 -0
  354. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/sdmx_json.py +0 -0
  355. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/spreadsheet.py +0 -0
  356. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/statistical_microdata.py +0 -0
  357. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/tabular.py +0 -0
  358. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/vector.py +0 -0
  359. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/vector_wkb.py +0 -0
  360. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/xbrl_facts.py +0 -0
  361. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/readers/xml_tabular.py +0 -0
  362. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/recipe.py +0 -0
  363. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/repair/__init__.py +0 -0
  364. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/repair/adapters.py +0 -0
  365. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/repair/contracts.py +0 -0
  366. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/repair/coordinator.py +0 -0
  367. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/repair/errors.py +0 -0
  368. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/review.py +0 -0
  369. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/rowset.py +0 -0
  370. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/session_probes.py +0 -0
  371. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/signing.py +0 -0
  372. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/skill_assets.py +0 -0
  373. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/source_discovery.py +0 -0
  374. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/__init__.py +0 -0
  375. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/_adapter_steps.py +0 -0
  376. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/adapters.py +0 -0
  377. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/authenticated_https.py +0 -0
  378. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/authenticated_https_v2.py +0 -0
  379. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/cadence.py +0 -0
  380. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/cadence_emission.py +0 -0
  381. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/cadence_history.py +0 -0
  382. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/__init__.py +0 -0
  383. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/admission.py +0 -0
  384. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/authoring.py +0 -0
  385. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/authoring_policy.py +0 -0
  386. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/authoring_shards.py +0 -0
  387. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/bounded_io.py +0 -0
  388. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/channel.py +0 -0
  389. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/channel_client.py +0 -0
  390. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/contracts.py +0 -0
  391. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/coverage.py +0 -0
  392. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/delta.py +0 -0
  393. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/embedding.py +0 -0
  394. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/entry_v2.py +0 -0
  395. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/fill.py +0 -0
  396. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/fill_partitions.py +0 -0
  397. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/fill_staging.py +0 -0
  398. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/gating.py +0 -0
  399. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/generation_receipt.py +0 -0
  400. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/harvest/__init__.py +0 -0
  401. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/harvest/ckan.py +0 -0
  402. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/harvest/datagov_v4.py +0 -0
  403. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/harvest/protocol.py +0 -0
  404. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/harvest/sdmx.py +0 -0
  405. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/harvest/stac.py +0 -0
  406. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/health.py +0 -0
  407. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/hosted_catalog.py +0 -0
  408. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/identity_history.py +0 -0
  409. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/neural.py +0 -0
  410. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/packed_catalog.py +0 -0
  411. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/packed_retrieval.py +0 -0
  412. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/packed_writer.py +0 -0
  413. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/query_trace.py +0 -0
  414. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/recommend.py +0 -0
  415. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/retrieval.py +0 -0
  416. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/retrieval_manifest.py +0 -0
  417. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/rights_decisions.py +0 -0
  418. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/sealed.py +0 -0
  419. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/search.py +0 -0
  420. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/streaming_delta.py +0 -0
  421. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/catalog/update.py +0 -0
  422. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/collections.py +0 -0
  423. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/dataset.py +0 -0
  424. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/deletion.py +0 -0
  425. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/document_projection.py +0 -0
  426. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/fitness.py +0 -0
  427. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/governance.py +0 -0
  428. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/hosted.py +0 -0
  429. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/integration.py +0 -0
  430. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/range_reader.py +0 -0
  431. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/registry.py +0 -0
  432. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/rights_rule.py +0 -0
  433. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/source_cadence_vectors.v1.json +0 -0
  434. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/sports.py +0 -0
  435. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/stream.py +0 -0
  436. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/stream_capture_session.py +0 -0
  437. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/stream_connector.py +0 -0
  438. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.cursor-resume.v3.json +0 -0
  439. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-ed25519.v2.json +0 -0
  440. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-hmac.v2.json +0 -0
  441. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-hmac384.v2.json +0 -0
  442. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-hmac512.v2.json +0 -0
  443. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame.v2.json +0 -0
  444. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-header-rsa.v2.json +0 -0
  445. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-header.v2.json +0 -0
  446. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-permessage-jwt.v2.json +0 -0
  447. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-permessage.v2.json +0 -0
  448. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-prelude.v2.json +0 -0
  449. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-query.v2.json +0 -0
  450. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-subprotocol.v2.json +0 -0
  451. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-subscribe.v2.json +0 -0
  452. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-urlpath.v2.json +0 -0
  453. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/stream_connectors/polymarket.clob-market.v1.json +0 -0
  454. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/stream_credential.py +0 -0
  455. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/stream_prelude.py +0 -0
  456. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/stream_recorder.py +0 -0
  457. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/stream_registry.py +0 -0
  458. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/stream_rotation.py +0 -0
  459. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/stream_segment_recorder.py +0 -0
  460. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/stream_series.py +0 -0
  461. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/stream_signing.py +0 -0
  462. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/sources/stream_transport.py +0 -0
  463. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/stream_subscription_feed.py +0 -0
  464. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/stream_subscription_sealer.py +0 -0
  465. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/stream_subscription_worker.py +0 -0
  466. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/stream_venue.py +0 -0
  467. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/stream_venue_staging.py +0 -0
  468. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/studio_subscription_control.py +0 -0
  469. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/thin/__init__.py +0 -0
  470. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/thin/acquire.py +0 -0
  471. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/thin/acquire_cancel.py +0 -0
  472. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/thin/approvals.py +0 -0
  473. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/thin/commands.py +0 -0
  474. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/thin/download.py +0 -0
  475. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/thin/narrative.py +0 -0
  476. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/thin/parity.py +0 -0
  477. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/thin/probe.py +0 -0
  478. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/thin/propose.py +0 -0
  479. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/thin/recipe.py +0 -0
  480. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/thin/research.py +0 -0
  481. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/thin/runs.py +0 -0
  482. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/thin/session.py +0 -0
  483. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/thin/stream.py +0 -0
  484. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/thin/stream_venue.py +0 -0
  485. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/thin/transport.py +0 -0
  486. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/thin/v4_dataset_covers.py +0 -0
  487. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/thin/v4_datasets.py +0 -0
  488. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/thin/v4_handoff.py +0 -0
  489. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/thin/v4_narrative.py +0 -0
  490. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/thin/v4_secrets.py +0 -0
  491. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/thin/workers.py +0 -0
  492. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ucum/TABLE-PIN.json +0 -0
  493. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ucum/ucum-subset.v1.json +0 -0
  494. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/unit_flow.py +0 -0
  495. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/units.py +0 -0
  496. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/__init__.py +0 -0
  497. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/approve.py +0 -0
  498. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/attendance.py +0 -0
  499. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/author_yaml.py +0 -0
  500. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/clarification.py +0 -0
  501. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/cloud_auth.py +0 -0
  502. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/commands/__init__.py +0 -0
  503. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/commands/approve.py +0 -0
  504. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/commands/auth.py +0 -0
  505. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/commands/author.py +0 -0
  506. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/commands/catalog_author.py +0 -0
  507. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/commands/catalog_fill.py +0 -0
  508. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/commands/catalog_harvest.py +0 -0
  509. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/commands/catalog_publish.py +0 -0
  510. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/commands/catalog_search.py +0 -0
  511. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/commands/catalog_update.py +0 -0
  512. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/commands/clarify.py +0 -0
  513. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/commands/deploy.py +0 -0
  514. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/commands/deploy_dataset.py +0 -0
  515. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/commands/deploy_plan.py +0 -0
  516. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/commands/deploy_status.py +0 -0
  517. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/commands/diff.py +0 -0
  518. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/commands/document.py +0 -0
  519. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/commands/index.py +0 -0
  520. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/commands/inventory.py +0 -0
  521. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/commands/list_builds.py +0 -0
  522. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/commands/login.py +0 -0
  523. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/commands/peek.py +0 -0
  524. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/commands/plan_check.py +0 -0
  525. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/commands/preflight.py +0 -0
  526. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/commands/record.py +0 -0
  527. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/commands/review_setup.py +0 -0
  528. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/commands/search.py +0 -0
  529. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/commands/show.py +0 -0
  530. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/commands/whoami.py +0 -0
  531. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/credential_native.py +0 -0
  532. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/credential_store.py +0 -0
  533. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/credentials.py +0 -0
  534. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/diffing.py +0 -0
  535. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/headline.py +0 -0
  536. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/hosted_acquisition.py +0 -0
  537. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/hosted_run_status.py +0 -0
  538. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/inventory.py +0 -0
  539. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/local_review.py +0 -0
  540. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/login.py +0 -0
  541. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/path_kind.py +0 -0
  542. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/peek.py +0 -0
  543. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/plain_file.py +0 -0
  544. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/plan_check.py +0 -0
  545. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/preflight.py +0 -0
  546. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/readers.py +0 -0
  547. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/ux/workload.py +0 -0
  548. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/v4_check_dialect.py +0 -0
  549. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/v4_document_pin.py +0 -0
  550. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/v4_reader_pin.py +0 -0
  551. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/v4_required_controls.py +0 -0
  552. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/v4_snapshot_artifact.py +0 -0
  553. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/visual_run/__init__.py +0 -0
  554. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/visual_run/authoring.py +0 -0
  555. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/visual_run/contracts.py +0 -0
  556. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/visual_run/materialize.py +0 -0
  557. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/visual_run/observations.py +0 -0
  558. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/visual_run/query.py +0 -0
  559. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/visual_run/reducer.py +0 -0
  560. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/visual_run/sdk.py +0 -0
  561. {mostlyright_data-0.11.0 → mostlyright_data-0.12.0}/src/mostlyright/data_harness/visual_run/store.py +0 -0
  562. {mostlyright_data-0.11.0 → mostlyright_data-0.12.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.11.0
3
+ Version: 0.12.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/
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mostlyright-data"
3
- version = "0.11.0"
3
+ version = "0.12.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"
@@ -49,6 +49,16 @@ assessment is complete. Review the proposed schema and coverage in the Dataset.`
49
49
  routine stages, predict duration or throughput, or expose raw state names. Write in short,
50
50
  professional product language and lead with the outcome or decision.
51
51
 
52
+ **Whatever is said in chat is written to the page, in the same words, at the same moment.** Every
53
+ sentence sent to the user during a build is also a cell on the dataset's record: write it with
54
+ `mr-data dataset note`, taking the message's first sentence as the heading and the whole message as
55
+ the body, before or in the same breath as sending it. The two are one act, not a message and a
56
+ later summary of it. A person who joins by opening the page reads exactly what the person in the
57
+ chat read, and a person who scrolls the chat away still has it. Nothing is said in one place and
58
+ not the other: silent work stays silent in both, and a message that is not worth writing down is
59
+ not worth sending. This is a rule about the messages this contract already allows — it does not
60
+ license one extra update.
61
+
52
62
  For hosted work, register the Dataset first and open its canonical page immediately in the host's
53
63
  in-app browser: `mr-data open /datasets/DATASET_ID` mints a single-use address for it, and
54
64
  when that address cannot be minted, carry on without it rather than blocking.
@@ -78,14 +88,14 @@ the one command with no implementation behind it.
78
88
  There is no second profile and no lane to choose. `--hosted` is accepted and does nothing, because
79
89
  the lane it names is the only one; a script that already carries it keeps working.
80
90
 
81
- `mr-data --help` lists every command this product has — twenty-six of them, and the page is the
91
+ `mr-data --help` lists every command this product has — twenty-eight of them, and the page is the
82
92
  whole list. A name that is not on it is not a command: typing one answers `THIN_UNKNOWN_COMMAND`,
83
93
  exactly as a misspelling does. Do not retry it under a different install, and do not report its
84
94
  absence as a defect.
85
95
 
86
96
  ## Commands
87
97
 
88
- These twenty-six are the whole surface, alongside `acquire-slices`, which names a capability
98
+ These twenty-eight are the whole surface, alongside `acquire-slices`, which names a capability
89
99
  gap rather than doing anything, and `export-hosted-candidate`, which is a backend operator step.
90
100
 
91
101
  | Command | What it does |
@@ -98,30 +108,32 @@ gap rather than doing anything, and `export-hosted-candidate`, which is a backen
98
108
  | `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. |
99
109
  | `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. |
100
110
  | `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. |
101
- | `mr-data run` | Start one run against a registered recipe. 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. 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. |
111
+ | `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. |
102
112
  | `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. |
103
113
  | `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. |
104
114
  | `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. |
105
115
  | `mr-data query` | Run one bounded read-only SQL statement over a finished run's own table and print the rows. Bounded on rows, on answer bytes and on time, and refused by name when a bound is crossed. |
106
- | `mr-data peek` | Print the columns, types and first rows of one run's table. |
116
+ | `mr-data peek` | Print the columns, their logical types and the first rows of one run's table. The type comes off the run's own column profile where the preview carries none, so `type` is null only for a run that sealed no profile. |
107
117
  | `mr-data receipt` | Print what one run recorded about how it was built: every source it fetched and what those bytes hashed to, the coverage it delivered, and the members of its raw snapshot. |
108
118
  | `mr-data checks` | Report how each check the recipe declared came out — the name, whether it passed, what it found. Exits non-zero when one did not pass. |
109
- | `mr-data note` | Write one cell of a run's decision record — a heading, a body, and the typed blocks that carry a source, a decision or a clarification onto the stage its phase names. `--list` reads back what is written. |
119
+ | `mr-data note` | Write one cell of a run's decision record — a heading, a body, and the typed blocks that carry a source, a decision or a clarification onto the stage its phase names. The body comes from `--markdown-file FILE`, which is the form to use; standard input is read when no file is named and is refused when it is a terminal or empty. `--list` reads back what is written. |
110
120
  | `mr-data download` | Bring one run's artifacts back to this computer, each one's bytes checked against the digest Studio sealed them under. `--kind` selects out of `table_parquet`, `column_profile`, `preview`, `receipt` and `raw_snapshot`; without it, the table and the receipt. |
111
121
  | `mr-data diff` | Compare two runs and say what changed. |
112
122
  | `mr-data keys` | Enrol a source credential by name, list the names with their created and rotated times, and delete one. `keys set` reads the value from a file or from standard input and never from the command line; no command prints a value back. |
113
123
  | `mr-data stream` | Record a public `wss://` venue so a build can read it. `stream document register --file F` admits the connector document, `stream registry create --digest D` admits a set of them, `stream probe` listens briefly and seals nothing, `stream capture --seconds N` records a bounded window, `stream subscribe` keeps recording, `stream subscription {show|pause|resume|stop} ID` moves one, `stream status ID` reads a capture or a probe, and `stream recordings --document-digest D` names what a build could read and until when. `--seconds` is at most 600. `mr-data run` takes no duration: a build reads sealed batches and is bounded by them. |
114
124
  | `mr-data open` | Mint a single-use, short-lived address that continues this session in a browser at one dashboard path, and print it. `--open` hands it to the platform opener. The credential decides who mints: a device credential — what `mr-data login` stores — mints at Cloud, and a personal access token mints at Studio. |
115
125
  | `mr-data promote` | Ask Studio to publish one table after a person's decision. The Harness worker does not perform the catch-up or scheduled refresh; report those only when another deployed component returns durable evidence that it did. |
126
+ | `mr-data reschedule` | Change how often one live table refreshes, without the demote and promote that would reset its bookkeeping and buy a catch-up run. `--cadence` takes a cron expression or an interval such as `every 6h`; `--why` records the reasoning. It starts no run. `--lock` freezes the schedule so Studio stops adjusting it; `--unlock` lets it follow the source again. |
127
+ | `mr-data table` | Report what one table is serving and how its refresh schedule is going: the state in plain words, the schedule in force, the next refresh, the schedule that was asked for and the reason given for it, and — once Studio has settled on one — the interval it measured and how many source updates that rests on. |
116
128
  | `mr-data pin` | Ask Studio to freeze one table pointer on an exact version, for a rollback or a hold. |
117
129
  | `mr-data unpin` | Ask Studio to resume pointer tracking; read the returned state before claiming it resumed. |
118
130
  | `mr-data demote` | Ask Studio to withdraw the pointer and any schedule it owns. |
119
131
 
120
132
  `auth`, `login`, `whoami` and `clarify` are the same implementation in both profiles, and
121
- `clarify` alone reaches nothing at all. The other twenty-two answer from Studio. Eight only
122
- read: `status`, `runs`, `watch`, `peek`, `receipt`, `checks`, `download` and `diff`. Fourteen
123
- start or change something: `dataset`, `recipe`, `cover`, `run`, `query`, `probe`, `keys`,
124
- `stream`, `open`, `note`, `promote`, `pin`, `unpin` and `demote`.
133
+ `clarify` alone reaches nothing at all. The other twenty-four answer from Studio. Nine only
134
+ read: `status`, `runs`, `watch`, `peek`, `receipt`, `checks`, `download`, `diff` and `table`.
135
+ Fifteen start or change something: `dataset`, `recipe`, `cover`, `run`, `query`, `probe`, `keys`,
136
+ `stream`, `open`, `note`, `promote`, `reschedule`, `pin`, `unpin` and `demote`.
125
137
 
126
138
  **Any successful run is readable straight away.** There is no approval, no admission and no release
127
139
  step between a run finishing and reading it: `download`, `receipt`, `checks`, `peek` and `query`
@@ -224,8 +236,16 @@ every stage below writes to it as it goes rather than composing the page at the
224
236
  Authenticate first: run the Cloud authentication preflight above once, before the first cloud
225
237
  command of the session.
226
238
 
227
- **Then spend two cheap lookups before the first run.** Both regularly decide the task, and skipping
228
- them is what turns a half-hour build into an afternoon.
239
+ **Then stage 1, and nothing before it.** `mr-data dataset create` and `mr-data open` are the first
240
+ two commands of the session after the preflight. They come before the durable notes are read,
241
+ before `mr-data runs`, before a catalog is searched, before a provider's documentation is opened
242
+ and before any URL is fetched. The lookups below are research, research is what fills the page, and
243
+ a page created after the research has already happened is the assertion this stage exists to
244
+ prevent. Nothing in stage 1 depends on knowing the sources: the title is a working one and stage 4
245
+ settles it.
246
+
247
+ **Then spend two cheap lookups before the first run**, with the page already open. Both regularly
248
+ decide the task, and skipping them is what turns a half-hour build into an afternoon.
229
249
 
230
250
  Read whatever durable notes you hold for this project. Dead endpoints, retired response formats,
231
251
  working URL recipes, the Reader a given publisher needs, and known-open defects are usually already
@@ -257,7 +277,9 @@ message that contradicts you.
257
277
  ### 1. Open — the page, before there is anything on it
258
278
 
259
279
  Create the dataset from a working title and put it in front of whoever is watching, **before any
260
- research**. It costs two commands and it is what turns a build into something a person can follow:
280
+ source lookup**. These are the first two commands after the preflight — nothing reads a note,
281
+ searches a catalog, opens a provider page or fetches a URL until they have both returned. It costs
282
+ two commands and it is what turns a build into something a person can follow:
261
283
 
262
284
  ```sh
263
285
  mr-data dataset create --name "Kathmandu monsoon flooding" --json
@@ -398,6 +420,14 @@ and it is the identifier stage 1 printed. With it, the registration attaches to
398
420
  has been watching; without it, Studio resolves a container from the name and mints a second page
399
421
  behind them. Always carry it.
400
422
 
423
+ **A document that carries `dataset.id` leaves `dataset.description` out.** The description on the
424
+ page belongs to whoever wrote it — you at stage 4 below, or a person editing the page afterwards —
425
+ and a registration that also states one writes over what is there, so a revision registered an hour
426
+ later silently replaces a description somebody rewrote by hand.
427
+ `mr-data dataset set DATASET_ID --description-file F` is the only way this protocol writes a
428
+ dataset description, and it writes under the version it read. Leave `dataset.name` in: the title is the recipe's own subject
429
+ and is settled once, at stage 4.
430
+
401
431
  Every grain, key, join and cutoff settled after stage 3 is a further `decision` block on the
402
432
  DATASET's record — `mr-data dataset note DATASET_ID` — because the fact outlives every run.
403
433
 
@@ -525,15 +555,27 @@ shape without pretending they selected a time range. The current worker does not
525
555
  window into any source request, so any stated `--window` is refused before acquisition.
526
556
 
527
557
  ```sh
528
- mr-data run RECIPE_ID --sample --max-rows 2000 --json
558
+ mr-data run --recipe RECIPE_ID --digest RECIPE_DIGEST --sample --max-rows 2000 --json
529
559
  ```
530
560
 
561
+ **Both flags are required and neither is a positional.** `mr-data run RECIPE_ID` is refused:
562
+ `--recipe` names the registered recipe and `--digest` states which bytes of it you mean to run,
563
+ as the bare lowercase hex `recipe_digest` the registration receipt printed — no `sha256:` prefix.
564
+ A digest that disagrees with the registered recipe is a refusal rather than the silent execution of
565
+ a revision nobody read, which is why the client will not derive it for you. Hold both identifiers
566
+ from the registration receipt: every run of that recipe needs the pair.
567
+
568
+ **`--max-rows` is a per-source ceiling, not a table size.** Each acquired source is truncated at
569
+ that many rows, so a recipe with eight sources delivers up to eight times the number you asked for
570
+ — 2,000 becomes 16,000. Read the delivered size off the run's `coverage` and say the number the run
571
+ reports, never the number you passed.
572
+
531
573
  **Two thousand rows, and the first run is always this one.** A sample is for establishing shape,
532
- and a usable one has to arrive within minutes: two thousand rows exercises every column, every
533
- cast and every declared check, and it comes back while the person who asked is still watching the
534
- page. A larger first sample buys nothing the checks do not already report and costs the one thing
535
- the page cannot get back, which is the first few minutes. The full run comes later, in stage 8,
536
- and only when the user says so.
574
+ and a usable one has to arrive within minutes: two thousand rows a source exercises every column,
575
+ every cast and every declared check, and it comes back while the person who asked is still watching
576
+ the page. A larger first sample buys nothing the checks do not already report and costs the one
577
+ thing the page cannot get back, which is the first few minutes. The full run comes later, in stage
578
+ 8, and only when the user says so.
537
579
 
538
580
  **The dataset's record is the primary one; a run's own record is for what happened inside that
539
581
  run.** The sources, the decisions and the questions went onto the dataset in stage 3, where they
@@ -543,11 +585,14 @@ tested:
543
585
 
544
586
  ```sh
545
587
  mr-data note --run RUN_ID --heading "Row ceiling truncated the sample" \
546
- --phase acquire --json <<'EOF'
547
- The clamp cut acquisition at 2,000 rows; coverage.truncated is true on both sources.
548
- EOF
588
+ --phase acquire --markdown-file BODY.md --json
549
589
  ```
550
590
 
591
+ **Give a run cell its body with `--markdown-file`.** `note` will read a body on standard input, but
592
+ a caller that cannot guarantee standard input is a pipe gets an empty stream or a terminal, and both
593
+ are refused after the cell is otherwise composed. Write the body to a file and name it; the file is
594
+ the shape that works from any caller.
595
+
551
596
  Write it as soon as the run exists, and before it finishes. `mr-data run` prints the run identifier
552
597
  and returns; the run itself then reaches a terminal state on its own, often within seconds on a
553
598
  sample. A run's narrative closes with the run, so a cell appended after that answers
@@ -569,9 +614,10 @@ complete acquired response is told from one cut at fifty thousand rows without o
569
614
  receipt: read `coverage` off the run, not the row count off the table.
570
615
 
571
616
  A run over the spend threshold is not started. It answers with the projected bytes, runtime and
572
- cost, and waits; `mr-data run --confirm RUN` settles it against the number already on the record.
573
- Any authenticated surface of the paying workspace may settle it. `--cancel RUN` stops a run that
574
- is queued or running.
617
+ cost, and waits; the same command again with `--confirm` settles it against the number already on
618
+ the record — `mr-data run --recipe RECIPE_ID --digest RECIPE_DIGEST --full --confirm`, which the
619
+ held answer prints back as `confirm_command`. Any authenticated surface of the paying workspace may
620
+ settle it. `mr-data run --cancel RUN_ID` stops a run that is queued or running.
575
621
 
576
622
  Do not treat the accepted command vocabulary as execution evidence. A `refresh` restores the
577
623
  previous version, re-acquires the declared addresses in full and seals the next version, claiming
@@ -584,12 +630,18 @@ request to, and is refused before acquisition.
584
630
  Four reads, and none of them waits on anything:
585
631
 
586
632
  ```sh
587
- mr-data peek RUN --json # columns, types, first rows
588
- mr-data query RUN "select count(*) from t" --json
633
+ mr-data peek RUN --json # columns, logical types, first rows
634
+ mr-data query RUN "select count(*) from run_table" --json
589
635
  mr-data checks RUN --json # every check the recipe declared
590
636
  mr-data receipt RUN --json # sources, digests, coverage, snapshot members
591
637
  ```
592
638
 
639
+ **`peek` reports the logical type the run sealed.** The preview artifact carries column names
640
+ alone, so the type is read from the run's own `column_profile` — the same artifact `diff` compares
641
+ schemas with, which is why the two agree about what a column is. A `type` of null means the run
642
+ sealed no profile for that column, not that the column is untyped; check the run reached `persist`
643
+ before reporting a schema from it.
644
+
593
645
  `query` is bounded on rows, on answer bytes and on time, and each bound has its own named refusal.
594
646
  The refusals are cheap and legible by design, so read the code rather than retrying:
595
647
 
@@ -600,11 +652,13 @@ The refusals are cheap and legible by design, so read the code rather than retry
600
652
  | `QUERY_RESULT_TOO_LARGE` | The answer was over the byte ceiling. It is a refusal, never a truncation: a short answer that looked complete would be worse than none. |
601
653
  | `QUERY_TIMEOUT` | The statement outran its deadline. |
602
654
  | `QUERY_TABLE_UNAVAILABLE` | The run has no readable table — it did not succeed, or its artifact is not there. |
603
- | `QUERY_NO_WARM_EXECUTOR` | No warm worker holds this workspace. The refusal carries a retry window. |
655
+ | `QUERY_NO_WARM_EXECUTOR` | No warm worker holds this workspace. `mr-data query` answers it by opening a research session for the run's dataset, asking, and closing it; with `--no-session` the refusal is printed instead, carrying a retry window. |
604
656
 
605
657
  **Studio deliberately does not start a worker on a query.** Scale-to-session is a cost invariant,
606
- so retrying `QUERY_NO_WARM_EXECUTOR` in a tight loop spends time against a wall. Wait through the
607
- window it names, or take a sample run first — a run warms the session that a query then reuses.
658
+ so the cold start is spent only on a question actually asked: `mr-data query` opens a session for
659
+ the run's own dataset when no worker is warm, waits for its worker (the states are printed as they
660
+ happen), asks, and closes the session behind the answer. Pass `--no-session` to be refused instead,
661
+ and then wait through the window the refusal names rather than retrying in a tight loop.
608
662
 
609
663
  **The statement gate is a word-boundary scan over a masked copy of the statement, and it does not
610
664
  read SQL.**
@@ -662,7 +716,7 @@ theirs and not yours. State what the sample established, what the full run would
662
716
  Only when they say so:
663
717
 
664
718
  ```sh
665
- mr-data run RECIPE_ID --full --json
719
+ mr-data run --recipe RECIPE_ID --digest RECIPE_DIGEST --full --json
666
720
  ```
667
721
 
668
722
  Then interrogate that run as stage 6 says, and present it with the sample's caveats removed and
@@ -730,7 +784,8 @@ cite a progress event where a receipt is what is being asked for.
730
784
  **Seven states, one machine.** A run is `queued`, `running`, `awaiting_confirmation`,
731
785
  `awaiting_sample_approval`, `succeeded`, `failed` or `cancelled`. Three of them are terminal and
732
786
  end a watch: `succeeded`, `failed` and `cancelled`. `awaiting_confirmation` is the ordinary spend
733
- gate: nothing has been executed, and `mr-data run --confirm RUN` releases it.
787
+ gate: nothing has been executed, and the run command again with `--confirm` on the end of it
788
+ releases it: `--recipe`, `--digest` and the mode are all stated a second time.
734
789
  `awaiting_sample_approval` is different: a bounded sample must seal a downloadable
735
790
  `table_parquet`, then a person completes Studio's fresh operation-bound interactive approval before
736
791
  the linked full run dispatches. Do not present `--confirm` as an alternative for that state. Keep
@@ -748,6 +803,20 @@ There are two decision records and they are not interchangeable. A cell is the s
748
803
  both: one outcome-led heading, a markdown body, and typed blocks the Dataset page lays out as rows
749
804
  a reader can compare. What differs is which log it lands in and when that log closes.
750
805
 
806
+ **The record and the chat carry the same sentences.** Every message sent to the user during a build
807
+ is written to the dataset's record as a cell at the same moment and in the same words — the
808
+ message's first sentence is the `--heading`, the whole message is the body. Not a paraphrase, not a
809
+ summary written afterwards, and not a shorter version for the page: the page is what somebody
810
+ watching reads instead of the chat, so a sentence that exists in only one of them is a fact one of
811
+ the two readers does not have. The rule runs both ways: do not write a cell about work this
812
+ document says to keep silent, and do not send a message you are not willing to write down.
813
+
814
+ ```sh
815
+ mr-data dataset note DATASET_ID --heading "Two feeds carry hourly stage" --json <<'EOF'
816
+ Two feeds carry hourly stage; one is licensed and cannot be used here. Building on the other.
817
+ EOF
818
+ ```
819
+
751
820
  **The DATASET's record is the primary one, and it never closes.**
752
821
  `mr-data dataset note DATASET_ID` writes it. The sources compared and refused, the grain argued
753
822
  over, the question a person answered — those are facts about the dataset, they are true a week
@@ -772,9 +841,7 @@ returns the identifier, not after `status` says the run succeeded.
772
841
 
773
842
  ```sh
774
843
  mr-data note --run RUN_ID --heading "Row ceiling truncated the sample" \
775
- --phase acquire --json <<'EOF'
776
- The clamp cut acquisition at 2,000 rows.
777
- EOF
844
+ --phase acquire --markdown-file BODY.md --json
778
845
  ```
779
846
 
780
847
  Writing the search into a run's record instead was the old shape, and the reason it changed is that
@@ -830,7 +897,9 @@ heading and 65536 UTF-8 **bytes** of body. Every block field is one line of plai
830
897
  control character, no Unicode line separator, no bidirectional override — while the body admits
831
898
  tab and newline and nothing else. Where `--blocks-file` is given it must hold at least one object:
832
899
  an empty array is refused rather than read as "no blocks". The markdown body is always required
833
- and is what a reader gets when a block kind is unknown to it.
900
+ and is what a reader gets when a block kind is unknown to it. It comes from `--markdown-file FILE`,
901
+ or from standard input when no file is named; a terminal and an empty stream are both refused, so
902
+ name the file wherever the caller cannot guarantee a pipe.
834
903
 
835
904
  One bound is the backend's alone, because it needs the log: a narrative holds 512 appended cells,
836
905
  revisions counted, and the 513th answers `429 NARRATIVE_BUDGET_EXCEEDED`. It is a ceiling on a
@@ -859,7 +928,7 @@ workspace exactly as it found it.
859
928
  | `mr-data receipt RUN --json` | How the run was built: every source it fetched and what those bytes hashed to, the coverage it delivered, and the members of its raw snapshot. |
860
929
  | `mr-data checks RUN --json` | How each declared check came out. |
861
930
  | `mr-data download RUN --output DIR --json` | The artifacts, each verified against the digest Studio sealed it under before it is written. |
862
- | `mr-data peek RUN --json` | The columns, types and first rows. `--rows` narrows it and cannot widen it. |
931
+ | `mr-data peek RUN --json` | The columns, their logical types off the run's column profile, and the first rows. `--rows` narrows it and cannot widen it. |
863
932
  | `mr-data diff LEFT RIGHT --json` | What changed between two runs. `--columns-only` narrows what is compared and never what is counted. |
864
933
 
865
934
  These receipt fields are internal verification evidence. Read them only when verification needs
@@ -988,9 +1057,32 @@ strength of having asked.
988
1057
  Once the user has approved it:
989
1058
 
990
1059
  ```sh
991
- mr-data promote TABLE_ID --cadence source --json
1060
+ mr-data promote TABLE_ID --cadence "every 6h from 2026-09-03T02:40:00Z" --why "..." --json
992
1061
  ```
993
1062
 
1063
+ **Reason about the refresh schedule; do not reach for a default.** You have already read the
1064
+ source's own documentation and watched it answer, so you are the one party who knows anything about
1065
+ when it publishes. Say what you know: the times of day it posts, how often it changes, and how long
1066
+ after the stated publication time the bytes actually appear. `--cadence` takes a five-field cron
1067
+ expression, an interval such as `every 6h` or `every 30m from 2026-09-03T12:20:00Z`, or the word
1068
+ `source` to decline the question and let Studio choose. `--why` is one paragraph recording the
1069
+ reasoning, and it is required unless you asked for `source`; it is kept beside the table and read by
1070
+ whoever looks next, so write it for them rather than for yourself.
1071
+
1072
+ **What you give is a seed, not a setting.** Studio watches what each source actually does on every
1073
+ refresh and moves the schedule to match, so a seed that is roughly right is worth far more than a
1074
+ safe guess, and one that is wrong is corrected rather than obeyed. Until the table reports its
1075
+ schedule as settled, the schedule is still being worked out: `mr-data table TABLE_ID` says which it
1076
+ is, in plain words, along with the schedule in force, the next refresh, what you asked for and why,
1077
+ and — once there is one — the interval Studio measured and how many source updates it rests on.
1078
+ **Never describe a schedule as learned, settled or confirmed while that command says otherwise.**
1079
+
1080
+ `mr-data reschedule TABLE_ID --cadence ... --why "..."` changes the schedule of a table that is
1081
+ already live without starting a run or spending anything. Adding `--lock` freezes the schedule so
1082
+ Studio stops adjusting it, which is how a person overrides the evidence; `--unlock` lets it follow
1083
+ the source again. Do not lock a schedule on your own judgement — it is the same kind of decision as
1084
+ promotion, and it belongs to the user.
1085
+
994
1086
  This call is a publication request, not proof of data continuation. The current Harness worker
995
1087
  cannot execute the catch-up backfill, refresh mode, or windowed acquisition needed to close the
996
1088
  idle interval after the last successful run. It also does not attach or execute a warehouse