mostlyright-data 0.16.3__tar.gz → 0.17.1__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 (549) hide show
  1. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/PKG-INFO +1 -1
  2. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/pyproject.toml +1 -1
  3. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/skills/mr-data-build/SKILL.md +94 -14
  4. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/acquisition/http.py +462 -34
  5. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/acquisition/sandbox.py +79 -19
  6. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/bounded_query.py +15 -0
  7. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/compact_worker.py +127 -24
  8. mostlyright_data-0.17.1/src/mostlyright/data_harness/delta.py +353 -0
  9. mostlyright_data-0.17.1/src/mostlyright/data_harness/delta_checks.py +465 -0
  10. mostlyright_data-0.17.1/src/mostlyright/data_harness/delta_classifier.py +875 -0
  11. mostlyright_data-0.17.1/src/mostlyright/data_harness/delta_persist.py +750 -0
  12. mostlyright_data-0.17.1/src/mostlyright/data_harness/delta_recompute.py +348 -0
  13. mostlyright_data-0.17.1/src/mostlyright/data_harness/delta_rows.py +626 -0
  14. mostlyright_data-0.17.1/src/mostlyright/data_harness/fetch_egress_smoke.py +107 -0
  15. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/formats.py +40 -1
  16. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/hosted_bootstrap.py +1 -1
  17. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/hosted_crawler.py +4 -2
  18. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/hosted_crawler_fetch.py +165 -6
  19. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/hosted_run_worker.py +3585 -1052
  20. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/hosted_session_worker.py +0 -2
  21. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/hosted_worker.py +53 -6
  22. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/inprocess_acquisition.py +349 -21
  23. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/local_contracts.py +150 -1
  24. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/pipeline.py +15 -0
  25. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/run_execution_v4.py +472 -78
  26. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/run_phase_timing.py +8 -0
  27. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/stream_series.py +15 -8
  28. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sql_transform_engine.py +96 -1
  29. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/stream_subscription_feed.py +12 -0
  30. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/stream_subscription_sealer.py +99 -19
  31. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/stream_subscription_worker.py +141 -38
  32. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/studio_boundary.py +1 -1
  33. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/studio_subscription_control.py +119 -2
  34. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/table_manifest.py +22 -2
  35. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/table_parts.py +44 -9
  36. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/table_profile.py +57 -2
  37. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/thin/activity.py +5 -3
  38. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/thin/stream_venue.py +10 -1
  39. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/thin/v4.py +37 -10
  40. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/thin/v4_artifacts.py +1 -1
  41. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/thin/v4_datasets.py +119 -15
  42. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/thin/v4_tables.py +76 -9
  43. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/ux/remediation.py +2 -1
  44. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/v4_closed_source.py +40 -9
  45. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/v4_required_controls.py +7 -4
  46. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/v4_stream_recording.py +14 -9
  47. mostlyright_data-0.16.3/src/mostlyright/data_harness/source_collection_bundle.py +0 -154
  48. mostlyright_data-0.16.3/src/mostlyright/data_harness/source_collection_contract.py +0 -62
  49. mostlyright_data-0.16.3/src/mostlyright/data_harness/source_collection_inputs.py +0 -148
  50. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/.gitignore +0 -0
  51. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/README.md +0 -0
  52. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/scripts/hatch_build.py +0 -0
  53. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/skills/mr-data-build/agents/openai.yaml +0 -0
  54. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/skills/mr-data-build/scripts/write_research_notebook.py +0 -0
  55. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/skills/mr-data-build/scripts/write_visual_run.py +0 -0
  56. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/__init__.py +0 -0
  57. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/LICENSE +0 -0
  58. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/PROVENANCE.json +0 -0
  59. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/__init__.py +0 -0
  60. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/__init__.pyi +0 -0
  61. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/_version.py +0 -0
  62. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/cal_rec_boxes/__init__.py +0 -0
  63. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/cal_rec_boxes/main.py +0 -0
  64. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/ch_ppocr_cls/__init__.py +0 -0
  65. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/ch_ppocr_cls/main.py +0 -0
  66. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/ch_ppocr_cls/utils.py +0 -0
  67. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/ch_ppocr_det/__init__.py +0 -0
  68. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/ch_ppocr_det/main.py +0 -0
  69. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/ch_ppocr_det/utils.py +0 -0
  70. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/__init__.py +0 -0
  71. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/main.py +0 -0
  72. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/typings.py +0 -0
  73. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/utils.py +0 -0
  74. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/config.yaml +0 -0
  75. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/inference_engine/__init__.py +0 -0
  76. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/inference_engine/base.py +0 -0
  77. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/inference_engine/onnxruntime/__init__.py +0 -0
  78. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/inference_engine/onnxruntime/main.py +0 -0
  79. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/inference_engine/onnxruntime/provider_config.py +0 -0
  80. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/main.py +0 -0
  81. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/models/PP-OCRv6_det_small.onnx +0 -0
  82. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/models/PP-OCRv6_rec_small.onnx +0 -0
  83. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/models/ch_ppocr_mobile_v2.0_cls_mobile.onnx +0 -0
  84. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/py.typed +0 -0
  85. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/utils/__init__.py +0 -0
  86. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/utils/load_image.py +0 -0
  87. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/utils/log.py +0 -0
  88. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/utils/model_resolver.py +0 -0
  89. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/utils/output.py +0 -0
  90. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/utils/parse_parameters.py +0 -0
  91. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/utils/process_img.py +0 -0
  92. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/utils/typings.py +0 -0
  93. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/_vendor/rapidocr/utils/utils.py +0 -0
  94. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/__init__.py +0 -0
  95. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/acquisition/__init__.py +0 -0
  96. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/acquisition/derived_credentials.py +0 -0
  97. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/acquisition/parsing.py +0 -0
  98. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/acquisition/ranges.py +0 -0
  99. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/acquisition/result_download.py +0 -0
  100. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/acquisition/retention_admission.py +0 -0
  101. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/acquisition/sandbox_bootstrap.py +0 -0
  102. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/acquisition/url_policy.py +0 -0
  103. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/agent_runtime.py +0 -0
  104. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/assets/logo-ink.svg +0 -0
  105. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/backends/__init__.py +0 -0
  106. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/backends/pandas_backend.py +0 -0
  107. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/backends/polars_backend.py +0 -0
  108. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/backends/protocol.py +0 -0
  109. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/backends/reference.py +0 -0
  110. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/backends/registry.py +0 -0
  111. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/backends/restrictions.py +0 -0
  112. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/bounded_scratch_sink.py +0 -0
  113. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/canonical.py +0 -0
  114. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/catalog_job.py +0 -0
  115. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/cli.py +0 -0
  116. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/contracts.py +0 -0
  117. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/coordinator.py +0 -0
  118. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/crosswalks.py +0 -0
  119. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/declared_checks.py +0 -0
  120. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/deploy.py +0 -0
  121. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/deploy_target.py +0 -0
  122. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/deployment_evidence.py +0 -0
  123. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/documents/__init__.py +0 -0
  124. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/documents/_worker_capability.py +0 -0
  125. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/documents/capture.py +0 -0
  126. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/documents/contracts.py +0 -0
  127. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/documents/lane.py +0 -0
  128. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/documents/ocr.py +0 -0
  129. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/documents/pdf.py +0 -0
  130. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/documents/registry.py +0 -0
  131. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/documents/sandbox.py +0 -0
  132. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/documents/selections.py +0 -0
  133. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/documents/tables.py +0 -0
  134. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/documents/vendor_rapidocr.py +0 -0
  135. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/events.py +0 -0
  136. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/fast_delimited.py +0 -0
  137. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/governors.py +0 -0
  138. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/hosted_crawler_container_smoke.py +0 -0
  139. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/hosted_crawler_job.py +0 -0
  140. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/hosted_crawler_protocol.py +0 -0
  141. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/hosted_deploy.py +0 -0
  142. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/hosted_ingestion_contract.py +0 -0
  143. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/hosted_ingestion_job.py +0 -0
  144. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/hosted_ingestion_job_smoke.py +0 -0
  145. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/hosted_ingestion_worker.py +0 -0
  146. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/hosted_rlimit_as_container_smoke.py +0 -0
  147. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/hosted_session_container_smoke.py +0 -0
  148. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/hosted_session_worker_job_smoke.py +0 -0
  149. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/hosted_stream_recorder_container_smoke.py +0 -0
  150. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/hosted_stream_recorder_job.py +0 -0
  151. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/hosted_stream_subscription_container_smoke.py +0 -0
  152. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/hosted_stream_subscription_worker.py +0 -0
  153. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/incremental_slice_executor.py +0 -0
  154. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/incremental_worker.py +0 -0
  155. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/ingestion/__init__.py +0 -0
  156. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/ingestion/contracts.py +0 -0
  157. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/ingestion/faults.py +0 -0
  158. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/ingestion/gcs_store.py +0 -0
  159. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/ingestion/spool.py +0 -0
  160. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/ingestion/store.py +0 -0
  161. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/key_seam.py +0 -0
  162. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/linux_process_boundary.py +0 -0
  163. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/nbrender/CONTRACT.md +0 -0
  164. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/nbrender/__init__.py +0 -0
  165. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/nbrender/chrome.py +0 -0
  166. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/nbrender/code_body.py +0 -0
  167. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/nbrender/document.py +0 -0
  168. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/nbrender/frame.py +0 -0
  169. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/nbrender/interactive.py +0 -0
  170. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/nbrender/markdown_body.py +0 -0
  171. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/nbrender/mr_components.py +0 -0
  172. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/nbrender/outputs_data.py +0 -0
  173. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/nbrender/outputs_rich.py +0 -0
  174. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/nbrender/outputs_source.py +0 -0
  175. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/nbrender/outputs_stage.py +0 -0
  176. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/nbrender/outputs_text.py +0 -0
  177. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/nbrender/parse.py +0 -0
  178. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/nbrender/status.py +0 -0
  179. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/nbrender/tokens.py +0 -0
  180. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/notebook.py +0 -0
  181. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/offline.py +0 -0
  182. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/operation_registry.py +0 -0
  183. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/operator_setup.py +0 -0
  184. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/part_check_evidence.py +0 -0
  185. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/plan_graph.py +0 -0
  186. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/preparation/__init__.py +0 -0
  187. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/preparation/contracts.py +0 -0
  188. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/preparation/engine.py +0 -0
  189. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/preparation/errors.py +0 -0
  190. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/preparation/gates.py +0 -0
  191. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/preparation/joins.py +0 -0
  192. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/preparation/profile.py +0 -0
  193. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/preparation/table.py +0 -0
  194. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/preparation/transforms.py +0 -0
  195. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/progress_events.py +0 -0
  196. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/__init__.py +0 -0
  197. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/_openpyxl.py +0 -0
  198. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/budgets.py +0 -0
  199. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/containers.py +0 -0
  200. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/contracts.py +0 -0
  201. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/delimited.py +0 -0
  202. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/geojson_vector.py +0 -0
  203. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/geopackage.py +0 -0
  204. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/geoparquet.py +0 -0
  205. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/grib2/__init__.py +0 -0
  206. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/grib2/admission.py +0 -0
  207. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/grib2/collection.py +0 -0
  208. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/grib2/collection_reader.py +0 -0
  209. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/grib2/decode.py +0 -0
  210. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/grib2/geometry.py +0 -0
  211. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/grib2/portable_math.py +0 -0
  212. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/grib_eccodes.py +0 -0
  213. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/html_tabular.py +0 -0
  214. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/html_web_extract.py +0 -0
  215. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/json_tabular.py +0 -0
  216. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/parquet_tabular.py +0 -0
  217. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/pcaxis_px.py +0 -0
  218. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/protobuf_tabular.py +0 -0
  219. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/raster/__init__.py +0 -0
  220. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/raster/_bytes.py +0 -0
  221. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/raster/decode.py +0 -0
  222. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/raster/family.py +0 -0
  223. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/raster/jpeg2000.py +0 -0
  224. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/raster/profiles.py +0 -0
  225. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/raster/rendered.py +0 -0
  226. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/raster/safe.py +0 -0
  227. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/raster/sentinel_safe.py +0 -0
  228. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/raster/tiff.py +0 -0
  229. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/registry.py +0 -0
  230. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/README.md +0 -0
  231. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.0.0/cities_one_stream/cities.csv.gz +0 -0
  232. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.0.0/cities_one_stream/expected.json +0 -0
  233. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.1.0/cities_one_stream/cities.csv.gz +0 -0
  234. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.1.0/cities_one_stream/expected.json +0 -0
  235. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/archive.tar/1.0.0/cities_beside_a_directory_entry/cities.tar +0 -0
  236. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/archive.tar/1.0.0/cities_beside_a_directory_entry/expected.json +0 -0
  237. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/archive.tar/1.1.0/cities_beside_a_directory_entry/cities.tar +0 -0
  238. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/archive.tar/1.1.0/cities_beside_a_directory_entry/expected.json +0 -0
  239. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/archive.zip/1.0.0/cities_beside_a_second_member/cities.zip +0 -0
  240. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/archive.zip/1.0.0/cities_beside_a_second_member/expected.json +0 -0
  241. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/archive.zip/1.1.0/dwd_semicolon_station_member/dwd-station.zip +0 -0
  242. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/archive.zip/1.1.0/dwd_semicolon_station_member/expected.json +0 -0
  243. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/archive.zip/1.2.0/dwd_semicolon_station_member/dwd-station.zip +0 -0
  244. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/archive.zip/1.2.0/dwd_semicolon_station_member/expected.json +0 -0
  245. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/an_ordinary_comma_separated_table/cities.csv +0 -0
  246. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/an_ordinary_comma_separated_table/expected.json +0 -0
  247. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/quoted_fields_holding_the_delimiter/cities.tsv +0 -0
  248. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/quoted_fields_holding_the_delimiter/expected.json +0 -0
  249. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/delimited_text/1.1.0/an_hourly_observation_table_served_as_plain_text/expected.json +0 -0
  250. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/delimited_text/1.1.0/an_hourly_observation_table_served_as_plain_text/observations.csv +0 -0
  251. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/geojson.vector/1.0.0/czech_capital/expected.json +0 -0
  252. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/geojson.vector/1.0.0/czech_capital/places.geojson +0 -0
  253. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/geopackage.vector/1.0.0/epsg_4326_feature/expected.json +0 -0
  254. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/geopackage.vector/1.0.0/epsg_4326_feature/places.gpkg +0 -0
  255. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/geoparquet.vector/1.0.0/primary_wkb_point/expected.json +0 -0
  256. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/geoparquet.vector/1.0.0/primary_wkb_point/places.parquet +0 -0
  257. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/html.tabular/1.0.0/sanitized_table/expected.json +0 -0
  258. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/html.tabular/1.0.0/sanitized_table/table.html +0 -0
  259. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/html.web_extract/1.0.0/json_ld_scorecards/expected.json +0 -0
  260. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/html.web_extract/1.0.0/json_ld_scorecards/scorecards.html +0 -0
  261. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/image.rendered/1.0.0/tiny_png/expected.json +0 -0
  262. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/image.rendered/1.0.0/tiny_png/tiny-rendered.png +0 -0
  263. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/json.tabular/1.0.0/nested_hourly_observations/expected.json +0 -0
  264. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/json.tabular/1.0.0/nested_hourly_observations/stations.json +0 -0
  265. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/json.tabular/1.1.0/an_observation_stream_served_as_plain_text/expected.json +0 -0
  266. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/json.tabular/1.1.0/an_observation_stream_served_as_plain_text/observations.ndjson +0 -0
  267. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/meteorology.bufr/1.0.0/eccodes_bufr4_subset/eccodes-bufr4.bufr +0 -0
  268. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/meteorology.bufr/1.0.0/eccodes_bufr4_subset/expected.json +0 -0
  269. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/meteorology.grib/1.0.0/eccodes_grib1_origin/expected.json +0 -0
  270. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/meteorology.grib/1.0.0/eccodes_grib1_origin/regular-ll-surface.grib1 +0 -0
  271. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/microdata.sas_xpt/1.0.0/two_raw_columns/expected.json +0 -0
  272. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/microdata.sas_xpt/1.0.0/two_raw_columns/survey.xpt +0 -0
  273. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/microdata.spss_sav/1.0.0/two_raw_columns/expected.json +0 -0
  274. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/microdata.spss_sav/1.0.0/two_raw_columns/survey.sav +0 -0
  275. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/microdata.stata_dta/1.0.0/two_raw_columns/expected.json +0 -0
  276. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/microdata.stata_dta/1.0.0/two_raw_columns/stata.dta +0 -0
  277. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/official.pcaxis_px/1.0.0/population_by_region_and_year/expected.json +0 -0
  278. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/official.pcaxis_px/1.0.0/population_by_region_and_year/population.px +0 -0
  279. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/official.sdmx_json/1.0.0/compact_population_series/expected.json +0 -0
  280. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/official.sdmx_json/1.0.0/compact_population_series/population.json +0 -0
  281. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/parquet.tabular/1.0.0/two_columns/expected.json +0 -0
  282. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/parquet.tabular/1.0.0/two_columns/prices.parquet +0 -0
  283. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/protobuf.tabular/1.0.0/gtfs_realtime_trip_updates/expected.json +0 -0
  284. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/protobuf.tabular/1.0.0/gtfs_realtime_trip_updates/gtfs-realtime.desc +0 -0
  285. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/protobuf.tabular/1.0.0/gtfs_realtime_trip_updates/trip-updates.pb +0 -0
  286. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/raster.geospatial/1.0.0/tiny_geotiff/expected.json +0 -0
  287. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/raster.geospatial/1.0.0/tiny_geotiff/tiny-geospatial.tif +0 -0
  288. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/satellite.goes_abi_l2/1.0.0/authored_cmi_window/expected.json +0 -0
  289. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/satellite.goes_abi_l2/1.0.0/authored_cmi_window/goes-abi-l2-cmi-window.nc +0 -0
  290. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/satellite.himawari_hsd/1.0.0/authored_b13_single_bzip2/expected.json +0 -0
  291. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/satellite.himawari_hsd/1.0.0/authored_b13_single_bzip2/himawari-b13-0101-bzip2.dat +0 -0
  292. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/satellite.himawari_hsd_complete/1.0.0/authored_b13_three_segment_scan/expected.json +0 -0
  293. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/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
  294. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/satellite.msg_seviri_l15/1.0.0/authored_calibrated_complete_visir/expected.json +0 -0
  295. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/satellite.msg_seviri_l15/1.0.0/authored_calibrated_complete_visir/msg-seviri-l15.zip +0 -0
  296. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/satellite.sentinel_safe/1.0.0/authored_b02_scl_window/expected.json +0 -0
  297. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/satellite.sentinel_safe/1.0.0/authored_b02_scl_window/sentinel-safe-b02-scl.zip +0 -0
  298. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/satellite.xrit_image/1.0.0/authored_complete_raw_counts/expected.json +0 -0
  299. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/satellite.xrit_image/1.0.0/authored_complete_raw_counts/xrit-complete-image.zip +0 -0
  300. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/scientific.fits/1.0.0/tiny_primary_window/expected.json +0 -0
  301. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/scientific.fits/1.0.0/tiny_primary_window/tiny-primary.fits +0 -0
  302. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/scientific.hdf4/1.0.0/authored_temperature_window/expected.json +0 -0
  303. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/scientific.hdf4/1.0.0/authored_temperature_window/temperature.hdf +0 -0
  304. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/scientific.hdf5/1.0.0/authored_temperature_window/expected.json +0 -0
  305. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/scientific.hdf5/1.0.0/authored_temperature_window/temperature.h5 +0 -0
  306. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_grid_temperature_window/expected.json +0 -0
  307. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_grid_temperature_window/nasa-hdfeos2-grid.hdf +0 -0
  308. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_swath_temperature_window/expected.json +0 -0
  309. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_swath_temperature_window/nasa-hdfeos2-swath.hdf +0 -0
  310. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/scientific.netcdf/1.0.0/authored_classic_temperature_window/expected.json +0 -0
  311. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/scientific.netcdf/1.0.0/authored_classic_temperature_window/temperature-classic.nc +0 -0
  312. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/scientific.zarr/1.0.0/authored_v3_temperature_window/expected.json +0 -0
  313. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/scientific.zarr/1.0.0/authored_v3_temperature_window/temperature-zarr-v3.zip +0 -0
  314. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/an_ordinary_table_beside_a_second_sheet/cities.xlsx +0 -0
  315. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/an_ordinary_table_beside_a_second_sheet/expected.json +0 -0
  316. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/shares_the_workbook_had_already_computed/expected.json +0 -0
  317. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/shares_the_workbook_had_already_computed/shares.xlsx +0 -0
  318. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.1.0/shares_the_workbook_had_already_computed/expected.json +0 -0
  319. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.1.0/shares_the_workbook_had_already_computed/shares.xlsx +0 -0
  320. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/README.md +0 -0
  321. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/gfs_2m_temperature/expected.json +0 -0
  322. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/gfs_2m_temperature/gfs-2m-temperature.grib2 +0 -0
  323. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_2m_temperature/expected.json +0 -0
  324. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_2m_temperature/hrrr-2m-temperature.grib2 +0 -0
  325. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_categorical_rain/expected.json +0 -0
  326. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_categorical_rain/hrrr-categorical-rain.grib2 +0 -0
  327. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/weather.grib2/2.0.0/hrrr_2m_temperature/expected.json +0 -0
  328. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/weather.grib2/2.0.0/hrrr_2m_temperature/hrrr-2m-temperature.grib2 +0 -0
  329. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/weather.grib2/3.0.0/gfs_and_hrrr_categorical_rain/expected.json +0 -0
  330. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/weather.grib2/3.0.0/gfs_and_hrrr_categorical_rain/gfs-and-hrrr-categorical-rain.grib2 +0 -0
  331. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/plain_filing_fact/expected.json +0 -0
  332. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/plain_filing_fact/filing.xml +0 -0
  333. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/xml_inline_fact/expected.json +0 -0
  334. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/xml_inline_fact/filing.xhtml +0 -0
  335. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/pacer_rss_feed/expected.json +0 -0
  336. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/pacer_rss_feed/feed.xml +0 -0
  337. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/sec_form_d_filing/expected.json +0 -0
  338. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/sec_form_d_filing/filing.xml +0 -0
  339. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/unified_agenda_extract/agenda.xml +0 -0
  340. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/unified_agenda_extract/expected.json +0 -0
  341. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/samples.py +0 -0
  342. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/scientific.py +0 -0
  343. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/scientific_arrays/__init__.py +0 -0
  344. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/scientific_arrays/container.py +0 -0
  345. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/scientific_arrays/goes.py +0 -0
  346. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/scientific_arrays/hdf4.py +0 -0
  347. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/scientific_arrays/hdf4_bridge.py +0 -0
  348. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/scientific_arrays/hdf5.py +0 -0
  349. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/scientific_arrays/native.py +0 -0
  350. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/scientific_arrays/netcdf.py +0 -0
  351. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/scientific_arrays/profiles.py +0 -0
  352. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/scientific_arrays/raw.py +0 -0
  353. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/scientific_arrays/zarr.py +0 -0
  354. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/scientific_catalog.py +0 -0
  355. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/scientific_segmented/__init__.py +0 -0
  356. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/scientific_segmented/asset_sets.py +0 -0
  357. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/scientific_segmented/formats.py +0 -0
  358. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/scientific_segmented/hsd.py +0 -0
  359. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/scientific_segmented/native.py +0 -0
  360. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/scientific_segmented/profiles.py +0 -0
  361. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/scientific_segmented/reader.py +0 -0
  362. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/scientific_segmented/xrit.py +0 -0
  363. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/sdmx_json.py +0 -0
  364. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/spreadsheet.py +0 -0
  365. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/statistical_microdata.py +0 -0
  366. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/tabular.py +0 -0
  367. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/vector.py +0 -0
  368. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/vector_wkb.py +0 -0
  369. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/xbrl_facts.py +0 -0
  370. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/readers/xml_tabular.py +0 -0
  371. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/recipe.py +0 -0
  372. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/review.py +0 -0
  373. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/rowset.py +0 -0
  374. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/session_probes.py +0 -0
  375. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/signing.py +0 -0
  376. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/skill_assets.py +0 -0
  377. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/source_bootstrap.py +0 -0
  378. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/source_bundle_writer.py +0 -0
  379. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/source_discovery.py +0 -0
  380. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/source_history_candidate_child.py +0 -0
  381. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/source_history_transform_child.py +0 -0
  382. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/source_inventory.py +0 -0
  383. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/source_partition.py +0 -0
  384. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/source_raw_inventory.py +0 -0
  385. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/source_state_index.py +0 -0
  386. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/__init__.py +0 -0
  387. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/_adapter_steps.py +0 -0
  388. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/adapters.py +0 -0
  389. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/authenticated_https.py +0 -0
  390. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/authenticated_https_v2.py +0 -0
  391. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/authenticated_https_v3.py +0 -0
  392. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/cadence.py +0 -0
  393. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/cadence_emission.py +0 -0
  394. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/cadence_history.py +0 -0
  395. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/__init__.py +0 -0
  396. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/admission.py +0 -0
  397. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/authoring.py +0 -0
  398. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/authoring_policy.py +0 -0
  399. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/authoring_shards.py +0 -0
  400. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/bounded_io.py +0 -0
  401. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/channel.py +0 -0
  402. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/channel_client.py +0 -0
  403. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/contracts.py +0 -0
  404. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/coverage.py +0 -0
  405. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/embedding.py +0 -0
  406. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/entry_v2.py +0 -0
  407. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/fill.py +0 -0
  408. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/fill_partitions.py +0 -0
  409. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/fill_staging.py +0 -0
  410. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/gating.py +0 -0
  411. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/generation_receipt.py +0 -0
  412. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/harvest/__init__.py +0 -0
  413. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/harvest/ckan.py +0 -0
  414. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/harvest/datagov_v4.py +0 -0
  415. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/harvest/protocol.py +0 -0
  416. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/harvest/sdmx.py +0 -0
  417. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/harvest/stac.py +0 -0
  418. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/hosted_catalog.py +0 -0
  419. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/identity_history.py +0 -0
  420. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/neural.py +0 -0
  421. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/packed_catalog.py +0 -0
  422. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/packed_retrieval.py +0 -0
  423. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/packed_writer.py +0 -0
  424. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/query_trace.py +0 -0
  425. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/recommend.py +0 -0
  426. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/retrieval.py +0 -0
  427. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/retrieval_manifest.py +0 -0
  428. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/sealed.py +0 -0
  429. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/search.py +0 -0
  430. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/streaming_delta.py +0 -0
  431. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/catalog/update.py +0 -0
  432. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/collections.py +0 -0
  433. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/contracts.py +0 -0
  434. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/dataset.py +0 -0
  435. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/deletion.py +0 -0
  436. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/document_projection.py +0 -0
  437. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/fitness.py +0 -0
  438. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/governance.py +0 -0
  439. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/hosted.py +0 -0
  440. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/integration.py +0 -0
  441. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/range_reader.py +0 -0
  442. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/registry.py +0 -0
  443. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/rights_rule.py +0 -0
  444. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/source_cadence_vectors.v1.json +0 -0
  445. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/sports.py +0 -0
  446. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/stream.py +0 -0
  447. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/stream_capture_session.py +0 -0
  448. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/stream_connector.py +0 -0
  449. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/stream_connectors/fixture.cursor-resume.v3.json +0 -0
  450. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-ed25519.v2.json +0 -0
  451. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-hmac.v2.json +0 -0
  452. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-hmac384.v2.json +0 -0
  453. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-hmac512.v2.json +0 -0
  454. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame.v2.json +0 -0
  455. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-header-rsa.v2.json +0 -0
  456. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-header.v2.json +0 -0
  457. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-permessage-jwt.v2.json +0 -0
  458. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-permessage.v2.json +0 -0
  459. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-prelude.v2.json +0 -0
  460. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-query.v2.json +0 -0
  461. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-subprotocol.v2.json +0 -0
  462. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-subscribe.v2.json +0 -0
  463. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-urlpath.v2.json +0 -0
  464. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/stream_connectors/polymarket.clob-market.v1.json +0 -0
  465. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/stream_credential.py +0 -0
  466. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/stream_prelude.py +0 -0
  467. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/stream_recorder.py +0 -0
  468. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/stream_registry.py +0 -0
  469. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/stream_rotation.py +0 -0
  470. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/stream_segment_recorder.py +0 -0
  471. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/stream_signing.py +0 -0
  472. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/sources/stream_transport.py +0 -0
  473. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/stream_order_vector.py +0 -0
  474. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/stream_recovery_objects.py +0 -0
  475. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/stream_segment_spill.py +0 -0
  476. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/stream_venue.py +0 -0
  477. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/stream_venue_staging.py +0 -0
  478. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/thin/__init__.py +0 -0
  479. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/thin/acquire.py +0 -0
  480. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/thin/acquire_cancel.py +0 -0
  481. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/thin/approvals.py +0 -0
  482. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/thin/commands.py +0 -0
  483. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/thin/download.py +0 -0
  484. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/thin/narrative.py +0 -0
  485. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/thin/parity.py +0 -0
  486. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/thin/probe.py +0 -0
  487. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/thin/propose.py +0 -0
  488. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/thin/recipe.py +0 -0
  489. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/thin/research.py +0 -0
  490. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/thin/router.py +0 -0
  491. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/thin/runs.py +0 -0
  492. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/thin/session.py +0 -0
  493. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/thin/stream.py +0 -0
  494. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/thin/transport.py +0 -0
  495. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/thin/v4_connections.py +0 -0
  496. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/thin/v4_dataset_covers.py +0 -0
  497. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/thin/v4_handoff.py +0 -0
  498. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/thin/v4_narrative.py +0 -0
  499. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/thin/v4_query.py +0 -0
  500. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/thin/v4_runs.py +0 -0
  501. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/thin/v4_secrets.py +0 -0
  502. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/thin/v4_stream.py +0 -0
  503. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/thin/vocabulary.py +0 -0
  504. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/thin/workers.py +0 -0
  505. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/ucum/TABLE-PIN.json +0 -0
  506. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/ucum/ucum-subset.v1.json +0 -0
  507. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/unit_flow.py +0 -0
  508. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/units.py +0 -0
  509. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/ux/__init__.py +0 -0
  510. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/ux/attendance.py +0 -0
  511. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/ux/clarification.py +0 -0
  512. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/ux/cloud_auth.py +0 -0
  513. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/ux/commands/__init__.py +0 -0
  514. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/ux/commands/auth.py +0 -0
  515. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/ux/commands/catalog_author.py +0 -0
  516. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/ux/commands/catalog_harvest.py +0 -0
  517. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/ux/commands/catalog_publish.py +0 -0
  518. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/ux/commands/clarify.py +0 -0
  519. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/ux/commands/login.py +0 -0
  520. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/ux/commands/record.py +0 -0
  521. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/ux/commands/whoami.py +0 -0
  522. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/ux/credential_native.py +0 -0
  523. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/ux/credential_store.py +0 -0
  524. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/ux/credentials.py +0 -0
  525. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/ux/headline.py +0 -0
  526. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/ux/hosted_acquisition.py +0 -0
  527. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/ux/local_review.py +0 -0
  528. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/ux/login.py +0 -0
  529. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/ux/path_kind.py +0 -0
  530. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/ux/plain_file.py +0 -0
  531. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/ux/readers.py +0 -0
  532. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/ux/render.py +0 -0
  533. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/v4_acquisition.py +0 -0
  534. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/v4_check_dialect.py +0 -0
  535. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/v4_document_pin.py +0 -0
  536. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/v4_reader_pin.py +0 -0
  537. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/v4_recipe.py +0 -0
  538. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/v4_snapshot_artifact.py +0 -0
  539. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/v4_transform.py +0 -0
  540. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/v4_window.py +0 -0
  541. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/visual_run/__init__.py +0 -0
  542. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/visual_run/authoring.py +0 -0
  543. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/visual_run/contracts.py +0 -0
  544. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/visual_run/materialize.py +0 -0
  545. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/visual_run/observations.py +0 -0
  546. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/visual_run/reducer.py +0 -0
  547. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/visual_run/sdk.py +0 -0
  548. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/src/mostlyright/data_harness/visual_run/store.py +0 -0
  549. {mostlyright_data-0.16.3 → mostlyright_data-0.17.1}/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.16.3
