mostlyright-data 0.17.3__tar.gz → 0.17.4__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 (551) hide show
  1. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/PKG-INFO +1 -1
  2. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/pyproject.toml +1 -1
  3. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/skills/mr-data-build/SKILL.md +97 -62
  4. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/acquisition/http.py +4 -0
  5. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/acquisition/sandbox.py +301 -43
  6. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/compact_worker.py +13 -4
  7. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/formats.py +18 -1
  8. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/hosted_run_worker.py +151 -28
  9. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/inprocess_acquisition.py +47 -63
  10. mostlyright_data-0.17.4/src/mostlyright/data_harness/legacy_table_recovery.py +281 -0
  11. mostlyright_data-0.17.4/src/mostlyright/data_harness/legacy_table_recovery_contract.py +74 -0
  12. mostlyright_data-0.17.4/src/mostlyright/data_harness/readers/configurable_delimited.py +284 -0
  13. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/registry.py +23 -0
  14. mostlyright_data-0.17.4/src/mostlyright/data_harness/readers/samples/delimited_text/2.0.0/publisher_preamble/expected.json +41 -0
  15. mostlyright_data-0.17.4/src/mostlyright/data_harness/readers/samples/delimited_text/2.0.0/publisher_preamble/indices.csv +5 -0
  16. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/tabular.py +2 -2
  17. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/run_execution_v4.py +76 -2
  18. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/authenticated_https_v2.py +9 -3
  19. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/authenticated_https_v3.py +14 -3
  20. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/ux/remediation.py +1 -1
  21. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/.gitignore +0 -0
  22. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/README.md +0 -0
  23. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/scripts/hatch_build.py +0 -0
  24. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/skills/mr-data-build/agents/openai.yaml +0 -0
  25. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/skills/mr-data-build/scripts/write_research_notebook.py +0 -0
  26. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/skills/mr-data-build/scripts/write_visual_run.py +0 -0
  27. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/__init__.py +0 -0
  28. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/LICENSE +0 -0
  29. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/PROVENANCE.json +0 -0
  30. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/__init__.py +0 -0
  31. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/__init__.pyi +0 -0
  32. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/_version.py +0 -0
  33. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/cal_rec_boxes/__init__.py +0 -0
  34. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/cal_rec_boxes/main.py +0 -0
  35. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/ch_ppocr_cls/__init__.py +0 -0
  36. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/ch_ppocr_cls/main.py +0 -0
  37. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/ch_ppocr_cls/utils.py +0 -0
  38. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/ch_ppocr_det/__init__.py +0 -0
  39. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/ch_ppocr_det/main.py +0 -0
  40. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/ch_ppocr_det/utils.py +0 -0
  41. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/__init__.py +0 -0
  42. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/main.py +0 -0
  43. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/typings.py +0 -0
  44. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/utils.py +0 -0
  45. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/config.yaml +0 -0
  46. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/inference_engine/__init__.py +0 -0
  47. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/inference_engine/base.py +0 -0
  48. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/inference_engine/onnxruntime/__init__.py +0 -0
  49. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/inference_engine/onnxruntime/main.py +0 -0
  50. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/inference_engine/onnxruntime/provider_config.py +0 -0
  51. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/main.py +0 -0
  52. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/models/PP-OCRv6_det_small.onnx +0 -0
  53. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/models/PP-OCRv6_rec_small.onnx +0 -0
  54. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/models/ch_ppocr_mobile_v2.0_cls_mobile.onnx +0 -0
  55. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/py.typed +0 -0
  56. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/utils/__init__.py +0 -0
  57. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/utils/load_image.py +0 -0
  58. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/utils/log.py +0 -0
  59. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/utils/model_resolver.py +0 -0
  60. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/utils/output.py +0 -0
  61. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/utils/parse_parameters.py +0 -0
  62. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/utils/process_img.py +0 -0
  63. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/utils/typings.py +0 -0
  64. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/_vendor/rapidocr/utils/utils.py +0 -0
  65. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/__init__.py +0 -0
  66. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/acquisition/__init__.py +0 -0
  67. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/acquisition/derived_credentials.py +0 -0
  68. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/acquisition/parsing.py +0 -0
  69. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/acquisition/ranges.py +0 -0
  70. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/acquisition/result_download.py +0 -0
  71. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/acquisition/retention_admission.py +0 -0
  72. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/acquisition/sandbox_bootstrap.py +0 -0
  73. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/acquisition/url_policy.py +0 -0
  74. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/agent_runtime.py +0 -0
  75. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/assets/logo-ink.svg +0 -0
  76. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/backends/__init__.py +0 -0
  77. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/backends/pandas_backend.py +0 -0
  78. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/backends/polars_backend.py +0 -0
  79. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/backends/protocol.py +0 -0
  80. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/backends/reference.py +0 -0
  81. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/backends/registry.py +0 -0
  82. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/backends/restrictions.py +0 -0
  83. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/bounded_query.py +0 -0
  84. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/bounded_scratch_sink.py +0 -0
  85. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/canonical.py +0 -0
  86. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/catalog_job.py +0 -0
  87. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/cli.py +0 -0
  88. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/contracts.py +0 -0
  89. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/coordinator.py +0 -0
  90. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/crosswalks.py +0 -0
  91. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/declared_checks.py +0 -0
  92. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/delta.py +0 -0
  93. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/delta_checks.py +0 -0
  94. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/delta_classifier.py +0 -0
  95. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/delta_persist.py +0 -0
  96. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/delta_recompute.py +0 -0
  97. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/delta_rows.py +0 -0
  98. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/deploy.py +0 -0
  99. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/deploy_target.py +0 -0
  100. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/deployment_evidence.py +0 -0
  101. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/documents/__init__.py +0 -0
  102. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/documents/_worker_capability.py +0 -0
  103. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/documents/capture.py +0 -0
  104. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/documents/contracts.py +0 -0
  105. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/documents/lane.py +0 -0
  106. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/documents/ocr.py +0 -0
  107. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/documents/pdf.py +0 -0
  108. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/documents/registry.py +0 -0
  109. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/documents/sandbox.py +0 -0
  110. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/documents/selections.py +0 -0
  111. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/documents/tables.py +0 -0
  112. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/documents/vendor_rapidocr.py +0 -0
  113. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/events.py +0 -0
  114. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/fast_delimited.py +0 -0
  115. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/fetch_egress_smoke.py +0 -0
  116. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/governors.py +0 -0
  117. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/hosted_bootstrap.py +0 -0
  118. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/hosted_crawler.py +0 -0
  119. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/hosted_crawler_container_smoke.py +0 -0
  120. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/hosted_crawler_fetch.py +0 -0
  121. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/hosted_crawler_job.py +0 -0
  122. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/hosted_crawler_protocol.py +0 -0
  123. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/hosted_deploy.py +0 -0
  124. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/hosted_ingestion_contract.py +0 -0
  125. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/hosted_ingestion_job.py +0 -0
  126. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/hosted_ingestion_job_smoke.py +0 -0
  127. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/hosted_ingestion_worker.py +0 -0
  128. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/hosted_rlimit_as_container_smoke.py +0 -0
  129. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/hosted_session_container_smoke.py +0 -0
  130. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/hosted_session_worker.py +0 -0
  131. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/hosted_session_worker_job_smoke.py +0 -0
  132. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/hosted_stream_recorder_container_smoke.py +0 -0
  133. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/hosted_stream_recorder_job.py +0 -0
  134. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/hosted_stream_subscription_container_smoke.py +0 -0
  135. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/hosted_stream_subscription_worker.py +0 -0
  136. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/hosted_worker.py +0 -0
  137. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/incremental_slice_executor.py +0 -0
  138. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/incremental_worker.py +0 -0
  139. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/ingestion/__init__.py +0 -0
  140. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/ingestion/contracts.py +0 -0
  141. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/ingestion/faults.py +0 -0
  142. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/ingestion/gcs_store.py +0 -0
  143. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/ingestion/spool.py +0 -0
  144. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/ingestion/store.py +0 -0
  145. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/key_seam.py +0 -0
  146. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/linux_process_boundary.py +0 -0
  147. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/local_contracts.py +0 -0
  148. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/nbrender/CONTRACT.md +0 -0
  149. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/nbrender/__init__.py +0 -0
  150. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/nbrender/chrome.py +0 -0
  151. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/nbrender/code_body.py +0 -0
  152. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/nbrender/document.py +0 -0
  153. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/nbrender/frame.py +0 -0
  154. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/nbrender/interactive.py +0 -0
  155. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/nbrender/markdown_body.py +0 -0
  156. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/nbrender/mr_components.py +0 -0
  157. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/nbrender/outputs_data.py +0 -0
  158. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/nbrender/outputs_rich.py +0 -0
  159. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/nbrender/outputs_source.py +0 -0
  160. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/nbrender/outputs_stage.py +0 -0
  161. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/nbrender/outputs_text.py +0 -0
  162. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/nbrender/parse.py +0 -0
  163. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/nbrender/status.py +0 -0
  164. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/nbrender/tokens.py +0 -0
  165. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/notebook.py +0 -0
  166. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/offline.py +0 -0
  167. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/operation_registry.py +0 -0
  168. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/operator_setup.py +0 -0
  169. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/part_check_evidence.py +0 -0
  170. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/pipeline.py +0 -0
  171. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/plan_graph.py +0 -0
  172. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/preparation/__init__.py +0 -0
  173. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/preparation/contracts.py +0 -0
  174. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/preparation/engine.py +0 -0
  175. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/preparation/errors.py +0 -0
  176. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/preparation/gates.py +0 -0
  177. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/preparation/joins.py +0 -0
  178. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/preparation/profile.py +0 -0
  179. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/preparation/table.py +0 -0
  180. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/preparation/transforms.py +0 -0
  181. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/progress_events.py +0 -0
  182. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/__init__.py +0 -0
  183. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/_openpyxl.py +0 -0
  184. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/budgets.py +0 -0
  185. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/containers.py +0 -0
  186. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/contracts.py +0 -0
  187. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/delimited.py +0 -0
  188. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/geojson_vector.py +0 -0
  189. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/geopackage.py +0 -0
  190. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/geoparquet.py +0 -0
  191. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/grib2/__init__.py +0 -0
  192. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/grib2/admission.py +0 -0
  193. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/grib2/collection.py +0 -0
  194. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/grib2/collection_reader.py +0 -0
  195. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/grib2/decode.py +0 -0
  196. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/grib2/geometry.py +0 -0
  197. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/grib2/portable_math.py +0 -0
  198. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/grib_eccodes.py +0 -0
  199. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/html_tabular.py +0 -0
  200. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/html_web_extract.py +0 -0
  201. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/json_tabular.py +0 -0
  202. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/parquet_tabular.py +0 -0
  203. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/pcaxis_px.py +0 -0
  204. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/protobuf_tabular.py +0 -0
  205. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/raster/__init__.py +0 -0
  206. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/raster/_bytes.py +0 -0
  207. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/raster/decode.py +0 -0
  208. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/raster/family.py +0 -0
  209. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/raster/jpeg2000.py +0 -0
  210. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/raster/profiles.py +0 -0
  211. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/raster/rendered.py +0 -0
  212. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/raster/safe.py +0 -0
  213. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/raster/sentinel_safe.py +0 -0
  214. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/raster/tiff.py +0 -0
  215. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/README.md +0 -0
  216. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.0.0/cities_one_stream/cities.csv.gz +0 -0
  217. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.0.0/cities_one_stream/expected.json +0 -0
  218. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.1.0/cities_one_stream/cities.csv.gz +0 -0
  219. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.1.0/cities_one_stream/expected.json +0 -0
  220. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/archive.tar/1.0.0/cities_beside_a_directory_entry/cities.tar +0 -0
  221. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/archive.tar/1.0.0/cities_beside_a_directory_entry/expected.json +0 -0
  222. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/archive.tar/1.1.0/cities_beside_a_directory_entry/cities.tar +0 -0
  223. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/archive.tar/1.1.0/cities_beside_a_directory_entry/expected.json +0 -0
  224. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/archive.zip/1.0.0/cities_beside_a_second_member/cities.zip +0 -0
  225. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/archive.zip/1.0.0/cities_beside_a_second_member/expected.json +0 -0
  226. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/archive.zip/1.1.0/dwd_semicolon_station_member/dwd-station.zip +0 -0
  227. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/archive.zip/1.1.0/dwd_semicolon_station_member/expected.json +0 -0
  228. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/archive.zip/1.2.0/dwd_semicolon_station_member/dwd-station.zip +0 -0
  229. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/archive.zip/1.2.0/dwd_semicolon_station_member/expected.json +0 -0
  230. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/an_ordinary_comma_separated_table/cities.csv +0 -0
  231. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/an_ordinary_comma_separated_table/expected.json +0 -0
  232. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/quoted_fields_holding_the_delimiter/cities.tsv +0 -0
  233. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/quoted_fields_holding_the_delimiter/expected.json +0 -0
  234. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/delimited_text/1.1.0/an_hourly_observation_table_served_as_plain_text/expected.json +0 -0
  235. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/delimited_text/1.1.0/an_hourly_observation_table_served_as_plain_text/observations.csv +0 -0
  236. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/geojson.vector/1.0.0/czech_capital/expected.json +0 -0
  237. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/geojson.vector/1.0.0/czech_capital/places.geojson +0 -0
  238. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/geopackage.vector/1.0.0/epsg_4326_feature/expected.json +0 -0
  239. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/geopackage.vector/1.0.0/epsg_4326_feature/places.gpkg +0 -0
  240. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/geoparquet.vector/1.0.0/primary_wkb_point/expected.json +0 -0
  241. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/geoparquet.vector/1.0.0/primary_wkb_point/places.parquet +0 -0
  242. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/html.tabular/1.0.0/sanitized_table/expected.json +0 -0
  243. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/html.tabular/1.0.0/sanitized_table/table.html +0 -0
  244. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/html.web_extract/1.0.0/json_ld_scorecards/expected.json +0 -0
  245. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/html.web_extract/1.0.0/json_ld_scorecards/scorecards.html +0 -0
  246. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/image.rendered/1.0.0/tiny_png/expected.json +0 -0
  247. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/image.rendered/1.0.0/tiny_png/tiny-rendered.png +0 -0
  248. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/json.tabular/1.0.0/nested_hourly_observations/expected.json +0 -0
  249. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/json.tabular/1.0.0/nested_hourly_observations/stations.json +0 -0
  250. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/json.tabular/1.1.0/an_observation_stream_served_as_plain_text/expected.json +0 -0
  251. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/json.tabular/1.1.0/an_observation_stream_served_as_plain_text/observations.ndjson +0 -0
  252. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/meteorology.bufr/1.0.0/eccodes_bufr4_subset/eccodes-bufr4.bufr +0 -0
  253. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/meteorology.bufr/1.0.0/eccodes_bufr4_subset/expected.json +0 -0
  254. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/meteorology.grib/1.0.0/eccodes_grib1_origin/expected.json +0 -0
  255. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/meteorology.grib/1.0.0/eccodes_grib1_origin/regular-ll-surface.grib1 +0 -0
  256. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/microdata.sas_xpt/1.0.0/two_raw_columns/expected.json +0 -0
  257. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/microdata.sas_xpt/1.0.0/two_raw_columns/survey.xpt +0 -0
  258. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/microdata.spss_sav/1.0.0/two_raw_columns/expected.json +0 -0
  259. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/microdata.spss_sav/1.0.0/two_raw_columns/survey.sav +0 -0
  260. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/microdata.stata_dta/1.0.0/two_raw_columns/expected.json +0 -0
  261. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/microdata.stata_dta/1.0.0/two_raw_columns/stata.dta +0 -0
  262. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/official.pcaxis_px/1.0.0/population_by_region_and_year/expected.json +0 -0
  263. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/official.pcaxis_px/1.0.0/population_by_region_and_year/population.px +0 -0
  264. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/official.sdmx_json/1.0.0/compact_population_series/expected.json +0 -0
  265. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/official.sdmx_json/1.0.0/compact_population_series/population.json +0 -0
  266. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/parquet.tabular/1.0.0/two_columns/expected.json +0 -0
  267. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/parquet.tabular/1.0.0/two_columns/prices.parquet +0 -0
  268. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/protobuf.tabular/1.0.0/gtfs_realtime_trip_updates/expected.json +0 -0
  269. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/protobuf.tabular/1.0.0/gtfs_realtime_trip_updates/gtfs-realtime.desc +0 -0
  270. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/protobuf.tabular/1.0.0/gtfs_realtime_trip_updates/trip-updates.pb +0 -0
  271. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/raster.geospatial/1.0.0/tiny_geotiff/expected.json +0 -0
  272. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/raster.geospatial/1.0.0/tiny_geotiff/tiny-geospatial.tif +0 -0
  273. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/satellite.goes_abi_l2/1.0.0/authored_cmi_window/expected.json +0 -0
  274. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/satellite.goes_abi_l2/1.0.0/authored_cmi_window/goes-abi-l2-cmi-window.nc +0 -0
  275. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/satellite.himawari_hsd/1.0.0/authored_b13_single_bzip2/expected.json +0 -0
  276. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/satellite.himawari_hsd/1.0.0/authored_b13_single_bzip2/himawari-b13-0101-bzip2.dat +0 -0
  277. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/satellite.himawari_hsd_complete/1.0.0/authored_b13_three_segment_scan/expected.json +0 -0
  278. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/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
  279. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/satellite.msg_seviri_l15/1.0.0/authored_calibrated_complete_visir/expected.json +0 -0
  280. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/satellite.msg_seviri_l15/1.0.0/authored_calibrated_complete_visir/msg-seviri-l15.zip +0 -0
  281. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/satellite.sentinel_safe/1.0.0/authored_b02_scl_window/expected.json +0 -0
  282. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/satellite.sentinel_safe/1.0.0/authored_b02_scl_window/sentinel-safe-b02-scl.zip +0 -0
  283. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/satellite.xrit_image/1.0.0/authored_complete_raw_counts/expected.json +0 -0
  284. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/satellite.xrit_image/1.0.0/authored_complete_raw_counts/xrit-complete-image.zip +0 -0
  285. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/scientific.fits/1.0.0/tiny_primary_window/expected.json +0 -0
  286. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/scientific.fits/1.0.0/tiny_primary_window/tiny-primary.fits +0 -0
  287. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/scientific.hdf4/1.0.0/authored_temperature_window/expected.json +0 -0
  288. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/scientific.hdf4/1.0.0/authored_temperature_window/temperature.hdf +0 -0
  289. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/scientific.hdf5/1.0.0/authored_temperature_window/expected.json +0 -0
  290. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/scientific.hdf5/1.0.0/authored_temperature_window/temperature.h5 +0 -0
  291. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_grid_temperature_window/expected.json +0 -0
  292. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_grid_temperature_window/nasa-hdfeos2-grid.hdf +0 -0
  293. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_swath_temperature_window/expected.json +0 -0
  294. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_swath_temperature_window/nasa-hdfeos2-swath.hdf +0 -0
  295. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/scientific.netcdf/1.0.0/authored_classic_temperature_window/expected.json +0 -0
  296. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/scientific.netcdf/1.0.0/authored_classic_temperature_window/temperature-classic.nc +0 -0
  297. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/scientific.zarr/1.0.0/authored_v3_temperature_window/expected.json +0 -0
  298. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/scientific.zarr/1.0.0/authored_v3_temperature_window/temperature-zarr-v3.zip +0 -0
  299. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/an_ordinary_table_beside_a_second_sheet/cities.xlsx +0 -0
  300. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/an_ordinary_table_beside_a_second_sheet/expected.json +0 -0
  301. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/shares_the_workbook_had_already_computed/expected.json +0 -0
  302. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/shares_the_workbook_had_already_computed/shares.xlsx +0 -0
  303. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.1.0/shares_the_workbook_had_already_computed/expected.json +0 -0
  304. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.1.0/shares_the_workbook_had_already_computed/shares.xlsx +0 -0
  305. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/README.md +0 -0
  306. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/gfs_2m_temperature/expected.json +0 -0
  307. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/gfs_2m_temperature/gfs-2m-temperature.grib2 +0 -0
  308. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_2m_temperature/expected.json +0 -0
  309. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_2m_temperature/hrrr-2m-temperature.grib2 +0 -0
  310. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_categorical_rain/expected.json +0 -0
  311. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_categorical_rain/hrrr-categorical-rain.grib2 +0 -0
  312. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/weather.grib2/2.0.0/hrrr_2m_temperature/expected.json +0 -0
  313. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/weather.grib2/2.0.0/hrrr_2m_temperature/hrrr-2m-temperature.grib2 +0 -0
  314. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/weather.grib2/3.0.0/gfs_and_hrrr_categorical_rain/expected.json +0 -0
  315. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/weather.grib2/3.0.0/gfs_and_hrrr_categorical_rain/gfs-and-hrrr-categorical-rain.grib2 +0 -0
  316. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/plain_filing_fact/expected.json +0 -0
  317. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/plain_filing_fact/filing.xml +0 -0
  318. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/xml_inline_fact/expected.json +0 -0
  319. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/xml_inline_fact/filing.xhtml +0 -0
  320. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/pacer_rss_feed/expected.json +0 -0
  321. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/pacer_rss_feed/feed.xml +0 -0
  322. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/sec_form_d_filing/expected.json +0 -0
  323. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/sec_form_d_filing/filing.xml +0 -0
  324. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/unified_agenda_extract/agenda.xml +0 -0
  325. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/unified_agenda_extract/expected.json +0 -0
  326. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/samples.py +0 -0
  327. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/scientific.py +0 -0
  328. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/scientific_arrays/__init__.py +0 -0
  329. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/scientific_arrays/container.py +0 -0
  330. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/scientific_arrays/goes.py +0 -0
  331. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/scientific_arrays/hdf4.py +0 -0
  332. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/scientific_arrays/hdf4_bridge.py +0 -0
  333. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/scientific_arrays/hdf5.py +0 -0
  334. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/scientific_arrays/native.py +0 -0
  335. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/scientific_arrays/netcdf.py +0 -0
  336. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/scientific_arrays/profiles.py +0 -0
  337. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/scientific_arrays/raw.py +0 -0
  338. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/scientific_arrays/zarr.py +0 -0
  339. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/scientific_catalog.py +0 -0
  340. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/scientific_segmented/__init__.py +0 -0
  341. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/scientific_segmented/asset_sets.py +0 -0
  342. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/scientific_segmented/formats.py +0 -0
  343. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/scientific_segmented/hsd.py +0 -0
  344. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/scientific_segmented/native.py +0 -0
  345. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/scientific_segmented/profiles.py +0 -0
  346. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/scientific_segmented/reader.py +0 -0
  347. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/scientific_segmented/xrit.py +0 -0
  348. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/sdmx_json.py +0 -0
  349. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/spreadsheet.py +0 -0
  350. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/statistical_microdata.py +0 -0
  351. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/vector.py +0 -0
  352. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/vector_wkb.py +0 -0
  353. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/xbrl_facts.py +0 -0
  354. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/readers/xml_tabular.py +0 -0
  355. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/recipe.py +0 -0
  356. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/review.py +0 -0
  357. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/rowset.py +0 -0
  358. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/run_phase_timing.py +0 -0
  359. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/session_probes.py +0 -0
  360. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/signing.py +0 -0
  361. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/skill_assets.py +0 -0
  362. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/source_bootstrap.py +0 -0
  363. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/source_bundle_writer.py +0 -0
  364. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/source_discovery.py +0 -0
  365. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/source_history_candidate_child.py +0 -0
  366. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/source_history_transform_child.py +0 -0
  367. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/source_inventory.py +0 -0
  368. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/source_partition.py +0 -0
  369. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/source_raw_inventory.py +0 -0
  370. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/source_state_index.py +0 -0
  371. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/__init__.py +0 -0
  372. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/_adapter_steps.py +0 -0
  373. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/adapters.py +0 -0
  374. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/authenticated_https.py +0 -0
  375. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/cadence.py +0 -0
  376. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/cadence_emission.py +0 -0
  377. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/cadence_history.py +0 -0
  378. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/__init__.py +0 -0
  379. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/admission.py +0 -0
  380. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/authoring.py +0 -0
  381. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/authoring_policy.py +0 -0
  382. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/authoring_shards.py +0 -0
  383. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/bounded_io.py +0 -0
  384. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/channel.py +0 -0
  385. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/channel_client.py +0 -0
  386. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/contracts.py +0 -0
  387. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/coverage.py +0 -0
  388. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/embedding.py +0 -0
  389. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/entry_v2.py +0 -0
  390. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/fill.py +0 -0
  391. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/fill_partitions.py +0 -0
  392. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/fill_staging.py +0 -0
  393. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/gating.py +0 -0
  394. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/generation_receipt.py +0 -0
  395. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/harvest/__init__.py +0 -0
  396. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/harvest/ckan.py +0 -0
  397. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/harvest/datagov_v4.py +0 -0
  398. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/harvest/protocol.py +0 -0
  399. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/harvest/sdmx.py +0 -0
  400. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/harvest/stac.py +0 -0
  401. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/hosted_catalog.py +0 -0
  402. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/identity_history.py +0 -0
  403. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/neural.py +0 -0
  404. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/packed_catalog.py +0 -0
  405. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/packed_retrieval.py +0 -0
  406. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/packed_writer.py +0 -0
  407. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/query_trace.py +0 -0
  408. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/recommend.py +0 -0
  409. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/retrieval.py +0 -0
  410. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/retrieval_manifest.py +0 -0
  411. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/sealed.py +0 -0
  412. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/search.py +0 -0
  413. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/streaming_delta.py +0 -0
  414. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/catalog/update.py +0 -0
  415. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/collections.py +0 -0
  416. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/contracts.py +0 -0
  417. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/dataset.py +0 -0
  418. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/deletion.py +0 -0
  419. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/document_projection.py +0 -0
  420. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/fitness.py +0 -0
  421. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/governance.py +0 -0
  422. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/hosted.py +0 -0
  423. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/integration.py +0 -0
  424. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/range_reader.py +0 -0
  425. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/registry.py +0 -0
  426. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/rights_rule.py +0 -0
  427. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/source_cadence_vectors.v1.json +0 -0
  428. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/sports.py +0 -0
  429. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/stream.py +0 -0
  430. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/stream_capture_session.py +0 -0
  431. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/stream_connector.py +0 -0
  432. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/stream_connectors/fixture.cursor-resume.v3.json +0 -0
  433. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-ed25519.v2.json +0 -0
  434. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-hmac.v2.json +0 -0
  435. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-hmac384.v2.json +0 -0
  436. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-hmac512.v2.json +0 -0
  437. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame.v2.json +0 -0
  438. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-header-rsa.v2.json +0 -0
  439. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-header.v2.json +0 -0
  440. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-permessage-jwt.v2.json +0 -0
  441. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-permessage.v2.json +0 -0
  442. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-prelude.v2.json +0 -0
  443. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-query.v2.json +0 -0
  444. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-subprotocol.v2.json +0 -0
  445. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-subscribe.v2.json +0 -0
  446. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-urlpath.v2.json +0 -0
  447. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/stream_connectors/polymarket.clob-market.v1.json +0 -0
  448. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/stream_credential.py +0 -0
  449. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/stream_prelude.py +0 -0
  450. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/stream_recorder.py +0 -0
  451. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/stream_registry.py +0 -0
  452. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/stream_rotation.py +0 -0
  453. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/stream_segment_recorder.py +0 -0
  454. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/stream_series.py +0 -0
  455. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/stream_signing.py +0 -0
  456. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sources/stream_transport.py +0 -0
  457. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/sql_transform_engine.py +0 -0
  458. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/stream_order_vector.py +0 -0
  459. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/stream_recovery_objects.py +0 -0
  460. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/stream_segment_spill.py +0 -0
  461. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/stream_subscription_feed.py +0 -0
  462. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/stream_subscription_sealer.py +0 -0
  463. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/stream_subscription_worker.py +0 -0
  464. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/stream_venue.py +0 -0
  465. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/stream_venue_staging.py +0 -0
  466. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/studio_boundary.py +0 -0
  467. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/studio_subscription_control.py +0 -0
  468. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/table_manifest.py +0 -0
  469. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/table_parts.py +0 -0
  470. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/table_profile.py +0 -0
  471. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/thin/__init__.py +0 -0
  472. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/thin/acquire.py +0 -0
  473. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/thin/acquire_cancel.py +0 -0
  474. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/thin/activity.py +0 -0
  475. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/thin/approvals.py +0 -0
  476. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/thin/commands.py +0 -0
  477. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/thin/download.py +0 -0
  478. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/thin/narrative.py +0 -0
  479. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/thin/parity.py +0 -0
  480. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/thin/probe.py +0 -0
  481. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/thin/propose.py +0 -0
  482. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/thin/recipe.py +0 -0
  483. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/thin/research.py +0 -0
  484. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/thin/router.py +0 -0
  485. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/thin/runs.py +0 -0
  486. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/thin/session.py +0 -0
  487. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/thin/stream.py +0 -0
  488. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/thin/stream_venue.py +0 -0
  489. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/thin/transport.py +0 -0
  490. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/thin/v4.py +0 -0
  491. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/thin/v4_artifacts.py +0 -0
  492. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/thin/v4_connections.py +0 -0
  493. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/thin/v4_dataset_covers.py +0 -0
  494. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/thin/v4_datasets.py +0 -0
  495. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/thin/v4_handoff.py +0 -0
  496. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/thin/v4_narrative.py +0 -0
  497. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/thin/v4_query.py +0 -0
  498. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/thin/v4_runs.py +0 -0
  499. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/thin/v4_secrets.py +0 -0
  500. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/thin/v4_stream.py +0 -0
  501. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/thin/v4_tables.py +0 -0
  502. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/thin/vocabulary.py +0 -0
  503. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/thin/workers.py +0 -0
  504. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/ucum/TABLE-PIN.json +0 -0
  505. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/ucum/ucum-subset.v1.json +0 -0
  506. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/unit_flow.py +0 -0
  507. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/units.py +0 -0
  508. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/ux/__init__.py +0 -0
  509. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/ux/attendance.py +0 -0
  510. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/ux/clarification.py +0 -0
  511. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/ux/cloud_auth.py +0 -0
  512. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/ux/commands/__init__.py +0 -0
  513. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/ux/commands/auth.py +0 -0
  514. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/ux/commands/catalog_author.py +0 -0
  515. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/ux/commands/catalog_harvest.py +0 -0
  516. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/ux/commands/catalog_publish.py +0 -0
  517. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/ux/commands/clarify.py +0 -0
  518. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/ux/commands/login.py +0 -0
  519. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/ux/commands/record.py +0 -0
  520. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/ux/commands/whoami.py +0 -0
  521. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/ux/credential_native.py +0 -0
  522. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/ux/credential_store.py +0 -0
  523. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/ux/credentials.py +0 -0
  524. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/ux/headline.py +0 -0
  525. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/ux/hosted_acquisition.py +0 -0
  526. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/ux/local_review.py +0 -0
  527. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/ux/login.py +0 -0
  528. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/ux/path_kind.py +0 -0
  529. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/ux/plain_file.py +0 -0
  530. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/ux/readers.py +0 -0
  531. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/ux/render.py +0 -0
  532. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/v4_acquisition.py +0 -0
  533. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/v4_check_dialect.py +0 -0
  534. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/v4_closed_source.py +0 -0
  535. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/v4_document_pin.py +0 -0
  536. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/v4_reader_pin.py +0 -0
  537. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/v4_recipe.py +0 -0
  538. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/v4_required_controls.py +0 -0
  539. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/v4_snapshot_artifact.py +0 -0
  540. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/v4_stream_recording.py +0 -0
  541. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/v4_transform.py +0 -0
  542. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/v4_window.py +0 -0
  543. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/visual_run/__init__.py +0 -0
  544. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/visual_run/authoring.py +0 -0
  545. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/visual_run/contracts.py +0 -0
  546. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/visual_run/materialize.py +0 -0
  547. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/visual_run/observations.py +0 -0
  548. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/visual_run/reducer.py +0 -0
  549. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/visual_run/sdk.py +0 -0
  550. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/src/mostlyright/data_harness/visual_run/store.py +0 -0
  551. {mostlyright_data-0.17.3 → mostlyright_data-0.17.4}/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.17.3
