mostlyright-data 0.17.8__tar.gz → 0.18.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (566) hide show
  1. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/PKG-INFO +1 -1
  2. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/pyproject.toml +1 -1
  3. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_stream_recorder_job.py +5 -2
  4. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_stream_subscription_worker.py +67 -6
  5. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/run_execution_v4.py +1 -1
  6. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream.py +5 -2
  7. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_capture_session.py +393 -74
  8. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_connector.py +681 -13
  9. mostlyright_data-0.18.0/src/mostlyright/data_harness/sources/stream_connectors/fixture.array-frames.v4.json +34 -0
  10. mostlyright_data-0.18.0/src/mostlyright/data_harness/sources/stream_connectors/fixture.json-keepalive.v4.json +38 -0
  11. mostlyright_data-0.18.0/src/mostlyright/data_harness/sources/stream_connectors/fixture.loose-frames.v4.json +39 -0
  12. mostlyright_data-0.18.0/src/mostlyright/data_harness/sources/stream_connectors/fixture.text-keepalive.v4.json +39 -0
  13. mostlyright_data-0.18.0/src/mostlyright/data_harness/sources/stream_numbers.py +93 -0
  14. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_recorder.py +14 -5
  15. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_rotation.py +4 -4
  16. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_segment_recorder.py +14 -5
  17. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_series.py +745 -137
  18. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_transport.py +67 -12
  19. mostlyright_data-0.18.0/src/mostlyright/data_harness/stream_subscription_feed.py +932 -0
  20. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/stream_subscription_sealer.py +133 -17
  21. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/stream_subscription_worker.py +748 -15
  22. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/stream_venue_staging.py +49 -9
  23. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/studio_boundary.py +2 -2
  24. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/stream_venue.py +5 -4
  25. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/commands/record.py +60 -14
  26. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/remediation.py +1 -1
  27. mostlyright_data-0.17.8/src/mostlyright/data_harness/stream_subscription_feed.py +0 -507
  28. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/.gitignore +0 -0
  29. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/README.md +0 -0
  30. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/scripts/hatch_build.py +0 -0
  31. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/skills/mr-data-build/SKILL.md +0 -0
  32. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/skills/mr-data-build/agents/openai.yaml +0 -0
  33. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/skills/mr-data-build/scripts/write_research_notebook.py +0 -0
  34. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/skills/mr-data-build/scripts/write_visual_run.py +0 -0
  35. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/__init__.py +0 -0
  36. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/LICENSE +0 -0
  37. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/PROVENANCE.json +0 -0
  38. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/__init__.py +0 -0
  39. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/__init__.pyi +0 -0
  40. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/_version.py +0 -0
  41. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/cal_rec_boxes/__init__.py +0 -0
  42. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/cal_rec_boxes/main.py +0 -0
  43. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_cls/__init__.py +0 -0
  44. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_cls/main.py +0 -0
  45. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_cls/utils.py +0 -0
  46. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_det/__init__.py +0 -0
  47. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_det/main.py +0 -0
  48. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_det/utils.py +0 -0
  49. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/__init__.py +0 -0
  50. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/main.py +0 -0
  51. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/typings.py +0 -0
  52. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/utils.py +0 -0
  53. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/config.yaml +0 -0
  54. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/inference_engine/__init__.py +0 -0
  55. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/inference_engine/base.py +0 -0
  56. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/inference_engine/onnxruntime/__init__.py +0 -0
  57. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/inference_engine/onnxruntime/main.py +0 -0
  58. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/inference_engine/onnxruntime/provider_config.py +0 -0
  59. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/main.py +0 -0
  60. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/models/PP-OCRv6_det_small.onnx +0 -0
  61. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/models/PP-OCRv6_rec_small.onnx +0 -0
  62. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/models/ch_ppocr_mobile_v2.0_cls_mobile.onnx +0 -0
  63. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/py.typed +0 -0
  64. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/utils/__init__.py +0 -0
  65. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/utils/load_image.py +0 -0
  66. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/utils/log.py +0 -0
  67. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/utils/model_resolver.py +0 -0
  68. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/utils/output.py +0 -0
  69. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/utils/parse_parameters.py +0 -0
  70. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/utils/process_img.py +0 -0
  71. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/utils/typings.py +0 -0
  72. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/utils/utils.py +0 -0
  73. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/__init__.py +0 -0
  74. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/acquisition/__init__.py +0 -0
  75. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/acquisition/derived_credentials.py +0 -0
  76. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/acquisition/http.py +0 -0
  77. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/acquisition/parsing.py +0 -0
  78. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/acquisition/ranges.py +0 -0
  79. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/acquisition/result_download.py +0 -0
  80. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/acquisition/retention_admission.py +0 -0
  81. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/acquisition/sandbox.py +0 -0
  82. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/acquisition/sandbox_bootstrap.py +0 -0
  83. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/acquisition/url_policy.py +0 -0
  84. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/agent_runtime.py +0 -0
  85. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/assets/logo-ink.svg +0 -0
  86. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/backends/__init__.py +0 -0
  87. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/backends/pandas_backend.py +0 -0
  88. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/backends/polars_backend.py +0 -0
  89. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/backends/protocol.py +0 -0
  90. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/backends/reference.py +0 -0
  91. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/backends/registry.py +0 -0
  92. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/backends/restrictions.py +0 -0
  93. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/bounded_query.py +0 -0
  94. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/bounded_scratch_sink.py +0 -0
  95. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/canonical.py +0 -0
  96. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/catalog_job.py +0 -0
  97. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/cli.py +0 -0
  98. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/compact_worker.py +0 -0
  99. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/contracts.py +0 -0
  100. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/coordinator.py +0 -0
  101. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/crosswalks.py +0 -0
  102. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/declared_checks.py +0 -0
  103. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/delta.py +0 -0
  104. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/delta_checks.py +0 -0
  105. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/delta_classifier.py +0 -0
  106. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/delta_persist.py +0 -0
  107. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/delta_recompute.py +0 -0
  108. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/delta_rows.py +0 -0
  109. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/deploy.py +0 -0
  110. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/deploy_target.py +0 -0
  111. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/deployment_evidence.py +0 -0
  112. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/documents/__init__.py +0 -0
  113. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/documents/_worker_capability.py +0 -0
  114. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/documents/capture.py +0 -0
  115. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/documents/contracts.py +0 -0
  116. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/documents/lane.py +0 -0
  117. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/documents/ocr.py +0 -0
  118. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/documents/pdf.py +0 -0
  119. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/documents/registry.py +0 -0
  120. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/documents/sandbox.py +0 -0
  121. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/documents/selections.py +0 -0
  122. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/documents/tables.py +0 -0
  123. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/documents/vendor_rapidocr.py +0 -0
  124. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/events.py +0 -0
  125. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/fast_delimited.py +0 -0
  126. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/fetch_egress_smoke.py +0 -0
  127. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/formats.py +0 -0
  128. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/governors.py +0 -0
  129. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_bootstrap.py +0 -0
  130. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_crawler.py +0 -0
  131. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_crawler_container_smoke.py +0 -0
  132. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_crawler_fetch.py +0 -0
  133. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_crawler_job.py +0 -0
  134. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_crawler_protocol.py +0 -0
  135. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_deploy.py +0 -0
  136. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_ingestion_contract.py +0 -0
  137. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_ingestion_job.py +0 -0
  138. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_ingestion_job_smoke.py +0 -0
  139. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_ingestion_worker.py +0 -0
  140. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_rlimit_as_container_smoke.py +0 -0
  141. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_run_worker.py +0 -0
  142. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_session_container_smoke.py +0 -0
  143. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_session_worker.py +0 -0
  144. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_session_worker_job_smoke.py +0 -0
  145. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_stream_recorder_container_smoke.py +0 -0
  146. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_stream_subscription_container_smoke.py +0 -0
  147. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_worker.py +0 -0
  148. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/incremental_slice_executor.py +0 -0
  149. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/incremental_worker.py +0 -0
  150. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ingestion/__init__.py +0 -0
  151. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ingestion/contracts.py +0 -0
  152. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ingestion/faults.py +0 -0
  153. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ingestion/gcs_store.py +0 -0
  154. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ingestion/spool.py +0 -0
  155. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ingestion/store.py +0 -0
  156. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/inprocess_acquisition.py +0 -0
  157. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/key_seam.py +0 -0
  158. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/legacy_table_recovery.py +0 -0
  159. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/legacy_table_recovery_contract.py +0 -0
  160. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/linux_process_boundary.py +0 -0
  161. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/local_contracts.py +0 -0
  162. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/nbrender/CONTRACT.md +0 -0
  163. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/nbrender/__init__.py +0 -0
  164. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/nbrender/chrome.py +0 -0
  165. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/nbrender/code_body.py +0 -0
  166. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/nbrender/document.py +0 -0
  167. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/nbrender/frame.py +0 -0
  168. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/nbrender/interactive.py +0 -0
  169. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/nbrender/markdown_body.py +0 -0
  170. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/nbrender/mr_components.py +0 -0
  171. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/nbrender/outputs_data.py +0 -0
  172. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/nbrender/outputs_rich.py +0 -0
  173. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/nbrender/outputs_source.py +0 -0
  174. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/nbrender/outputs_stage.py +0 -0
  175. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/nbrender/outputs_text.py +0 -0
  176. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/nbrender/parse.py +0 -0
  177. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/nbrender/status.py +0 -0
  178. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/nbrender/tokens.py +0 -0
  179. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/notebook.py +0 -0
  180. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/offline.py +0 -0
  181. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/operation_registry.py +0 -0
  182. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/operator_setup.py +0 -0
  183. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/page_coverage.py +0 -0
  184. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/part_check_evidence.py +0 -0
  185. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/pipeline.py +0 -0
  186. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/plan_graph.py +0 -0
  187. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/preparation/__init__.py +0 -0
  188. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/preparation/contracts.py +0 -0
  189. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/preparation/engine.py +0 -0
  190. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/preparation/errors.py +0 -0
  191. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/preparation/gates.py +0 -0
  192. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/preparation/joins.py +0 -0
  193. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/preparation/profile.py +0 -0
  194. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/preparation/table.py +0 -0
  195. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/preparation/transforms.py +0 -0
  196. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/progress_events.py +0 -0
  197. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/__init__.py +0 -0
  198. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/_openpyxl.py +0 -0
  199. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/budgets.py +0 -0
  200. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/configurable_delimited.py +0 -0
  201. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/containers.py +0 -0
  202. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/contracts.py +0 -0
  203. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/delimited.py +0 -0
  204. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/geojson_vector.py +0 -0
  205. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/geopackage.py +0 -0
  206. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/geoparquet.py +0 -0
  207. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/grib2/__init__.py +0 -0
  208. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/grib2/admission.py +0 -0
  209. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/grib2/collection.py +0 -0
  210. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/grib2/collection_reader.py +0 -0
  211. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/grib2/decode.py +0 -0
  212. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/grib2/geometry.py +0 -0
  213. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/grib2/portable_math.py +0 -0
  214. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/grib_eccodes.py +0 -0
  215. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/html_tabular.py +0 -0
  216. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/html_web_extract.py +0 -0
  217. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/json_tabular.py +0 -0
  218. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/parquet_tabular.py +0 -0
  219. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/pcaxis_px.py +0 -0
  220. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/protobuf_tabular.py +0 -0
  221. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/raster/__init__.py +0 -0
  222. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/raster/_bytes.py +0 -0
  223. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/raster/decode.py +0 -0
  224. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/raster/family.py +0 -0
  225. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/raster/jpeg2000.py +0 -0
  226. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/raster/profiles.py +0 -0
  227. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/raster/rendered.py +0 -0
  228. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/raster/safe.py +0 -0
  229. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/raster/sentinel_safe.py +0 -0
  230. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/raster/tiff.py +0 -0
  231. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/registry.py +0 -0
  232. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/README.md +0 -0
  233. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.0.0/cities_one_stream/cities.csv.gz +0 -0
  234. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.0.0/cities_one_stream/expected.json +0 -0
  235. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.1.0/cities_one_stream/cities.csv.gz +0 -0
  236. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.1.0/cities_one_stream/expected.json +0 -0
  237. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/archive.tar/1.0.0/cities_beside_a_directory_entry/cities.tar +0 -0
  238. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/archive.tar/1.0.0/cities_beside_a_directory_entry/expected.json +0 -0
  239. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/archive.tar/1.1.0/cities_beside_a_directory_entry/cities.tar +0 -0
  240. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/archive.tar/1.1.0/cities_beside_a_directory_entry/expected.json +0 -0
  241. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/archive.zip/1.0.0/cities_beside_a_second_member/cities.zip +0 -0
  242. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/archive.zip/1.0.0/cities_beside_a_second_member/expected.json +0 -0
  243. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/archive.zip/1.1.0/dwd_semicolon_station_member/dwd-station.zip +0 -0
  244. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/archive.zip/1.1.0/dwd_semicolon_station_member/expected.json +0 -0
  245. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/archive.zip/1.2.0/dwd_semicolon_station_member/dwd-station.zip +0 -0
  246. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/archive.zip/1.2.0/dwd_semicolon_station_member/expected.json +0 -0
  247. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/an_ordinary_comma_separated_table/cities.csv +0 -0
  248. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/an_ordinary_comma_separated_table/expected.json +0 -0
  249. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/quoted_fields_holding_the_delimiter/cities.tsv +0 -0
  250. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/quoted_fields_holding_the_delimiter/expected.json +0 -0
  251. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/delimited_text/1.1.0/an_hourly_observation_table_served_as_plain_text/expected.json +0 -0
  252. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/delimited_text/1.1.0/an_hourly_observation_table_served_as_plain_text/observations.csv +0 -0
  253. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/delimited_text/2.0.0/publisher_preamble/expected.json +0 -0
  254. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/delimited_text/2.0.0/publisher_preamble/indices.csv +0 -0
  255. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/geojson.vector/1.0.0/czech_capital/expected.json +0 -0
  256. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/geojson.vector/1.0.0/czech_capital/places.geojson +0 -0
  257. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/geopackage.vector/1.0.0/epsg_4326_feature/expected.json +0 -0
  258. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/geopackage.vector/1.0.0/epsg_4326_feature/places.gpkg +0 -0
  259. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/geoparquet.vector/1.0.0/primary_wkb_point/expected.json +0 -0
  260. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/geoparquet.vector/1.0.0/primary_wkb_point/places.parquet +0 -0
  261. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/html.tabular/1.0.0/sanitized_table/expected.json +0 -0
  262. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/html.tabular/1.0.0/sanitized_table/table.html +0 -0
  263. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/html.web_extract/1.0.0/json_ld_scorecards/expected.json +0 -0
  264. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/html.web_extract/1.0.0/json_ld_scorecards/scorecards.html +0 -0
  265. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/html.web_extract/1.1.0/article_text_order/article.html +0 -0
  266. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/html.web_extract/1.1.0/article_text_order/expected.json +0 -0
  267. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/image.rendered/1.0.0/tiny_png/expected.json +0 -0
  268. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/image.rendered/1.0.0/tiny_png/tiny-rendered.png +0 -0
  269. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/json.tabular/1.0.0/nested_hourly_observations/expected.json +0 -0
  270. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/json.tabular/1.0.0/nested_hourly_observations/stations.json +0 -0
  271. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/json.tabular/1.1.0/an_observation_stream_served_as_plain_text/expected.json +0 -0
  272. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/json.tabular/1.1.0/an_observation_stream_served_as_plain_text/observations.ndjson +0 -0
  273. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/meteorology.bufr/1.0.0/eccodes_bufr4_subset/eccodes-bufr4.bufr +0 -0
  274. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/meteorology.bufr/1.0.0/eccodes_bufr4_subset/expected.json +0 -0
  275. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/meteorology.grib/1.0.0/eccodes_grib1_origin/expected.json +0 -0
  276. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/meteorology.grib/1.0.0/eccodes_grib1_origin/regular-ll-surface.grib1 +0 -0
  277. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/microdata.sas_xpt/1.0.0/two_raw_columns/expected.json +0 -0
  278. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/microdata.sas_xpt/1.0.0/two_raw_columns/survey.xpt +0 -0
  279. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/microdata.spss_sav/1.0.0/two_raw_columns/expected.json +0 -0
  280. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/microdata.spss_sav/1.0.0/two_raw_columns/survey.sav +0 -0
  281. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/microdata.stata_dta/1.0.0/two_raw_columns/expected.json +0 -0
  282. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/microdata.stata_dta/1.0.0/two_raw_columns/stata.dta +0 -0
  283. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/official.pcaxis_px/1.0.0/population_by_region_and_year/expected.json +0 -0
  284. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/official.pcaxis_px/1.0.0/population_by_region_and_year/population.px +0 -0
  285. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/official.sdmx_json/1.0.0/compact_population_series/expected.json +0 -0
  286. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/official.sdmx_json/1.0.0/compact_population_series/population.json +0 -0
  287. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/parquet.tabular/1.0.0/two_columns/expected.json +0 -0
  288. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/parquet.tabular/1.0.0/two_columns/prices.parquet +0 -0
  289. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/protobuf.tabular/1.0.0/gtfs_realtime_trip_updates/expected.json +0 -0
  290. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/protobuf.tabular/1.0.0/gtfs_realtime_trip_updates/gtfs-realtime.desc +0 -0
  291. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/protobuf.tabular/1.0.0/gtfs_realtime_trip_updates/trip-updates.pb +0 -0
  292. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/raster.geospatial/1.0.0/tiny_geotiff/expected.json +0 -0
  293. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/raster.geospatial/1.0.0/tiny_geotiff/tiny-geospatial.tif +0 -0
  294. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/satellite.goes_abi_l2/1.0.0/authored_cmi_window/expected.json +0 -0
  295. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/satellite.goes_abi_l2/1.0.0/authored_cmi_window/goes-abi-l2-cmi-window.nc +0 -0
  296. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/satellite.himawari_hsd/1.0.0/authored_b13_single_bzip2/expected.json +0 -0
  297. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/satellite.himawari_hsd/1.0.0/authored_b13_single_bzip2/himawari-b13-0101-bzip2.dat +0 -0
  298. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/satellite.himawari_hsd_complete/1.0.0/authored_b13_three_segment_scan/expected.json +0 -0
  299. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/satellite.himawari_hsd_complete/1.0.0/authored_b13_three_segment_scan/himawari-hsd-b13-complete.zip +0 -0
  300. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/satellite.msg_seviri_l15/1.0.0/authored_calibrated_complete_visir/expected.json +0 -0
  301. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/satellite.msg_seviri_l15/1.0.0/authored_calibrated_complete_visir/msg-seviri-l15.zip +0 -0
  302. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/satellite.sentinel_safe/1.0.0/authored_b02_scl_window/expected.json +0 -0
  303. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/satellite.sentinel_safe/1.0.0/authored_b02_scl_window/sentinel-safe-b02-scl.zip +0 -0
  304. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/satellite.xrit_image/1.0.0/authored_complete_raw_counts/expected.json +0 -0
  305. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/satellite.xrit_image/1.0.0/authored_complete_raw_counts/xrit-complete-image.zip +0 -0
  306. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/scientific.fits/1.0.0/tiny_primary_window/expected.json +0 -0
  307. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/scientific.fits/1.0.0/tiny_primary_window/tiny-primary.fits +0 -0
  308. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf4/1.0.0/authored_temperature_window/expected.json +0 -0
  309. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf4/1.0.0/authored_temperature_window/temperature.hdf +0 -0
  310. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf5/1.0.0/authored_temperature_window/expected.json +0 -0
  311. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf5/1.0.0/authored_temperature_window/temperature.h5 +0 -0
  312. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_grid_temperature_window/expected.json +0 -0
  313. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_grid_temperature_window/nasa-hdfeos2-grid.hdf +0 -0
  314. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_swath_temperature_window/expected.json +0 -0
  315. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_swath_temperature_window/nasa-hdfeos2-swath.hdf +0 -0
  316. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/scientific.netcdf/1.0.0/authored_classic_temperature_window/expected.json +0 -0
  317. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/scientific.netcdf/1.0.0/authored_classic_temperature_window/temperature-classic.nc +0 -0
  318. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/scientific.zarr/1.0.0/authored_v3_temperature_window/expected.json +0 -0
  319. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/scientific.zarr/1.0.0/authored_v3_temperature_window/temperature-zarr-v3.zip +0 -0
  320. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/an_ordinary_table_beside_a_second_sheet/cities.xlsx +0 -0
  321. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/an_ordinary_table_beside_a_second_sheet/expected.json +0 -0
  322. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/shares_the_workbook_had_already_computed/expected.json +0 -0
  323. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/shares_the_workbook_had_already_computed/shares.xlsx +0 -0
  324. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.1.0/shares_the_workbook_had_already_computed/expected.json +0 -0
  325. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.1.0/shares_the_workbook_had_already_computed/shares.xlsx +0 -0
  326. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/README.md +0 -0
  327. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/gfs_2m_temperature/expected.json +0 -0
  328. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/gfs_2m_temperature/gfs-2m-temperature.grib2 +0 -0
  329. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_2m_temperature/expected.json +0 -0
  330. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_2m_temperature/hrrr-2m-temperature.grib2 +0 -0
  331. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_categorical_rain/expected.json +0 -0
  332. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_categorical_rain/hrrr-categorical-rain.grib2 +0 -0
  333. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/2.0.0/hrrr_2m_temperature/expected.json +0 -0
  334. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/2.0.0/hrrr_2m_temperature/hrrr-2m-temperature.grib2 +0 -0
  335. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/3.0.0/gfs_and_hrrr_categorical_rain/expected.json +0 -0
  336. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/3.0.0/gfs_and_hrrr_categorical_rain/gfs-and-hrrr-categorical-rain.grib2 +0 -0
  337. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/plain_filing_fact/expected.json +0 -0
  338. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/plain_filing_fact/filing.xml +0 -0
  339. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/xml_inline_fact/expected.json +0 -0
  340. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/xml_inline_fact/filing.xhtml +0 -0
  341. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/pacer_rss_feed/expected.json +0 -0
  342. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/pacer_rss_feed/feed.xml +0 -0
  343. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/sec_form_d_filing/expected.json +0 -0
  344. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/sec_form_d_filing/filing.xml +0 -0
  345. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/unified_agenda_extract/agenda.xml +0 -0
  346. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/unified_agenda_extract/expected.json +0 -0
  347. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples.py +0 -0
  348. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific.py +0 -0
  349. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_arrays/__init__.py +0 -0
  350. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_arrays/container.py +0 -0
  351. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_arrays/goes.py +0 -0
  352. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_arrays/hdf4.py +0 -0
  353. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_arrays/hdf4_bridge.py +0 -0
  354. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_arrays/hdf5.py +0 -0
  355. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_arrays/native.py +0 -0
  356. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_arrays/netcdf.py +0 -0
  357. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_arrays/profiles.py +0 -0
  358. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_arrays/raw.py +0 -0
  359. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_arrays/zarr.py +0 -0
  360. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_catalog.py +0 -0
  361. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_segmented/__init__.py +0 -0
  362. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_segmented/asset_sets.py +0 -0
  363. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_segmented/formats.py +0 -0
  364. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_segmented/hsd.py +0 -0
  365. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_segmented/native.py +0 -0
  366. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_segmented/profiles.py +0 -0
  367. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_segmented/reader.py +0 -0
  368. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_segmented/xrit.py +0 -0
  369. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/sdmx_json.py +0 -0
  370. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/spreadsheet.py +0 -0
  371. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/statistical_microdata.py +0 -0
  372. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/tabular.py +0 -0
  373. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/vector.py +0 -0
  374. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/vector_wkb.py +0 -0
  375. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/xbrl_facts.py +0 -0
  376. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/xml_tabular.py +0 -0
  377. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/recipe.py +0 -0
  378. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/review.py +0 -0
  379. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/rowset.py +0 -0
  380. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/run_phase_timing.py +0 -0
  381. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/session_probes.py +0 -0
  382. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/signing.py +0 -0
  383. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/skill_assets.py +0 -0
  384. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/source_bootstrap.py +0 -0
  385. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/source_bundle_writer.py +0 -0
  386. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/source_discovery.py +0 -0
  387. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/source_history_candidate_child.py +0 -0
  388. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/source_history_transform_child.py +0 -0
  389. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/source_inventory.py +0 -0
  390. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/source_partition.py +0 -0
  391. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/source_raw_inventory.py +0 -0
  392. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/source_state_index.py +0 -0
  393. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/__init__.py +0 -0
  394. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/_adapter_steps.py +0 -0
  395. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/adapters.py +0 -0
  396. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/authenticated_https.py +0 -0
  397. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/authenticated_https_v2.py +0 -0
  398. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/authenticated_https_v3.py +0 -0
  399. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/cadence.py +0 -0
  400. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/cadence_emission.py +0 -0
  401. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/cadence_history.py +0 -0
  402. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/__init__.py +0 -0
  403. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/admission.py +0 -0
  404. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/authoring.py +0 -0
  405. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/authoring_policy.py +0 -0
  406. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/authoring_shards.py +0 -0
  407. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/bounded_io.py +0 -0
  408. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/channel.py +0 -0
  409. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/channel_client.py +0 -0
  410. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/contracts.py +0 -0
  411. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/coverage.py +0 -0
  412. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/embedding.py +0 -0
  413. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/entry_v2.py +0 -0
  414. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/fill.py +0 -0
  415. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/fill_partitions.py +0 -0
  416. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/fill_staging.py +0 -0
  417. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/gating.py +0 -0
  418. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/generation_receipt.py +0 -0
  419. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/harvest/__init__.py +0 -0
  420. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/harvest/ckan.py +0 -0
  421. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/harvest/datagov_v4.py +0 -0
  422. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/harvest/protocol.py +0 -0
  423. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/harvest/sdmx.py +0 -0
  424. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/harvest/stac.py +0 -0
  425. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/hosted_catalog.py +0 -0
  426. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/identity_history.py +0 -0
  427. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/neural.py +0 -0
  428. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/packed_catalog.py +0 -0
  429. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/packed_retrieval.py +0 -0
  430. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/packed_writer.py +0 -0
  431. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/query_trace.py +0 -0
  432. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/recommend.py +0 -0
  433. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/retrieval.py +0 -0
  434. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/retrieval_manifest.py +0 -0
  435. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/sealed.py +0 -0
  436. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/search.py +0 -0
  437. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/streaming_delta.py +0 -0
  438. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/update.py +0 -0
  439. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/collections.py +0 -0
  440. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/contracts.py +0 -0
  441. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/dataset.py +0 -0
  442. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/deletion.py +0 -0
  443. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/document_projection.py +0 -0
  444. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/fitness.py +0 -0
  445. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/governance.py +0 -0
  446. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/hosted.py +0 -0
  447. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/integration.py +0 -0
  448. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/page_collections.py +0 -0
  449. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/range_reader.py +0 -0
  450. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/registry.py +0 -0
  451. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/rights_rule.py +0 -0
  452. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/source_cadence_vectors.v1.json +0 -0
  453. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/sports.py +0 -0
  454. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.cursor-resume.v3.json +0 -0
  455. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-ed25519.v2.json +0 -0
  456. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-hmac.v2.json +0 -0
  457. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-hmac384.v2.json +0 -0
  458. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-hmac512.v2.json +0 -0
  459. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame.v2.json +0 -0
  460. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-header-rsa.v2.json +0 -0
  461. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-header.v2.json +0 -0
  462. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-permessage-jwt.v2.json +0 -0
  463. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-permessage.v2.json +0 -0
  464. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-prelude.v2.json +0 -0
  465. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-query.v2.json +0 -0
  466. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-subprotocol.v2.json +0 -0
  467. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-subscribe.v2.json +0 -0
  468. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-urlpath.v2.json +0 -0
  469. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_connectors/polymarket.clob-market.v1.json +0 -0
  470. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_credential.py +0 -0
  471. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_prelude.py +0 -0
  472. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_registry.py +0 -0
  473. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_signing.py +0 -0
  474. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sql_transform_engine.py +0 -0
  475. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/stream_order_vector.py +0 -0
  476. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/stream_recovery_objects.py +0 -0
  477. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/stream_segment_spill.py +0 -0
  478. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/stream_venue.py +0 -0
  479. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/studio_subscription_control.py +0 -0
  480. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/table_manifest.py +0 -0
  481. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/table_parts.py +0 -0
  482. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/table_profile.py +0 -0
  483. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/__init__.py +0 -0
  484. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/acquire.py +0 -0
  485. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/acquire_cancel.py +0 -0
  486. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/activity.py +0 -0
  487. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/approvals.py +0 -0
  488. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/categories.py +0 -0
  489. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/collection_plan.py +0 -0
  490. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/commands.py +0 -0
  491. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/dataset-categories-v1.json +0 -0
  492. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/download.py +0 -0
  493. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/narrative.py +0 -0
  494. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/parity.py +0 -0
  495. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/probe.py +0 -0
  496. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/propose.py +0 -0
  497. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/recipe.py +0 -0
  498. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/research.py +0 -0
  499. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/router.py +0 -0
  500. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/runs.py +0 -0
  501. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/session.py +0 -0
  502. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/stream.py +0 -0
  503. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/transport.py +0 -0
  504. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/user_agent.py +0 -0
  505. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/v4.py +0 -0
  506. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/v4_artifacts.py +0 -0
  507. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/v4_catalog.py +0 -0
  508. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/v4_connections.py +0 -0
  509. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/v4_dataset_covers.py +0 -0
  510. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/v4_datasets.py +0 -0
  511. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/v4_handoff.py +0 -0
  512. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/v4_narrative.py +0 -0
  513. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/v4_query.py +0 -0
  514. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/v4_runs.py +0 -0
  515. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/v4_secrets.py +0 -0
  516. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/v4_stream.py +0 -0
  517. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/v4_tables.py +0 -0
  518. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/vocabulary.py +0 -0
  519. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/workers.py +0 -0
  520. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ucum/TABLE-PIN.json +0 -0
  521. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ucum/ucum-subset.v1.json +0 -0
  522. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/unit_flow.py +0 -0
  523. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/units.py +0 -0
  524. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/__init__.py +0 -0
  525. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/attendance.py +0 -0
  526. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/clarification.py +0 -0
  527. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/cloud_auth.py +0 -0
  528. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/commands/__init__.py +0 -0
  529. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/commands/auth.py +0 -0
  530. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/commands/catalog_author.py +0 -0
  531. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/commands/catalog_harvest.py +0 -0
  532. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/commands/catalog_publish.py +0 -0
  533. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/commands/clarify.py +0 -0
  534. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/commands/login.py +0 -0
  535. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/commands/whoami.py +0 -0
  536. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/credential_native.py +0 -0
  537. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/credential_store.py +0 -0
  538. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/credentials.py +0 -0
  539. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/headline.py +0 -0
  540. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/hosted_acquisition.py +0 -0
  541. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/local_review.py +0 -0
  542. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/login.py +0 -0
  543. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/path_kind.py +0 -0
  544. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/plain_file.py +0 -0
  545. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/readers.py +0 -0
  546. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/render.py +0 -0
  547. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/v4_acquisition.py +0 -0
  548. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/v4_check_dialect.py +0 -0
  549. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/v4_closed_source.py +0 -0
  550. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/v4_document_pin.py +0 -0
  551. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/v4_reader_pin.py +0 -0
  552. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/v4_recipe.py +0 -0
  553. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/v4_required_controls.py +0 -0
  554. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/v4_snapshot_artifact.py +0 -0
  555. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/v4_stream_recording.py +0 -0
  556. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/v4_transform.py +0 -0
  557. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/v4_window.py +0 -0
  558. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/visual_run/__init__.py +0 -0
  559. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/visual_run/authoring.py +0 -0
  560. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/visual_run/contracts.py +0 -0
  561. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/visual_run/materialize.py +0 -0
  562. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/visual_run/observations.py +0 -0
  563. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/visual_run/reducer.py +0 -0
  564. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/visual_run/sdk.py +0 -0
  565. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/visual_run/store.py +0 -0
  566. {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/visual_run/transport.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mostlyright-data
3
- Version: 0.17.8
3
+ Version: 0.18.0
4
4
  Summary: Mostly Right CLI for reproducible, reviewed Parquet datasets
5
5
  Project-URL: Homepage, https://mostlyright.md/
6
6
  Project-URL: Documentation, https://mostlyright.md/docs/guides/cli/
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mostlyright-data"
3
- version = "0.17.8"
3
+ version = "0.18.0"
4
4
  description = "Mostly Right CLI for reproducible, reviewed Parquet datasets"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.13,<3.14"
@@ -284,7 +284,10 @@ _JOB_OPTIONAL_KEYS = frozenset(
284
284
  )
285
285
 
286
286
  _MODES = frozenset({"probe", "capture"})
287
- _MAX_MEMBERS = 32
287
+ # The most members one bounded recorder Job may name. The thin client restates it and a
288
+ # cross-repo test holds the two equal, because a client that admits more than the worker
289
+ # does is a round trip spent on a refusal the caller could have been told about at once.
290
+ _MAX_MEMBERS = 256
288
291
 
289
292
  # The hard ceilings keep a malformed or compromised dispatch from turning a sample into an
290
293
  # unbounded process. They are deliberately separate from ``until``: a completion may claim only
@@ -299,7 +302,7 @@ _BUCKET = re.compile(r"[a-z0-9][a-z0-9._-]{1,61}[a-z0-9]\Z")
299
302
  _OBJECT_PREFIX = re.compile(r"[a-z0-9][A-Za-z0-9._/-]{0,255}\Z")
300
303
  _CONNECTOR_ID = re.compile(r"[a-z][a-z0-9.-]{0,127}\Z")
301
304
  _SERIES_ID = re.compile(r"[a-z][a-z0-9-]{0,63}\Z")
302
- _MEMBER_ID = re.compile(r"[A-Za-z0-9][A-Za-z0-9._:-]{0,255}\Z")
305
+ _MEMBER_ID = re.compile(r"[A-Za-z0-9][A-Za-z0-9._:@/-]{0,255}\Z")
303
306
  _RFC3339 = re.compile(r"[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\.[0-9]{1,6})?Z\Z")
304
307
 
305
308
  #: The two message classes a probe report counts as admitted, and the one it counts as ignored.
@@ -25,6 +25,7 @@ import sys
25
25
  import tempfile
26
26
  import time
27
27
  from collections.abc import Callable, Mapping, Sequence
28
+ from concurrent.futures import ThreadPoolExecutor
28
29
  from dataclasses import dataclass
29
30
  from pathlib import Path
30
31
  from typing import Any, Protocol
@@ -77,6 +78,7 @@ from mostlyright.data_harness.stream_subscription_feed import (
77
78
  )
78
79
  from mostlyright.data_harness.stream_subscription_sealer import GCSSubscriptionSealer
79
80
  from mostlyright.data_harness.stream_subscription_worker import (
81
+ DISCOVERY_TOTAL_TIMEOUT_SECONDS,
80
82
  MAX_ACTIVE_SUBSCRIPTIONS,
81
83
  ClaimedSubscription,
82
84
  ContinuousSubscriptionWorker,
@@ -86,11 +88,14 @@ from mostlyright.data_harness.stream_subscription_worker import (
86
88
  SubscriptionFeed,
87
89
  install_shutdown_handlers,
88
90
  require_policy_serviceable,
91
+ subscription_executor_workers,
89
92
  utc_now,
90
93
  )
91
94
  from mostlyright.data_harness.stream_venue import StreamVenueError, materialize_connector_registry
92
95
  from mostlyright.data_harness.studio_subscription_control import StudioSubscriptionControl
93
96
 
97
+ LOGGER = logging.getLogger(__name__)
98
+
94
99
  WORK_ROOT_ENV = "MOSTLYRIGHT_STREAM_SUBSCRIPTION_WORK_ROOT"
95
100
  MAX_ACTIVE_ENV = "MOSTLYRIGHT_STREAM_SUBSCRIPTION_MAX_ACTIVE"
96
101
  HEARTBEAT_SECONDS_ENV = "MOSTLYRIGHT_STREAM_SUBSCRIPTION_HEARTBEAT_SECONDS"
@@ -115,6 +120,15 @@ MAX_HEARTBEAT_SECONDS = 300.0
115
120
  MAX_IDLE_POLL_SECONDS = 60.0
116
121
  MAX_CONTROL_RESPONSE_BYTES = 768 * 1024
117
122
 
123
+ #: What this executable exits with when the worker asked to be REPLACED rather than stopped.
124
+ #:
125
+ #: 75, ``EX_TEMPFAIL``: the condition is temporary in the only sense that matters here -- a fresh
126
+ #: process does not have this one's abandoned threads -- and the value is non-zero, which is the
127
+ #: part Cloud Run reads. A clean SIGTERM drain still exits 0; only a worker that called
128
+ #: ``ContinuousSubscriptionWorker.request_restart`` reaches this, and today exactly one refusal
129
+ #: calls it: ``STREAM_SUBSCRIPTION_REGISTRY_POOL_EXHAUSTED``.
130
+ RESTART_EXIT_CODE = 75
131
+
118
132
 
119
133
  class HostedStreamSubscriptionWorkerError(RuntimeError):
120
134
  """A safe front-door refusal for the long-lived Worker Pool process."""
@@ -236,7 +250,7 @@ class ProductionSubscriptionFeedResolver:
236
250
  )
237
251
  return _CredentialClosingConnection(current.connection, credential)
238
252
 
239
- def subscribe(cursor: str | None) -> str:
253
+ def subscribe(cursor: str | None) -> tuple[str, ...]:
240
254
  if current is None:
241
255
  raise StreamSubscriptionError(
242
256
  "STREAM_SUBSCRIPTION_FEED_INVALID",
@@ -254,6 +268,7 @@ class ProductionSubscriptionFeedResolver:
254
268
  open_connection=open_connection,
255
269
  subscribe=subscribe,
256
270
  reconnect_due=reconnect_due,
271
+ subscription_id=claim.stream_subscription_id,
257
272
  )
258
273
 
259
274
 
@@ -489,7 +504,7 @@ def _production_discovery_transport(config: StreamSeriesConfig) -> DiscoveryTran
489
504
  max_ranges=1,
490
505
  connect_timeout_seconds=5.0,
491
506
  read_timeout_seconds=30.0,
492
- total_timeout_seconds=45.0,
507
+ total_timeout_seconds=DISCOVERY_TOTAL_TIMEOUT_SECONDS,
493
508
  max_concurrency=1,
494
509
  allowed_media_types=("application/json",),
495
510
  ),