3
+ Version: 0.17.1
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.16.3"
3
+ version = "0.17.1"
4
4
  description = "Mostly Right CLI for reproducible, reviewed Parquet datasets"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.13,<3.14"
@@ -112,7 +112,7 @@ gap rather than doing anything, and `export-hosted-candidate`, which is a backen
112
112
  | `mr-data whoami` | Use the compatibility alias for the remotely validated `auth status` answer. |
113
113
  | `mr-data clarify` | Say whether one clarifying question may be put to the user right now, and compose the record of their answer. It reaches nothing, asks nobody and waits for nothing. Exits non-zero when no person can answer or when a recipe is already registered. |
114
114
  | `mr-data probe` | Ask one registered source one question and print the answer. **Currently unusable:** it reaches `/v3/sessions`, which Studio refuses, and it takes a question identifier that no v4 receipt returns. Do not plan a source inspection around it. |
115
- | `mr-data dataset` | Bring the dataset page into existence before there is anything on it, then fill it in while somebody watches. `dataset create --name TEXT` mints it and prints the `dataset_id`; `dataset show ID` reads it back; `dataset set ID --name TEXT --description-file F` writes the title and the description under the version it was read at, retrying once if somebody else wrote first; `dataset note ID --heading H --blocks-file B` writes one cell of the decision record that OUTLIVES every run, and `--list` reads it back; `dataset watch ID` follows the page's own event stream; `dataset activity ID --phase P --message TEXT` says what is happening right now, silently, and is never a chat message and never a cell; `dataset archive ID --confirm-name TITLE` retires the page and frees its title, deleting nothing. |
115
+ | `mr-data dataset` | Bring the dataset page into existence before there is anything on it, then fill it in while somebody watches. `dataset create --name TEXT` mints it and prints the `dataset_id`; `dataset show ID` reads it back; `dataset set ID --name TEXT --topics "a,b,c" --license ID --description-file F` writes the title, the categories, the SPDX licence and the description under the version it was read at, retrying once if somebody else wrote first, and an empty `--topics` or `--license` takes that value off the page; `dataset note ID --heading H --blocks-file B` writes one cell of the decision record that OUTLIVES every run, and `--list` reads it back; `dataset watch ID` follows the page's own event stream; `dataset activity ID --phase P --message TEXT` says what is happening right now, silently, and is never a chat message and never a cell; `dataset archive ID --confirm-name TITLE` retires the page and frees its title, deleting nothing. |
116
116
  | `mr-data recipe` | Register one recipe document — dataset, question, table plan, sources, transform, checks and units — in one call, and print the identifiers the server derived. `mr-data recipe show ID` reads one back. |
