mostlyright-data 0.10.7__tar.gz → 0.11.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/PKG-INFO +1 -1
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/pyproject.toml +1 -1
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/skills/mr-data-build/SKILL.md +238 -91
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/declared_checks.py +2 -2
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/hosted_run_worker.py +411 -62
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/hosted_session_worker.py +8 -5
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/run_execution_v4.py +182 -15
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/contracts.py +10 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/studio_boundary.py +1 -1
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/thin/recipe.py +50 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/thin/router.py +13 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/thin/session.py +30 -1
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/thin/v4.py +62 -7
- mostlyright_data-0.11.0/src/mostlyright/data_harness/thin/v4_datasets.py +1039 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/thin/v4_handoff.py +193 -24
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/thin/v4_narrative.py +7 -5
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/thin/vocabulary.py +6 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/attendance.py +121 -6
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/commands/clarify.py +14 -3
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/remediation.py +1 -1
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/render.py +10 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/v4_recipe.py +56 -3
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/.gitignore +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/README.md +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/scripts/hatch_build.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/skills/mr-data-build/agents/openai.yaml +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/skills/mr-data-build/scripts/write_research_notebook.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/skills/mr-data-build/scripts/write_visual_run.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/__init__.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/LICENSE +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/PROVENANCE.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/__init__.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/__init__.pyi +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/_version.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/cal_rec_boxes/__init__.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/cal_rec_boxes/main.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_cls/__init__.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_cls/main.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_cls/utils.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_det/__init__.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_det/main.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_det/utils.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/__init__.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/main.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/typings.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/utils.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/config.yaml +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/inference_engine/__init__.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/inference_engine/base.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/inference_engine/onnxruntime/__init__.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/inference_engine/onnxruntime/main.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/inference_engine/onnxruntime/provider_config.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/main.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/models/PP-OCRv6_det_small.onnx +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/models/PP-OCRv6_rec_small.onnx +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/models/ch_ppocr_mobile_v2.0_cls_mobile.onnx +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/py.typed +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/utils/__init__.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/utils/load_image.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/utils/log.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/utils/model_resolver.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/utils/output.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/utils/parse_parameters.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/utils/process_img.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/utils/typings.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/_vendor/rapidocr/utils/utils.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/__init__.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/acquisition/__init__.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/acquisition/http.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/acquisition/parsing.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/acquisition/ranges.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/acquisition/result_download.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/acquisition/retention_admission.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/acquisition/sandbox.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/acquisition/url_policy.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/agent_runtime.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/assets/logo-ink.svg +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/backends/__init__.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/backends/pandas_backend.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/backends/polars_backend.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/backends/protocol.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/backends/reference.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/backends/registry.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/backends/restrictions.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/bounded_query.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/canonical.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/catalog_job.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/cli.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/contracts.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/coordinator.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/crosswalks.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/deploy.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/deploy_target.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/deployment_evidence.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/documents/__init__.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/documents/_worker_capability.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/documents/agent_request.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/documents/capture.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/documents/contracts.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/documents/lane.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/documents/ocr.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/documents/pdf.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/documents/registry.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/documents/sandbox.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/documents/selections.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/documents/tables.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/documents/vendor_rapidocr.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/events.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/fast_delimited.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/formats.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/governors.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/hosted_bootstrap.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/hosted_crawler.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/hosted_crawler_container_smoke.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/hosted_crawler_fetch.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/hosted_crawler_job.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/hosted_crawler_protocol.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/hosted_dataset.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/hosted_deploy.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/hosted_handoff.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/hosted_ingestion_contract.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/hosted_ingestion_job.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/hosted_ingestion_job_smoke.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/hosted_rlimit_as_container_smoke.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/hosted_session_container_smoke.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/hosted_session_worker_job_smoke.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/hosted_stream_recorder_container_smoke.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/hosted_stream_recorder_job.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/hosted_stream_subscription_container_smoke.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/hosted_stream_subscription_worker.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/hosted_worker.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ingestion/__init__.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ingestion/contracts.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ingestion/faults.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ingestion/gcs_store.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ingestion/spool.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ingestion/store.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/inprocess_acquisition.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/key_seam.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/linux_process_boundary.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/local_contracts.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/local_search/__init__.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/local_search/build_index.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/local_search/contracts.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/local_search/query_trace.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/local_search/retrieval.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/local_search/sealed.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/local_search/service.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/nbrender/CONTRACT.md +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/nbrender/__init__.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/nbrender/chrome.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/nbrender/code_body.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/nbrender/document.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/nbrender/frame.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/nbrender/interactive.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/nbrender/markdown_body.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/nbrender/mr_components.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/nbrender/outputs_data.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/nbrender/outputs_rich.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/nbrender/outputs_source.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/nbrender/outputs_stage.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/nbrender/outputs_text.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/nbrender/parse.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/nbrender/status.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/nbrender/tokens.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/notebook.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/offline.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/operation_registry.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/operator_setup.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/pipeline.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/plan_graph.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/preparation/__init__.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/preparation/contracts.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/preparation/engine.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/preparation/errors.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/preparation/gates.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/preparation/joins.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/preparation/profile.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/preparation/table.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/preparation/transforms.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/progress_events.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/__init__.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/_openpyxl.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/budgets.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/containers.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/contracts.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/delimited.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/geojson_vector.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/geopackage.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/geoparquet.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/grib2/__init__.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/grib2/admission.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/grib2/collection.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/grib2/collection_reader.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/grib2/decode.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/grib2/geometry.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/grib2/portable_math.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/grib_eccodes.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/html_tabular.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/html_web_extract.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/json_tabular.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/parquet_tabular.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/pcaxis_px.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/protobuf_tabular.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/raster/__init__.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/raster/_bytes.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/raster/decode.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/raster/family.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/raster/jpeg2000.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/raster/profiles.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/raster/rendered.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/raster/safe.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/raster/sentinel_safe.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/raster/tiff.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/registry.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/README.md +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.0.0/cities_one_stream/cities.csv.gz +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.0.0/cities_one_stream/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.1.0/cities_one_stream/cities.csv.gz +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.1.0/cities_one_stream/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/archive.tar/1.0.0/cities_beside_a_directory_entry/cities.tar +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/archive.tar/1.0.0/cities_beside_a_directory_entry/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/archive.tar/1.1.0/cities_beside_a_directory_entry/cities.tar +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/archive.tar/1.1.0/cities_beside_a_directory_entry/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/archive.zip/1.0.0/cities_beside_a_second_member/cities.zip +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/archive.zip/1.0.0/cities_beside_a_second_member/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/archive.zip/1.1.0/dwd_semicolon_station_member/dwd-station.zip +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/archive.zip/1.1.0/dwd_semicolon_station_member/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/archive.zip/1.2.0/dwd_semicolon_station_member/dwd-station.zip +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/archive.zip/1.2.0/dwd_semicolon_station_member/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/an_ordinary_comma_separated_table/cities.csv +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/an_ordinary_comma_separated_table/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/quoted_fields_holding_the_delimiter/cities.tsv +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/quoted_fields_holding_the_delimiter/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/delimited_text/1.1.0/an_hourly_observation_table_served_as_plain_text/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/delimited_text/1.1.0/an_hourly_observation_table_served_as_plain_text/observations.csv +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/geojson.vector/1.0.0/czech_capital/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/geojson.vector/1.0.0/czech_capital/places.geojson +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/geopackage.vector/1.0.0/epsg_4326_feature/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/geopackage.vector/1.0.0/epsg_4326_feature/places.gpkg +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/geoparquet.vector/1.0.0/primary_wkb_point/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/geoparquet.vector/1.0.0/primary_wkb_point/places.parquet +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/html.tabular/1.0.0/sanitized_table/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/html.tabular/1.0.0/sanitized_table/table.html +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/html.web_extract/1.0.0/json_ld_scorecards/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/html.web_extract/1.0.0/json_ld_scorecards/scorecards.html +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/image.rendered/1.0.0/tiny_png/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/image.rendered/1.0.0/tiny_png/tiny-rendered.png +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/json.tabular/1.0.0/nested_hourly_observations/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/json.tabular/1.0.0/nested_hourly_observations/stations.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/json.tabular/1.1.0/an_observation_stream_served_as_plain_text/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/json.tabular/1.1.0/an_observation_stream_served_as_plain_text/observations.ndjson +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/meteorology.bufr/1.0.0/eccodes_bufr4_subset/eccodes-bufr4.bufr +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/meteorology.bufr/1.0.0/eccodes_bufr4_subset/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/meteorology.grib/1.0.0/eccodes_grib1_origin/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/meteorology.grib/1.0.0/eccodes_grib1_origin/regular-ll-surface.grib1 +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/microdata.sas_xpt/1.0.0/two_raw_columns/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/microdata.sas_xpt/1.0.0/two_raw_columns/survey.xpt +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/microdata.spss_sav/1.0.0/two_raw_columns/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/microdata.spss_sav/1.0.0/two_raw_columns/survey.sav +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/microdata.stata_dta/1.0.0/two_raw_columns/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/microdata.stata_dta/1.0.0/two_raw_columns/stata.dta +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/official.pcaxis_px/1.0.0/population_by_region_and_year/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/official.pcaxis_px/1.0.0/population_by_region_and_year/population.px +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/official.sdmx_json/1.0.0/compact_population_series/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/official.sdmx_json/1.0.0/compact_population_series/population.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/parquet.tabular/1.0.0/two_columns/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/parquet.tabular/1.0.0/two_columns/prices.parquet +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/protobuf.tabular/1.0.0/gtfs_realtime_trip_updates/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/protobuf.tabular/1.0.0/gtfs_realtime_trip_updates/gtfs-realtime.desc +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/protobuf.tabular/1.0.0/gtfs_realtime_trip_updates/trip-updates.pb +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/raster.geospatial/1.0.0/tiny_geotiff/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/raster.geospatial/1.0.0/tiny_geotiff/tiny-geospatial.tif +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/satellite.goes_abi_l2/1.0.0/authored_cmi_window/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/satellite.goes_abi_l2/1.0.0/authored_cmi_window/goes-abi-l2-cmi-window.nc +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/satellite.himawari_hsd/1.0.0/authored_b13_single_bzip2/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/satellite.himawari_hsd/1.0.0/authored_b13_single_bzip2/himawari-b13-0101-bzip2.dat +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/satellite.himawari_hsd_complete/1.0.0/authored_b13_three_segment_scan/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/satellite.himawari_hsd_complete/1.0.0/authored_b13_three_segment_scan/himawari-hsd-b13-complete.zip +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/satellite.msg_seviri_l15/1.0.0/authored_calibrated_complete_visir/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/satellite.msg_seviri_l15/1.0.0/authored_calibrated_complete_visir/msg-seviri-l15.zip +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/satellite.sentinel_safe/1.0.0/authored_b02_scl_window/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/satellite.sentinel_safe/1.0.0/authored_b02_scl_window/sentinel-safe-b02-scl.zip +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/satellite.xrit_image/1.0.0/authored_complete_raw_counts/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/satellite.xrit_image/1.0.0/authored_complete_raw_counts/xrit-complete-image.zip +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/scientific.fits/1.0.0/tiny_primary_window/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/scientific.fits/1.0.0/tiny_primary_window/tiny-primary.fits +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf4/1.0.0/authored_temperature_window/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf4/1.0.0/authored_temperature_window/temperature.hdf +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf5/1.0.0/authored_temperature_window/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf5/1.0.0/authored_temperature_window/temperature.h5 +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_grid_temperature_window/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_grid_temperature_window/nasa-hdfeos2-grid.hdf +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_swath_temperature_window/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_swath_temperature_window/nasa-hdfeos2-swath.hdf +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/scientific.netcdf/1.0.0/authored_classic_temperature_window/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/scientific.netcdf/1.0.0/authored_classic_temperature_window/temperature-classic.nc +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/scientific.zarr/1.0.0/authored_v3_temperature_window/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/scientific.zarr/1.0.0/authored_v3_temperature_window/temperature-zarr-v3.zip +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/an_ordinary_table_beside_a_second_sheet/cities.xlsx +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/an_ordinary_table_beside_a_second_sheet/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/shares_the_workbook_had_already_computed/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/shares_the_workbook_had_already_computed/shares.xlsx +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.1.0/shares_the_workbook_had_already_computed/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.1.0/shares_the_workbook_had_already_computed/shares.xlsx +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/README.md +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/gfs_2m_temperature/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/gfs_2m_temperature/gfs-2m-temperature.grib2 +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_2m_temperature/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_2m_temperature/hrrr-2m-temperature.grib2 +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_categorical_rain/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_categorical_rain/hrrr-categorical-rain.grib2 +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/2.0.0/hrrr_2m_temperature/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/2.0.0/hrrr_2m_temperature/hrrr-2m-temperature.grib2 +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/3.0.0/gfs_and_hrrr_categorical_rain/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/3.0.0/gfs_and_hrrr_categorical_rain/gfs-and-hrrr-categorical-rain.grib2 +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/plain_filing_fact/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/plain_filing_fact/filing.xml +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/xml_inline_fact/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/xml_inline_fact/filing.xhtml +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/pacer_rss_feed/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/pacer_rss_feed/feed.xml +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/sec_form_d_filing/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/sec_form_d_filing/filing.xml +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/unified_agenda_extract/agenda.xml +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/unified_agenda_extract/expected.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/samples.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/scientific.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/scientific_arrays/__init__.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/scientific_arrays/container.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/scientific_arrays/goes.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/scientific_arrays/hdf4.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/scientific_arrays/hdf4_bridge.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/scientific_arrays/hdf5.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/scientific_arrays/native.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/scientific_arrays/netcdf.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/scientific_arrays/profiles.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/scientific_arrays/raw.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/scientific_arrays/zarr.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/scientific_catalog.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/scientific_segmented/__init__.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/scientific_segmented/asset_sets.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/scientific_segmented/formats.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/scientific_segmented/hsd.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/scientific_segmented/native.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/scientific_segmented/profiles.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/scientific_segmented/reader.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/scientific_segmented/xrit.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/sdmx_json.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/spreadsheet.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/statistical_microdata.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/tabular.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/vector.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/vector_wkb.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/xbrl_facts.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/readers/xml_tabular.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/recipe.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/repair/__init__.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/repair/adapters.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/repair/contracts.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/repair/coordinator.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/repair/errors.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/review.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/rowset.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/session_probes.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/signing.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/skill_assets.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/source_discovery.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/__init__.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/_adapter_steps.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/adapters.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/authenticated_https.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/authenticated_https_v2.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/cadence.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/cadence_emission.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/cadence_history.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/__init__.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/admission.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/authoring.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/authoring_policy.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/authoring_shards.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/bounded_io.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/channel.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/channel_client.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/contracts.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/coverage.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/delta.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/embedding.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/entry_v2.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/fill.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/fill_partitions.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/fill_staging.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/gating.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/generation_receipt.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/harvest/__init__.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/harvest/ckan.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/harvest/datagov_v4.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/harvest/protocol.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/harvest/sdmx.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/harvest/stac.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/health.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/hosted_catalog.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/identity_history.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/neural.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/packed_catalog.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/packed_retrieval.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/packed_writer.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/query_trace.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/recommend.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/retrieval.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/retrieval_manifest.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/rights_decisions.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/sealed.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/search.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/streaming_delta.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/catalog/update.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/collections.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/dataset.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/deletion.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/document_projection.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/fitness.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/governance.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/hosted.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/integration.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/range_reader.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/registry.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/rights_rule.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/source_cadence_vectors.v1.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/sports.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/stream.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/stream_capture_session.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/stream_connector.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.cursor-resume.v3.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-ed25519.v2.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-hmac.v2.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-hmac384.v2.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-hmac512.v2.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame.v2.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-header-rsa.v2.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-header.v2.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-permessage-jwt.v2.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-permessage.v2.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-prelude.v2.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-query.v2.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-subprotocol.v2.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-subscribe.v2.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-urlpath.v2.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/stream_connectors/polymarket.clob-market.v1.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/stream_credential.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/stream_prelude.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/stream_recorder.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/stream_registry.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/stream_rotation.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/stream_segment_recorder.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/stream_series.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/stream_signing.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sources/stream_transport.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/sql_transform_engine.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/stream_subscription_feed.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/stream_subscription_sealer.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/stream_subscription_worker.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/stream_venue.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/stream_venue_staging.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/studio_subscription_control.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/thin/__init__.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/thin/acquire.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/thin/acquire_cancel.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/thin/approvals.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/thin/commands.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/thin/download.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/thin/narrative.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/thin/parity.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/thin/probe.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/thin/propose.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/thin/research.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/thin/runs.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/thin/stream.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/thin/stream_venue.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/thin/transport.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/thin/v4_artifacts.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/thin/v4_dataset_covers.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/thin/v4_query.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/thin/v4_runs.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/thin/v4_secrets.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/thin/v4_stream.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/thin/v4_tables.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/thin/workers.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ucum/TABLE-PIN.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ucum/ucum-subset.v1.json +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/unit_flow.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/units.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/__init__.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/approve.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/author_yaml.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/clarification.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/cloud_auth.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/commands/__init__.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/commands/approve.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/commands/auth.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/commands/author.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/commands/catalog_author.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/commands/catalog_fill.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/commands/catalog_harvest.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/commands/catalog_publish.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/commands/catalog_search.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/commands/catalog_update.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/commands/deploy.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/commands/deploy_dataset.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/commands/deploy_plan.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/commands/deploy_status.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/commands/diff.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/commands/document.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/commands/index.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/commands/inventory.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/commands/list_builds.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/commands/login.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/commands/peek.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/commands/plan_check.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/commands/preflight.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/commands/record.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/commands/review_setup.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/commands/search.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/commands/show.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/commands/whoami.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/credential_native.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/credential_store.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/credentials.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/diffing.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/headline.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/hosted_acquisition.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/hosted_run_status.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/inventory.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/local_review.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/login.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/path_kind.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/peek.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/plain_file.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/plan_check.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/preflight.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/readers.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/ux/workload.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/v4_acquisition.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/v4_check_dialect.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/v4_document_pin.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/v4_reader_pin.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/v4_required_controls.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/v4_snapshot_artifact.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/v4_stream_recording.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/v4_transform.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/visual_run/__init__.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/visual_run/authoring.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/visual_run/contracts.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/visual_run/materialize.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/visual_run/observations.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/visual_run/query.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/visual_run/reducer.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/visual_run/sdk.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/visual_run/store.py +0 -0
- {mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/visual_run/transport.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mostlyright-data
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.11.0
|
|
4
4
|
Summary: Mostly Right CLI for reproducible, reviewed Parquet datasets
|
|
5
5
|
Project-URL: Homepage, https://mostlyright.md/
|
|
6
6
|
Project-URL: Documentation, https://mostlyright.md/docs/guides/cli/
|
|
@@ -78,14 +78,14 @@ the one command with no implementation behind it.
|
|
|
78
78
|
There is no second profile and no lane to choose. `--hosted` is accepted and does nothing, because
|
|
79
79
|
the lane it names is the only one; a script that already carries it keeps working.
|
|
80
80
|
|
|
81
|
-
`mr-data --help` lists every command this product has — twenty-
|
|
81
|
+
`mr-data --help` lists every command this product has — twenty-six of them, and the page is the
|
|
82
82
|
whole list. A name that is not on it is not a command: typing one answers `THIN_UNKNOWN_COMMAND`,
|
|
83
83
|
exactly as a misspelling does. Do not retry it under a different install, and do not report its
|
|
84
84
|
absence as a defect.
|
|
85
85
|
|
|
86
86
|
## Commands
|
|
87
87
|
|
|
88
|
-
These twenty-
|
|
88
|
+
These twenty-six are the whole surface, alongside `acquire-slices`, which names a capability
|
|
89
89
|
gap rather than doing anything, and `export-hosted-candidate`, which is a backend operator step.
|
|
90
90
|
|
|
91
91
|
| Command | What it does |
|
|
@@ -95,6 +95,7 @@ gap rather than doing anything, and `export-hosted-candidate`, which is a backen
|
|
|
95
95
|
| `mr-data whoami` | Use the compatibility alias for the remotely validated `auth status` answer. |
|
|
96
96
|
| `mr-data clarify` | Say whether one clarifying question may be put to the user right now, and compose the record of their answer. It reaches nothing, asks nobody and waits for nothing. Exits non-zero when no person can answer or when a recipe is already registered. |
|
|
97
97
|
| `mr-data probe` | Ask one registered source one question and print the answer. **Currently unusable:** it reaches `/v3/sessions`, which Studio refuses, and it takes a question identifier that no v4 receipt returns. Do not plan a source inspection around it. |
|
|
98
|
+
| `mr-data dataset` | Bring the dataset page into existence before there is anything on it, then fill it in while somebody watches. `dataset create --name TEXT` mints it and prints the `dataset_id`; `dataset show ID` reads it back; `dataset set ID --name TEXT --description-file F` writes the title and the description under the version it was read at, retrying once if somebody else wrote first; `dataset note ID --heading H --blocks-file B` writes one cell of the decision record that OUTLIVES every run, and `--list` reads it back; `dataset watch ID` follows the page's own event stream. |
|
|
98
99
|
| `mr-data recipe` | Register one recipe document — dataset, question, table plan, sources, transform, checks and units — in one call, and print the identifiers the server derived. `mr-data recipe show ID` reads one back. |
|
|
99
100
|
| `mr-data cover` | Generate and attach one branded 1200×630 dataset cover. Give it the dataset ID and what the image should depict; Studio fixes the model, single-color style, curated random palette, dimensions and storage. |
|
|
100
101
|
| `mr-data run` | Start one run against a registered recipe. The command accepts `--sample`, `--full`, `--refresh`, `--backfill` and `--window`, and the worker executes `--sample`, `--full` and `--refresh` (a refresh re-acquires the declared addresses over the previous version and claims no window); `--backfill` and a `--window` on a sample or full are refused before acquisition. `--max-rows` and `--max-source-bytes` remain supported. A large run is held for a spend confirmation, which `--confirm` settles; a sample-first held full requires Studio's interactive human approval instead. `--cancel RUN` stops one. |
|
|
@@ -110,17 +111,17 @@ gap rather than doing anything, and `export-hosted-candidate`, which is a backen
|
|
|
110
111
|
| `mr-data diff` | Compare two runs and say what changed. |
|
|
111
112
|
| `mr-data keys` | Enrol a source credential by name, list the names with their created and rotated times, and delete one. `keys set` reads the value from a file or from standard input and never from the command line; no command prints a value back. |
|
|
112
113
|
| `mr-data stream` | Record a public `wss://` venue so a build can read it. `stream document register --file F` admits the connector document, `stream registry create --digest D` admits a set of them, `stream probe` listens briefly and seals nothing, `stream capture --seconds N` records a bounded window, `stream subscribe` keeps recording, `stream subscription {show|pause|resume|stop} ID` moves one, `stream status ID` reads a capture or a probe, and `stream recordings --document-digest D` names what a build could read and until when. `--seconds` is at most 600. `mr-data run` takes no duration: a build reads sealed batches and is bounded by them. |
|
|
113
|
-
| `mr-data open` | Mint a single-use, short-lived address that continues this session in a browser at one dashboard path, and print it. `--open` hands it to the platform opener.
|
|
114
|
+
| `mr-data open` | Mint a single-use, short-lived address that continues this session in a browser at one dashboard path, and print it. `--open` hands it to the platform opener. The credential decides who mints: a device credential — what `mr-data login` stores — mints at Cloud, and a personal access token mints at Studio. |
|
|
114
115
|
| `mr-data promote` | Ask Studio to publish one table after a person's decision. The Harness worker does not perform the catch-up or scheduled refresh; report those only when another deployed component returns durable evidence that it did. |
|
|
115
116
|
| `mr-data pin` | Ask Studio to freeze one table pointer on an exact version, for a rollback or a hold. |
|
|
116
117
|
| `mr-data unpin` | Ask Studio to resume pointer tracking; read the returned state before claiming it resumed. |
|
|
117
118
|
| `mr-data demote` | Ask Studio to withdraw the pointer and any schedule it owns. |
|
|
118
119
|
|
|
119
120
|
`auth`, `login`, `whoami` and `clarify` are the same implementation in both profiles, and
|
|
120
|
-
`clarify` alone reaches nothing at all. The other twenty-
|
|
121
|
-
read: `status`, `runs`, `watch`, `peek`, `receipt`, `checks`, `download` and `diff`.
|
|
122
|
-
start or change something: `recipe`, `cover`, `run`, `query`, `probe`, `keys`,
|
|
123
|
-
`note`, `promote`, `pin`, `unpin` and `demote`.
|
|
121
|
+
`clarify` alone reaches nothing at all. The other twenty-two answer from Studio. Eight only
|
|
122
|
+
read: `status`, `runs`, `watch`, `peek`, `receipt`, `checks`, `download` and `diff`. Fourteen
|
|
123
|
+
start or change something: `dataset`, `recipe`, `cover`, `run`, `query`, `probe`, `keys`,
|
|
124
|
+
`stream`, `open`, `note`, `promote`, `pin`, `unpin` and `demote`.
|
|
124
125
|
|
|
125
126
|
**Any successful run is readable straight away.** There is no approval, no admission and no release
|
|
126
127
|
step between a run finishing and reading it: `download`, `receipt`, `checks`, `peek` and `query`
|
|
@@ -205,12 +206,20 @@ live data key is refused with `THIN_AUTHENTICATION_FAILED` rather than failing t
|
|
|
205
206
|
|
|
206
207
|
## Required protocol
|
|
207
208
|
|
|
208
|
-
There is one loop, and it is short:
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
209
|
+
There is one loop, and it is short: open the page before you have anything to put on it, probe the
|
|
210
|
+
sources, say out loud what you chose and what you refused, draft one recipe document, build a
|
|
211
|
+
sample, interrogate what came back, fix the document, build again. Then present only what you
|
|
212
|
+
inspected, with its caveats. Nothing between a run finishing and reading it is held for a person,
|
|
213
|
+
so there is no approval to seek, no separate body of evidence to read back, and no state to wait
|
|
214
|
+
for; the only human gate in the product is [Promote](#promote), which comes after the loop has
|
|
215
|
+
produced a table worth making live.
|
|
216
|
+
|
|
217
|
+
**The page is the work, and it exists first.** A dataset used to come into being as a side effect
|
|
218
|
+
of registering a recipe, which meant nothing was visible until every decision that fills the page
|
|
219
|
+
had already been taken: it appeared at the end, complete, as an assertion rather than as work.
|
|
220
|
+
`mr-data dataset create` mints it from a working title before any research starts, so somebody
|
|
221
|
+
watching sees it fill in. Everything after that is an edit to something already on screen, and
|
|
222
|
+
every stage below writes to it as it goes rather than composing the page at the end.
|
|
214
223
|
|
|
215
224
|
Authenticate first: run the Cloud authentication preflight above once, before the first cloud
|
|
216
225
|
command of the session.
|
|
@@ -245,7 +254,25 @@ called `reader` — is invisible to a search for its own name. One run that isol
|
|
|
245
254
|
settles it. Where a run is too expensive, at least check the failure details on existing runs for a
|
|
246
255
|
message that contradicts you.
|
|
247
256
|
|
|
248
|
-
### 1.
|
|
257
|
+
### 1. Open — the page, before there is anything on it
|
|
258
|
+
|
|
259
|
+
Create the dataset from a working title and put it in front of whoever is watching, **before any
|
|
260
|
+
research**. It costs two commands and it is what turns a build into something a person can follow:
|
|
261
|
+
|
|
262
|
+
```sh
|
|
263
|
+
mr-data dataset create --name "Kathmandu monsoon flooding" --json
|
|
264
|
+
mr-data open /datasets/DATASET_ID
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
Navigate the host's in-app browser to that address immediately, and keep that one tab for the whole
|
|
268
|
+
build. The working title is allowed to be provisional — stage 4 writes the title it settles on —
|
|
269
|
+
and a title that never changes is fine too. Where the address cannot be minted, carry on with the
|
|
270
|
+
plain dashboard address rather than blocking.
|
|
271
|
+
|
|
272
|
+
Hold the `dataset_id` for the rest of the session: stage 3 writes the decision record to it, stage
|
|
273
|
+
4 writes its title, description and cover, and the recipe binds to it by naming it as `dataset.id`.
|
|
274
|
+
|
|
275
|
+
### 2. Probe — read a source before committing to it
|
|
249
276
|
|
|
250
277
|
**Judge the sources.** This stays with the external agent and is the substance of the task. Search
|
|
251
278
|
every available discovery lane with no lane priority: a configured sealed catalog, host public-web
|
|
@@ -303,11 +330,56 @@ Clean room be the first thing that opens the bytes. Named messages out of one la
|
|
|
303
330
|
|
|
304
331
|
Hold the comparison in the shape [Narrating the run](#narrating-the-run) takes: one `source` block
|
|
305
332
|
per feed evaluated, rejections included with the clause that ruled each one out. Write them to a
|
|
306
|
-
blocks file
|
|
307
|
-
|
|
308
|
-
|
|
333
|
+
blocks file; stage 3 is what puts them on the page.
|
|
334
|
+
|
|
335
|
+
### 3. Decide — say what you chose, what you refused, and what unblocks it
|
|
336
|
+
|
|
337
|
+
**Post one Sources and decisions message before you register anything.** It goes to two places, in
|
|
338
|
+
the same words: the dataset's own decision record, and the chat. This is the decision point that
|
|
339
|
+
replaced the old one-question rule, and the reason for the change is that a question is not what a
|
|
340
|
+
person mostly needs — what they need is to see the search, while there is still time to disagree
|
|
341
|
+
with it.
|
|
342
|
+
|
|
343
|
+
```sh
|
|
344
|
+
mr-data dataset note DATASET_ID --heading "Sources and decisions" \
|
|
345
|
+
--blocks-file BLOCKS.json --json <<'EOF'
|
|
346
|
+
Two feeds carry hourly stage; one is licensed and cannot be used here.
|
|
347
|
+
EOF
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
The cell carries a `source` block for every feed evaluated — the ones being used, the ones
|
|
351
|
+
considered, and the ones rejected with the clause that ruled each out — and a `decision` block for
|
|
352
|
+
every grain, key, join and cutoff settled. Post the same content in the chat as one short message.
|
|
353
|
+
Then **keep going**: this is a statement, not a gate, and waiting for a reply to it is the pause
|
|
354
|
+
this document does not allow.
|
|
355
|
+
|
|
356
|
+
**Blocked sources: always say what unlocks it and how to enrol the credential.** A source you could
|
|
357
|
+
not reach because it needs an API key, an account or an approval is not a dead end and must never
|
|
358
|
+
be reported as one. Name the concrete unblock step in the block's `reason` and in the chat message:
|
|
359
|
+
who issues the credential, where to apply for it, and the exact command that enrols it —
|
|
360
|
+
`mr-data keys set NAME --value-file PATH`, with the name the recipe will reference. A rejected
|
|
361
|
+
source with no route back is a decision the user cannot revisit; one with a route back is a
|
|
362
|
+
decision they can.
|
|
363
|
+
|
|
364
|
+
**Ask only at a genuine fork.** A fork is a question whose two answers produce two different tables
|
|
365
|
+
and which no evidence can settle — what an ambiguous word in the request means, how wide the
|
|
366
|
+
population is, how far back it goes. Write it as a `clarification` block carrying `question` and no
|
|
367
|
+
`answer`, which is what the page shows as a pending question, and ask it in the chat in the same
|
|
368
|
+
words. `mr-data clarify --question TEXT` says whether there is anybody to ask and whether it is
|
|
369
|
+
still early enough. When the answer comes back, write it as the answer on that block:
|
|
370
|
+
|
|
371
|
+
```sh
|
|
372
|
+
mr-data dataset note DATASET_ID --heading "The stage grain is settled" \
|
|
373
|
+
--revise "one-fork-to-settle" --blocks-file ANSWERED.json --json <<'EOF'
|
|
374
|
+
Daily maxima, on the user's answer.
|
|
375
|
+
EOF
|
|
376
|
+
```
|
|
309
377
|
|
|
310
|
-
|
|
378
|
+
Everything under [Autonomous delivery](#autonomous-delivery) still holds: which source, Reader,
|
|
379
|
+
engine, format, workspace, retry tactic or cleaning operation to use is settled by the evidence and
|
|
380
|
+
is never a fork. If nothing is genuinely forked, ask nothing and carry on.
|
|
381
|
+
|
|
382
|
+
### 4. Draft — one recipe document, one call
|
|
311
383
|
|
|
312
384
|
Write ONE document — dataset identity, question, sources with their rights claims and per-source
|
|
313
385
|
limits, table plan, transform plan, declared checks, declared units and timezone — and register it:
|
|
@@ -321,9 +393,27 @@ question, the sources, the connector configs and the table plan in one transacti
|
|
|
321
393
|
`recipe_id`, `recipe_digest`, `dataset_id`, `table_id` and `source_ids`. Read
|
|
322
394
|
[The recipe document](../../docs/RECIPE-DOCUMENT.md) for the shape of every member.
|
|
323
395
|
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
396
|
+
**Name the dataset the recipe binds to.** The document's `dataset` member takes an optional `id`,
|
|
397
|
+
and it is the identifier stage 1 printed. With it, the registration attaches to the page somebody
|
|
398
|
+
has been watching; without it, Studio resolves a container from the name and mints a second page
|
|
399
|
+
behind them. Always carry it.
|
|
400
|
+
|
|
401
|
+
Every grain, key, join and cutoff settled after stage 3 is a further `decision` block on the
|
|
402
|
+
DATASET's record — `mr-data dataset note DATASET_ID` — because the fact outlives every run.
|
|
403
|
+
|
|
404
|
+
**Write the title and the description before the first run, one call each.** The page has been
|
|
405
|
+
open since stage 1 under a working title; this is where it settles:
|
|
406
|
+
|
|
407
|
+
```sh
|
|
408
|
+
mr-data dataset set DATASET_ID --name "Kathmandu monsoon flooding, 2015-2026" --json
|
|
409
|
+
mr-data dataset set DATASET_ID --description-file DESCRIPTION.md --json
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
Two calls rather than one, so the person watching sees the title land and then the text arrive.
|
|
413
|
+
Each call reads the version first and writes under it, so a description you wrote against a page
|
|
414
|
+
somebody else has since edited is retried once and then reported rather than silently overwriting
|
|
415
|
+
them. Write the description COMPLETE the first time — it is documentation, not a placeholder — and
|
|
416
|
+
do not send it in pieces.
|
|
327
417
|
|
|
328
418
|
**The dataset description is the documentation, and it is read by people and by search engines.**
|
|
329
419
|
`dataset.description` is Markdown, rendered on the dataset page with headings and lists, and it
|
|
@@ -361,8 +451,8 @@ show, so they must stand alone. A one-line description is a defect to fix in the
|
|
|
361
451
|
style choice. Give `table.description` the grain and the window, and give every column a
|
|
362
452
|
description a reader can act on.
|
|
363
453
|
|
|
364
|
-
**Every
|
|
365
|
-
|
|
454
|
+
**Every dataset gets a cover before its first run is presented.** Once the description is
|
|
455
|
+
written, generate one with
|
|
366
456
|
`mr-data cover DATASET_ID "what the image should depict" --json`, describing the subject in plain
|
|
367
457
|
language — the place, the instrument, the phenomenon — and nothing about style, colour or size,
|
|
368
458
|
which Studio fixes. Do it once per dataset, silently, and do not repeat it for a revision unless the
|
|
@@ -428,35 +518,42 @@ from the accepted subset — `cm`, `ug/m3`, `km/h` and the rest of it are writte
|
|
|
428
518
|
the construct that put it there. Say `none` where a column carries no physical unit. Remember that
|
|
429
519
|
the two temperature scales are offsets rather than multipliers.
|
|
430
520
|
|
|
431
|
-
###
|
|
521
|
+
### 5. Build — take an unwindowed sample first
|
|
432
522
|
|
|
433
523
|
Take an unwindowed sample before a full run. Choose row and source-byte bounds that exercise the
|
|
434
524
|
shape without pretending they selected a time range. The current worker does not render a run
|
|
435
525
|
window into any source request, so any stated `--window` is refused before acquisition.
|
|
436
526
|
|
|
437
527
|
```sh
|
|
438
|
-
mr-data run RECIPE_ID --sample --max-rows
|
|
528
|
+
mr-data run RECIPE_ID --sample --max-rows 2000 --json
|
|
439
529
|
```
|
|
440
530
|
|
|
441
|
-
**
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
the
|
|
446
|
-
|
|
531
|
+
**Two thousand rows, and the first run is always this one.** A sample is for establishing shape,
|
|
532
|
+
and a usable one has to arrive within minutes: two thousand rows exercises every column, every
|
|
533
|
+
cast and every declared check, and it comes back while the person who asked is still watching the
|
|
534
|
+
page. A larger first sample buys nothing the checks do not already report and costs the one thing
|
|
535
|
+
the page cannot get back, which is the first few minutes. The full run comes later, in stage 8,
|
|
536
|
+
and only when the user says so.
|
|
537
|
+
|
|
538
|
+
**The dataset's record is the primary one; a run's own record is for what happened inside that
|
|
539
|
+
run.** The sources, the decisions and the questions went onto the dataset in stage 3, where they
|
|
540
|
+
outlive every run and are still there next week. What belongs on the RUN is what is true of that
|
|
541
|
+
run alone — a clamp that truncated, a check that did not pass, the exact revision this attempt
|
|
542
|
+
tested:
|
|
447
543
|
|
|
448
544
|
```sh
|
|
449
|
-
mr-data note --run RUN_ID --heading "
|
|
450
|
-
--
|
|
451
|
-
|
|
545
|
+
mr-data note --run RUN_ID --heading "Row ceiling truncated the sample" \
|
|
546
|
+
--phase acquire --json <<'EOF'
|
|
547
|
+
The clamp cut acquisition at 2,000 rows; coverage.truncated is true on both sources.
|
|
452
548
|
EOF
|
|
453
549
|
```
|
|
454
550
|
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
551
|
+
Write it as soon as the run exists, and before it finishes. `mr-data run` prints the run identifier
|
|
552
|
+
and returns; the run itself then reaches a terminal state on its own, often within seconds on a
|
|
553
|
+
sample. A run's narrative closes with the run, so a cell appended after that answers
|
|
554
|
+
`409 RUN_NARRATIVE_CLOSED` and is lost. The dataset's record has no such window — it never closes —
|
|
555
|
+
which is the other reason the search belongs there.
|
|
556
|
+
[Narrating the run](#narrating-the-run) is the reference for what either cell may carry.
|
|
460
557
|
|
|
461
558
|
**The protocol's three clamps do not behave alike, and the executable subset is narrower.** In the
|
|
462
559
|
protocol, on `--sample`, `max_rows` and `window` truncate: the run succeeds at the clamp boundary
|
|
@@ -482,7 +579,7 @@ no coverage window -- it is how an enabled table's catch-up and its scheduled re
|
|
|
482
579
|
`backfill` is defined by the exact window it covers, which this worker cannot narrow a source
|
|
483
580
|
request to, and is refused before acquisition.
|
|
484
581
|
|
|
485
|
-
###
|
|
582
|
+
### 6. Interrogate — ask the run what it actually delivered
|
|
486
583
|
|
|
487
584
|
Four reads, and none of them waits on anything:
|
|
488
585
|
|
|
@@ -525,7 +622,7 @@ required check that fails ends the run with `failure_code: CHECK_FAILED`.
|
|
|
525
622
|
`mr-data diff RUN_A RUN_B` compares two runs — columns added, removed and retyped, row counts, the
|
|
526
623
|
coverage window and the data fingerprint. `--columns-only` narrows what is compared to the schema.
|
|
527
624
|
|
|
528
|
-
###
|
|
625
|
+
### 7. Fix — revise the document and register it again
|
|
529
626
|
|
|
530
627
|
Change the document and send it again. Same dataset, same table, new digest:
|
|
531
628
|
|
|
@@ -538,15 +635,15 @@ revisions, so there is no `_v2.._vN` renaming, no proposal left wedged on an id
|
|
|
538
635
|
reclaim, and no cleanup after a failed run. Sample again, interrogate again, and keep going until
|
|
539
636
|
the checks and the coverage say what you need them to say.
|
|
540
637
|
|
|
541
|
-
###
|
|
638
|
+
### 8. Present — only what survived inspection, with caveats
|
|
542
639
|
|
|
543
640
|
Report what you inspected, and nothing you did not. Nothing else checks this run: `verified` is not
|
|
544
641
|
a word some other worker said about it, it is what you established by reading it. So the honest
|
|
545
|
-
sentence names the reading:
|
|
642
|
+
sentence names the reading, and it says the word **sample** out loud:
|
|
546
643
|
|
|
547
|
-
> Inspected
|
|
548
|
-
> Coverage was truncated at the row ceiling, and no run window was applied, so this is
|
|
549
|
-
>
|
|
644
|
+
> Inspected 2,000 rows from the acquired source snapshot — a sample. All four declared checks
|
|
645
|
+
> passed. Coverage was truncated at the row ceiling, and no run window was applied, so this is not
|
|
646
|
+
> evidence for a stated calendar interval.
|
|
550
647
|
|
|
551
648
|
Three facts carry that sentence and all three are on the run: how many rows you actually looked at,
|
|
552
649
|
what the declared checks reported, and whether `coverage.truncated` was true. A null coverage
|
|
@@ -554,6 +651,25 @@ window means the acquisition was unwindowed, not that it covered all time. Never
|
|
|
554
651
|
row as a whole-population value, never call a run verified because it succeeded, and never report
|
|
555
652
|
coverage you did not read off `coverage`.
|
|
556
653
|
|
|
654
|
+
**Offer the sample's own bytes.** The sample is a sealed table like any other and its Parquet is
|
|
655
|
+
downloadable — `mr-data download RUN --output DIR --json` — so somebody who wants to look at it
|
|
656
|
+
before agreeing to a full run can. Say so.
|
|
657
|
+
|
|
658
|
+
**Then stop, and ask whether to run the full build.** This is a pause, and it is the second one
|
|
659
|
+
this document allows alongside the promote decision. A full run over a real window costs real time
|
|
660
|
+
and real money, and it is a decision about the user's data rather than about the recipe, so it is
|
|
661
|
+
theirs and not yours. State what the sample established, what the full run would cover, and ask.
|
|
662
|
+
Only when they say so:
|
|
663
|
+
|
|
664
|
+
```sh
|
|
665
|
+
mr-data run RECIPE_ID --full --json
|
|
666
|
+
```
|
|
667
|
+
|
|
668
|
+
Then interrogate that run as stage 6 says, and present it with the sample's caveats removed and
|
|
669
|
+
its own read off `coverage`. Do not start a full run because the sample looked good, because the
|
|
670
|
+
checks passed, or because the user asked for the dataset in the first place — the request was for a
|
|
671
|
+
dataset, and the decision in front of them is whether THIS is the recipe to spend a full run on.
|
|
672
|
+
|
|
557
673
|
## Live run
|
|
558
674
|
|
|
559
675
|
`mr-data run` answers with the run identifier and Studio's own run record. These are machine-facing
|
|
@@ -628,26 +744,43 @@ not depend on which command you happened to ask.
|
|
|
628
744
|
|
|
629
745
|
## Narrating the run
|
|
630
746
|
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
747
|
+
There are two decision records and they are not interchangeable. A cell is the same document in
|
|
748
|
+
both: one outcome-led heading, a markdown body, and typed blocks the Dataset page lays out as rows
|
|
749
|
+
a reader can compare. What differs is which log it lands in and when that log closes.
|
|
634
750
|
|
|
635
|
-
**
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
loop, and it is why stages 1 and 2 draft their blocks into a file rather than calling this
|
|
642
|
-
command.
|
|
751
|
+
**The DATASET's record is the primary one, and it never closes.**
|
|
752
|
+
`mr-data dataset note DATASET_ID` writes it. The sources compared and refused, the grain argued
|
|
753
|
+
over, the question a person answered — those are facts about the dataset, they are true a week
|
|
754
|
+
later, and a reader opening the page long after every run has scrolled away should still find them.
|
|
755
|
+
Stage 3 of the [Required protocol](#required-protocol) is where the first cell goes, before
|
|
756
|
+
anything is registered.
|
|
643
757
|
|
|
644
758
|
```sh
|
|
645
|
-
mr-data note
|
|
646
|
-
--blocks-file BLOCKS.json --
|
|
647
|
-
|
|
759
|
+
mr-data dataset note DATASET_ID --heading "Sources and decisions" \
|
|
760
|
+
--blocks-file BLOCKS.json --json <<'EOF'
|
|
761
|
+
Two feeds carry hourly stage; one is licensed and cannot be used here.
|
|
648
762
|
EOF
|
|
649
763
|
```
|
|
650
764
|
|
|
765
|
+
**A RUN's record is secondary, and it closes with the run.** `mr-data note --run RUN_ID` writes it,
|
|
766
|
+
and what belongs there is what is true of that run alone: a clamp that truncated, a check that did
|
|
767
|
+
not pass, the exact revision this attempt tested. A run's narrative closes when the run reaches a
|
|
768
|
+
terminal state, and an append after that answers `409 RUN_NARRATIVE_CLOSED` — a refusal no client
|
|
769
|
+
check can soften, because only the backend knows the run has finished. A sample run reaches its
|
|
770
|
+
terminal state in seconds, so "while the run is going" means immediately after `mr-data run`
|
|
771
|
+
returns the identifier, not after `status` says the run succeeded.
|
|
772
|
+
|
|
773
|
+
```sh
|
|
774
|
+
mr-data note --run RUN_ID --heading "Row ceiling truncated the sample" \
|
|
775
|
+
--phase acquire --json <<'EOF'
|
|
776
|
+
The clamp cut acquisition at 2,000 rows.
|
|
777
|
+
EOF
|
|
778
|
+
```
|
|
779
|
+
|
|
780
|
+
Writing the search into a run's record instead was the old shape, and the reason it changed is that
|
|
781
|
+
it put the most durable facts in the shortest-lived place: the record of why a dataset looks the
|
|
782
|
+
way it does died with a throwaway sample run, and had to be written again on every attempt.
|
|
783
|
+
|
|
651
784
|
`BLOCKS.json` is a JSON array of at most 64 objects, of three kinds:
|
|
652
785
|
|
|
653
786
|
| Kind | Required | Optional |
|
|
@@ -667,13 +800,16 @@ where you did not establish the fact; never guess one.
|
|
|
667
800
|
where there was a rival worth naming, and `because`. A decision without its `because` is a
|
|
668
801
|
changelog entry, and the run's own log is already that.
|
|
669
802
|
|
|
670
|
-
A `clarification`
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
803
|
+
**A `clarification` block with a `question` and no `answer` is a PENDING question**, and it is the
|
|
804
|
+
one shape here that is a way to ask: the Dataset page shows it, and the chat asks it in the same
|
|
805
|
+
words. Write one only at a genuine fork, as stage 3 defines one. The answer is a REVISION of that
|
|
806
|
+
cell — `--revise CELL_ID`, the same blocks again with `answer` and `answered_at` filled in — so the
|
|
807
|
+
page shows the question settled rather than a second cell nothing ties to the first. `answered_at`
|
|
808
|
+
is admitted only beside `answer`, because a time with no answer records that the question was
|
|
809
|
+
settled by nobody, and is a UTC timestamp ending in `Z`, as `2026-09-01T10:00:00Z`. Everything
|
|
810
|
+
under [Autonomous delivery](#autonomous-delivery) still holds — do not put a source, Reader,
|
|
811
|
+
engine, format, workspace, retry tactic, cleaning operation or repair to the user, in a block or
|
|
812
|
+
anywhere else.
|
|
677
813
|
|
|
678
814
|
`--phase` binds the cell to one build stage — `acquire`, `parse`, `transform`, `check`, `persist` —
|
|
679
815
|
so a reader can group a run's record by stage. `--checkpoint` places the cell beside the event it
|
|
@@ -683,9 +819,10 @@ itself changes with the conclusion, and `--revise CELL_ID` where the successor i
|
|
|
683
819
|
named cell — the superseded one stays in the log and is flagged. A cell revises itself by reusing
|
|
684
820
|
its own identifier, so `--revise` naming the cell you are writing is refused.
|
|
685
821
|
|
|
686
|
-
`mr-data note --run RUN_ID --list --json`
|
|
687
|
-
|
|
688
|
-
`--heading`, `--blocks-file`, `--phase` and
|
|
822
|
+
`mr-data note --run RUN_ID --list --json` and `mr-data dataset note DATASET_ID --list --json`
|
|
823
|
+
read back what is written, superseded revisions included and flagged. Each reads and writes
|
|
824
|
+
nothing, so it refuses any flag that describes a cell — `--heading`, `--blocks-file`, `--phase` and
|
|
825
|
+
the rest — rather than ignoring it.
|
|
689
826
|
|
|
690
827
|
The bounds are refused before the request rather than after it, in the words the API would have
|
|
691
828
|
used: 64 blocks a cell, 200 characters a label, 255 a host, 1024 an explanation, 200 characters of
|
|
@@ -695,10 +832,10 @@ tab and newline and nothing else. Where `--blocks-file` is given it must hold at
|
|
|
695
832
|
an empty array is refused rather than read as "no blocks". The markdown body is always required
|
|
696
833
|
and is what a reader gets when a block kind is unknown to it.
|
|
697
834
|
|
|
698
|
-
One bound is the backend's alone, because it needs the log: a
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
835
|
+
One bound is the backend's alone, because it needs the log: a narrative holds 512 appended cells,
|
|
836
|
+
revisions counted, and the 513th answers `429 NARRATIVE_BUDGET_EXCEEDED`. It is a ceiling on a
|
|
837
|
+
decision record rather than on a commentary, and nothing that respects the paragraph below will
|
|
838
|
+
come near it.
|
|
702
839
|
|
|
703
840
|
Blocks are facts, not narration. A `source` block whose `grain` is `one row per hour per airport`
|
|
704
841
|
is a row; `I evaluated four candidate feeds and settled on the FAA one` is the sentence it
|
|
@@ -872,23 +1009,29 @@ schedule, catch-up, or current bytes from the command name or from route accepta
|
|
|
872
1009
|
Own the run until the requested outcome is delivered: a run that succeeded, its declared checks
|
|
873
1010
|
read, its coverage inspected, and a publication request made when the user asked for it. Promotion
|
|
874
1011
|
is complete only when Studio returns the resulting live state; catch-up and continuing freshness
|
|
875
|
-
require separate durable evidence from the deployed component that owns them. The
|
|
876
|
-
|
|
877
|
-
not ask the user to choose sources, Readers, engines,
|
|
878
|
-
operations, or validation repairs. Make those
|
|
879
|
-
evidence, registered capabilities, and
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
evidence
|
|
1012
|
+
require separate durable evidence from the deployed component that owns them. The allowed user pauses
|
|
1013
|
+
are the promote decision, the decision to start a full run after the sample, and a spend
|
|
1014
|
+
confirmation on a run over the threshold. Do not ask the user to choose sources, Readers, engines,
|
|
1015
|
+
formats, workspaces, retry tactics, cleaning operations, or validation repairs. Make those
|
|
1016
|
+
operational decisions from the question, observed evidence, registered capabilities, and
|
|
1017
|
+
deterministic receipts.
|
|
1018
|
+
|
|
1019
|
+
**The decision point replaces the one-question rule.** There used to be a budget of exactly one
|
|
1020
|
+
clarifying question, and it was the wrong instrument: it made the agent hoard its one question
|
|
1021
|
+
against a fork that might arrive later, and it left the user with no view of the search at all
|
|
1022
|
+
until the page was finished. What stage 3 asks for instead is a STATEMENT — sources chosen, sources
|
|
1023
|
+
rejected or blocked with the concrete unblock step, the assumption taken about window and grain —
|
|
1024
|
+
posted to the dataset's record and to the chat, after which the build continues without waiting.
|
|
1025
|
+
A person who disagrees with it says so; a person who does not is not made to answer anything.
|
|
1026
|
+
|
|
1027
|
+
A question is still asked, and it is asked at a genuine FORK: two answers that produce two
|
|
1028
|
+
different tables, and no evidence that can settle it. `Throughput: movements or passengers?` is
|
|
1029
|
+
such a fork. Which Reader parses the feed is not, and neither is anything else named above; those
|
|
1030
|
+
stay banned because the evidence settles them. There is no budget of one — a build with two real
|
|
1031
|
+
forks asks about both — but a fork is rare, and a question that the evidence could have answered is
|
|
1032
|
+
still the failure this section is about. Ask before registering, while nothing is running and
|
|
1033
|
+
nothing has been spent, write it as a pending `clarification` block on the dataset, and carry the
|
|
1034
|
+
answer back as a revision of that cell.
|
|
892
1035
|
|
|
893
1036
|
`mr-data clarify --question TEXT` says whether to ask at all. It exits non-zero when no person can
|
|
894
1037
|
answer, which is what a scheduled or headless session reports, and when `--recipe RECIPE_ID` names
|
|
@@ -900,6 +1043,10 @@ block. Carry its wording into the recipe document the answer settles — the que
|
|
|
900
1043
|
description, the column description — so the assumption the table rests on reads the same in the
|
|
901
1044
|
document, in the Dataset, and in the report.
|
|
902
1045
|
|
|
1046
|
+
`clarify` treats the session as attended when `--attended` is passed, or when the environment
|
|
1047
|
+
carries an agent-host marker. Pass `--attended` explicitly whenever a person is in the chat: the
|
|
1048
|
+
marker is a fallback for a caller that did not say so, not a substitute for saying it.
|
|
1049
|
+
|
|
903
1050
|
On a hosted install the delivered outcome is concrete: a run in `succeeded`, `mr-data checks` reporting
|
|
904
1051
|
every declared check, the coverage read off the run rather than guessed, and the artifacts brought
|
|
905
1052
|
here by `mr-data download` when the user asked for the bytes. Link to the canonical Dataset page and
|
{mostlyright_data-0.10.7 → mostlyright_data-0.11.0}/src/mostlyright/data_harness/declared_checks.py
RENAMED
|
@@ -77,7 +77,7 @@ SPECIFICATION cannot be parsed and ``"check"`` when an EVALUATION cannot proceed
|
|
|
77
77
|
are members of ``docs/V4-WORKER-PROTOCOL.md``'s ``failed_stage`` vocabulary. The first was
|
|
78
78
|
``"transform"`` until the driver was corrected to parse before acquiring: a specification refusal
|
|
79
79
|
happens before all five stages, so it reports at the first, and ``"transform"`` would send an
|
|
80
|
-
operator looking for a build that never began (``run_execution_v4.
|
|
80
|
+
operator looking for a build that never began (``run_execution_v4.DOCUMENT_STAGE`` states the same
|
|
81
81
|
rule for the job document). Nothing about WHICH refusals are raised changed with it. A check that
|
|
82
82
|
merely FAILS is not a refusal and raises nothing — it returns a ``CheckResult`` with
|
|
83
83
|
``passed=False``, and ``required_failure`` is the separate query the driver asks to learn
|
|
@@ -139,7 +139,7 @@ DECLARED_CHECK_FAILURE_CODES: tuple[str, ...] = (
|
|
|
139
139
|
)
|
|
140
140
|
|
|
141
141
|
#: The stage a SPECIFICATION refusal reports under. ``acquire``, the first, for the reason
|
|
142
|
-
#: ``run_execution_v4.
|
|
142
|
+
#: ``run_execution_v4.DOCUMENT_STAGE`` records about the job document: a refusal that happens
|
|
143
143
|
#: before every one of the five stages reports at the first, because "nothing was fetched" is what
|
|
144
144
|
#: a reader of the run record needs to know. This used to be ``transform``, which was true of WHERE
|
|
145
145
|
#: the driver called the parser and never of what the parser does -- and the driver now calls it
|