mostlyright-data 0.10.5__tar.gz → 0.10.6__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 (558) hide show
  1. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/PKG-INFO +1 -1
  2. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/pyproject.toml +1 -1
  3. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/skills/mr-data-build/SKILL.md +1 -1
  4. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/hosted_deploy.py +2 -2
  5. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/hosted_run_worker.py +13 -21
  6. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/thin/approvals.py +3 -3
  7. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/thin/commands.py +13 -7
  8. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/thin/parity.py +22 -10
  9. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/thin/propose.py +7 -2
  10. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/thin/research.py +1 -1
  11. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/thin/session.py +53 -24
  12. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/thin/v4_artifacts.py +17 -5
  13. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/thin/v4_query.py +2 -2
  14. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/thin/v4_runs.py +2 -2
  15. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/thin/v4_stream.py +19 -11
  16. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/hosted_run_status.py +1 -1
  17. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/.gitignore +0 -0
  18. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/README.md +0 -0
  19. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/scripts/hatch_build.py +0 -0
  20. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/skills/mr-data-build/agents/openai.yaml +0 -0
  21. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/skills/mr-data-build/scripts/write_research_notebook.py +0 -0
  22. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/skills/mr-data-build/scripts/write_visual_run.py +0 -0
  23. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/__init__.py +0 -0
  24. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/LICENSE +0 -0
  25. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/PROVENANCE.json +0 -0
  26. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/__init__.py +0 -0
  27. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/__init__.pyi +0 -0
  28. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/_version.py +0 -0
  29. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/cal_rec_boxes/__init__.py +0 -0
  30. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/cal_rec_boxes/main.py +0 -0
  31. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/ch_ppocr_cls/__init__.py +0 -0
  32. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/ch_ppocr_cls/main.py +0 -0
  33. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/ch_ppocr_cls/utils.py +0 -0
  34. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/ch_ppocr_det/__init__.py +0 -0
  35. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/ch_ppocr_det/main.py +0 -0
  36. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/ch_ppocr_det/utils.py +0 -0
  37. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/__init__.py +0 -0
  38. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/main.py +0 -0
  39. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/typings.py +0 -0
  40. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/utils.py +0 -0
  41. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/config.yaml +0 -0
  42. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/inference_engine/__init__.py +0 -0
  43. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/inference_engine/base.py +0 -0
  44. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/inference_engine/onnxruntime/__init__.py +0 -0
  45. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/inference_engine/onnxruntime/main.py +0 -0
  46. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/inference_engine/onnxruntime/provider_config.py +0 -0
  47. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/main.py +0 -0
  48. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/models/PP-OCRv6_det_small.onnx +0 -0
  49. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/models/PP-OCRv6_rec_small.onnx +0 -0
  50. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/models/ch_ppocr_mobile_v2.0_cls_mobile.onnx +0 -0
  51. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/py.typed +0 -0
  52. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/utils/__init__.py +0 -0
  53. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/utils/load_image.py +0 -0
  54. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/utils/log.py +0 -0
  55. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/utils/model_resolver.py +0 -0
  56. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/utils/output.py +0 -0
  57. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/utils/parse_parameters.py +0 -0
  58. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/utils/process_img.py +0 -0
  59. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/utils/typings.py +0 -0
  60. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/_vendor/rapidocr/utils/utils.py +0 -0
  61. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/__init__.py +0 -0
  62. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/acquisition/__init__.py +0 -0
  63. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/acquisition/http.py +0 -0
  64. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/acquisition/parsing.py +0 -0
  65. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/acquisition/ranges.py +0 -0
  66. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/acquisition/result_download.py +0 -0
  67. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/acquisition/retention_admission.py +0 -0
  68. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/acquisition/sandbox.py +0 -0
  69. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/acquisition/url_policy.py +0 -0
  70. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/agent_runtime.py +0 -0
  71. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/assets/logo-ink.svg +0 -0
  72. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/backends/__init__.py +0 -0
  73. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/backends/pandas_backend.py +0 -0
  74. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/backends/polars_backend.py +0 -0
  75. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/backends/protocol.py +0 -0
  76. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/backends/reference.py +0 -0
  77. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/backends/registry.py +0 -0
  78. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/backends/restrictions.py +0 -0
  79. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/bounded_query.py +0 -0
  80. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/canonical.py +0 -0
  81. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/catalog_job.py +0 -0
  82. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/cli.py +0 -0
  83. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/contracts.py +0 -0
  84. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/coordinator.py +0 -0
  85. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/crosswalks.py +0 -0
  86. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/declared_checks.py +0 -0
  87. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/deploy.py +0 -0
  88. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/deploy_target.py +0 -0
  89. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/deployment_evidence.py +0 -0
  90. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/documents/__init__.py +0 -0
  91. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/documents/_worker_capability.py +0 -0
  92. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/documents/agent_request.py +0 -0
  93. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/documents/capture.py +0 -0
  94. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/documents/contracts.py +0 -0
  95. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/documents/lane.py +0 -0
  96. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/documents/ocr.py +0 -0
  97. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/documents/pdf.py +0 -0
  98. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/documents/registry.py +0 -0
  99. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/documents/sandbox.py +0 -0
  100. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/documents/selections.py +0 -0
  101. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/documents/tables.py +0 -0
  102. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/documents/vendor_rapidocr.py +0 -0
  103. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/events.py +0 -0
  104. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/fast_delimited.py +0 -0
  105. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/formats.py +0 -0
  106. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/governors.py +0 -0
  107. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/hosted_bootstrap.py +0 -0
  108. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/hosted_crawler.py +0 -0
  109. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/hosted_crawler_container_smoke.py +0 -0
  110. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/hosted_crawler_fetch.py +0 -0
  111. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/hosted_crawler_job.py +0 -0
  112. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/hosted_crawler_protocol.py +0 -0
  113. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/hosted_dataset.py +0 -0
  114. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/hosted_handoff.py +0 -0
  115. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/hosted_ingestion_contract.py +0 -0
  116. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/hosted_ingestion_job.py +0 -0
  117. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/hosted_ingestion_job_smoke.py +0 -0
  118. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/hosted_rlimit_as_container_smoke.py +0 -0
  119. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/hosted_session_container_smoke.py +0 -0
  120. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/hosted_session_worker.py +0 -0
  121. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/hosted_session_worker_job_smoke.py +0 -0
  122. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/hosted_stream_recorder_container_smoke.py +0 -0
  123. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/hosted_stream_recorder_job.py +0 -0
  124. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/hosted_stream_subscription_container_smoke.py +0 -0
  125. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/hosted_stream_subscription_worker.py +0 -0
  126. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/hosted_worker.py +0 -0
  127. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ingestion/__init__.py +0 -0
  128. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ingestion/contracts.py +0 -0
  129. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ingestion/faults.py +0 -0
  130. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ingestion/gcs_store.py +0 -0
  131. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ingestion/spool.py +0 -0
  132. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ingestion/store.py +0 -0
  133. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/inprocess_acquisition.py +0 -0
  134. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/key_seam.py +0 -0
  135. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/linux_process_boundary.py +0 -0
  136. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/local_contracts.py +0 -0
  137. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/local_search/__init__.py +0 -0
  138. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/local_search/build_index.py +0 -0
  139. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/local_search/contracts.py +0 -0
  140. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/local_search/query_trace.py +0 -0
  141. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/local_search/retrieval.py +0 -0
  142. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/local_search/sealed.py +0 -0
  143. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/local_search/service.py +0 -0
  144. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/nbrender/CONTRACT.md +0 -0
  145. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/nbrender/__init__.py +0 -0
  146. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/nbrender/chrome.py +0 -0
  147. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/nbrender/code_body.py +0 -0
  148. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/nbrender/document.py +0 -0
  149. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/nbrender/frame.py +0 -0
  150. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/nbrender/interactive.py +0 -0
  151. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/nbrender/markdown_body.py +0 -0
  152. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/nbrender/mr_components.py +0 -0
  153. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/nbrender/outputs_data.py +0 -0
  154. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/nbrender/outputs_rich.py +0 -0
  155. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/nbrender/outputs_source.py +0 -0
  156. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/nbrender/outputs_stage.py +0 -0
  157. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/nbrender/outputs_text.py +0 -0
  158. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/nbrender/parse.py +0 -0
  159. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/nbrender/status.py +0 -0
  160. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/nbrender/tokens.py +0 -0
  161. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/notebook.py +0 -0
  162. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/offline.py +0 -0
  163. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/operation_registry.py +0 -0
  164. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/operator_setup.py +0 -0
  165. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/pipeline.py +0 -0
  166. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/plan_graph.py +0 -0
  167. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/preparation/__init__.py +0 -0
  168. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/preparation/contracts.py +0 -0
  169. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/preparation/engine.py +0 -0
  170. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/preparation/errors.py +0 -0
  171. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/preparation/gates.py +0 -0
  172. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/preparation/joins.py +0 -0
  173. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/preparation/profile.py +0 -0
  174. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/preparation/table.py +0 -0
  175. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/preparation/transforms.py +0 -0
  176. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/progress_events.py +0 -0
  177. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/__init__.py +0 -0
  178. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/_openpyxl.py +0 -0
  179. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/budgets.py +0 -0
  180. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/containers.py +0 -0
  181. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/contracts.py +0 -0
  182. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/delimited.py +0 -0
  183. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/geojson_vector.py +0 -0
  184. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/geopackage.py +0 -0
  185. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/geoparquet.py +0 -0
  186. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/grib2/__init__.py +0 -0
  187. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/grib2/admission.py +0 -0
  188. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/grib2/collection.py +0 -0
  189. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/grib2/collection_reader.py +0 -0
  190. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/grib2/decode.py +0 -0
  191. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/grib2/geometry.py +0 -0
  192. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/grib2/portable_math.py +0 -0
  193. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/grib_eccodes.py +0 -0
  194. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/html_tabular.py +0 -0
  195. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/html_web_extract.py +0 -0
  196. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/json_tabular.py +0 -0
  197. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/parquet_tabular.py +0 -0
  198. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/pcaxis_px.py +0 -0
  199. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/protobuf_tabular.py +0 -0
  200. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/raster/__init__.py +0 -0
  201. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/raster/_bytes.py +0 -0
  202. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/raster/decode.py +0 -0
  203. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/raster/family.py +0 -0
  204. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/raster/jpeg2000.py +0 -0
  205. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/raster/profiles.py +0 -0
  206. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/raster/rendered.py +0 -0
  207. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/raster/safe.py +0 -0
  208. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/raster/sentinel_safe.py +0 -0
  209. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/raster/tiff.py +0 -0
  210. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/registry.py +0 -0
  211. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/README.md +0 -0
  212. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.0.0/cities_one_stream/cities.csv.gz +0 -0
  213. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.0.0/cities_one_stream/expected.json +0 -0
  214. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.1.0/cities_one_stream/cities.csv.gz +0 -0
  215. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.1.0/cities_one_stream/expected.json +0 -0
  216. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/archive.tar/1.0.0/cities_beside_a_directory_entry/cities.tar +0 -0
  217. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/archive.tar/1.0.0/cities_beside_a_directory_entry/expected.json +0 -0
  218. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/archive.tar/1.1.0/cities_beside_a_directory_entry/cities.tar +0 -0
  219. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/archive.tar/1.1.0/cities_beside_a_directory_entry/expected.json +0 -0
  220. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/archive.zip/1.0.0/cities_beside_a_second_member/cities.zip +0 -0
  221. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/archive.zip/1.0.0/cities_beside_a_second_member/expected.json +0 -0
  222. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/archive.zip/1.1.0/dwd_semicolon_station_member/dwd-station.zip +0 -0
  223. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/archive.zip/1.1.0/dwd_semicolon_station_member/expected.json +0 -0
  224. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/archive.zip/1.2.0/dwd_semicolon_station_member/dwd-station.zip +0 -0
  225. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/archive.zip/1.2.0/dwd_semicolon_station_member/expected.json +0 -0
  226. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/an_ordinary_comma_separated_table/cities.csv +0 -0
  227. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/an_ordinary_comma_separated_table/expected.json +0 -0
  228. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/quoted_fields_holding_the_delimiter/cities.tsv +0 -0
  229. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/quoted_fields_holding_the_delimiter/expected.json +0 -0
  230. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/delimited_text/1.1.0/an_hourly_observation_table_served_as_plain_text/expected.json +0 -0
  231. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/delimited_text/1.1.0/an_hourly_observation_table_served_as_plain_text/observations.csv +0 -0
  232. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/geojson.vector/1.0.0/czech_capital/expected.json +0 -0
  233. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/geojson.vector/1.0.0/czech_capital/places.geojson +0 -0
  234. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/geopackage.vector/1.0.0/epsg_4326_feature/expected.json +0 -0
  235. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/geopackage.vector/1.0.0/epsg_4326_feature/places.gpkg +0 -0
  236. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/geoparquet.vector/1.0.0/primary_wkb_point/expected.json +0 -0
  237. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/geoparquet.vector/1.0.0/primary_wkb_point/places.parquet +0 -0
  238. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/html.tabular/1.0.0/sanitized_table/expected.json +0 -0
  239. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/html.tabular/1.0.0/sanitized_table/table.html +0 -0
  240. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/html.web_extract/1.0.0/json_ld_scorecards/expected.json +0 -0
  241. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/html.web_extract/1.0.0/json_ld_scorecards/scorecards.html +0 -0
  242. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/image.rendered/1.0.0/tiny_png/expected.json +0 -0
  243. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/image.rendered/1.0.0/tiny_png/tiny-rendered.png +0 -0
  244. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/json.tabular/1.0.0/nested_hourly_observations/expected.json +0 -0
  245. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/json.tabular/1.0.0/nested_hourly_observations/stations.json +0 -0
  246. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/json.tabular/1.1.0/an_observation_stream_served_as_plain_text/expected.json +0 -0
  247. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/json.tabular/1.1.0/an_observation_stream_served_as_plain_text/observations.ndjson +0 -0
  248. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/meteorology.bufr/1.0.0/eccodes_bufr4_subset/eccodes-bufr4.bufr +0 -0
  249. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/meteorology.bufr/1.0.0/eccodes_bufr4_subset/expected.json +0 -0
  250. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/meteorology.grib/1.0.0/eccodes_grib1_origin/expected.json +0 -0
  251. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/meteorology.grib/1.0.0/eccodes_grib1_origin/regular-ll-surface.grib1 +0 -0
  252. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/microdata.sas_xpt/1.0.0/two_raw_columns/expected.json +0 -0
  253. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/microdata.sas_xpt/1.0.0/two_raw_columns/survey.xpt +0 -0
  254. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/microdata.spss_sav/1.0.0/two_raw_columns/expected.json +0 -0
  255. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/microdata.spss_sav/1.0.0/two_raw_columns/survey.sav +0 -0
  256. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/microdata.stata_dta/1.0.0/two_raw_columns/expected.json +0 -0
  257. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/microdata.stata_dta/1.0.0/two_raw_columns/stata.dta +0 -0
  258. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/official.pcaxis_px/1.0.0/population_by_region_and_year/expected.json +0 -0
  259. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/official.pcaxis_px/1.0.0/population_by_region_and_year/population.px +0 -0
  260. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/official.sdmx_json/1.0.0/compact_population_series/expected.json +0 -0
  261. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/official.sdmx_json/1.0.0/compact_population_series/population.json +0 -0
  262. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/parquet.tabular/1.0.0/two_columns/expected.json +0 -0
  263. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/parquet.tabular/1.0.0/two_columns/prices.parquet +0 -0
  264. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/protobuf.tabular/1.0.0/gtfs_realtime_trip_updates/expected.json +0 -0
  265. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/protobuf.tabular/1.0.0/gtfs_realtime_trip_updates/gtfs-realtime.desc +0 -0
  266. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/protobuf.tabular/1.0.0/gtfs_realtime_trip_updates/trip-updates.pb +0 -0
  267. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/raster.geospatial/1.0.0/tiny_geotiff/expected.json +0 -0
  268. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/raster.geospatial/1.0.0/tiny_geotiff/tiny-geospatial.tif +0 -0
  269. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/satellite.goes_abi_l2/1.0.0/authored_cmi_window/expected.json +0 -0
  270. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/satellite.goes_abi_l2/1.0.0/authored_cmi_window/goes-abi-l2-cmi-window.nc +0 -0
  271. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/satellite.himawari_hsd/1.0.0/authored_b13_single_bzip2/expected.json +0 -0
  272. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/satellite.himawari_hsd/1.0.0/authored_b13_single_bzip2/himawari-b13-0101-bzip2.dat +0 -0
  273. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/satellite.himawari_hsd_complete/1.0.0/authored_b13_three_segment_scan/expected.json +0 -0
  274. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/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
  275. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/satellite.msg_seviri_l15/1.0.0/authored_calibrated_complete_visir/expected.json +0 -0
  276. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/satellite.msg_seviri_l15/1.0.0/authored_calibrated_complete_visir/msg-seviri-l15.zip +0 -0
  277. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/satellite.sentinel_safe/1.0.0/authored_b02_scl_window/expected.json +0 -0
  278. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/satellite.sentinel_safe/1.0.0/authored_b02_scl_window/sentinel-safe-b02-scl.zip +0 -0
  279. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/satellite.xrit_image/1.0.0/authored_complete_raw_counts/expected.json +0 -0
  280. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/satellite.xrit_image/1.0.0/authored_complete_raw_counts/xrit-complete-image.zip +0 -0
  281. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/scientific.fits/1.0.0/tiny_primary_window/expected.json +0 -0
  282. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/scientific.fits/1.0.0/tiny_primary_window/tiny-primary.fits +0 -0
  283. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/scientific.hdf4/1.0.0/authored_temperature_window/expected.json +0 -0
  284. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/scientific.hdf4/1.0.0/authored_temperature_window/temperature.hdf +0 -0
  285. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/scientific.hdf5/1.0.0/authored_temperature_window/expected.json +0 -0
  286. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/scientific.hdf5/1.0.0/authored_temperature_window/temperature.h5 +0 -0
  287. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_grid_temperature_window/expected.json +0 -0
  288. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_grid_temperature_window/nasa-hdfeos2-grid.hdf +0 -0
  289. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_swath_temperature_window/expected.json +0 -0
  290. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_swath_temperature_window/nasa-hdfeos2-swath.hdf +0 -0
  291. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/scientific.netcdf/1.0.0/authored_classic_temperature_window/expected.json +0 -0
  292. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/scientific.netcdf/1.0.0/authored_classic_temperature_window/temperature-classic.nc +0 -0
  293. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/scientific.zarr/1.0.0/authored_v3_temperature_window/expected.json +0 -0
  294. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/scientific.zarr/1.0.0/authored_v3_temperature_window/temperature-zarr-v3.zip +0 -0
  295. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/an_ordinary_table_beside_a_second_sheet/cities.xlsx +0 -0
  296. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/an_ordinary_table_beside_a_second_sheet/expected.json +0 -0
  297. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/shares_the_workbook_had_already_computed/expected.json +0 -0
  298. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/shares_the_workbook_had_already_computed/shares.xlsx +0 -0
  299. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.1.0/shares_the_workbook_had_already_computed/expected.json +0 -0
  300. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.1.0/shares_the_workbook_had_already_computed/shares.xlsx +0 -0
  301. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/README.md +0 -0
  302. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/gfs_2m_temperature/expected.json +0 -0
  303. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/gfs_2m_temperature/gfs-2m-temperature.grib2 +0 -0
  304. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_2m_temperature/expected.json +0 -0
  305. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_2m_temperature/hrrr-2m-temperature.grib2 +0 -0
  306. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_categorical_rain/expected.json +0 -0
  307. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_categorical_rain/hrrr-categorical-rain.grib2 +0 -0
  308. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/weather.grib2/2.0.0/hrrr_2m_temperature/expected.json +0 -0
  309. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/weather.grib2/2.0.0/hrrr_2m_temperature/hrrr-2m-temperature.grib2 +0 -0
  310. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/weather.grib2/3.0.0/gfs_and_hrrr_categorical_rain/expected.json +0 -0
  311. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/weather.grib2/3.0.0/gfs_and_hrrr_categorical_rain/gfs-and-hrrr-categorical-rain.grib2 +0 -0
  312. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/plain_filing_fact/expected.json +0 -0
  313. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/plain_filing_fact/filing.xml +0 -0
  314. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/xml_inline_fact/expected.json +0 -0
  315. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/xml_inline_fact/filing.xhtml +0 -0
  316. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/pacer_rss_feed/expected.json +0 -0
  317. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/pacer_rss_feed/feed.xml +0 -0
  318. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/sec_form_d_filing/expected.json +0 -0
  319. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/sec_form_d_filing/filing.xml +0 -0
  320. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/unified_agenda_extract/agenda.xml +0 -0
  321. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/unified_agenda_extract/expected.json +0 -0
  322. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/samples.py +0 -0
  323. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/scientific.py +0 -0
  324. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/scientific_arrays/__init__.py +0 -0
  325. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/scientific_arrays/container.py +0 -0
  326. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/scientific_arrays/goes.py +0 -0
  327. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/scientific_arrays/hdf4.py +0 -0
  328. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/scientific_arrays/hdf4_bridge.py +0 -0
  329. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/scientific_arrays/hdf5.py +0 -0
  330. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/scientific_arrays/native.py +0 -0
  331. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/scientific_arrays/netcdf.py +0 -0
  332. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/scientific_arrays/profiles.py +0 -0
  333. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/scientific_arrays/raw.py +0 -0
  334. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/scientific_arrays/zarr.py +0 -0
  335. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/scientific_catalog.py +0 -0
  336. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/scientific_segmented/__init__.py +0 -0
  337. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/scientific_segmented/asset_sets.py +0 -0
  338. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/scientific_segmented/formats.py +0 -0
  339. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/scientific_segmented/hsd.py +0 -0
  340. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/scientific_segmented/native.py +0 -0
  341. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/scientific_segmented/profiles.py +0 -0
  342. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/scientific_segmented/reader.py +0 -0
  343. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/scientific_segmented/xrit.py +0 -0
  344. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/sdmx_json.py +0 -0
  345. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/spreadsheet.py +0 -0
  346. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/statistical_microdata.py +0 -0
  347. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/tabular.py +0 -0
  348. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/vector.py +0 -0
  349. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/vector_wkb.py +0 -0
  350. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/xbrl_facts.py +0 -0
  351. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/readers/xml_tabular.py +0 -0
  352. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/recipe.py +0 -0
  353. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/repair/__init__.py +0 -0
  354. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/repair/adapters.py +0 -0
  355. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/repair/contracts.py +0 -0
  356. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/repair/coordinator.py +0 -0
  357. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/repair/errors.py +0 -0
  358. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/review.py +0 -0
  359. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/rowset.py +0 -0
  360. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/run_execution_v4.py +0 -0
  361. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/session_probes.py +0 -0
  362. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/signing.py +0 -0
  363. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/skill_assets.py +0 -0
  364. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/source_discovery.py +0 -0
  365. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/__init__.py +0 -0
  366. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/_adapter_steps.py +0 -0
  367. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/adapters.py +0 -0
  368. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/authenticated_https.py +0 -0
  369. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/authenticated_https_v2.py +0 -0
  370. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/cadence.py +0 -0
  371. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/cadence_emission.py +0 -0
  372. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/cadence_history.py +0 -0
  373. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/__init__.py +0 -0
  374. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/admission.py +0 -0
  375. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/authoring.py +0 -0
  376. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/authoring_policy.py +0 -0
  377. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/authoring_shards.py +0 -0
  378. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/bounded_io.py +0 -0
  379. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/channel.py +0 -0
  380. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/channel_client.py +0 -0
  381. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/contracts.py +0 -0
  382. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/coverage.py +0 -0
  383. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/delta.py +0 -0
  384. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/embedding.py +0 -0
  385. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/entry_v2.py +0 -0
  386. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/fill.py +0 -0
  387. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/fill_partitions.py +0 -0
  388. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/fill_staging.py +0 -0
  389. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/gating.py +0 -0
  390. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/generation_receipt.py +0 -0
  391. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/harvest/__init__.py +0 -0
  392. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/harvest/ckan.py +0 -0
  393. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/harvest/datagov_v4.py +0 -0
  394. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/harvest/protocol.py +0 -0
  395. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/harvest/sdmx.py +0 -0
  396. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/harvest/stac.py +0 -0
  397. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/health.py +0 -0
  398. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/hosted_catalog.py +0 -0
  399. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/identity_history.py +0 -0
  400. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/neural.py +0 -0
  401. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/packed_catalog.py +0 -0
  402. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/packed_retrieval.py +0 -0
  403. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/packed_writer.py +0 -0
  404. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/query_trace.py +0 -0
  405. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/recommend.py +0 -0
  406. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/retrieval.py +0 -0
  407. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/retrieval_manifest.py +0 -0
  408. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/rights_decisions.py +0 -0
  409. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/sealed.py +0 -0
  410. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/search.py +0 -0
  411. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/streaming_delta.py +0 -0
  412. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/catalog/update.py +0 -0
  413. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/collections.py +0 -0
  414. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/contracts.py +0 -0
  415. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/dataset.py +0 -0
  416. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/deletion.py +0 -0
  417. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/document_projection.py +0 -0
  418. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/fitness.py +0 -0
  419. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/governance.py +0 -0
  420. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/hosted.py +0 -0
  421. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/integration.py +0 -0
  422. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/range_reader.py +0 -0
  423. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/registry.py +0 -0
  424. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/rights_rule.py +0 -0
  425. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/source_cadence_vectors.v1.json +0 -0
  426. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/sports.py +0 -0
  427. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/stream.py +0 -0
  428. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/stream_capture_session.py +0 -0
  429. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/stream_connector.py +0 -0
  430. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/stream_connectors/fixture.cursor-resume.v3.json +0 -0
  431. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-ed25519.v2.json +0 -0
  432. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-hmac.v2.json +0 -0
  433. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-hmac384.v2.json +0 -0
  434. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-hmac512.v2.json +0 -0
  435. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame.v2.json +0 -0
  436. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-header-rsa.v2.json +0 -0
  437. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-header.v2.json +0 -0
  438. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-permessage-jwt.v2.json +0 -0
  439. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-permessage.v2.json +0 -0
  440. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-prelude.v2.json +0 -0
  441. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-query.v2.json +0 -0
  442. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-subprotocol.v2.json +0 -0
  443. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-subscribe.v2.json +0 -0
  444. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-urlpath.v2.json +0 -0
  445. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/stream_connectors/polymarket.clob-market.v1.json +0 -0
  446. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/stream_credential.py +0 -0
  447. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/stream_prelude.py +0 -0
  448. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/stream_recorder.py +0 -0
  449. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/stream_registry.py +0 -0
  450. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/stream_rotation.py +0 -0
  451. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/stream_segment_recorder.py +0 -0
  452. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/stream_series.py +0 -0
  453. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/stream_signing.py +0 -0
  454. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sources/stream_transport.py +0 -0
  455. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/sql_transform_engine.py +0 -0
  456. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/stream_subscription_feed.py +0 -0
  457. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/stream_subscription_sealer.py +0 -0
  458. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/stream_subscription_worker.py +0 -0
  459. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/stream_venue.py +0 -0
  460. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/stream_venue_staging.py +0 -0
  461. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/studio_boundary.py +0 -0
  462. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/studio_subscription_control.py +0 -0
  463. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/thin/__init__.py +0 -0
  464. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/thin/acquire.py +0 -0
  465. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/thin/acquire_cancel.py +0 -0
  466. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/thin/download.py +0 -0
  467. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/thin/narrative.py +0 -0
  468. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/thin/probe.py +0 -0
  469. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/thin/recipe.py +0 -0
  470. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/thin/router.py +0 -0
  471. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/thin/runs.py +0 -0
  472. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/thin/stream.py +0 -0
  473. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/thin/stream_venue.py +0 -0
  474. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/thin/transport.py +0 -0
  475. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/thin/v4.py +0 -0
  476. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/thin/v4_dataset_covers.py +0 -0
  477. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/thin/v4_handoff.py +0 -0
  478. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/thin/v4_narrative.py +0 -0
  479. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/thin/v4_secrets.py +0 -0
  480. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/thin/v4_tables.py +0 -0
  481. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/thin/vocabulary.py +0 -0
  482. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/thin/workers.py +0 -0
  483. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ucum/TABLE-PIN.json +0 -0
  484. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ucum/ucum-subset.v1.json +0 -0
  485. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/unit_flow.py +0 -0
  486. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/units.py +0 -0
  487. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/__init__.py +0 -0
  488. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/approve.py +0 -0
  489. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/attendance.py +0 -0
  490. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/author_yaml.py +0 -0
  491. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/clarification.py +0 -0
  492. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/cloud_auth.py +0 -0
  493. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/commands/__init__.py +0 -0
  494. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/commands/approve.py +0 -0
  495. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/commands/auth.py +0 -0
  496. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/commands/author.py +0 -0
  497. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/commands/catalog_author.py +0 -0
  498. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/commands/catalog_fill.py +0 -0
  499. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/commands/catalog_harvest.py +0 -0
  500. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/commands/catalog_publish.py +0 -0
  501. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/commands/catalog_search.py +0 -0
  502. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/commands/catalog_update.py +0 -0
  503. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/commands/clarify.py +0 -0
  504. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/commands/deploy.py +0 -0
  505. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/commands/deploy_dataset.py +0 -0
  506. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/commands/deploy_plan.py +0 -0
  507. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/commands/deploy_status.py +0 -0
  508. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/commands/diff.py +0 -0
  509. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/commands/document.py +0 -0
  510. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/commands/index.py +0 -0
  511. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/commands/inventory.py +0 -0
  512. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/commands/list_builds.py +0 -0
  513. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/commands/login.py +0 -0
  514. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/commands/peek.py +0 -0
  515. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/commands/plan_check.py +0 -0
  516. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/commands/preflight.py +0 -0
  517. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/commands/record.py +0 -0
  518. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/commands/review_setup.py +0 -0
  519. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/commands/search.py +0 -0
  520. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/commands/show.py +0 -0
  521. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/commands/whoami.py +0 -0
  522. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/credential_native.py +0 -0
  523. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/credential_store.py +0 -0
  524. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/credentials.py +0 -0
  525. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/diffing.py +0 -0
  526. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/headline.py +0 -0
  527. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/hosted_acquisition.py +0 -0
  528. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/inventory.py +0 -0
  529. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/local_review.py +0 -0
  530. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/login.py +0 -0
  531. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/path_kind.py +0 -0
  532. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/peek.py +0 -0
  533. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/plain_file.py +0 -0
  534. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/plan_check.py +0 -0
  535. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/preflight.py +0 -0
  536. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/readers.py +0 -0
  537. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/remediation.py +0 -0
  538. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/render.py +0 -0
  539. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/ux/workload.py +0 -0
  540. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/v4_acquisition.py +0 -0
  541. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/v4_check_dialect.py +0 -0
  542. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/v4_document_pin.py +0 -0
  543. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/v4_reader_pin.py +0 -0
  544. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/v4_recipe.py +0 -0
  545. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/v4_required_controls.py +0 -0
  546. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/v4_snapshot_artifact.py +0 -0
  547. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/v4_stream_recording.py +0 -0
  548. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/v4_transform.py +0 -0
  549. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/visual_run/__init__.py +0 -0
  550. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/visual_run/authoring.py +0 -0
  551. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/visual_run/contracts.py +0 -0
  552. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/visual_run/materialize.py +0 -0
  553. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/visual_run/observations.py +0 -0
  554. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/visual_run/query.py +0 -0
  555. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/visual_run/reducer.py +0 -0
  556. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/visual_run/sdk.py +0 -0
  557. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/src/mostlyright/data_harness/visual_run/store.py +0 -0
  558. {mostlyright_data-0.10.5 → mostlyright_data-0.10.6}/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.10.5