117
117
  | `mr-data cover` | Generate and attach one branded 1200×630 dataset cover. Give it the dataset ID and what the image should depict; Studio fixes the model, single-color style, curated random palette, dimensions and storage. |
118
118
  | `mr-data run` | Start one run against a registered recipe, named as `--recipe RECIPE_ID --digest RECIPE_DIGEST` — both required, neither positional, and the digest is the bare hex the registration receipt printed. The command accepts `--sample`, `--full`, `--refresh`, `--backfill` and `--window`, and the worker executes `--sample`, `--full` and `--refresh`. A refresh narrows each source that declares a supported address window and merges its returned relation into retained source state; unwindowed sources are conditionally revalidated or re-acquired whole, then the full declared transform runs. `--backfill` and a `--window` on a sample or full are refused before acquisition. `--max-rows` and `--max-source-bytes` remain supported, and each bounds ONE SOURCE rather than the finished table. A large run is held for a spend confirmation, which `--confirm` settles; a sample-first held full requires Studio's interactive human approval instead. `--cancel RUN` stops one. |
@@ -307,7 +307,8 @@ and a title that never changes is fine too. Where the address cannot be minted,
307
307
  plain dashboard address rather than blocking.
308
308
 
309
309
  Hold the `dataset_id` for the rest of the session: stage 3 writes the decision record to it, stage