@@ -641,18 +656,64 @@ def build_worker(
641
656
  )
642
657
 
643
658
 
659
+ def size_default_executor(max_active_subscriptions: int) -> int:
660
+ """Give this process an executor sized for the claims it may hold, and say how big.
661
+
662
+ **THE DEFAULT IS SIX THREADS ON THIS CONTAINER AND NOTHING IN THE PROCESS SAID SO.** Every
663
+ ``asyncio.to_thread`` in the recorder -- the roster read, the roster tick, materializing the
664
+ registry that opens a feed -- draws from the loop's default executor, which Python sizes at
665
+ ``min(32, cpu_count + 4)`` regardless of how many subscriptions this pool admits. A burst of
666
+ claims filled it, and the leases that could not get a thread heartbeated healthily for
667
+ twenty minutes while sealing nothing. Sizing it from the declared capacity is the arithmetic
668
+ the shipped code was missing; the returned count is logged so the number this instance is
669
+ actually running on can be read off its own log rather than inferred from its vCPU.
670
+
671
+ ``asyncio.run`` shuts this executor down with the loop, so it is owned for exactly as long as
672
+ the worker it was sized for.
673
+ """
674
+
675
+ workers = subscription_executor_workers(max_active_subscriptions)
676
+ asyncio.get_running_loop().set_default_executor(
677
+ ThreadPoolExecutor(max_workers=workers, thread_name_prefix="mr-stream-subscription")
678
+ )
679
+ LOGGER.info(
680
+ "stream_subscription_executor_sized max_active_subscriptions=%s executor_threads=%s",
681
+ max_active_subscriptions,
682
+ workers,
683
+ )
684
+ return workers
685
+
686
+
644
687
  async def run_subscription_worker(
645
688
  config: SubscriptionWorkerRuntimeConfig,
646
689
  **dependencies: object,
647
- ) -> None:
648
- """Run until SIGTERM/SIGINT and give the worker its bounded drain window."""
690
+ ) -> int:
691
+ """Run until SIGTERM/SIGINT and give the worker its bounded drain window.
692
+
693
+ The return value is this executable's exit status. A SIGTERM drain is a clean stop and
694
+ answers ``0``; a worker that asked to be REPLACED rather than merely stopped answers
695
+ :data:`RESTART_EXIT_CODE`, because Cloud Run reads a non-zero exit as an instance to start
696
+ again and a zero one as a job that finished.
697
+ """
649
698
 