3
+ Version: 0.17.4
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.17.3"
3
+ version = "0.17.4"
4
4
  description = "Mostly Right CLI for reproducible, reviewed Parquet datasets"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.13,<3.14"
@@ -37,6 +37,7 @@ service behavior, retry mechanics, or these instructions.
37
37
  Outside a required host cadence, speak only when one of these boundaries gives the user useful new
38
38
  information:
39
39
 
40
+ - A dataset-shaping choice needs the user’s input; ask before committing to it.
40
41
  - A material source, schema, coverage, rights, or quality decision is supported by observed facts.
41
42
  - An exact contract or recipe needs the user's approval. State what will be built, the material
42
43
  limitation, and the decision required; do not explain the approval mechanism.
@@ -236,15 +237,13 @@ live data key is refused with `THIN_AUTHENTICATION_FAILED` rather than failing t
236
237
 
237
238
  ## Required protocol
238
239
 
239
- There is one loop, and it is short: open the page before you have anything to put on it, probe the
240
- sources, say out loud what you chose and what you refused, draft one recipe document, build a
241
- sample, interrogate what came back, fix the document, build again. Then present only what you
242
- inspected, with its caveats. The last two steps are conditional and `truncated` is what decides
243
- them: a sample that came back complete IS the table a full run would have sealed, so there is
244
- nothing to build again and nothing to ask about — only a TRUNCATED sample sends you round the
245
- loop. Nothing between a run finishing and reading it is held for a person,
246
- so there is no approval to seek, no separate body of evidence to read back, and no state to wait
247
- for. A table's first succeeded run goes live on its own, whatever mode it was, and what is left
240
+ There is one loop: open the page, clarify the intended dataset with the user, probe the
241
+ sources, resolve the tradeoffs that research reveals, summarize the agreed shape, draft one recipe
242
+ document, build a sample, and inspect it against the agreed requirements. Repair discrepancies;
243
+ return to the user before changing agreed semantics. A complete sample that meets those requirements
244
+ is already the table a full run would seal, so do not rebuild it merely to change the run mode.
245
+ A TRUNCATED sample requires the full-run decision below. Reading a finished run requires no separate
246
+ approval or waiting state. A table's first succeeded run goes live on its own, whatever mode it was, and what is left
248
247
  for a person is [Promote](#promote) — the cadence it refreshes on and the reasoning behind it.
249
248
 
250
249
  **The page is the work, and it exists first.** A dataset used to come into being as a side effect
@@ -279,11 +278,10 @@ again, and the failure triples on recent runs tell you what the backend is refus
279
278
  `SANDBOX_MEMORY_BOUNDARY` on somebody else's recipe an hour ago means the room is unwell and your
280
279
  first failure will not be your document's fault. Keep this check silent.
281
280
 
282
- **Then settle anything only the user can settle, before probing.** Read the request for a word with
283
- two defensible readings, a population whose edges are unstated, or a window nobody named.
284
- `mr-data clarify --question TEXT` says whether there is anybody to ask and whether it is still early
285
- enough; [Autonomous delivery](#autonomous-delivery) is the rule for what may be asked and what stays
286
- yours to decide.
281
+ **Then clarify the intended dataset before probing.** Follow [Dataset discovery](#dataset-discovery):
282
+ use the request and conversation to identify consequential missing choices, ask the highest-impact
283
+ questions, and wait for answers before work that depends on them. Independent source research may
284
+ continue while waiting. Revisit the remaining choices when research provides concrete alternatives.
287
285
 
288
286
  Pass `--json` to automated commands. A command receipt is the only record that a Harness action
289
287
  succeeded.
@@ -402,10 +400,8 @@ blocks file; stage 3 is what puts them on the page.
402
400
  ### 3. Decide — say what you chose, what you refused, and what unblocks it
403
401
 
404
402
  **Post one Sources and decisions message before you register anything.** It goes to two places, in
405
- the same words: the dataset's own decision record, and the chat. This is the decision point that
406
- replaced the old one-question rule, and the reason for the change is that a question is not what a
407
- person mostly needs — what they need is to see the search, while there is still time to disagree
408
- with it.
403
+ the same words: the dataset's own decision record, and the chat. Summarize the user’s answers, the source evidence, and any remaining
404
+ assumptions so the user can see what the first dataset will contain.
409
405
 
410
406
  ```sh
411
407
  mr-data dataset note DATASET_ID --heading "Sources and decisions" \
@@ -417,8 +413,9 @@ EOF
417
413
  The cell carries a `source` block for every feed evaluated — the ones being used, the ones
418
414
  considered, and the ones rejected with the clause that ruled each out — and a `decision` block for
419
415
  every grain, key, join and cutoff settled. Post the same content in the chat as one short message.
420
- Then **keep going**: this is a statement, not a gate, and waiting for a reply to it is the pause
421
- this document does not allow.
416
+ If a material choice is still unresolved, ask and wait before registering the recipe. If the
417
+ user has already settled the choices or delegated them, proceed without a redundant confirmation.
418
+ Silence after a proposal is not an answer to a pending question.
422
419
 
423
420
  **Blocked sources: always say what unlocks it and how to enrol the credential.** A source you could
424
421
  not reach because it needs an API key, an account or an approval is not a dead end and must never
@@ -428,23 +425,21 @@ who issues the credential, where to apply for it, and the exact command that enr
428
425
  source with no route back is a decision the user cannot revisit; one with a route back is a
429
426
  decision they can.
430
427
 
431
- **Ask only at a genuine fork.** A fork is a question whose two answers produce two different tables
432
- and which no evidence can settle — what an ambiguous word in the request means, how wide the
433
- population is, how far back it goes. Write it as a `clarification` block carrying `question` and no
434
- `answer`, which is what the page shows as a pending question, and ask it in the chat in the same
435
- words. `mr-data clarify --question TEXT` says whether there is anybody to ask and whether it is
436
- still early enough. When the answer comes back, write it as the answer on that block:
428
+ **Resolve research tradeoffs with the user.** Apply [Dataset discovery](#dataset-discovery) when
429
+ sources cannot deliver the requested grain, coverage, fields, or join. Explain the supported options
430
+ and their consequences before changing the intended dataset. Record each pending question as a
431
+ `clarification` block carrying `question` and no `answer`, and ask it in chat in the same words.
432
+ When answered, revise that same cell using its actual identifier (not a new unrelated note):
437
433
 
438
434
  ```sh
439
435
  mr-data dataset note DATASET_ID --heading "The stage grain is settled" \
440
- --revise "one-fork-to-settle" --blocks-file ANSWERED.json --json <<'EOF'
436
+ --revise PENDING_CELL_ID --blocks-file ANSWERED.json --json <<'EOF'
441
437
  Daily maxima, on the user's answer.
442
438
  EOF
443
439
  ```
444
440
 
445
- Everything under [Autonomous delivery](#autonomous-delivery) still holds: which source, Reader,
446
- engine, format, workspace, retry tactic or cleaning operation to use is settled by the evidence and
447
- is never a fork. If nothing is genuinely forked, ask nothing and carry on.
441
+ Carry the answers into the recipe’s question, table and column descriptions, source selection,
442
+ transform, and checks as appropriate. Record assumptions separately from user decisions.
448
443
 
449
444
  ### 4. Draft — one recipe document, one call
450
445
 
@@ -1441,41 +1436,79 @@ each table rather than what the exit code said about the set. A table that is li
1441
1436
  `archive` until it is withdrawn, and a table a run is still writing to is refused by both until the
1442
1437
  run has finished; neither refusal deletes anything, and neither ends the command.
1443
1438
 
1439
+ ## Dataset discovery
1440
+
1441
+ Make the user a participant in shaping the first dataset. Before registering a recipe, review the
1442
+ request and prior answers for choices whose alternatives would materially change the result. Lead
1443
+ with the unresolved choices most likely to make the first dataset wrong. The agent chooses the
1444
+ questions and follow-ups; this is a decision guide, not a form to recite:
1445
+
1446
+ - **Purpose:** What analysis, decision, or downstream use should the dataset support? Ask when it
1447
+ helps choose between plausible definitions or shapes, not for background already supplied.
1448
+ - **Table structure and joins:** One joined table, separate related tables, or both? If joining,
1449
+ what should match, and should unmatched records remain? Explain when a join could duplicate rows
1450
+ or lose records; do not require the user to write SQL or select a join algorithm.
1451
+ - **Granularity:** What does one row represent — an event, a company, a station-hour, a country-year?
1452
+ Resolve raw observations versus aggregates, time frequency, and geographic detail where relevant.
1453
+ - **Sources:** Are particular publishers, uploaded files, or sources required or excluded, or should
1454
+ the agent recommend them? Research concrete source options yourself. Ask about consequential choices
1455
+ such as official but delayed data versus broader recent coverage, or a source requiring access.
1456
+ - **Coverage:** Which entities, geography, date range, and inclusion/exclusion rules matter? For
1457
+ changing data, distinguish a fixed historical snapshot from continuing updates.
1458
+ - **Fields and definitions:** Which measures and identifiers are essential? Resolve ambiguous
1459
+ metrics, units, currencies, time zones, or adjusted versus raw values when they affect the use.
1460
+ - **Quality and tradeoffs:** Is incomplete coverage acceptable? Ask before dropping unmatched rows,
1461
+ filling missing values, estimating data, or substituting a proxy when that changes the meaning.
1462
+ - **Delivery constraints:** Ask about freshness, destination, format, or scale/budget only when
1463
+ relevant and not already specified. Existing spend and cadence decisions still apply.
1464
+
1465
+ For every discovery question, including the initial questions before probing, check attendance with
1466
+ `mr-data clarify --attended --question TEXT` when a person is in chat. Record a pending
1467
+ `clarification` block on the dataset and ask the same wording in chat. Record the answer by revising
1468
+ that same cell, as in stage 3; a plain narrative note alone does not mark a question as pending.
1469
+ The command checks whether asking is allowed; the host conversation asks and waits for the answer.
1470
+
1471
+ Usually ask one to three related questions per turn, with short bold labels such as **Table shape**,
1472
+ **Sources**, and **Granularity**. Use plain language and domain-specific examples. Offer a recommended
1473
+ option and explain its consequence when evidence supports it; allow a free-text answer or “you
1474
+ choose.” Do not overwhelm the user with the entire list, repeatedly ask answered questions, or ask
1475
+ about facts you can determine from source inspection. There is no total question quota: follow up
1476
+ when an answer or source finding exposes another consequential decision.
1477
+
1478
+ Wait for answers to the questions you ask before committing dependent work. Continue independent
1479
+ research where useful, but do not register or run the first recipe with unanswered material
1480
+ questions. An elapsed wait is not permission to assume an answer. If the request is already specific
1481
+ enough, summarize its shape and proceed. If the user explicitly delegates choices or asks for no
1482
+ questions, use evidence-backed defaults and state them without forcing another confirmation.
1483
+
1484
+ Before the first build, give a compact recap of purpose, table shape, row grain, sources, coverage,
1485
+ and important fields or limitations. Highlight unresolved decisions as questions; otherwise proceed
1486
+ on the answers already given. During verification compare the sample with this agreed shape, not
1487
+ just whether the run succeeded. If research or the sample requires a material semantic change,
1488
+ return to the user with concrete alternatives before building a revised recipe; use the existing
1489
+ contract revision/approval path once a recipe has been registered.
1490
+
1444
1491
  ## Autonomous delivery
1445
1492
 
1446
1493
  Own the run until the requested outcome is delivered: a run that succeeded, its declared checks
1447
- read, its coverage inspected, and its refresh cadence recorded when the user has said what it should
1448
- be. What is live is what Studio returns as live; catch-up and continuing freshness require separate
1449
- durable evidence from the deployed component that owns them. The allowed user pauses
1450
- are the cadence decision, the decision to start a full run after a TRUNCATED sample, and a spend
1451
- confirmation on a run over the threshold. Do not ask the user to choose sources, Readers, engines,
1452
- formats, workspaces, retry tactics, cleaning operations, or validation repairs. Make those
1453
- operational decisions from the question, observed evidence, registered capabilities, and
1454
- deterministic receipts.
1455
-
1456
- **The decision point replaces the one-question rule.** There used to be a budget of exactly one
1457
- clarifying question, and it was the wrong instrument: it made the agent hoard its one question
1458
- against a fork that might arrive later, and it left the user with no view of the search at all
1459
- until the page was finished. What stage 3 asks for instead is a STATEMENT — sources chosen, sources
1460
- rejected or blocked with the concrete unblock step, the assumption taken about window and grain —
1461
- posted to the dataset's record and to the chat, after which the build continues without waiting.
1462
- A person who disagrees with it says so; a person who does not is not made to answer anything.
1463
-
1464
- A question is still asked, and it is asked at a genuine FORK: two answers that produce two
1465
- different tables, and no evidence that can settle it. `Throughput: movements or passengers?` is
1466
- such a fork. Which Reader parses the feed is not, and neither is anything else named above; those
1467
- stay banned because the evidence settles them. There is no budget of one — a build with two real
1468
- forks asks about both — but a fork is rare, and a question that the evidence could have answered is
1469
- still the failure this section is about. Ask before registering, while nothing is running and
1470
- nothing has been spent, write it as a pending `clarification` block on the dataset, and carry the
1471
- answer back as a revision of that cell.
1494
+ read, its coverage inspected against the agreed dataset shape, and its refresh cadence recorded
1495
+ when the user has said what it should be. What is live is what Studio returns as live; catch-up and
1496
+ continuing freshness require separate durable evidence from the deployed component that owns them.
1497
+ Dataset discovery questions, material semantic revisions, cadence decisions, full runs after a
1498
+ TRUNCATED sample, and spend confirmations are valid user pauses. Own the operational choices:
1499
+ Readers, engines, parsing formats, workspace plumbing, retry tactics, and repairs that preserve the
1500
+ agreed semantics. Source preferences and cleaning choices that change the meaning belong in the
1501
+ user conversation, even when the agent could technically choose for them.
1472
1502
 
1473
1503
  `mr-data clarify --question TEXT` says whether to ask at all. It exits non-zero when no person can
1474
1504
  answer, which is what a scheduled or headless session reports, and when `--recipe RECIPE_ID` names
1475
1505
  a registered recipe, because the answer to a question asked after the contract is a revision and
1476
- goes through the contract approval instead. On a non-zero exit ask nothing: decide from the
1477
- evidence, write the assumption into the recipe document, and state it as a limitation in the final
1478
- report. `mr-data clarify --question TEXT --answer TEXT` composes the exchange as one `clarification`
1506
+ goes through the contract approval instead. When no person can answer, do not wait: use the
1507
+ existing brief and evidence to make choices within the requested scope, record assumptions, and
1508
+ report limitations. Do not silently replace explicit requirements. When the recipe is already
1509
+ registered, use the revision/approval path for material changes rather than treating the refusal
1510
+ as permission to choose new semantics. Other command failures are not evidence that the user is
1511
+ unavailable. `mr-data clarify --question TEXT --answer TEXT` composes the exchange as one `clarification`
1479
1512
  block. Carry its wording into the recipe document the answer settles — the question text, the table
1480
1513
  description, the column description — so the assumption the table rests on reads the same in the
1481
1514
  document, in the Dataset, and in the report.
@@ -1577,10 +1610,11 @@ What it costs the protocol, and what to do instead:
1577
1610
  exact Reader name and version. Unsupported versions refuse by name. A version change is a recipe
1578
1611
  revision.
1579
1612
 
1580
- **Without a pin a source must answer `text/csv` or `text/plain`, and both are parsed as CSV.**
1581
- Anything else is refused `MEDIA_TYPE` before a row is read. So a publisher that serves only JSON or
1582
- XML needs a pin; it is not unbuildable, and it is not a reason to go looking for a different
1583
- publisher.
1613
+ **Direct CSV supports publisher CSV aliases, including Eurostat SDMX-CSV.**
1614
+ Accepted labels include `text/csv`, `text/plain`, `application/csv`, `application/x-csv`,
1615
+ `text/x-csv`, and `application/vnd.sdmx.data+csv`. For title rows, alternate encodings,
1616
+ headerless files, or padded columns, pin `delimited_text@2.0.0` and configure the layout; see
1617
+ `docs/READERS.md`. A publisher needing another format can use its matching Reader.
1584
1618
 
1585
1619
  **A v4 recipe pins a Reader through `connector.parameters`, under three reserved names.**
1586
1620
  `declared_source` is closed and has no member for a decoder, so the pin rides on the parameter array
@@ -1657,6 +1691,7 @@ decoder. Zero matches and multiple matches both refuse.
1657
1691
  | `spreadsheet.xlsx@1.1.0` | Same; also accepts a response served as `application/octet-stream`. |
1658
1692
  | `delimited_text@1.0.0` | `delimiter` (comma or tab); optional `header: true`; optional `encoding: utf-8`. |
1659
1693
  | `delimited_text@1.1.0` | Same; also accepts a response served as `text/plain` (common for public agency CSV such as IEM). |
1694
+ | `delimited_text@2.0.0` | Explicit delimiter, encoding, quoting, header presence, skip_rows, skip_blank_rows, and indexed columns with output names and optional expected_header; unselected_columns requires empty cells unless explicitly set to allow. |
1660
1695
  | `json.tabular@1.0.0` | `columns` with output names and RFC 6901 pointers; optional `document_format` (`json` or `ndjson`), `records_pointer`, and sequential `expand` pointers. Columns are required unless they state `required: false`. |
1661
1696
  | `json.tabular@1.1.0` | Same; also accepts a response served as `text/plain` (common for public agency JSON and NDJSON). |
1662
1697
  | `xml.tabular@1.0.0` | Absolute record element path, declared namespace prefixes, and relative field selectors ending in `text()` or `@attribute`; fields are required unless `required: false`. |
@@ -3087,6 +3087,10 @@ class _PinnedProxyHTTPSConnection(http.client.HTTPSConnection):
3087
3087
  )
3088
3088
  response = http.client.HTTPResponse(raw_socket)
3089
3089
  response.begin()
3090
+ if response.status == 503:
3091
+ raise AcquisitionSecurityError(
3092
+ "CONNECT_PROXY_BUSY", "gateway capacity is temporarily unavailable"
3093
+ )
3090
3094
  if response.status != 200:
3091
3095
  raise AcquisitionSecurityError(
3092
3096
  "CONNECT_PROXY_STATUS", "gateway refused the pinned tunnel"