310
- 4 writes its title, description and cover, and the recipe binds to it by naming it as `dataset.id`.
310
+ 4 writes its title, topics, licence, description and cover, and the recipe binds to it by naming
311
+ it as `dataset.id`.
311
312
 
312
313
  ### 2. Probe — read a source before committing to it
313
314
 
@@ -470,18 +471,63 @@ and is settled once, at stage 4.
470
471
  Every grain, key, join and cutoff settled after stage 3 is a further `decision` block on the
471
472
  DATASET's record — `mr-data dataset note DATASET_ID` — because the fact outlives every run.
472
473
 
473
- **Write the title and the description before the first run, one call each.** The page has been
474
- open since stage 1 under a working title; this is where it settles:
474
+ **Write the title, the topics, the licence and the description before the first run.** The page has
475
+ been open since stage 1 under a working title. This is where it settles. One call carries the title,
476
+ the topics and the licence, so the title and the chips land together; the description arrives after
477
+ it, through the draft snapshots and the final commit. (The worked example below is a different
478
+ dataset from the Kathmandu one the earlier stages follow, chosen because its numbers are easy to
479
+ count.)
475
480
 
476
481
  ```sh
477
- mr-data dataset set DATASET_ID --name "Kathmandu monsoon flooding, 2015-2026" --json
478
- mr-data dataset set DATASET_ID --description-file DESCRIPTION.md --json
482
+ mr-data dataset set DATASET_ID --name "Hourly weather at Prague Airport (LKPR), 2000-2026" \
483
+ --topics "weather,prague,czech republic,metar,iowa environmental mesonet" \
484
+ --license "CC-BY-4.0" --json
479
485
  ```