699
+ # BEFORE the worker, not after it. `build_worker` is what constructs the adapters this
700
+ # process runs on, and anything one of them dispatches off the loop while it is being built
701
+ # would land on the inherited default executor -- the six threads this call exists to
702
+ # replace -- and, worse, hold a thread in a pool the very next line discards.
703
+ size_default_executor(config.max_active_subscriptions)
650
704
  worker = build_worker(config, **dependencies)
651
705
  restore = install_shutdown_handlers(worker)
652
706
  try:
653
707
  await worker.run()
654
708
  finally:
655
709
  restore()
710
+ if worker.restart_requested:
711
+ LOGGER.error(
712
+ "stream_subscription_worker_restarting exit_code=%s",
713
+ RESTART_EXIT_CODE,
714
+ )
715
+ return RESTART_EXIT_CODE
716
+ return 0
656
717
 
657
718
 
658
719
  def stream_subscription_worker_main(argv: Sequence[str] | None = None) -> int:
@@ -666,8 +727,7 @@ def stream_subscription_worker_main(argv: Sequence[str] | None = None) -> int:
666
727
  "the Worker Pool executable accepts no arguments",
667
728
  )
668
729
  config = SubscriptionWorkerRuntimeConfig.from_environment()
669
- asyncio.run(run_subscription_worker(config))
670
- return 0
730
+ return asyncio.run(run_subscription_worker(config))
671
731
 