3
+ Version: 0.10.6
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.10.5"
3
+ version = "0.10.6"
4
4
  description = "Mostly Right CLI for reproducible, reviewed Parquet datasets"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.13,<3.14"
@@ -50,7 +50,7 @@ routine stages, predict duration or throughput, or expose raw state names. Write
50
50
  professional product language and lead with the outcome or decision.
51
51
 
52
52
  For hosted work, register the Dataset first and open its canonical page immediately in the host's
53
- in-app browser: `mr-data open /dashboard/datasets/DATASET_ID` mints a single-use address for it, and
53
+ in-app browser: `mr-data open /datasets/DATASET_ID` mints a single-use address for it, and
54
54
  when that address cannot be minted, carry on without it rather than blocking.
55
55
  Keep that one Dataset tab for research, approval, building, verification, and delivery. Do not
56
56
  replace it with a standalone Run, approval, or notebook page unless the user explicitly requests
@@ -2256,7 +2256,7 @@ def _activation_receipt(
2256
2256
  "recipe_proposal_id": state["resources"]["proposal"]["recipe_proposal_id"],
2257
2257
  "state": str(store.path),
2258
2258
  "dashboard_url": (
2259
- f"{_service_url(cloud_url, 'Cloud URL', allow_loopback_http=False)}/dashboard/datasets"
2259
+ f"{_service_url(cloud_url, 'Cloud URL', allow_loopback_http=False)}/dashboard/team"
2260
2260
  ),
2261
2261
  # The queued Run is not a released version, and this receipt is where somebody learns that
2262
2262
  # for the first time. Its sibling above has always ended by naming the next command; this
@@ -2274,7 +2274,7 @@ def cloud_dashboard_url(cloud_url: str, page: str) -> str:
2274
2274
  """
2275
2275
 
2276
2276
  origin = _service_url(cloud_url, "Cloud URL", allow_loopback_http=False)
2277
- return f"{origin}/dashboard/workspace/{page}"
2277
+ return f"{origin}/dashboard/{page}"
2278
2278
 
2279
2279
 
2280
2280
  def _bind_cloud_dataset(
@@ -56,7 +56,6 @@ from dataclasses import dataclass, field, replace
56
56
  from pathlib import Path
57
57
  from types import FrameType, MappingProxyType
58
58
  from typing import Any, ClassVar, NoReturn, Protocol
59
- from urllib.parse import urlsplit
60
59
  from uuid import UUID, uuid5
61
60
 
62
61
  from mostlyright.data_harness import pipeline, progress_events
@@ -658,25 +657,22 @@ def permitted_artifact_hosts(
658
657
  studio_origin: str = "",
659
658
  environ: Mapping[str, str] | None = None,
660
659
  ) -> frozenset[str]:
661
- """The one host this run's artifact bytes -- its own and its predecessor's -- may come from.
660
+ """The hosts this run's predecessor bytes may come from: the deployment's own policy.
662
661
 
663
- TWO RULES, AND THE FIRST ONE IS THE DEPLOYMENT'S. ``hosted_worker.signed_storage_hosts`` names
664
- the places this fleet's Studio actually signs sessions: the object-storage origin
662
+ THE RULE IS THE DEPLOYMENT'S. ``hosted_worker.signed_storage_hosts`` names the places this
663
+ fleet's Studio actually signs sessions: the object-storage origin
665
664
  (:data:`~mostlyright.data_harness.hosted_worker.SIGNED_STORAGE_HOST`), the configured Studio
666
665
  origin its local backend serves ``/_signed-artifacts/`` from, and whatever
667
666
  :data:`~mostlyright.data_harness.hosted_worker.ENV_SIGNED_STORAGE_HOSTS` adds. Every one of
668
667
  those is read from the environment or from the coordinator's own configuration, so NOTHING an
669
668
  author of a job document can write moves them.
670
669
 
671
- THE SECOND RULE IS THE DOCUMENT'S OWN CONSISTENCY, and it is second on purpose. The permitted
672
- set is still exactly the host ``artifact_session`` names -- the upload session this run will PUT
673
- its five sealed artifacts to -- so a predecessor download and this run's own uploads have to
674
- agree about where this run's bytes live. That agreement used to be the WHOLE rule, and as the
675
- whole rule it was vacuous: ``artifact_session`` reaches no upload (the seal mints its own
676
- per-artifact sessions through :class:`StudioArtifactSealer`), so moving it cost an attacker
677
- nothing at all and a document naming an internal host in BOTH members passed. Anchoring the
678
- agreement inside the deployment's policy is what turns it back into a constraint: the sibling
679
- member can only be moved to somewhere Studio genuinely signs.
670
+ The document's own ``artifact_session`` has to sit inside that policy too, and it is checked
671
+ here so a document naming somewhere Studio does not sign is refused before a byte moves. It is
672
+ NOT the anchor the predecessor download is narrowed to: that member is the
673
+ ``artifacts:reserve`` route on Studio's own origin, while a predecessor's sealed bundle is
674
+ signed on the object store. The two are different hosts by design, and an earlier rule that
675
+ required them to agree refused every refresh a hosted deployment dispatched.
680
676
 
681
677
  This is defence in depth and it is not the authentication: the predecessor's bytes are still
682
678
  authenticated end to end by ``candidate_digest``, checked by ``_decode_candidate_envelope``
@@ -697,10 +693,7 @@ def permitted_artifact_hosts(
697
693
  # NEVER THE URL, for the reason `_download_signed_bytes` records: the address carries a
698
694
  # credential in its query string and `signed_storage_refusal` is written never to echo it.
699
695
  raise _host_refusal(f"this run's artifact session is not one Studio signs: {reason}")
700
- host = urlsplit(session.signed_url).hostname
701
- if not host: # pragma: no cover - `signed_storage_refusal` already required a host.
702
- raise _host_refusal("this run's artifact session names no host")
703
- return frozenset({host.lower()})
696
+ return policy
704
697
 
705
698
 
706
699
  def _download_signed_bytes(
@@ -2833,12 +2826,11 @@ def _resolved_sealer(
2833
2826
  transport=stack.enter_context(_closing(_new_transfer_client())),
2834
2827
  transfer=transfer,
2835
2828
  base_url=base_url,
2836
- # THE DEPLOYMENT'S POLICY, NOT THE DOCUMENT'S OWN HOST. `permitted_artifact_hosts` narrows
2837
- # this set to the one host the job's `artifact_session` names, which is right for the
2838
- # predecessor download -- both are bytes of the same run -- and wrong here: that member is
2829
+ # THE DEPLOYMENT'S POLICY, NOT THE DOCUMENT'S OWN HOST. The job's `artifact_session` is
2839
2830
  # the `artifacts:reserve` route on Studio's own origin, while the session it answers with
2840
2831
  # is signed on the object store. The two are DIFFERENT hosts by design, and the rule the
2841
- # answer has to satisfy is the one `signed_storage_hosts` reads out of deployment facts.
2832
+ # answer has to satisfy is the one `signed_storage_hosts` reads out of deployment facts --
2833
+ # the same rule `permitted_artifact_hosts` applies to the predecessor download.
2842
2834
  permitted_hosts=signed_storage_hosts(studio_origin=base_url, environ=os.environ),
2843
2835
  )
2844
2836
 
@@ -60,7 +60,7 @@ from mostlyright.data_harness.thin.runs import StudioApiClient, new_idempotency_
60
60
  from mostlyright.data_harness.thin.session import (
61
61
  StudioSession,
62
62
  open_studio_session,
63
- run_dashboard_url,
63
+ run_record_dashboard_url,
64
64
  )
65
65
  from mostlyright.data_harness.thin.transport import ThinLaneError
66
66
  from mostlyright.data_harness.ux.credentials import resolve_cloud_credentials
@@ -785,7 +785,7 @@ def _confirm_table_recipe(
785
785
  payload["build"] = {
786
786
  "state": "run_already_queued",
787
787
  "run_id": run_id,
788
- "dashboard_url": run_dashboard_url(selected.session.cloud_url, run_id),
788
+ "dashboard_url": run_record_dashboard_url(selected.session.cloud_url, run, run_id),
789
789
  "watch_command": f"mr-data watch {run_id} --hosted",
790
790
  "note": (
791
791
  "The confirmation started the first hosted Build in the same act; there is "
@@ -823,7 +823,7 @@ def _what_follows_an_approved_recipe(
823
823
  return {
824
824
  "state": "run_already_queued",
825
825
  "run_id": run_id,
826
- "dashboard_url": run_dashboard_url(client.session.cloud_url, run_id),
826
+ "dashboard_url": run_record_dashboard_url(client.session.cloud_url, run, run_id),
827
827
  "watch_command": f"mr-data watch {run_id} --hosted",
828
828
  "note": (
829
829
  "The confirmation started the first hosted Build in the same act; there is "
@@ -28,7 +28,7 @@ from mostlyright.data_harness.thin.runs import RESOURCE_CLASSES, StudioRunClient
28
28
  from mostlyright.data_harness.thin.session import (
29
29
  StudioSession,
30
30
  open_studio_session,
31
- run_dashboard_url,
31
+ run_record_dashboard_url,
32
32
  )
33
33
  from mostlyright.data_harness.thin.stream import TERMINAL_RUN_STATUSES, RunEventStream
34
34
  from mostlyright.data_harness.thin.transport import ThinLaneError
@@ -115,7 +115,7 @@ def submit(args: argparse.Namespace, *, client: StudioRunClient | None = None) -
115
115
  "schema_version": SUBMIT_SCHEMA,
116
116
  "status": "run_queued",
117
117
  "lane": "hosted",
118
- "dashboard_url": run_dashboard_url(selected.session.cloud_url, run_id),
118
+ "dashboard_url": run_record_dashboard_url(selected.session.cloud_url, run, run_id),
119
119
  "watch_command": f"mr-data watch {run_id} --hosted",
120
120
  "run": run_receipt(run),
121
121
  "studio": selected.session.to_receipt(),
@@ -158,7 +158,7 @@ def _already_started(
158
158
  "status": "run_already_queued",
159
159
  "lane": "hosted",
160
160
  "approval_request_id": approval_request_id,
161
- "dashboard_url": run_dashboard_url(client.session.cloud_url, run_id),
161
+ "dashboard_url": run_record_dashboard_url(client.session.cloud_url, run, run_id),
162
162
  "watch_command": f"mr-data watch {run_id} --hosted",
163
163
  "run": run_receipt(run),
164
164
  "note": (
@@ -189,8 +189,11 @@ def watch(args: argparse.Namespace, *, client: StudioRunClient | None = None) ->
189
189
  print(line, flush=True)
190
190
 
191
191
  if announce:
192
+ # The run is read once before the timeline so the address printed first is the run's
193
+ # Dataset page; the read below is the terminal record, made after the timeline ends.
192
194
  print(f"watching {run_id}", flush=True)
193
- print(run_dashboard_url(selected.session.cloud_url, run_id), flush=True)
195
+ queued = selected.get_run(run_id)
196
+ print(run_record_dashboard_url(selected.session.cloud_url, queued, run_id), flush=True)
194
197
  progress = stream.follow(
195
198
  from_seq=int(getattr(args, "from_seq", 0) or 0),
196
199
  last_event_id=getattr(args, "last_event_id", None),
@@ -201,7 +204,7 @@ def watch(args: argparse.Namespace, *, client: StudioRunClient | None = None) ->
201
204
  "schema_version": WATCH_SCHEMA,
202
205
  "status": "run_terminal" if run.get("status") in TERMINAL_RUN_STATUSES else "watch_ended",
203
206
  "lane": "hosted",
204
- "dashboard_url": run_dashboard_url(selected.session.cloud_url, run_id),
207
+ "dashboard_url": run_record_dashboard_url(selected.session.cloud_url, run, run_id),
205
208
  "run": run_receipt(run),
206
209
  "stream": progress.to_receipt(),
207
210
  }
@@ -224,7 +227,7 @@ def status(args: argparse.Namespace, *, client: StudioRunClient | None = None) -
224
227
  "schema_version": STATUS_SCHEMA,
225
228
  "status": "run_reported",
226
229
  "lane": "hosted",
227
- "dashboard_url": run_dashboard_url(selected.session.cloud_url, run_id),
230
+ "dashboard_url": run_record_dashboard_url(selected.session.cloud_url, run, run_id),
228
231
  "run": run_receipt(run),
229
232
  }
230
233
  if not getattr(args, "receipts", False):
@@ -292,6 +295,9 @@ def download(args: argparse.Namespace, *, client: StudioRunClient | None = None)
292
295
  f"this run published no artifact of kind {', '.join(wanted)}"
293
296
  + (f"; it published {', '.join(available)}" if available else ""),
294
297
  )
298
+ # The evidence names artifacts and not the Dataset; the run record is what names the Dataset
299
+ # page the receipt points at.
300
+ run = selected.get_run(run_id)
295
301
  downloaded = []
296
302
  for artifact in selectedartifact_records:
297
303
  artifact_id = artifact.get("artifact_id")
@@ -304,7 +310,7 @@ def download(args: argparse.Namespace, *, client: StudioRunClient | None = None)
304
310
  "schema_version": DOWNLOAD_SCHEMA,
305
311
  "status": "artifacts_downloaded",
306
312
  "lane": "hosted",
307
- "dashboard_url": run_dashboard_url(selected.session.cloud_url, run_id),
313
+ "dashboard_url": run_record_dashboard_url(selected.session.cloud_url, run, run_id),
308
314
  "run_id": run_id,
309
315
  "output": str(output),
310
316
  "artifacts": downloaded,
@@ -46,7 +46,8 @@ from mostlyright.data_harness.thin.runs import StudioRunClient
46
46
  from mostlyright.data_harness.thin.session import (
47
47
  StudioSession,
48
48
  open_studio_session,
49
- run_dashboard_url,
49
+ run_record_dashboard_url,
50
+ team_dashboard_url,
50
51
  )
51
52
  from mostlyright.data_harness.thin.stream import TERMINAL_RUN_STATUSES
52
53
  from mostlyright.data_harness.thin.transport import ThinLaneError
@@ -252,13 +253,24 @@ def _numbered(prefix: str, items: Sequence[Any]) -> dict[str, Any]:
252
253
  return {f"{prefix} {index:0{width}d}": item for index, item in enumerate(items, start=1)}
253
254
 
254
255
 
255
- def _hosted_head(session: StudioSession, run_id: str) -> dict[str, Any]:
256
- """The three facts every answer in this module opens with."""
256
+ def _hosted_head(
257
+ session: StudioSession, run_id: str, run: Mapping[str, Any] | None = None
258
+ ) -> dict[str, Any]:
259
+ """The three facts every answer in this module opens with.
260
+
261
+ The address is the run's Dataset page when the command read the run record, and the team's
262
+ Dataset listing when it did not: the notebook commands read the rendered notebook alone and
263
+ hold no Dataset identifier to name a page with.
264
+ """
257
265
 
258
266
  return {
259
267
  "lane": "hosted",
260
268
  "run_id": run_id,
261
- "dashboard_url": run_dashboard_url(session.cloud_url, run_id),
269
+ "dashboard_url": (
270
+ run_record_dashboard_url(session.cloud_url, run, run_id)
271
+ if run is not None
272
+ else team_dashboard_url(session.cloud_url)
273
+ ),
262
274
  }
263
275
 
264
276
 
@@ -305,7 +317,7 @@ def show(args: argparse.Namespace, *, client: StudioRunClient | None = None) ->
305
317
  payload: dict[str, Any] = {
306
318
  "schema_version": SHOW_SCHEMA,
307
319
  "status": "build_shown",
308
- **_hosted_head(selected.session, run_id),
320
+ **_hosted_head(selected.session, run_id, run),
309
321
  "run": run_receipt(run),
310
322
  **_evidence_receipt(evidence),
311
323
  }
@@ -332,7 +344,7 @@ def show(args: argparse.Namespace, *, client: StudioRunClient | None = None) ->
332
344
  return {
333
345
  "schema_version": SHOW_SCHEMA,
334
346
  "status": "build_shown",
335
- **_hosted_head(selected.session, run_id),
347
+ **_hosted_head(selected.session, run_id, run),
336
348
  "card": payload["card"],
337
349
  }
338
350
  payload["receipts_unavailable"] = unavailable
@@ -414,7 +426,7 @@ def inspect(args: argparse.Namespace, *, client: StudioRunClient | None = None)
414
426
  return {
415
427
  "schema_version": INSPECT_SCHEMA,
416
428
  "status": "candidate_inspected",
417
- **_hosted_head(selected.session, run_id),
429
+ **_hosted_head(selected.session, run_id, run),
418
430
  "run": run_receipt(run),
419
431
  **_evidence_receipt(evidence),
420
432
  "execution_summary": summary,
@@ -453,7 +465,7 @@ def verify(args: argparse.Namespace, *, client: StudioRunClient | None = None) -
453
465
  return {
454
466
  "schema_version": VERIFY_SCHEMA,
455
467
  "status": "fixes_required" if blocking else "candidate_verified",
456
- **_hosted_head(selected.session, run_id),
468
+ **_hosted_head(selected.session, run_id, run),
457
469
  "run": run_receipt(run),
458
470
  **_evidence_receipt(evidence),
459
471
  "checked_by": "the independent hosted check, read back; the bytes were not replayed here",
@@ -949,7 +961,7 @@ def peek(args: argparse.Namespace, *, client: StudioRunClient | None = None) ->
949
961
  payload: dict[str, Any] = {
950
962
  "schema_version": PEEK_SCHEMA,
951
963
  "status": "peeked",
952
- **_hosted_head(selected.session, run_id),
964
+ **_hosted_head(selected.session, run_id, run),
953
965
  "source": f"{table_id}/{version_id}",
954
966
  "origin": "hosted",
955
967
  "table_id": table_id,
@@ -1024,7 +1036,7 @@ def deployment_status(
1024
1036
  return {
1025
1037
  "schema_version": DEPLOYMENT_STATUS_SCHEMA,
1026
1038
  "status": "run_status_reported",
1027
- **_hosted_head(selected.session, run_id),
1039
+ **_hosted_head(selected.session, run_id, run),
1028
1040
  "run_status": state,
1029
1041
  "terminal": state in TERMINAL_RUN_STATUSES,
1030
1042
  "workspace_id": str(selected.session.workspace_id),
@@ -93,7 +93,7 @@ from mostlyright.data_harness.thin.session import (
93
93
  approval_dashboard_url,
94
94
  dataset_dashboard_url,
95
95
  open_studio_session,
96
- run_dashboard_url,
96
+ run_record_dashboard_url,
97
97
  )
98
98
  from mostlyright.data_harness.thin.transport import ThinLaneError
99
99
  from mostlyright.data_harness.ux.credentials import resolve_cloud_credentials
@@ -2776,7 +2776,12 @@ def _proposal_receipt(
2776
2776
  )
2777
2777
  payload["status"] = "recipe_build_queued"
2778
2778
  payload["run_id"] = run_id
2779
- payload["run_dashboard_url"] = run_dashboard_url(client.session.cloud_url, run_id)
2779
+ # The journal already names the Dataset this bundle registered; the started run's own record
2780
+ # names the same one, and either is enough to put the run on its Dataset's page.
2781
+ dataset_id = payload["ids"].get("dataset_id") or run.get("dataset_id")
2782
+ payload["run_dashboard_url"] = run_record_dashboard_url(
2783
+ client.session.cloud_url, {"dataset_id": dataset_id}, run_id
2784
+ )
2780
2785
  payload["watch_command"] = f"mr-data watch {run_id} --hosted"
2781
2786
  payload["note"] = (
2782
2787
  "The confirmation started the first hosted Build in the same act; there is nothing left "
@@ -676,7 +676,7 @@ def _dashboard_urls(cloud_url: str, record: Mapping[str, Any], run_id: str) -> d
676
676
 
677
677
  dataset_id = _dataset_identifier(record)
678
678
  return {
679
- "dashboard_url": run_dashboard_url(cloud_url, run_id),
679
+ "dashboard_url": run_dashboard_url(cloud_url, dataset_id, run_id),
680
680
  "dataset_dashboard_url": dataset_dashboard_url(cloud_url, dataset_id),
681
681
  "research_dashboard_url": dataset_research_dashboard_url(cloud_url, dataset_id, run_id),
682
682
  }
@@ -38,22 +38,25 @@ from mostlyright.data_harness.ux.credentials import ResolvedCloudCredentials
38
38
  #: Cloud's token-exchange route. Held identical to ``hosted_deploy.CLOUD_TOKEN_PATH`` by a test.
39
39
  CLOUD_TOKEN_PATH = "/api/cli/studio-token"
40
40
 
41
- #: The Cloud page a person opens about one run. ADR 0021 makes the live run view the place a
42
- #: hosted submission points at, and ``mostlyright-cloud`` serves it at this route
43
- #: (``dashboard/app/dashboard/runs/[runId]/page.tsx``). The origin is never hardcoded beyond the
44
- #: configured Cloud URL, which ``MOSTLYRIGHT_CLOUD_URL`` overrides and the stored credential
45
- #: carries.
46
- CLOUD_RUN_DASHBOARD_PATH = "/dashboard/runs/{run_id}"
41
+ #: The one Cloud address a Dataset has. ``mostlyright-cloud`` serves it at this route with
42
+ #: section suffixes, and a run has no page of its own: its evidence lives on this page's Harness
43
+ #: card, so a receipt names its run with :func:`run_dashboard_url` as a query member here rather
44
+ #: than as a path. The origin is never hardcoded beyond the configured Cloud URL, which
45
+ #: ``MOSTLYRIGHT_CLOUD_URL`` overrides and the stored credential carries.
46
+ CLOUD_DATASET_DASHBOARD_PATH = "/datasets/{dataset_id}"
47
47
 
48
- #: The durable Cloud home of one Dataset. Research starts here before a session exists, then the
49
- #: same page follows the exact session run through :func:`dataset_research_dashboard_url`.
50
- CLOUD_DATASET_DASHBOARD_PATH = "/dashboard/datasets/{dataset_id}"
48
+ #: The query member that selects one run on the Dataset page.
49
+ CLOUD_DATASET_RUN_QUERY_KEY = "run"
50
+
51
+ #: The Cloud listing of this team's Datasets, printed by the receipts that hold no Dataset
52
+ #: identifier and therefore cannot name one Dataset page.
53
+ CLOUD_TEAM_DASHBOARD_PATH = "/dashboard/team"
51
54
 
52
55
  #: The Cloud page a person opens to settle one approval. ``mostlyright-cloud`` serves it at
53
- #: ``dashboard/app/dashboard/approvals/[approvalRequestId]/page.tsx`` -- the sibling of the run
54
- #: page above, and the address ``mr-data propose`` prints for the human who must grant the Table
55
- #: recipe approval it opened. It is where a person goes; the actual step-up or editor confirmation
56
- #: is what ``mr-data recipe-approve`` records once they have.
56
+ #: ``dashboard/app/dashboard/approvals/[approvalRequestId]/page.tsx`` -- the sibling of the
57
+ #: Dataset page above, and the address ``mr-data propose`` prints for the human who must grant the
58
+ #: Table recipe approval it opened. It is where a person goes; the actual step-up or editor
59
+ #: confirmation is what ``mr-data recipe-approve`` records once they have.
57
60
  CLOUD_APPROVAL_DASHBOARD_PATH = "/dashboard/approvals/{approval_request_id}"
58
61
 
59
62
  MAX_TOKEN_RESPONSE_BYTES = 32 * 1024
@@ -95,37 +98,60 @@ class StudioSession:
95
98
  }
96
99
 
97
100
 
98
- def run_dashboard_url(cloud_url: str, run_id: str) -> str:
99
- """The Cloud live-run page for one run, from one validated origin."""
101
+ def team_dashboard_url(cloud_url: str) -> str:
102
+ """The Cloud listing of this team's Datasets, from one validated origin."""
100
103
 
101
104
  origin = service_origin(cloud_url, "Cloud URL", allow_loopback_http=False)
102
- return origin + CLOUD_RUN_DASHBOARD_PATH.format(run_id=run_id)
105
+ return origin + CLOUD_TEAM_DASHBOARD_PATH
103
106
 
104
107
 
105
108
  def dataset_dashboard_url(cloud_url: str, dataset_id: str) -> str:
106
- """The Cloud detail page for one Dataset, with its identifier held to one path segment."""
109
+ """The Cloud page for one Dataset, with its identifier held to one path segment."""
107
110
 
108
111
  origin = service_origin(cloud_url, "Cloud URL", allow_loopback_http=False)
109
112
  encoded_dataset_id = quote(str(dataset_id), safe="")
110
113
  return origin + CLOUD_DATASET_DASHBOARD_PATH.format(dataset_id=encoded_dataset_id)
111
114
 
112
115
 
113
- def dataset_research_dashboard_url(cloud_url: str, dataset_id: str, run_id: str) -> str:
114
- """The exact research run embedded in one Dataset detail page.
116
+ def run_dashboard_url(cloud_url: str, dataset_id: str, run_id: str) -> str:
117
+ """One run, named on its Dataset's page.
115
118
 
116
119
  Path and query coordinates are encoded independently so neither can introduce a sibling path,
117
- another query member, or a fragment. The fragment is the fixed UI section identifier.
120
+ another query member, or a fragment.
118
121
  """
119
122
 
120
123
  base = dataset_dashboard_url(cloud_url, dataset_id)
121
- query = urlencode({"run": str(run_id)}, quote_via=quote, safe="")
122
- return f"{base}?{query}#research"
124
+ query = urlencode({CLOUD_DATASET_RUN_QUERY_KEY: str(run_id)}, quote_via=quote, safe="")
125
+ return f"{base}?{query}"
126
+
127
+
128
+ def run_record_dashboard_url(cloud_url: str, run: Mapping[str, Any], run_id: str) -> str:
129
+ """The address a run record answers with: its Dataset's page, or the team listing.
130
+
131
+ A run record names its Dataset, and that is the page a person opens about the run. A record
132
+ that names none -- a v3 projection that carried no ``dataset_id`` -- gets the team's Dataset
133
+ listing rather than a run page this product no longer has.
134
+ """
135
+
136
+ dataset_id = run.get("dataset_id")
137
+ if isinstance(dataset_id, str) and dataset_id:
138
+ return run_dashboard_url(cloud_url, dataset_id, run_id)
139
+ return team_dashboard_url(cloud_url)
140
+
141
+
142
+ def dataset_research_dashboard_url(cloud_url: str, dataset_id: str, run_id: str) -> str:
143
+ """The exact research run embedded in one Dataset page.
144
+
145
+ The fragment is the fixed UI section identifier.
146
+ """
147
+
148
+ return f"{run_dashboard_url(cloud_url, dataset_id, run_id)}#research"
123
149
 
124
150
 
125
151
  def approval_dashboard_url(cloud_url: str, approval_request_id: str) -> str:
126
152
  """The Cloud approvals page for one approval request, from the same validated origin.
127
153
 
128
- The sibling of :func:`run_dashboard_url`: ``mr-data propose`` opens a Table recipe approval
154
+ The sibling of :func:`dataset_dashboard_url`: ``mr-data propose`` opens a Table recipe approval
129
155
  and hands a person this address to settle it, the way ``mr-data approve`` prints the human
130
156
  action Studio names. Both go through :func:`service_origin`, so the origin is checked once and
131
157
  the two surfaces cannot drift into two spellings of one Cloud URL.
@@ -265,7 +291,8 @@ def open_studio_session(
265
291
  __all__ = [
266
292
  "CLOUD_APPROVAL_DASHBOARD_PATH",
267
293
  "CLOUD_DATASET_DASHBOARD_PATH",
268
- "CLOUD_RUN_DASHBOARD_PATH",
294
+ "CLOUD_DATASET_RUN_QUERY_KEY",
295
+ "CLOUD_TEAM_DASHBOARD_PATH",
269
296
  "CLOUD_TOKEN_PATH",
270
297
  "MAX_JSON_RESPONSE_BYTES",
271
298
  "MAX_TOKEN_RESPONSE_BYTES",
@@ -278,4 +305,6 @@ __all__ = [
278
305
  "open_studio_session",
279
306
  "require_device_key",
280
307
  "run_dashboard_url",
308
+ "run_record_dashboard_url",
309
+ "team_dashboard_url",
281
310
  ]
@@ -56,7 +56,8 @@ from mostlyright.data_harness.thin.download import download_signed_artifact
56
56
  from mostlyright.data_harness.thin.session import (
57
57
  StudioSession,
58
58
  open_studio_session,
59
- run_dashboard_url,
59
+ run_record_dashboard_url,
60
+ team_dashboard_url,
60
61
  )
61
62
  from mostlyright.data_harness.thin.transport import ThinLaneError
62
63
  from mostlyright.data_harness.thin.v4 import (
@@ -384,13 +385,24 @@ def _document(
384
385
  return parsed
385
386
 
386
387
 
387
- def _head(session: StudioSession, run_id: str) -> dict[str, Any]:
388
- """The three facts every answer in this module opens with."""
388
+ def _head(
389
+ session: StudioSession, run_id: str, run: Mapping[str, Any] | None = None
390
+ ) -> dict[str, Any]:
391
+ """The three facts every answer in this module opens with.
392
+
393
+ The address is the run's Dataset page when the command read the run record, and the team's
394
+ Dataset listing when it did not: ``download``, ``receipt`` and ``peek`` read nothing but
395
+ artifacts, so they hold no Dataset identifier to name a page with.
396
+ """
389
397
 
390
398
  return {
391
399
  "lane": "hosted",
392
400
  "run_id": run_id,
393
- "dashboard_url": run_dashboard_url(session.cloud_url, run_id),
401
+ "dashboard_url": (
402
+ run_record_dashboard_url(session.cloud_url, run, run_id)
403
+ if run is not None
404
+ else team_dashboard_url(session.cloud_url)
405
+ ),
394
406
  }
395
407
 
396
408
 
@@ -503,7 +515,7 @@ def checks(
503
515
  payload: dict[str, Any] = {
504
516
  "schema_version": CHECKS_SCHEMA,
505
517
  "status": "checks_reported",
506
- **_head(selected.session, run_id),
518
+ **_head(selected.session, run_id, run),
507
519
  "run_status": state,
508
520
  }
509
521
  if state == "failed":
@@ -48,7 +48,7 @@ from mostlyright.data_harness.thin import numbered as _numbered
48
48
  from mostlyright.data_harness.thin.session import (
49
49
  StudioSession,
50
50
  open_studio_session,
51
- run_dashboard_url,
51
+ team_dashboard_url,
52
52
  )
53
53
  from mostlyright.data_harness.thin.transport import ThinLaneError
54
54
  from mostlyright.data_harness.thin.v4 import (
@@ -432,7 +432,7 @@ def query(
432
432
  "lane": "hosted",
433
433
  "run_id": run_id,
434
434
  "query_id": query_id,
435
- "dashboard_url": run_dashboard_url(selected.session.cloud_url, run_id),
435
+ "dashboard_url": team_dashboard_url(selected.session.cloud_url),
436
436
  "replayed": replayed,
437
437
  "polls": read,
438
438
  }
@@ -32,7 +32,7 @@ from mostlyright.data_harness.thin import numbered as _numbered
32
32
  from mostlyright.data_harness.thin.session import (
33
33
  StudioSession,
34
34
  open_studio_session,
35
- run_dashboard_url,
35
+ run_record_dashboard_url,
36
36
  )
37
37
  from mostlyright.data_harness.thin.transport import ThinLaneError
38
38
  from mostlyright.data_harness.thin.v4 import (
@@ -481,7 +481,7 @@ def _started(run: Mapping[str, Any], session: StudioSession, *, status: str) ->
481
481
  "schema_version": START_SCHEMA,
482
482
  "status": status,
483
483
  "lane": "hosted",
484
- "dashboard_url": run_dashboard_url(session.cloud_url, run_id),
484
+ "dashboard_url": run_record_dashboard_url(session.cloud_url, run, run_id),
485
485
  "watch_command": f"mr-data watch {run_id}",
486
486
  "run": _run_receipt(run),
487
487
  }