480
486
 
481
- Two calls rather than one, so the person watching sees the title land and then the text arrive.
482
- Each call reads the version first and writes under it, so a description you wrote against a page
483
- somebody else has since edited is retried once and then reported rather than silently overwriting
484
- them. While composing, send bounded snapshots with `mr-data dataset draft DATASET_ID --description-file DRAFT.md --expected-version VERSION --json`. Chain the returned version into the next snapshot, writing a meaningful paragraph at a time. These snapshots are temporary and do not replace the saved description. Commit the complete documentation with `mr-data dataset set DATASET_ID --description-file DESCRIPTION.md --expected-version VERSION --json`. If another edit moved that version, stop the draft and reconcile it with the user’s text; never retry by blindly advancing the version. Do not send fabricated partial text or delay completed text to simulate writing.
487
+ The call reads the version first and writes under it, so a page somebody else has since edited is
488
+ retried once and then reported rather than silently overwritten. The licence is the SPDX identifier
489
+ of the rights basis the sources actually grant -- for example `CC-BY-4.0`, `ODbL-1.0`, `CC0-1.0`;
490
+ where the sources' terms are not an open licence, leave `--license` off and say so under "Source and
491
+ rights" instead. Never invent a licence.
492
+
493
+ While composing, send bounded snapshots with `mr-data dataset draft DATASET_ID --description-file DRAFT.md --expected-version VERSION --json`. Chain the returned version into the next snapshot, writing a meaningful paragraph at a time. These snapshots are temporary and do not replace the saved description. Commit the complete documentation with `mr-data dataset set DATASET_ID --description-file DESCRIPTION.md --expected-version VERSION --json`. If another edit moved that version, stop the draft and reconcile it with the user’s text; never retry by blindly advancing the version. Do not send fabricated partial text or delay completed text to simulate writing.
494
+
495
+ **What search engines and answer engines read.** These are the three fields search engines and
496
+ answer engines index. A search engine (Google, Bing) ranks the page by the words a person types.
497
+ An answer engine (ChatGPT, Perplexity, Claude, Google AI Overviews) quotes the page as a source
498
+ when a person asks a question. Making the page rank is called SEO. Making the page quotable is
499
+ called GEO. Both read the same three fields, and each field lands in fixed places with fixed
500
+ limits. The rules below are mechanical: apply them, then run the check at the end. Do not
501
+ interpret them.
502
+
503
+ | You write | Where it appears | Limit |
504
+ | --- | --- | --- |
505
+ | `--name` | browser tab title (`{name} \| Mostly Right`), the page heading, the JSON-LD `name` | at most 60 characters, or search results cut it |
506
+ | the opening paragraph of DESCRIPTION.md | the meta description, the social card, the JSON-LD `description`, the `Summary:` line answer engines fetch | search engines cut at 300 characters; answer engines cut at 240 |
507
+ | `--topics` | category chips and the category filter on the /datasets directory, JSON-LD `keywords`, the `Topics:` line answer engines fetch, the `topic` filter in the public API and MCP | 3 to 8 topics, each at most 40 characters |
508
+
509
+ **Title rules**
510
+ 1. Shape: subject, place, period. `Hourly weather at Prague Airport (LKPR), 2000-2026`.
511
+ 2. At most 60 characters. Count them.
512
+ 3. Use the words a person would type: the common place name, and the official identifier in
513
+ parentheses once if one exists (ICAO code, station id, ticker, constituency name).
514
+ 4. Never: a brand, the word "dataset" or "data", a colon, a pipe, an exclamation mark, a version
515
+ number, a run date.
516
+ 5. Sentence case. No trailing full stop.
517
+
518
+ **Topic rules**
519
+ 1. 3 to 8 topics, comma-separated, no duplicates.
520
+ 2. Topic one is the category, chosen from this list and no other:
521
+ `weather, climate, air quality, hydrology, energy, transport, aviation, public health,
522
+ economics, finance, elections, sports, prediction markets, demographics, geospatial,
523
+ agriculture`.
524
+ 3. Then, in this order, one each where it applies: the city or region, the country, the
525
+ phenomenon or instrument, the publisher or programme. After those, up to three more, each a
526
+ distinct thing a person would type that none of the earlier topics already names.
527
+ 4. Form: lowercase; ASCII letters, digits, spaces and hyphens only; one to three words; at most
528
+ 40 characters.
529
+ 5. Never: a column name, a unit, a bare year, a second word from the category list, a market or
530
+ venue name unless the dataset is about that market.
485
531
 