672
732
 
673
733
  def _configure_worker_logging() -> None:
@@ -768,6 +828,7 @@ def _bounded_float(
768
828
 
769
829
  __all__ = [
770
830
  "DEFAULT_WORK_ROOT",
831
+ "RESTART_EXIT_CODE",
771
832
  "HostedStreamSubscriptionWorkerError",
772
833
  "ProductionSubscriptionRosterResolver",
773
834
  "SubscriptionCredentialResolver",
@@ -435,7 +435,7 @@ _RECORDING_BATCH_FIELDS = frozenset(
435
435
  _RECORDING_BATCH_OPTIONAL_FIELDS = frozenset({"members"})
436
436
 
437
437
  #: The most members one batch's roster may name, equal to the series grammar's own ceiling.
438
- MAX_RECORDING_BATCH_MEMBERS = 256
438
+ MAX_RECORDING_BATCH_MEMBERS = 2048
439
439
 
440
440
 
441
441
  class RunExecutionError(HostedWorkerError):
@@ -68,8 +68,11 @@ STREAM_STATE_VERSION_V1 = "harness-stream-watermark.v1"
68
68
  STREAM_BATCH_ADAPTER_ID = "user.stream-batch"
69
69
  STREAM_BATCH_ADAPTER_VERSION = "1.0.0"
70
70
  # The one grammar an event name has to be in to enter the ledger. Named once, here, because the
71
- # Recorder that assigns names and the ledger that admits them must not drift apart.
72
- EVENT_ID_GRAMMAR = re.compile(r"^[A-Za-z0-9][A-Za-z0-9._:-]{0,255}$")
71
+ # Recorder that assigns names and the ledger that admits them must not drift apart. It holds
72
+ # ``@`` and ``/`` because a venue-assigned name carries whatever the venue put in it, and an
73
+ # event name addresses nothing on a disk: the ledger scope beneath it is a separate and
74
+ # stricter single-component grammar, and it stays exactly as strict.
75
+ EVENT_ID_GRAMMAR = re.compile(r"^[A-Za-z0-9][A-Za-z0-9._:@/-]{0,255}$")
73
76
  _EVENT_ID = EVENT_ID_GRAMMAR
74
77
  # ONE MILLION, RAISED FROM ONE HUNDRED THOUSAND WITH THE GRAMMAR THAT MIRRORS IT.
75
78
  #