486
532
  **The dataset description is the documentation, and it is read by people and by search engines.**
487
533
  `dataset.description` is Markdown, rendered on the dataset page with headings and lists, and it
@@ -490,7 +536,7 @@ seconds -- not a paragraph, and not a report. Use exactly this shape, in this or
490
536
  section out only when there is genuinely nothing to say (shown indented here; the document
491
537
  itself carries the headings at column one):
492
538
 
493
- One or two plain sentences: what each row is, where it comes from, and the period it covers.
539
+ Two plain sentences: what each row is, where it comes from, and the period it covers.
494
540
 
495
541
  ## Coverage
496
542
  - **Window:** the exact dates and the time zone.
@@ -510,13 +556,47 @@ itself carries the headings at column one):
510
556
  ## Source and rights
511
557
  The publisher, the programme, and the rights basis, in one or two sentences.
512
558
 
559
+ That is six sections: the opening paragraph, and the five headings under it.
560
+
561
+ **Opening paragraph rules** (everything before the first `##` heading)
562
+ 1. Two sentences, 150 to 240 characters together. The first sentence ends before character 200
563
+ and is complete on its own.
564
+ 2. Sentence one says what each row is, for where, over what window, from which publisher:
565
+ `Each row is one hourly METAR observation at Prague Václav Havel Airport (LKPR), January 2000
566
+ to August 2026, from the Iowa Environmental Mesonet ASOS archive.`
567
+ 3. Sentence two gives the size and the measured quantities, as numbers and nouns:
568
+ `43,812 rows of temperature, dew point, wind, pressure and visibility.`
569
+ 4. Full names on first use with the abbreviation in parentheses once. Never "this dataset",
570
+ "we", "it", "here".
571
+ 5. No Markdown in the opening paragraph: no bold, no links, no bullets, no code.
572
+
573
+ **Body rules** (the five sections under the headings)
574
+ 1. Every sentence must stay true and complete when quoted alone, away from the page. Never
575
+ "as above", "see below", "it", "they", "the same".
576
+ 2. Numbers, not adjectives: `one row per hour, about 720 rows a month`, not `high-frequency`.
577
+ 3. Keep the five headings exactly as given, in that relative order, omitting only a section with
578
+ genuinely nothing to say. Answer engines match headings to questions: "what does it cover",
579
+ "what is it suitable for".
580
+ 4. Say what is absent as plainly as what is present: gaps, sentinels, the years the source did
581
+ not record.
582
+ 5. Everything in the paragraph below still applies.
583
+
513
584
  Rules that keep it readable: short sentences; no sentence over about twenty-five words; bullets
514
585
  rather than comma lists; no tables, no code blocks, no links to internal tools, no headings beyond
515
586
  the ones above. Spell out the names a reader would search for -- the place, the identifiers in
516
587
  every common form, the programme and the publisher -- once each, in the opening sentences and
517
- never as a keyword list. The opening sentences double as the summary cards and search engines
518
- show, so they must stand alone. A one-line description is a defect to fix in the revision, not a
519
- style choice. Give `table.description` the grain and the window.
588
+ never as a keyword list. A one-line description is a defect to fix in the revision, not a style
589
+ choice. Give `table.description` the grain and the window.
590
+
591
+ **Check before writing.** Fix and re-check until every line passes:
592
+ - title: at most 60 characters, contains the place, contains no colon, pipe or exclamation mark,
593
+ no brand, no "dataset" or "data", no version number, no run date
594
+ - opening paragraph: 150 to 240 characters, first full stop before character 200, no Markdown
595
+ - topics: 3 to 8, no duplicates, first one is on the category list, all lowercase, each at most
596
+ 40 characters, none is a column name, a unit, a year, a second word from the category list, or
597
+ a market or venue name unless the dataset is about that market
598
+ - licence: an SPDX identifier the sources actually grant, or `--license` left off
599
+ - every `##` heading in DESCRIPTION.md is one of the five, in that relative order, none repeated
520
600
 
521
601
  **Every dataset gets a cover before its first run is presented.** Once the description is
522
602
  written, generate one with