diff --git a/.agents/skills/finalize-phase/SKILL.md b/.agents/skills/finalize-phase/SKILL.md index e7e767d..754daf2 100644 --- a/.agents/skills/finalize-phase/SKILL.md +++ b/.agents/skills/finalize-phase/SKILL.md @@ -25,6 +25,19 @@ Inspect the current worktree, `HEAD`, tracked and untracked changes, and commits base against `main`: prefer the merge base with `origin/main` when available, otherwise use local `main`. Record the exact base. +Fetch `origin` before treating generated contracts or release evidence as final: + +```bash +git fetch origin +git rev-parse HEAD +git rev-parse origin/main +git merge-base HEAD origin/main +``` + +The task branch contains the current `origin/main` only when the merge-base equals `origin/main`. +If it does not, STOP. Do not merge or rebase as part of this check. Require an explicit +synchronization decision before regenerating OpenAPI, generated TypeScript, or release evidence. + Review the union of: - committed changes from the base through `HEAD`; diff --git a/.agents/skills/finish-worktree/SKILL.md b/.agents/skills/finish-worktree/SKILL.md index 6d78bec..e5bf812 100644 --- a/.agents/skills/finish-worktree/SKILL.md +++ b/.agents/skills/finish-worktree/SKILL.md @@ -51,6 +51,20 @@ If a substantial unrelated change is present, stop and report it instead of sile ## 3. Perform targeted validation +Confirm the task branch contains the current `origin/main` before running final validation of +generated contracts or release evidence: + +```bash +git fetch origin +git rev-parse HEAD +git rev-parse origin/main +git merge-base HEAD origin/main +``` + +The branch contains `origin/main` only when the merge-base equals `origin/main`. If it does not, +STOP. Do not merge or rebase as part of this check. Require an explicit synchronization decision +before regenerating OpenAPI, generated TypeScript, or release evidence. + Determine validation from the files and behavior changed by this task. Run the relevant targeted: diff --git a/.claude/skills/finalize-phase/SKILL.md b/.claude/skills/finalize-phase/SKILL.md index e7e767d..754daf2 100644 --- a/.claude/skills/finalize-phase/SKILL.md +++ b/.claude/skills/finalize-phase/SKILL.md @@ -25,6 +25,19 @@ Inspect the current worktree, `HEAD`, tracked and untracked changes, and commits base against `main`: prefer the merge base with `origin/main` when available, otherwise use local `main`. Record the exact base. +Fetch `origin` before treating generated contracts or release evidence as final: + +```bash +git fetch origin +git rev-parse HEAD +git rev-parse origin/main +git merge-base HEAD origin/main +``` + +The task branch contains the current `origin/main` only when the merge-base equals `origin/main`. +If it does not, STOP. Do not merge or rebase as part of this check. Require an explicit +synchronization decision before regenerating OpenAPI, generated TypeScript, or release evidence. + Review the union of: - committed changes from the base through `HEAD`; diff --git a/.claude/skills/finish-worktree/SKILL.md b/.claude/skills/finish-worktree/SKILL.md index 6d78bec..e5bf812 100644 --- a/.claude/skills/finish-worktree/SKILL.md +++ b/.claude/skills/finish-worktree/SKILL.md @@ -51,6 +51,20 @@ If a substantial unrelated change is present, stop and report it instead of sile ## 3. Perform targeted validation +Confirm the task branch contains the current `origin/main` before running final validation of +generated contracts or release evidence: + +```bash +git fetch origin +git rev-parse HEAD +git rev-parse origin/main +git merge-base HEAD origin/main +``` + +The branch contains `origin/main` only when the merge-base equals `origin/main`. If it does not, +STOP. Do not merge or rebase as part of this check. Require an explicit synchronization decision +before regenerating OpenAPI, generated TypeScript, or release evidence. + Determine validation from the files and behavior changed by this task. Run the relevant targeted: diff --git a/.claude/tools/gates.py b/.claude/tools/gates.py index c18a5bb..bbffaae 100644 --- a/.claude/tools/gates.py +++ b/.claude/tools/gates.py @@ -25,6 +25,7 @@ import argparse import json +import os import shutil import subprocess import sys @@ -97,7 +98,7 @@ def _has_selected_test(root: Path, marker: str, keyword: str) -> bool: return False -def _command_responds(argv: list[str]) -> bool: +def _command_responds(argv: list[str], *, env: dict[str, str] | None = None) -> bool: """Whether a subcommand actually exists, probed via its own `--help`. A file existing is not the same as a command being implemented: `src/labbridge/cli.py` appears @@ -109,7 +110,7 @@ def _command_responds(argv: list[str]) -> bool: try: return ( subprocess.run( - [*argv, "--help"], capture_output=True, timeout=15, check=False + [*argv, "--help"], capture_output=True, timeout=15, check=False, env=env ).returncode == 0 ) @@ -117,6 +118,19 @@ def _command_responds(argv: list[str]) -> bool: return False +def _checkout_env(root: Path) -> dict[str, str]: + """Environment that resolves `labbridge` to this checkout rather than to an editable install. + + An editable install can point at a different worktree, so a probe without this would report on + someone else's bytes. + """ + environment = dict(os.environ) + existing = environment.get("PYTHONPATH") + source = str(root / "src") + environment["PYTHONPATH"] = f"{source}{os.pathsep}{existing}" if existing else source + return environment + + def _tool_gate(key: str, command: str, tool: str, present: bool, missing_reason: str) -> Gate: if not present: return Gate(key, command, SCAFFOLDED, missing_reason) @@ -134,7 +148,9 @@ def collect(root: Path) -> list[Gate]: compose = any( (root / f).exists() for f in ("docker-compose.yml", "docker-compose.yaml", "compose.yaml") ) - artifacts_cmd = _command_responds(["labbridge", "validate-artifacts"]) + artifacts_cmd = _command_responds( + [sys.executable, "-m", "labbridge.cli", "validate-artifacts"], env=_checkout_env(root) + ) has_integration = _has_marked_test(root, "integration") has_replay = _has_selected_test(root, "integration", "test_replay_determinism") has_migration_test = _has_selected_test(root, "integration", "migration") @@ -224,11 +240,11 @@ def collect(root: Path) -> list[Gate]: ), Gate( "artifacts", - "labbridge validate-artifacts", + "PYTHONPATH=src python -m labbridge.cli validate-artifacts", LIVE if artifacts_cmd else SCAFFOLDED, - "command responds to --help" + "command responds to --help; verifies the committed artifacts/ tree" if artifacts_cmd - else "`labbridge validate-artifacts` is not implemented yet (ROADMAP Slice 3)", + else "`validate-artifacts` is not implemented yet (ROADMAP Slice 3)", ), Gate( "compose", diff --git a/.gitattributes b/.gitattributes index 335bbda..e260950 100644 --- a/.gitattributes +++ b/.gitattributes @@ -10,24 +10,20 @@ scripts/hooks/* text eol=lf # SHA256SUMS.txt checksums the published documents byte-for-byte against their LF content. Pin LF so # a Windows checkout cannot rewrite them to CRLF and make `sha256sum -c SHA256SUMS.txt` fail on a # file nobody edited. -*.md text eol=lf +# Two trailing spaces are a hard line break in Markdown, so `git diff --check` must not read them +# as whitespace errors in the published documents. +*.md text eol=lf whitespace=-trailing-space *.toml text eol=lf SHA256SUMS.txt text eol=lf -# Released integrity artifacts and their source fixtures are exact bytes. Do not let checkout -# line-ending conversion invalidate their recorded hashes. -artifacts/source-capture/** -text -artifacts/experiment-passport/** -text -artifacts/fault-campaign/** -text +# Released integrity artifacts and the fixture inputs they are reproduced from are exact bytes. Do +# not let checkout line-ending conversion invalidate their recorded hashes. These cover whole trees +# rather than one rule per directory: a manifest-covered member added under a new artifact or +# fixture directory is protected when it lands, not when someone remembers to extend this list. +artifacts/** -text artifacts/fault-campaign/raw-results.csv -text whitespace=-trailing-space artifacts/cv-passport-demo/** -text -eol -artifacts/gamry-dta-cv/** -text -artifacts/echemdb-cv-exchange/** -text -artifacts/galvanostatic-electrolysis/** -text -fixtures/source/synthetic-replay-cv-opaque.csv -text -fixtures/source/synthetic-gamry-cv.dta -text -fixtures/source/synthetic-galvanostatic-electrolysis.csv -text -fixtures/source/synthetic-galvanostatic-electrolysis.provenance.json -text +fixtures/** -text frontend/public/demo-fixtures/synthetic-cv-passport-demo.csv -text frontend/src/generated/api-v1.ts text eol=lf src/labbridge/evidence/schemas/** -text whitespace=-trailing-space diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..8daa817 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,102 @@ +name: CI + +# Pull-request gating for the checks that need no services. The integration, migration, and +# fault-campaign suites need PostgreSQL and MinIO and are deliberately not run here; they stay +# explicit higher-layer checks so a green PR never implies a durability guarantee it did not test. +on: + pull_request: + push: + branches: [main] + +permissions: + contents: read + +concurrency: + group: ci-${{ github.ref }} + cancel-in-progress: true + +defaults: + run: + shell: bash + +jobs: + python-gates: + # Both platforms on purpose. Committed evidence is verified by SHA-256, and a checkout that + # rewrites line endings changes those bytes on one platform only, so a Linux-only run cannot + # see it. + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, windows-latest] + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + with: + # The whitespace check below diffs against the pull-request base commit. + fetch-depth: 0 + + - uses: actions/setup-python@v5 + with: + python-version: '3.12' + cache: pip + + - name: Install + run: pip install -e ".[dev]" + + - name: Documentation consistency + run: python scripts/check_docs.py --strict + + - name: Normative document manifest + run: sha256sum -c SHA256SUMS.txt + + - name: Agent system + run: python .claude/tools/check_agent_system.py + + - name: ruff format + run: ruff format --check src/ tests/ scripts/ migrations/ .claude/hooks/ .claude/tools/ + + - name: ruff check + run: ruff check src/ tests/ scripts/ migrations/ .claude/hooks/ .claude/tools/ + + - name: mypy --strict + run: mypy --strict src/ + + - name: Offline tests + run: pytest -q -m "not slow and not data and not integration" + + - name: Committed artifact verification + run: python -m labbridge.cli validate-artifacts + + # Scoped to what this change introduces: the published documents predate the gate and use + # trailing double spaces as Markdown hard breaks. + - name: Whitespace and conflict markers in this change + if: github.event_name == 'pull_request' + run: git diff --check "${{ github.event.pull_request.base.sha }}" HEAD + + frontend-contract: + # The OpenAPI/generated-type drift gate. Its Python half runs in the offline suite above; this + # is the half that proves the committed TypeScript still matches the committed contract. + runs-on: ubuntu-latest + defaults: + run: + working-directory: frontend + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + node-version: '24' + cache: npm + cache-dependency-path: frontend/package-lock.json + + - name: Install + run: npm ci + + - name: Generated API types match the contract + run: npm run api:check + + - name: Typecheck + run: npm run typecheck + + - name: Unit tests + run: npm test -- --run diff --git a/README.md b/README.md index 9363959..7c01201 100644 --- a/README.md +++ b/README.md @@ -232,6 +232,11 @@ labbridge reconcile Reclaims expired leases, closes abandoned attempts with durable outcomes, and classifies stored objects without deleting unexplained bytes. A worker runs the same reconciliation pass at startup. +It does not cover source intake: `SourceArtifactService.reconcile` implements the same recovery for +a source left `pending` after an intake interrupted between the object write and the metadata +commit (`docs/FAILURE_MATRIX.md` F-048), but has no operator command, because its `commit`/ +`quarantine` writes are unguarded against a concurrent `intake()` of the same content identity and +exposing it needs that race closed first. ## Evidence status @@ -287,10 +292,9 @@ single-user CV Passport candidate is under domain classification and unfamiliar-viewer acceptance records described above. The Phase 4 candidate under [`artifacts/gamry-dta-cv`](artifacts/gamry-dta-cv) follows the same boundary: its code, tests, and candidate Package justify `implemented`, not `demonstrated`, in this worktree. -Phase 7 synthetic-replay reliability evidence is released under -[`artifacts/fault-campaign`](artifacts/fault-campaign). It demonstrates the recorded fault campaign, -backup/restore, replay comparison, and full stored-object verification; it does not demonstrate -observed replay or live execution. +Phase 7 synthetic-replay reliability evidence is committed under +[`artifacts/fault-campaign`](artifacts/fault-campaign). The recorded producer is a clean committed +tree that contains `origin/main`. It does not demonstrate observed replay or live execution. The galvanostatic electrolysis candidate under [`artifacts/galvanostatic-electrolysis`](artifacts/galvanostatic-electrolysis) packages explicit time, current, and potential series while reporting chemical analysis as unavailable. It makes no @@ -304,10 +308,11 @@ conversion, selectivity, yield, product-assignment, or Faradaic-efficiency claim - `labbridge reconcile` and worker-startup reconciliation are on-demand rather than a continuous daemon. Retry scheduling is durable and bounded, but no continuously running scheduler is provided. -- `labbridge validate-artifacts` defaults to `--mode bundle-only`, verifies bundle members locally, - and reports `partial`; it does not contact object storage. `--mode full` additionally checks every - referenced object for existence, byte size, and SHA-256 and reports `complete` only when those checks - pass. +- `labbridge validate-artifacts` with no `--bundle` verifies every closed manifest under `artifacts/` + and under the local `data/bundles/` root, and exits non-zero when it finds nothing to verify. It + defaults to `--mode bundle-only`, verifies bundle members locally, and reports `partial`; it does + not contact object storage. `--mode full` additionally checks every referenced object for existence, + byte size, and SHA-256 and reports `complete` only when those checks pass. - Crash recovery is tested across real process boundaries after lease acquisition, after adapter return, during object upload, after upload before the outcome transaction, after commit before acknowledgement, and during evidence export. Campaign cancellation with a leased job is also diff --git a/SHA256SUMS.txt b/SHA256SUMS.txt index 18a2eba..cda0c3c 100644 --- a/SHA256SUMS.txt +++ b/SHA256SUMS.txt @@ -6,7 +6,7 @@ a70a90ce5f4920d42f1d38cab5785f3ca19206b4fb98f2464718d813b08a752e *docs/DATA_STRA cc9585ebb400cecfbc796296753f48f47fe06fb18e0393037d3315b62a9c6819 *docs/DEVELOPMENT_WORKFLOW.md 5f4a3475482f6485bca11c02f5b553a99c440c1eb164867dba118cfa73b35c83 *docs/FAILURE_MATRIX.md 11ba8a68a5e615b5f03ed68c08e8724ed5abd3c1f2f84cb50f0a6063ff042517 *docs/OPERATOR_RUNBOOK.md -44b3ff8b19669513536732c7bb3434236ac78f51b6f52ea593aeed9521a3e1aa *docs/ROADMAP.md +f0916117156813286c7ba9c215930682fbf4ecb620efef13da059ffaae9a8253 *docs/ROADMAP.md b0fe3118afa8403a2ec7ee138479fd24f93135a34957b1c75a5624d6839c786c *docs/SIMULATOR_MODEL.md -b36f89a42fdaa1dda18bc891c5d6f30a2131e4ffc22538407b3713e7d9e0961d *docs/SPEC.md +fde295bd73f5959c68d5fe2690fcac6286384954b82a19733acc4624465701bb *docs/SPEC.md e74afe9f11555bf79778f53a1388d21bba3434b20e558f7ee6d028fbacd740de *docs/superpowers/specs/2026-08-12-cv-passport-demo-design.md diff --git a/artifacts/echemdb-cv-exchange/LIMITATIONS.md b/artifacts/echemdb-cv-exchange/LIMITATIONS.md index 4636442..37473d8 100644 --- a/artifacts/echemdb-cv-exchange/LIMITATIONS.md +++ b/artifacts/echemdb-cv-exchange/LIMITATIONS.md @@ -22,5 +22,14 @@ contact area, scan rate, and cycle information are omitted and listed in `mappin EchemDB figure type is an explicitly asserted lossy projection; LabBridge `data_origin` and `execution_mode` remain independently represented in `labbridge-provenance.json`. +Two boundaries of that companion arrangement are explicit rather than resolved. `datapackage.json` +declares one resource, `cv.csv`, and does not reference `labbridge-provenance.json`, so a consumer +reading the package only as Frictionless defines it receives the table without LabBridge origin, +execution mode, or evidence identities; those are found by reading the companion beside it. +`cv.csv` itself carries no synthetic marker in its filename or its columns, because its field set +is fixed by the pinned EchemDB `figureDescription`. Within this package the synthetic origin is +declared by `source.citationKey`, `source.originalFilename`, `figureDescription.type`, and the +companion; detached from them the table does not identify itself as synthetic. + The capability status is `implemented`; this uncommitted candidate is not evidence of clean-checkout demonstration, EchemDB ingestion, EchemDB publication, or production deployment. diff --git a/artifacts/echemdb-cv-exchange/manifest.json b/artifacts/echemdb-cv-exchange/manifest.json index 703634b..504859b 100644 --- a/artifacts/echemdb-cv-exchange/manifest.json +++ b/artifacts/echemdb-cv-exchange/manifest.json @@ -37,9 +37,9 @@ "sha256": "a7cda1623b5170e94d53ec8beac6969568fee02fcfa0539cd828352dae38b577" }, { - "byte_size": 1866, + "byte_size": 2622, "name": "LIMITATIONS.md", - "sha256": "2cd60c07b092bb4216fb704fcda233e37824d4a48ea222b0f119a327d52b60e1" + "sha256": "94dc644c23cab3fabae5a082cc4cdb43bfcd8e4fe31ffa84211a64e1fa091f9e" }, { "byte_size": 12651, @@ -87,7 +87,7 @@ "sha256": "5ad1ecbdad8e23c9260d29e4fe7bde569cbb79a1899c8c1430310647e466d236" } ], - "files_digest": "565c900337c6db637d74a6647e1685084df93dc0f33e778060f55246864f6909", + "files_digest": "b582c2c8efd880b26fa11dd1eed415053dc743cb875aee809d72035d4c9a1d1e", "observation_id": "cv-observation:f88ccc6e9ad289c674d8f3ba4b9bcc20", "producing_versions": { "adapter": "echemdb-cv/1", diff --git a/artifacts/fault-campaign/LIMITATIONS.md b/artifacts/fault-campaign/LIMITATIONS.md index 70d10fe..e8a2e0a 100644 --- a/artifacts/fault-campaign/LIMITATIONS.md +++ b/artifacts/fault-campaign/LIMITATIONS.md @@ -1,5 +1,5 @@ # Limitations -- The released run used generated synthetic fixture bytes in replay mode; it did not use observed HER archive bytes. +- The released run used synthetic bytes in replay mode. - Future observed live execution remains outside Phase 7 and was not run. - Results cover only the recorded environment, seeds, and injected boundaries. diff --git a/artifacts/fault-campaign/REPRODUCE.txt b/artifacts/fault-campaign/REPRODUCE.txt index 55fe12d..19dacb1 100644 --- a/artifacts/fault-campaign/REPRODUCE.txt +++ b/artifacts/fault-campaign/REPRODUCE.txt @@ -1 +1 @@ -python scripts/reproduce_campaign_reliability.py --campaigns 100 --master-seed 20260813 --database-name labbridge_phase7_fault_release2 --bucket labbridge-phase7-fault-release2 --output build/phase7-fault-campaign +python scripts/reproduce_campaign_reliability.py --campaigns 100 --master-seed 20260813 --database-name labbridge_phase7_fault_release3 --bucket labbridge-phase7-fault-release3 --output build/phase7-fault-campaign diff --git a/artifacts/fault-campaign/audit-log.jsonl b/artifacts/fault-campaign/audit-log.jsonl index 903a271..a8e791c 100644 --- a/artifacts/fault-campaign/audit-log.jsonl +++ b/artifacts/fault-campaign/audit-log.jsonl @@ -1,100 +1,100 @@ -{"campaign_id":"5aa7cb86-8bb3-4506-9bd5-a768e251cb41","fault_point":"after_upload_before_outcome_transaction","multipart_aborted":false,"ordinal":1,"partial_export_removed":false,"process_state":{"attempt_id":"542cde9c-ba02-4094-987f-f04f856158c7","byte_size":12528,"committed":false,"fencing_token":1,"job_id":"4b9ce2b9-8809-4525-92d2-eb29167d64fe","kill_stage":"after_upload_before_outcome_transaction","lease_expires_at":"2026-08-13 15:20:24.989067+00:00","lease_owner":"fault-worker-001","lease_token":"306d6e6c-4ccb-47f7-a947-96342cae7fd4","object_keys":["observations/5aa7cb86-8bb3-4506-9bd5-a768e251cb41/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f"],"pid":33532,"reached":true,"sha256":"d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f","work_item_id":"abeb0033-c7f9-46c9-b91d-0d7b4327bb48"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"7e46971f-d52e-4048-8764-c329f7108574","fault_point":"after_commit_before_acknowledgement","multipart_aborted":false,"ordinal":2,"partial_export_removed":false,"process_state":{"attempt_id":"bb00a261-eebb-43b9-803d-67ff39df25e7","byte_size":12552,"committed":true,"fencing_token":1,"job_id":"75a71070-54fd-438d-bdfa-38dc2389e8d3","kill_stage":"after_commit_before_acknowledgement","lease_expires_at":null,"lease_owner":"fault-worker-002","lease_token":null,"object_keys":["observations/7e46971f-d52e-4048-8764-c329f7108574/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c"],"observation_id":"obs:ec33918fdd0d2872e583371f88a7fdcb","outcome_status":"succeeded","pid":11664,"reached":true,"sha256":"15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c","work_item_id":"893f61bc-c494-4fe8-a534-783e91118fe0"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"8a1487ce-d860-43d1-8d54-043be3122625","fault_point":"after_commit_before_acknowledgement","multipart_aborted":false,"ordinal":3,"partial_export_removed":false,"process_state":{"attempt_id":"018e719d-06dc-436f-a14f-ffa62f18a3d2","byte_size":12588,"committed":true,"fencing_token":1,"job_id":"b4f8b9a8-7dbf-4a99-b611-362b15bc5e80","kill_stage":"after_commit_before_acknowledgement","lease_expires_at":null,"lease_owner":"fault-worker-003","lease_token":null,"object_keys":["observations/8a1487ce-d860-43d1-8d54-043be3122625/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea"],"observation_id":"obs:4a4ceb152add486a6face6ca46f59b79","outcome_status":"succeeded","pid":16004,"reached":true,"sha256":"d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea","work_item_id":"41cdffb6-d207-4955-a637-cccf1905f245"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"2ac4cf24-29e8-4db0-a91d-0fea1100c541","fault_point":"after_upload_before_outcome_transaction","multipart_aborted":false,"ordinal":4,"partial_export_removed":false,"process_state":{"attempt_id":"65d4bff1-00a9-493e-8dd8-091f941c082c","byte_size":12612,"committed":false,"fencing_token":1,"job_id":"be782267-ab40-4315-a2f1-e0bb84b213f0","kill_stage":"after_upload_before_outcome_transaction","lease_expires_at":"2026-08-13 15:20:39.710696+00:00","lease_owner":"fault-worker-004","lease_token":"4c0732e3-eb69-45e5-949a-4b8bf0932078","object_keys":["observations/2ac4cf24-29e8-4db0-a91d-0fea1100c541/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4"],"pid":37184,"reached":true,"sha256":"a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4","work_item_id":"edb0692f-482c-4bb0-a1e7-fe7e800b1f13"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"622a6919-2afb-4128-8f66-cf7871d9dd3b","fault_point":"during_evidence_export","multipart_aborted":false,"ordinal":5,"partial_export_removed":true,"process_state":{"complete_byte_size":12383,"kill_stage":"during_evidence_export","object_store_bucket":"labbridge-phase7-fault-release2","package_id":"experiment-package:4c7c46442779acea8a789fb67051cb96","partial_byte_size":6191,"partial_path":"build\\phase7-fault-release2\\working\\interrupted\\622a6919-2afb-4128-8f66-cf7871d9dd3b.zip.partial","pid":8936,"reached":true},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"41a4fbd3-7748-4c64-8fc2-9d5e05c148a3","fault_point":"after_commit_before_acknowledgement","multipart_aborted":false,"ordinal":6,"partial_export_removed":false,"process_state":{"attempt_id":"cd6eee00-3653-4c21-b56d-219ba5c1bddc","byte_size":12612,"committed":true,"fencing_token":1,"job_id":"c09c0d8a-9eb3-40fe-ba51-664162b252df","kill_stage":"after_commit_before_acknowledgement","lease_expires_at":null,"lease_owner":"fault-worker-006","lease_token":null,"object_keys":["observations/41a4fbd3-7748-4c64-8fc2-9d5e05c148a3/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa"],"observation_id":"obs:c2adaedb0ac11f4fdb041873e5366ca7","outcome_status":"succeeded","pid":37984,"reached":true,"sha256":"aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa","work_item_id":"a9b5bead-5559-4fcb-a09a-4d8c9e875b53"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"135daa99-c98d-4d55-8207-e81b7f351cda","fault_point":"after_lease_acquisition","multipart_aborted":false,"ordinal":7,"partial_export_removed":false,"process_state":{"attempt_id":null,"committed":false,"fencing_token":1,"job_id":"cdaf8466-29d9-4735-b165-796d336ae50b","kill_stage":"after_lease_acquisition","lease_expires_at":"2026-08-13 15:20:53.851236+00:00","lease_owner":"fault-worker-007","lease_token":"5d05831f-fd33-4e54-a315-86fb9e770e38","pid":38840,"reached":true,"work_item_id":"16a4f205-b2af-46b2-b399-071aee823542"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"cbf3a329-e6f5-4794-a66a-c15f40da536c","fault_point":"during_object_upload","multipart_aborted":true,"ordinal":8,"partial_export_removed":false,"process_state":{"attempt_id":"9c9f9c5e-291f-403c-befa-83a08a994745","committed":false,"fencing_token":1,"job_id":"0a9ee547-a16b-4d3e-9eb6-9d3b75692f88","kill_stage":"during_object_upload","lease_expires_at":"2026-08-13 15:20:59.403521+00:00","lease_owner":"fault-worker-008","lease_token":"be2b4de6-814c-4aff-b46c-17f14fd3edc9","multipart_part_count":1,"multipart_upload_id":"ZjAzZDk3MmEtNDFiYy00ZGRhLTg1MjAtNWI4MzdmNzFhZDRiLjk5MGVjOGVlLTA1MjUtNGI0Yy04YjZkLTNjYTE5Y2M1MWIwN3gxNzg2NjM0NDU4NjIwMDA2MjA0","object_keys":["observations/cbf3a329-e6f5-4794-a66a-c15f40da536c/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c"],"pid":30664,"reached":true,"work_item_id":"df369640-9a72-4aaf-a803-31be83268dd6"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"9ae3ef5b-65f1-4c96-9a9a-f9d7145f412b","fault_point":"during_object_upload","multipart_aborted":true,"ordinal":9,"partial_export_removed":false,"process_state":{"attempt_id":"2742b1a0-c9a6-41c2-9f62-c26e0a51742d","committed":false,"fencing_token":1,"job_id":"2ecdd756-0e8c-4ccd-b351-0c40786225b1","kill_stage":"during_object_upload","lease_expires_at":"2026-08-13 15:21:05.110396+00:00","lease_owner":"fault-worker-009","lease_token":"41268dd0-ed70-448d-acaf-1d94e867dea9","multipart_part_count":1,"multipart_upload_id":"ZjAzZDk3MmEtNDFiYy00ZGRhLTg1MjAtNWI4MzdmNzFhZDRiLjhhNDY1NTYyLWQ4OWQtNDlmNy04Yzk5LTNmZTBlM2Y3ZTg5NXgxNzg2NjM0NDY0MjgzNTcxNDA0","object_keys":["observations/9ae3ef5b-65f1-4c96-9a9a-f9d7145f412b/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea"],"pid":27656,"reached":true,"work_item_id":"73b0b84f-ecd9-465f-b80f-f06e6fe2c055"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"23809f10-2911-4424-ac25-74dd64d39835","fault_point":"after_adapter_return_before_upload","multipart_aborted":false,"ordinal":10,"partial_export_removed":false,"process_state":{"attempt_id":"2a202dc6-70de-4396-a97c-d36823ab469e","committed":false,"fencing_token":1,"job_id":"01a91fab-72e5-4b2b-997c-155d30af840c","kill_stage":"after_adapter_return_before_upload","lease_expires_at":"2026-08-13 15:21:11.544085+00:00","lease_owner":"fault-worker-010","lease_token":"1fa8c660-3636-400e-bf2e-ca95c147277d","pid":31724,"reached":true,"work_item_id":"f718c8d1-92f3-4670-8819-be36ef65c766"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"6c0dcbcf-e8f3-484f-92fb-835a0a7021d0","fault_point":"during_object_upload","multipart_aborted":true,"ordinal":11,"partial_export_removed":false,"process_state":{"attempt_id":"b6cf3fae-0143-4a33-9f4d-8b46917b9cd3","committed":false,"fencing_token":1,"job_id":"e747eff1-507d-43c5-8798-bef101e9865b","kill_stage":"during_object_upload","lease_expires_at":"2026-08-13 15:21:17.886397+00:00","lease_owner":"fault-worker-011","lease_token":"753c7e9e-73e3-4622-bb7a-14eec1a90ace","multipart_part_count":1,"multipart_upload_id":"ZjAzZDk3MmEtNDFiYy00ZGRhLTg1MjAtNWI4MzdmNzFhZDRiLmY5N2IwY2RlLTIzZGQtNGE2ZC05OGFmLTNmMjI5ZGY3NDhjYXgxNzg2NjM0NDc3MTg3MDgzNTYz","object_keys":["observations/6c0dcbcf-e8f3-484f-92fb-835a0a7021d0/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac"],"pid":27284,"reached":true,"work_item_id":"8e486dd8-9a35-402e-836d-9795500803b6"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"6de3894d-bc6f-4ae7-b3a7-51c97dd02403","fault_point":"after_commit_before_acknowledgement","multipart_aborted":false,"ordinal":12,"partial_export_removed":false,"process_state":{"attempt_id":"dcf2ce97-b93a-42af-97a0-e5580857b00b","byte_size":12612,"committed":true,"fencing_token":1,"job_id":"a6013c4a-743e-4dfa-a8c0-cac1a3ee22f0","kill_stage":"after_commit_before_acknowledgement","lease_expires_at":null,"lease_owner":"fault-worker-012","lease_token":null,"object_keys":["observations/6de3894d-bc6f-4ae7-b3a7-51c97dd02403/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa"],"observation_id":"obs:c2adaedb0ac11f4fdb041873e5366ca7","outcome_status":"succeeded","pid":39136,"reached":true,"sha256":"aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa","work_item_id":"ef76e874-bfab-41b3-8a9c-7ab254ec6682"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"c2203cb6-dd54-49df-b83d-e3acc688ded5","fault_point":"after_adapter_return_before_upload","multipart_aborted":false,"ordinal":13,"partial_export_removed":false,"process_state":{"attempt_id":"2a77f49d-117c-444b-a595-81b9229a82ab","committed":false,"fencing_token":1,"job_id":"52f3f5ec-952b-48f7-b59b-17a9a09a5d23","kill_stage":"after_adapter_return_before_upload","lease_expires_at":"2026-08-13 15:21:29.283029+00:00","lease_owner":"fault-worker-013","lease_token":"78f91b7e-e2b9-448e-b2a1-abb42f4d9c2d","pid":33548,"reached":true,"work_item_id":"e0d80908-4949-4c53-b806-ba1dc0c40fa5"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"47bc04ef-6a51-48b1-bbca-68ecff5f7158","fault_point":"after_lease_acquisition","multipart_aborted":false,"ordinal":14,"partial_export_removed":false,"process_state":{"attempt_id":null,"committed":false,"fencing_token":1,"job_id":"2c8849d4-ae0b-4099-a801-39dcbf474c56","kill_stage":"after_lease_acquisition","lease_expires_at":"2026-08-13 15:21:34.920642+00:00","lease_owner":"fault-worker-014","lease_token":"8ae8b71e-8cf2-4774-b57a-2f48e1b7e8b4","pid":1572,"reached":true,"work_item_id":"313070c9-633a-4be8-a4d9-5b3dd1a3030e"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"33159243-2f76-409a-aefe-c516d8c6c0d7","fault_point":"after_lease_acquisition","multipart_aborted":false,"ordinal":15,"partial_export_removed":false,"process_state":{"attempt_id":null,"committed":false,"fencing_token":1,"job_id":"24e036cf-06de-47b6-bcae-95ecb865d948","kill_stage":"after_lease_acquisition","lease_expires_at":"2026-08-13 15:21:40.616533+00:00","lease_owner":"fault-worker-015","lease_token":"8ab153e4-fbe3-48b3-bd08-1904b3d3c24c","pid":10288,"reached":true,"work_item_id":"b7c5a1a2-90f0-4b8b-9c53-9a4651b72147"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"b22d4364-8e6a-4c06-b612-f956d3aa2e77","fault_point":"after_lease_acquisition","multipart_aborted":false,"ordinal":16,"partial_export_removed":false,"process_state":{"attempt_id":null,"committed":false,"fencing_token":1,"job_id":"5c0a19c6-327d-4263-902b-ed3a0da12323","kill_stage":"after_lease_acquisition","lease_expires_at":"2026-08-13 15:21:46.550633+00:00","lease_owner":"fault-worker-016","lease_token":"88bf413c-637a-4388-985e-be4d8e484a19","pid":38764,"reached":true,"work_item_id":"cc0b8e3b-0a85-4d4d-8db9-afcf6ce93295"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"21c1f828-89e5-408c-8771-d2ff0f941d88","fault_point":"after_adapter_return_before_upload","multipart_aborted":false,"ordinal":17,"partial_export_removed":false,"process_state":{"attempt_id":"5269c6bf-ae3a-41fb-9530-2a1891f44d58","committed":false,"fencing_token":1,"job_id":"a32cd15b-381b-4702-b546-b3f32a00d809","kill_stage":"after_adapter_return_before_upload","lease_expires_at":"2026-08-13 15:21:53.266949+00:00","lease_owner":"fault-worker-017","lease_token":"246166d8-0cf1-4fdc-be98-def5ad4c9937","pid":39240,"reached":true,"work_item_id":"7bdc7776-8d68-47b0-a4f4-924cc6222ef4"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"8a1bf94c-00ec-4b36-9a75-de568152b0cd","fault_point":"during_object_upload","multipart_aborted":true,"ordinal":18,"partial_export_removed":false,"process_state":{"attempt_id":"0db0e437-6521-41b9-9795-41045fc92e45","committed":false,"fencing_token":1,"job_id":"ac416269-13d4-4edf-a5c1-971477de3bb9","kill_stage":"during_object_upload","lease_expires_at":"2026-08-13 15:22:00.309099+00:00","lease_owner":"fault-worker-018","lease_token":"3415d076-b763-4c7c-932b-103287db78c6","multipart_part_count":1,"multipart_upload_id":"ZjAzZDk3MmEtNDFiYy00ZGRhLTg1MjAtNWI4MzdmNzFhZDRiLjI3YWMyMDZkLTJjZjctNGI4Mi04ZDU5LTQ3Mzc1MmQyY2U3YngxNzg2NjM0NTE5NTQ3MDE3MDk5","object_keys":["observations/8a1bf94c-00ec-4b36-9a75-de568152b0cd/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa"],"pid":31624,"reached":true,"work_item_id":"7f380133-e911-4878-8e53-008274d772c1"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"f3bd9b1c-d26c-4cfd-bf74-58f35b299087","fault_point":"after_adapter_return_before_upload","multipart_aborted":false,"ordinal":19,"partial_export_removed":false,"process_state":{"attempt_id":"8b6f7318-45a1-4474-9fc9-669c852db75f","committed":false,"fencing_token":1,"job_id":"302ba0f4-2cde-4508-a833-69911dd112eb","kill_stage":"after_adapter_return_before_upload","lease_expires_at":"2026-08-13 15:22:07.807979+00:00","lease_owner":"fault-worker-019","lease_token":"0c385830-28f9-4e67-ac39-ab22da5b3ee9","pid":33700,"reached":true,"work_item_id":"5e1bca03-4c60-4a23-894c-6fd4b684de2c"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"72c5a640-a72e-4e7b-8ec0-f7807877a56a","fault_point":"during_object_upload","multipart_aborted":true,"ordinal":20,"partial_export_removed":false,"process_state":{"attempt_id":"f3c3da16-8d25-47b5-befa-666d913018b5","committed":false,"fencing_token":1,"job_id":"ca151eec-f885-48dc-8dfb-8ed84c942111","kill_stage":"during_object_upload","lease_expires_at":"2026-08-13 15:22:14.984901+00:00","lease_owner":"fault-worker-020","lease_token":"910fe5fa-889e-4f73-bc93-b6f1e8efbfbd","multipart_part_count":1,"multipart_upload_id":"ZjAzZDk3MmEtNDFiYy00ZGRhLTg1MjAtNWI4MzdmNzFhZDRiLjkxYWNmYmYxLWU3MDMtNGY2Yi05ZTc4LTQ1NDc0NDE1MDAzM3gxNzg2NjM0NTM0MjA2NDE2NzA2","object_keys":["observations/72c5a640-a72e-4e7b-8ec0-f7807877a56a/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c"],"pid":30908,"reached":true,"work_item_id":"c903e840-7b99-4443-8d96-88f99472cef8"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"2a15e30a-dd39-47a3-8ced-ede6c17e1263","fault_point":"during_object_upload","multipart_aborted":true,"ordinal":21,"partial_export_removed":false,"process_state":{"attempt_id":"0f8844ef-0676-4fc9-b432-a278e1d13866","committed":false,"fencing_token":1,"job_id":"f8626faa-c6a9-4977-8b19-13fddda3d60d","kill_stage":"during_object_upload","lease_expires_at":"2026-08-13 15:22:21.813040+00:00","lease_owner":"fault-worker-021","lease_token":"a49eafa8-3886-47b8-91d2-e44510428ffc","multipart_part_count":1,"multipart_upload_id":"ZjAzZDk3MmEtNDFiYy00ZGRhLTg1MjAtNWI4MzdmNzFhZDRiLmYxYzY3NGRjLTc2NDQtNDFmOC04NDQxLWM1ZWZiMDg5OGQxZXgxNzg2NjM0NTQxMDQ5Mjc0NzE1","object_keys":["observations/2a15e30a-dd39-47a3-8ced-ede6c17e1263/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea"],"pid":38248,"reached":true,"work_item_id":"ab826d50-abbc-431a-83ca-19c444d5514b"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"cabc27fd-a974-417e-98c7-a16fa4bfa22a","fault_point":"after_upload_before_outcome_transaction","multipart_aborted":false,"ordinal":22,"partial_export_removed":false,"process_state":{"attempt_id":"cba75877-2372-43a9-ae43-83bc19ce002f","byte_size":12612,"committed":false,"fencing_token":1,"job_id":"090c1b87-c13b-48dd-8125-3436247f98ba","kill_stage":"after_upload_before_outcome_transaction","lease_expires_at":"2026-08-13 15:22:29.380705+00:00","lease_owner":"fault-worker-022","lease_token":"86273212-8614-4169-9f25-55fa8a8a9043","object_keys":["observations/cabc27fd-a974-417e-98c7-a16fa4bfa22a/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4"],"pid":39284,"reached":true,"sha256":"a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4","work_item_id":"a9807a6e-dad9-446c-b184-017854beaef2"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"6f7443d7-6eef-4ff6-b011-31682267449a","fault_point":"during_object_upload","multipart_aborted":true,"ordinal":23,"partial_export_removed":false,"process_state":{"attempt_id":"feee38a6-8e5a-4549-8239-b2a1693c6461","committed":false,"fencing_token":1,"job_id":"eda90ff1-84eb-442e-b35e-bccc32dee64d","kill_stage":"during_object_upload","lease_expires_at":"2026-08-13 15:22:37.130414+00:00","lease_owner":"fault-worker-023","lease_token":"391b4924-1daa-4315-acae-4713963c4489","multipart_part_count":1,"multipart_upload_id":"ZjAzZDk3MmEtNDFiYy00ZGRhLTg1MjAtNWI4MzdmNzFhZDRiLjUxZWU0OGE4LTY2M2MtNDBkOS1iZTE0LWYyYzc0Nzk0MjQ4Y3gxNzg2NjM0NTU2MzI5MDk5MDE2","object_keys":["observations/6f7443d7-6eef-4ff6-b011-31682267449a/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac"],"pid":36732,"reached":true,"work_item_id":"b0ecc748-231a-47c2-bf90-4a3eeb61aee2"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"3ee666c6-07f4-484b-9c39-266020796907","fault_point":"after_adapter_return_before_upload","multipart_aborted":false,"ordinal":24,"partial_export_removed":false,"process_state":{"attempt_id":"19c18150-8bea-4be5-ba75-0499d7293bff","committed":false,"fencing_token":1,"job_id":"aef10ee3-2de4-4568-9c5a-c6adfee24777","kill_stage":"after_adapter_return_before_upload","lease_expires_at":"2026-08-13 15:22:43.166193+00:00","lease_owner":"fault-worker-024","lease_token":"0b76e19f-f516-47f2-8315-6446e0071b5a","pid":39116,"reached":true,"work_item_id":"6e0921cc-9aa2-4286-a595-dec1417bf67d"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"2e4a527c-df6b-48a9-aeed-259f81145504","fault_point":"after_lease_acquisition","multipart_aborted":false,"ordinal":25,"partial_export_removed":false,"process_state":{"attempt_id":null,"committed":false,"fencing_token":1,"job_id":"21686b91-dc66-4758-b450-fd8a96dd48a9","kill_stage":"after_lease_acquisition","lease_expires_at":"2026-08-13 15:22:49.285832+00:00","lease_owner":"fault-worker-025","lease_token":"f3debc79-f50a-426a-861d-ff2a099a1e7d","pid":21688,"reached":true,"work_item_id":"468c6e03-798e-4d64-8550-5cbe41185f6a"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"4d60587b-1e77-4a75-a65d-f8faca41f981","fault_point":"after_upload_before_outcome_transaction","multipart_aborted":false,"ordinal":26,"partial_export_removed":false,"process_state":{"attempt_id":"eb88f709-f69b-4750-b81f-c5285d7a280b","byte_size":12552,"committed":false,"fencing_token":1,"job_id":"8ba1f17a-ab5a-4b5f-92d1-b2e90de29094","kill_stage":"after_upload_before_outcome_transaction","lease_expires_at":"2026-08-13 15:22:56.053213+00:00","lease_owner":"fault-worker-026","lease_token":"327ad864-1fca-41b9-b3cd-46bee08adc89","object_keys":["observations/4d60587b-1e77-4a75-a65d-f8faca41f981/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c"],"pid":5116,"reached":true,"sha256":"15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c","work_item_id":"606acb4a-7f97-4e44-9db2-7371727039e9"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"e47fe0e5-eb40-4c46-b582-cded270a7d80","fault_point":"after_lease_acquisition","multipart_aborted":false,"ordinal":27,"partial_export_removed":false,"process_state":{"attempt_id":null,"committed":false,"fencing_token":1,"job_id":"7630891b-1291-4bd1-96e5-258823c485be","kill_stage":"after_lease_acquisition","lease_expires_at":"2026-08-13 15:23:03.032353+00:00","lease_owner":"fault-worker-027","lease_token":"dcf08b2f-7ed8-4ae6-8fb5-2391b0f1ba92","pid":39048,"reached":true,"work_item_id":"84c3ad53-ec60-4689-93c1-d8f82a97b9c2"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"dee06c98-5df9-4d46-988b-3bedca9fab6c","fault_point":"during_object_upload","multipart_aborted":true,"ordinal":28,"partial_export_removed":false,"process_state":{"attempt_id":"6ed5ecb4-e00a-4c7b-86ae-479c07ce55d5","committed":false,"fencing_token":1,"job_id":"7f2f38c9-7afb-47d4-90ce-0be684bdca68","kill_stage":"during_object_upload","lease_expires_at":"2026-08-13 15:23:10.218046+00:00","lease_owner":"fault-worker-028","lease_token":"f9d52ec1-0a6f-44b2-b9a4-e7e11fb52b0e","multipart_part_count":1,"multipart_upload_id":"ZjAzZDk3MmEtNDFiYy00ZGRhLTg1MjAtNWI4MzdmNzFhZDRiLjNhMjMwMTI1LTQ5ZWQtNDQ1ZC04NmM3LWY0MDc2OGVhNGI0ZXgxNzg2NjM0NTg5Mzk4NzAzNTk5","object_keys":["observations/dee06c98-5df9-4d46-988b-3bedca9fab6c/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4"],"pid":37448,"reached":true,"work_item_id":"7b522bc2-714c-4431-ac93-d3a098c8aa58"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"558dbdec-63cb-43c3-af7b-cd0dcfb867a8","fault_point":"after_lease_acquisition","multipart_aborted":false,"ordinal":29,"partial_export_removed":false,"process_state":{"attempt_id":null,"committed":false,"fencing_token":1,"job_id":"aa75206d-d8a7-43af-a4d4-ba92eec1774e","kill_stage":"after_lease_acquisition","lease_expires_at":"2026-08-13 15:23:17.721729+00:00","lease_owner":"fault-worker-029","lease_token":"f62daae3-8e55-449c-8f2e-2d4a7185f63e","pid":34592,"reached":true,"work_item_id":"fdd4ffbc-b2e7-4d5a-8ede-a4ca04401b73"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"806fe7bd-c12c-44c5-9b49-3da2372ee257","fault_point":"after_lease_acquisition","multipart_aborted":false,"ordinal":30,"partial_export_removed":false,"process_state":{"attempt_id":null,"committed":false,"fencing_token":1,"job_id":"67db7509-bfff-4382-97c3-192fdffba93d","kill_stage":"after_lease_acquisition","lease_expires_at":"2026-08-13 15:23:25.192483+00:00","lease_owner":"fault-worker-030","lease_token":"c36b9e35-8386-4422-a013-84ba663ff473","pid":39796,"reached":true,"work_item_id":"b19ec804-0a70-45b3-b332-17b1bc2af37d"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"1f674de1-c040-4f90-87b4-057558bd6230","fault_point":"during_evidence_export","multipart_aborted":false,"ordinal":31,"partial_export_removed":true,"process_state":{"complete_byte_size":12386,"kill_stage":"during_evidence_export","object_store_bucket":"labbridge-phase7-fault-release2","package_id":"experiment-package:a13104ed259c20c082b456a5d6e058c5","partial_byte_size":6193,"partial_path":"build\\phase7-fault-release2\\working\\interrupted\\1f674de1-c040-4f90-87b4-057558bd6230.zip.partial","pid":32344,"reached":true},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"c444ea0e-cfde-40b1-87ce-9ad7bb306d76","fault_point":"during_object_upload","multipart_aborted":true,"ordinal":32,"partial_export_removed":false,"process_state":{"attempt_id":"a701b970-8733-419e-b1ac-2c73bf2da340","committed":false,"fencing_token":1,"job_id":"3083f673-1d78-40dd-9890-0bd6637001f5","kill_stage":"during_object_upload","lease_expires_at":"2026-08-13 15:23:37.790239+00:00","lease_owner":"fault-worker-032","lease_token":"a3c39b45-6268-4f19-a93b-27fcef76cd77","multipart_part_count":1,"multipart_upload_id":"ZjAzZDk3MmEtNDFiYy00ZGRhLTg1MjAtNWI4MzdmNzFhZDRiLjA1NWRjMmU3LTZiMTYtNGU0Mi05NDljLWZlZmE1YTNmMzgyZHgxNzg2NjM0NjE3MDYyNDEzNTU4","object_keys":["observations/c444ea0e-cfde-40b1-87ce-9ad7bb306d76/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c"],"pid":30848,"reached":true,"work_item_id":"3ff5d61f-e391-4437-a6d8-a6d0995d9174"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"7886f262-3928-4622-b0aa-c10b8917bb73","fault_point":"after_commit_before_acknowledgement","multipart_aborted":false,"ordinal":33,"partial_export_removed":false,"process_state":{"attempt_id":"706ba498-5116-4334-aa49-c129096b3bff","byte_size":12588,"committed":true,"fencing_token":1,"job_id":"b0a43f26-9bef-4d6a-b6c4-d868f17e4eef","kill_stage":"after_commit_before_acknowledgement","lease_expires_at":null,"lease_owner":"fault-worker-033","lease_token":null,"object_keys":["observations/7886f262-3928-4622-b0aa-c10b8917bb73/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea"],"observation_id":"obs:4a4ceb152add486a6face6ca46f59b79","outcome_status":"succeeded","pid":38992,"reached":true,"sha256":"d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea","work_item_id":"5c10f1b4-7bb0-4a32-8524-3a87fd11aaf5"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"ae704d06-66ad-4b3d-8fa0-bc5eab031700","fault_point":"during_evidence_export","multipart_aborted":false,"ordinal":34,"partial_export_removed":true,"process_state":{"complete_byte_size":12384,"kill_stage":"during_evidence_export","object_store_bucket":"labbridge-phase7-fault-release2","package_id":"experiment-package:7677d47d99ba1524d2a3d499b7062ea2","partial_byte_size":6192,"partial_path":"build\\phase7-fault-release2\\working\\interrupted\\ae704d06-66ad-4b3d-8fa0-bc5eab031700.zip.partial","pid":35260,"reached":true},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"c6cbf15f-2f7c-43d7-b20f-40762aef8c16","fault_point":"during_evidence_export","multipart_aborted":false,"ordinal":35,"partial_export_removed":true,"process_state":{"complete_byte_size":12359,"kill_stage":"during_evidence_export","object_store_bucket":"labbridge-phase7-fault-release2","package_id":"experiment-package:924afc3470ae63ffe1c3651bf82d7170","partial_byte_size":6179,"partial_path":"build\\phase7-fault-release2\\working\\interrupted\\c6cbf15f-2f7c-43d7-b20f-40762aef8c16.zip.partial","pid":12456,"reached":true},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"d70fc10d-5775-4e4a-abc1-d3ed2a3be71a","fault_point":"after_lease_acquisition","multipart_aborted":false,"ordinal":36,"partial_export_removed":false,"process_state":{"attempt_id":null,"committed":false,"fencing_token":1,"job_id":"a725b7c0-7b59-41bf-bf5a-a11f7a341d74","kill_stage":"after_lease_acquisition","lease_expires_at":"2026-08-13 15:24:00.938421+00:00","lease_owner":"fault-worker-036","lease_token":"28b8b4d0-f5d5-4234-9760-962144dd8325","pid":20816,"reached":true,"work_item_id":"800814f0-3a89-4e84-8754-43881d9abfd7"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"da45a71c-0f1b-4522-81a5-9119a448adb4","fault_point":"after_commit_before_acknowledgement","multipart_aborted":false,"ordinal":37,"partial_export_removed":false,"process_state":{"attempt_id":"41fcaf39-9026-40b5-832e-01b448d0f5e7","byte_size":12528,"committed":true,"fencing_token":1,"job_id":"9ba7cacd-b7b7-4daa-a43b-c66e3c1ffb05","kill_stage":"after_commit_before_acknowledgement","lease_expires_at":null,"lease_owner":"fault-worker-037","lease_token":null,"object_keys":["observations/da45a71c-0f1b-4522-81a5-9119a448adb4/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f"],"observation_id":"obs:b84eb9616f3723fa4749e020b2922217","outcome_status":"succeeded","pid":23060,"reached":true,"sha256":"d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f","work_item_id":"95655773-a4c3-41cf-97a6-135dba3916f8"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"d5de7bd1-021b-407e-ac83-a04f0ae3d654","fault_point":"after_lease_acquisition","multipart_aborted":false,"ordinal":38,"partial_export_removed":false,"process_state":{"attempt_id":null,"committed":false,"fencing_token":1,"job_id":"2d5e77b7-b0d0-44fe-8146-5c86c0758152","kill_stage":"after_lease_acquisition","lease_expires_at":"2026-08-13 15:24:14.846540+00:00","lease_owner":"fault-worker-038","lease_token":"c7069efe-d020-47cf-9f66-d1529d33ee3b","pid":32348,"reached":true,"work_item_id":"8e9c785b-c7bd-489a-ab9e-ee5968cdbe39"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"47d20867-15c9-45bc-8889-18340a643a03","fault_point":"during_object_upload","multipart_aborted":true,"ordinal":39,"partial_export_removed":false,"process_state":{"attempt_id":"737097d6-91a6-404c-9505-c1cfcdc3773c","committed":false,"fencing_token":1,"job_id":"7ccf9c83-229e-4c27-adb0-f84adc709a94","kill_stage":"during_object_upload","lease_expires_at":"2026-08-13 15:24:21.822541+00:00","lease_owner":"fault-worker-039","lease_token":"48c50c0f-193d-4bc2-8475-3f05310a21db","multipart_part_count":1,"multipart_upload_id":"ZjAzZDk3MmEtNDFiYy00ZGRhLTg1MjAtNWI4MzdmNzFhZDRiLmExNTM0MmJkLTE4OTctNDdjYS1iMThkLTVlNTM3ZTc0YWM0Y3gxNzg2NjM0NjYxMDYzMTc5ODA5","object_keys":["observations/47d20867-15c9-45bc-8889-18340a643a03/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea"],"pid":32780,"reached":true,"work_item_id":"302798ac-cc9f-4700-a4b7-24795a00ad7b"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"6d0132f3-e034-4f94-9387-55c181663900","fault_point":"after_lease_acquisition","multipart_aborted":false,"ordinal":40,"partial_export_removed":false,"process_state":{"attempt_id":null,"committed":false,"fencing_token":1,"job_id":"ad3975bd-1578-4faa-b341-b22857cf0a61","kill_stage":"after_lease_acquisition","lease_expires_at":"2026-08-13 15:24:33.018449+00:00","lease_owner":"fault-worker-040","lease_token":"bff3df54-3410-4261-b74b-e5ad7d39b31e","pid":29956,"reached":true,"work_item_id":"34e242a2-6459-4e5e-81e9-3e1cc4fe7bb2"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"f4eacdcc-0342-47d6-bdfb-ea7642655326","fault_point":"during_evidence_export","multipart_aborted":false,"ordinal":41,"partial_export_removed":true,"process_state":{"complete_byte_size":12403,"kill_stage":"during_evidence_export","object_store_bucket":"labbridge-phase7-fault-release2","package_id":"experiment-package:10eb605415b0cea1b927d13df28e4e3d","partial_byte_size":6201,"partial_path":"build\\phase7-fault-release2\\working\\interrupted\\f4eacdcc-0342-47d6-bdfb-ea7642655326.zip.partial","pid":35008,"reached":true},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"5bd63eff-2e2c-416a-aad2-ed12427e6a7e","fault_point":"during_object_upload","multipart_aborted":true,"ordinal":42,"partial_export_removed":false,"process_state":{"attempt_id":"0fb4a0ce-ef1e-4fdf-98b6-4d5cb9f8a51f","committed":false,"fencing_token":1,"job_id":"0e67551c-0190-483a-86c0-deb87f69f3c6","kill_stage":"during_object_upload","lease_expires_at":"2026-08-13 15:24:49.404086+00:00","lease_owner":"fault-worker-042","lease_token":"5c41684d-1731-401b-b7c1-8bf7e749c22b","multipart_part_count":1,"multipart_upload_id":"ZjAzZDk3MmEtNDFiYy00ZGRhLTg1MjAtNWI4MzdmNzFhZDRiLjZiZTY1ZTk1LWE1ZmYtNDdjNi1iMTE1LWU3ZTliYTg4YjViMngxNzg2NjM0Njg4NjYzNjUwMjYw","object_keys":["observations/5bd63eff-2e2c-416a-aad2-ed12427e6a7e/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa"],"pid":17924,"reached":true,"work_item_id":"90b7a964-bfb8-49f7-91b8-8d3b9a674f6d"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"cd6374d8-0fa8-4a68-bf16-7c239a3a2bfe","fault_point":"after_adapter_return_before_upload","multipart_aborted":false,"ordinal":43,"partial_export_removed":false,"process_state":{"attempt_id":"caf4977c-3095-4151-920f-d575208b9268","committed":false,"fencing_token":1,"job_id":"e379adf3-4661-422e-a0cf-81d4a05b9942","kill_stage":"after_adapter_return_before_upload","lease_expires_at":"2026-08-13 15:24:58.409861+00:00","lease_owner":"fault-worker-043","lease_token":"a3e29a4f-dedd-4d4b-9ef2-69f2abf8495c","pid":4548,"reached":true,"work_item_id":"0decd8b8-8705-4663-b3ca-3a6c23e331e0"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"59cbeb32-5252-4d24-b89f-50f50964d679","fault_point":"after_adapter_return_before_upload","multipart_aborted":false,"ordinal":44,"partial_export_removed":false,"process_state":{"attempt_id":"cafab764-2028-441a-a3f8-356ff3395551","committed":false,"fencing_token":1,"job_id":"d980e1c1-fce2-46af-b1dd-dbe3c1e7ef45","kill_stage":"after_adapter_return_before_upload","lease_expires_at":"2026-08-13 15:25:07.787364+00:00","lease_owner":"fault-worker-044","lease_token":"0d2effe5-3b1e-4745-8a1a-583407d0e3cd","pid":23440,"reached":true,"work_item_id":"bbc84b61-ec14-4703-934c-3b40162ffe51"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"bc38c14c-d8fa-4954-b1ab-d2af6df6d2a9","fault_point":"after_commit_before_acknowledgement","multipart_aborted":false,"ordinal":45,"partial_export_removed":false,"process_state":{"attempt_id":"de521c27-89fb-4ef4-a371-c7c354597588","byte_size":12588,"committed":true,"fencing_token":1,"job_id":"380265d6-764b-43cd-8472-2151dac7c828","kill_stage":"after_commit_before_acknowledgement","lease_expires_at":null,"lease_owner":"fault-worker-045","lease_token":null,"object_keys":["observations/bc38c14c-d8fa-4954-b1ab-d2af6df6d2a9/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea"],"observation_id":"obs:4a4ceb152add486a6face6ca46f59b79","outcome_status":"succeeded","pid":16936,"reached":true,"sha256":"d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea","work_item_id":"b98d277d-b840-4a4e-a095-6fea02746367"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"d0cb5535-5a73-4a33-9d7b-e2be378f10fc","fault_point":"after_commit_before_acknowledgement","multipart_aborted":false,"ordinal":46,"partial_export_removed":false,"process_state":{"attempt_id":"087af668-3202-4e50-b2c9-51e581ff9b17","byte_size":12612,"committed":true,"fencing_token":1,"job_id":"05180064-2375-4321-957f-8cf5f9678afc","kill_stage":"after_commit_before_acknowledgement","lease_expires_at":null,"lease_owner":"fault-worker-046","lease_token":null,"object_keys":["observations/d0cb5535-5a73-4a33-9d7b-e2be378f10fc/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4"],"observation_id":"obs:88adb71861dfb514c417fb6da350e784","outcome_status":"succeeded","pid":38212,"reached":true,"sha256":"a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4","work_item_id":"2844ac67-83b6-4152-9f3d-fd44e592e79d"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"59ea5b03-51b3-403a-9a2d-1b852f3eaab5","fault_point":"after_commit_before_acknowledgement","multipart_aborted":false,"ordinal":47,"partial_export_removed":false,"process_state":{"attempt_id":"16f0f3d9-4b23-40c9-a6af-f6a69bd76ea5","byte_size":12588,"committed":true,"fencing_token":1,"job_id":"097d1107-3f73-4563-b99e-02ceae438fd2","kill_stage":"after_commit_before_acknowledgement","lease_expires_at":null,"lease_owner":"fault-worker-047","lease_token":null,"object_keys":["observations/59ea5b03-51b3-403a-9a2d-1b852f3eaab5/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac"],"observation_id":"obs:c945679c1ffbe026119d65dbeae68109","outcome_status":"succeeded","pid":39016,"reached":true,"sha256":"a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac","work_item_id":"6fe76baf-f8e3-417a-816e-d54a16bdd424"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"48dd37ad-ac19-4649-aac0-8fb0a40e95ea","fault_point":"after_commit_before_acknowledgement","multipart_aborted":false,"ordinal":48,"partial_export_removed":false,"process_state":{"attempt_id":"de939eaa-370e-4a63-9419-6eba622dc75c","byte_size":12612,"committed":true,"fencing_token":1,"job_id":"cdc5c6a8-aeca-44de-93c1-89461cf7c319","kill_stage":"after_commit_before_acknowledgement","lease_expires_at":null,"lease_owner":"fault-worker-048","lease_token":null,"object_keys":["observations/48dd37ad-ac19-4649-aac0-8fb0a40e95ea/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa"],"observation_id":"obs:c2adaedb0ac11f4fdb041873e5366ca7","outcome_status":"succeeded","pid":36712,"reached":true,"sha256":"aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa","work_item_id":"2f676a0a-a6b5-485d-bf74-686f6b880f6b"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"7c6d06d3-0c61-485c-acf8-23d1b851dea2","fault_point":"during_object_upload","multipart_aborted":true,"ordinal":49,"partial_export_removed":false,"process_state":{"attempt_id":"a63909e0-55a6-4e5d-b3ad-01afd7f459ae","committed":false,"fencing_token":1,"job_id":"206caea8-778e-44fd-9e8e-7f6956bf9f02","kill_stage":"during_object_upload","lease_expires_at":"2026-08-13 15:25:51.851425+00:00","lease_owner":"fault-worker-049","lease_token":"9a84cbcb-43dc-458e-9a3e-6c52f34b3358","multipart_part_count":1,"multipart_upload_id":"ZjAzZDk3MmEtNDFiYy00ZGRhLTg1MjAtNWI4MzdmNzFhZDRiLjM1YTM1NTJmLTcwZWYtNDI5Ni1hNzRjLTNhZGIxY2RiNjVjOXgxNzg2NjM0NzUxMDM5ODIyMTAw","object_keys":["observations/7c6d06d3-0c61-485c-acf8-23d1b851dea2/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f"],"pid":27088,"reached":true,"work_item_id":"b0dcaa8f-a8dc-41ac-a0bc-b750663bcf71"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"87b5ce0a-2af4-481b-aa1f-c3c02dc28931","fault_point":"after_commit_before_acknowledgement","multipart_aborted":false,"ordinal":50,"partial_export_removed":false,"process_state":{"attempt_id":"4fcf7cb8-6655-4398-be53-1b2d72616ada","byte_size":12552,"committed":true,"fencing_token":1,"job_id":"83c91d34-34ac-48fd-bd6e-16290ddcc2cc","kill_stage":"after_commit_before_acknowledgement","lease_expires_at":null,"lease_owner":"fault-worker-050","lease_token":null,"object_keys":["observations/87b5ce0a-2af4-481b-aa1f-c3c02dc28931/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c"],"observation_id":"obs:ec33918fdd0d2872e583371f88a7fdcb","outcome_status":"succeeded","pid":35896,"reached":true,"sha256":"15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c","work_item_id":"28b8a7c3-954d-49b1-8a29-660e9d81c9be"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"c624ec0a-5c8f-413f-99c0-c57e85617984","fault_point":"after_adapter_return_before_upload","multipart_aborted":false,"ordinal":51,"partial_export_removed":false,"process_state":{"attempt_id":"4acc5268-7632-4938-a809-920ac49a6462","committed":false,"fencing_token":1,"job_id":"0ee02c74-c845-4abf-8436-4666698a91b4","kill_stage":"after_adapter_return_before_upload","lease_expires_at":"2026-08-13 15:26:08.052159+00:00","lease_owner":"fault-worker-051","lease_token":"10d14aeb-12a8-41ca-86cb-00fbe8b99e3e","pid":37116,"reached":true,"work_item_id":"550789c1-b7a9-427f-9f3c-8fc39e16b062"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"db21d30b-ff2c-4431-8a8a-17a2ec046190","fault_point":"after_upload_before_outcome_transaction","multipart_aborted":false,"ordinal":52,"partial_export_removed":false,"process_state":{"attempt_id":"e139e5cb-d097-484b-a57c-6c9b53179ae9","byte_size":12612,"committed":false,"fencing_token":1,"job_id":"6355e73d-2c2e-4c6e-b1d4-229a9dc81070","kill_stage":"after_upload_before_outcome_transaction","lease_expires_at":"2026-08-13 15:26:15.946169+00:00","lease_owner":"fault-worker-052","lease_token":"e9e3bead-b57e-41fb-a261-c740fb170d29","object_keys":["observations/db21d30b-ff2c-4431-8a8a-17a2ec046190/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4"],"pid":33248,"reached":true,"sha256":"a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4","work_item_id":"f16989c6-ea6f-471d-aa48-08550a36c10b"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"96e3f7c3-fa35-46dd-bafa-9b3d66aad56d","fault_point":"during_object_upload","multipart_aborted":true,"ordinal":53,"partial_export_removed":false,"process_state":{"attempt_id":"4129f75b-6872-4c74-8e6e-233bf381fd7f","committed":false,"fencing_token":1,"job_id":"0e9fbe7c-dcbe-4f02-8856-93d0ea433070","kill_stage":"during_object_upload","lease_expires_at":"2026-08-13 15:26:24.779043+00:00","lease_owner":"fault-worker-053","lease_token":"0f85caf8-1e7a-40d0-9d0b-6d51361fb6b7","multipart_part_count":1,"multipart_upload_id":"ZjAzZDk3MmEtNDFiYy00ZGRhLTg1MjAtNWI4MzdmNzFhZDRiLjg1MzFlMDc1LTZhZDYtNDVjMC04MzcyLTI1M2RiZTNjMDU3M3gxNzg2NjM0NzgzOTM4MjUyMTAy","object_keys":["observations/96e3f7c3-fa35-46dd-bafa-9b3d66aad56d/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac"],"pid":38660,"reached":true,"work_item_id":"588f791a-c648-4bee-8738-1990b8f1d13e"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"125d599f-5e20-4e67-8583-e8cdfd21f056","fault_point":"after_adapter_return_before_upload","multipart_aborted":false,"ordinal":54,"partial_export_removed":false,"process_state":{"attempt_id":"d0a9f9b1-4c5b-4618-a251-cd13e0a34b1e","committed":false,"fencing_token":1,"job_id":"68109857-6918-4c5b-a347-aa81c7c76c0f","kill_stage":"after_adapter_return_before_upload","lease_expires_at":"2026-08-13 15:26:33.646792+00:00","lease_owner":"fault-worker-054","lease_token":"cb79e75c-4219-4c0c-8c1d-f618ff88622a","pid":28476,"reached":true,"work_item_id":"3b402279-6d6c-429a-b7ff-f76377853f86"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"bf5c4dfe-40fa-4789-bf66-f9b667f105ed","fault_point":"during_evidence_export","multipart_aborted":false,"ordinal":55,"partial_export_removed":true,"process_state":{"complete_byte_size":12386,"kill_stage":"during_evidence_export","object_store_bucket":"labbridge-phase7-fault-release2","package_id":"experiment-package:32986e9bbac78b84e9fcb63b79ba0c5a","partial_byte_size":6193,"partial_path":"build\\phase7-fault-release2\\working\\interrupted\\bf5c4dfe-40fa-4789-bf66-f9b667f105ed.zip.partial","pid":38972,"reached":true},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"28294cf5-321a-459b-90f2-d48c7a99d245","fault_point":"after_upload_before_outcome_transaction","multipart_aborted":false,"ordinal":56,"partial_export_removed":false,"process_state":{"attempt_id":"c9c1dbd4-040c-4d8d-8e7f-4514ffadb5c1","byte_size":12552,"committed":false,"fencing_token":1,"job_id":"f2a726a6-d4ad-49d1-9842-ec53e699a889","kill_stage":"after_upload_before_outcome_transaction","lease_expires_at":"2026-08-13 15:26:48.163668+00:00","lease_owner":"fault-worker-056","lease_token":"0b784c80-75d1-483f-aace-e583ad4c4213","object_keys":["observations/28294cf5-321a-459b-90f2-d48c7a99d245/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c"],"pid":11328,"reached":true,"sha256":"15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c","work_item_id":"21b30449-d4d1-4953-bc12-85cd886d95a3"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"78ef6b4e-b1ee-4618-b573-ef1007699e43","fault_point":"after_lease_acquisition","multipart_aborted":false,"ordinal":57,"partial_export_removed":false,"process_state":{"attempt_id":null,"committed":false,"fencing_token":1,"job_id":"86eb53ec-0ec6-4f8a-8dae-a5ee9c22009d","kill_stage":"after_lease_acquisition","lease_expires_at":"2026-08-13 15:26:57.864755+00:00","lease_owner":"fault-worker-057","lease_token":"ff37a8a0-2ffa-4bc2-8448-81230f455b12","pid":28676,"reached":true,"work_item_id":"9704e982-c9ab-4bda-a908-efeb5bdfddf8"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"c04f2c07-1319-4eb0-bba8-f41a44594b72","fault_point":"after_commit_before_acknowledgement","multipart_aborted":false,"ordinal":58,"partial_export_removed":false,"process_state":{"attempt_id":"124cb318-a058-40fe-bd06-2c6142665f2c","byte_size":12612,"committed":true,"fencing_token":1,"job_id":"3dc10b9f-6254-4334-a4c6-b0cb21a0dbaf","kill_stage":"after_commit_before_acknowledgement","lease_expires_at":null,"lease_owner":"fault-worker-058","lease_token":null,"object_keys":["observations/c04f2c07-1319-4eb0-bba8-f41a44594b72/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4"],"observation_id":"obs:88adb71861dfb514c417fb6da350e784","outcome_status":"succeeded","pid":18660,"reached":true,"sha256":"a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4","work_item_id":"df8e0e35-f2c3-4b91-92c0-359096ec55ed"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"b411eb8f-a546-4aa2-aaf3-3d790cbd5f05","fault_point":"after_upload_before_outcome_transaction","multipart_aborted":false,"ordinal":59,"partial_export_removed":false,"process_state":{"attempt_id":"491818b9-e1b0-4f9f-908d-82322e1ee653","byte_size":12588,"committed":false,"fencing_token":1,"job_id":"1286723c-dcf2-4f81-8aca-d38d6d363d56","kill_stage":"after_upload_before_outcome_transaction","lease_expires_at":"2026-08-13 15:27:19.174815+00:00","lease_owner":"fault-worker-059","lease_token":"d73d4495-f4e2-4828-96b4-aea1862a3e6f","object_keys":["observations/b411eb8f-a546-4aa2-aaf3-3d790cbd5f05/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac"],"pid":38204,"reached":true,"sha256":"a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac","work_item_id":"2d3b7609-592d-4e15-bf5c-898ad872fdbf"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"a36a8519-635c-4a9a-89f7-e74603e5afb3","fault_point":"after_upload_before_outcome_transaction","multipart_aborted":false,"ordinal":60,"partial_export_removed":false,"process_state":{"attempt_id":"2907ce04-186f-4b2a-bacb-5c9f6c117421","byte_size":12612,"committed":false,"fencing_token":1,"job_id":"6ed0d487-41be-4159-aa47-4b4096485f7a","kill_stage":"after_upload_before_outcome_transaction","lease_expires_at":"2026-08-13 15:27:28.408985+00:00","lease_owner":"fault-worker-060","lease_token":"ff34cb65-392f-404d-99f1-3f410a873415","object_keys":["observations/a36a8519-635c-4a9a-89f7-e74603e5afb3/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa"],"pid":22800,"reached":true,"sha256":"aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa","work_item_id":"fe4d6ab0-b9c7-4a75-a7ed-d40b3dc0c59d"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"b20cf37e-2d82-44a8-9f5f-3aa42695fbc2","fault_point":"after_lease_acquisition","multipart_aborted":false,"ordinal":61,"partial_export_removed":false,"process_state":{"attempt_id":null,"committed":false,"fencing_token":1,"job_id":"b82d0727-02ea-42fc-b51f-a81ae15136b2","kill_stage":"after_lease_acquisition","lease_expires_at":"2026-08-13 15:27:37.268101+00:00","lease_owner":"fault-worker-061","lease_token":"73b27a1c-95db-4dd0-b361-a6ccb9691dfa","pid":28400,"reached":true,"work_item_id":"407047d3-ffb3-4087-bbda-03dd3e24ed82"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"8917decd-bef5-4230-8e03-1f0c56458e39","fault_point":"during_evidence_export","multipart_aborted":false,"ordinal":62,"partial_export_removed":true,"process_state":{"complete_byte_size":12406,"kill_stage":"during_evidence_export","object_store_bucket":"labbridge-phase7-fault-release2","package_id":"experiment-package:9e8c8ec4bcc61a3dedadb525fc5c5743","partial_byte_size":6203,"partial_path":"build\\phase7-fault-release2\\working\\interrupted\\8917decd-bef5-4230-8e03-1f0c56458e39.zip.partial","pid":39100,"reached":true},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"de49fa8b-4661-45f1-bea9-ca9608e9558a","fault_point":"after_commit_before_acknowledgement","multipart_aborted":false,"ordinal":63,"partial_export_removed":false,"process_state":{"attempt_id":"fb78a52f-416f-45e3-a6ab-876c7d96c819","byte_size":12588,"committed":true,"fencing_token":1,"job_id":"59c2fa70-9e67-4cd5-a66f-63b9154aee09","kill_stage":"after_commit_before_acknowledgement","lease_expires_at":null,"lease_owner":"fault-worker-063","lease_token":null,"object_keys":["observations/de49fa8b-4661-45f1-bea9-ca9608e9558a/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea"],"observation_id":"obs:4a4ceb152add486a6face6ca46f59b79","outcome_status":"succeeded","pid":17928,"reached":true,"sha256":"d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea","work_item_id":"42293a96-a26e-4d0a-8119-c19dd802b34c"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"86ba137f-61a2-4ac2-b91c-e690e4474b40","fault_point":"after_lease_acquisition","multipart_aborted":false,"ordinal":64,"partial_export_removed":false,"process_state":{"attempt_id":null,"committed":false,"fencing_token":1,"job_id":"1609265f-dde4-42a2-b1ce-232eec7dced5","kill_stage":"after_lease_acquisition","lease_expires_at":"2026-08-13 15:28:00.201838+00:00","lease_owner":"fault-worker-064","lease_token":"3c9fd069-c2a8-49f6-b4fb-7ef5d2896540","pid":28920,"reached":true,"work_item_id":"beed08b1-6c9b-4610-80f7-4fa22bc585ab"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"d384007b-c0c7-4a07-99e0-23d7fbbead56","fault_point":"after_upload_before_outcome_transaction","multipart_aborted":false,"ordinal":65,"partial_export_removed":false,"process_state":{"attempt_id":"7e0c8f50-25c5-4ae9-9e1e-5bb3f44adea2","byte_size":12588,"committed":false,"fencing_token":1,"job_id":"0256d11c-1694-4c6b-a580-da386ecb9aa4","kill_stage":"after_upload_before_outcome_transaction","lease_expires_at":"2026-08-13 15:28:09.452742+00:00","lease_owner":"fault-worker-065","lease_token":"e20077ef-f7a7-48ab-8071-d90c5963eb77","object_keys":["observations/d384007b-c0c7-4a07-99e0-23d7fbbead56/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac"],"pid":38244,"reached":true,"sha256":"a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac","work_item_id":"ac7b1057-62dc-4cea-b274-86bb4012b692"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"8c8ea74e-2648-4dcb-bca7-0295f341a56e","fault_point":"after_lease_acquisition","multipart_aborted":false,"ordinal":66,"partial_export_removed":false,"process_state":{"attempt_id":null,"committed":false,"fencing_token":1,"job_id":"1ca39794-fc06-4566-809d-a5ce1f85eb69","kill_stage":"after_lease_acquisition","lease_expires_at":"2026-08-13 15:28:18.784341+00:00","lease_owner":"fault-worker-066","lease_token":"f47c7a61-4f23-496e-9ae6-c35b884420e9","pid":27056,"reached":true,"work_item_id":"ba021401-cb82-4aff-9d83-3ccdedaf7b52"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"e5c78838-d72a-4976-81cb-e80189296002","fault_point":"after_upload_before_outcome_transaction","multipart_aborted":false,"ordinal":67,"partial_export_removed":false,"process_state":{"attempt_id":"68d3872a-9150-4a3a-a28d-91d9e3f236aa","byte_size":12528,"committed":false,"fencing_token":1,"job_id":"41fe6a96-4c3e-425b-8e2b-4dcedae4f266","kill_stage":"after_upload_before_outcome_transaction","lease_expires_at":"2026-08-13 15:28:28.031804+00:00","lease_owner":"fault-worker-067","lease_token":"a5b73dfd-22af-4f11-ae04-a14122df68a4","object_keys":["observations/e5c78838-d72a-4976-81cb-e80189296002/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f"],"pid":38416,"reached":true,"sha256":"d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f","work_item_id":"f3f3b527-e781-49a5-b34b-f57c854b24d8"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"27b887d3-a2e9-44af-9a78-44b4bc07f6c2","fault_point":"during_evidence_export","multipart_aborted":false,"ordinal":68,"partial_export_removed":true,"process_state":{"complete_byte_size":12383,"kill_stage":"during_evidence_export","object_store_bucket":"labbridge-phase7-fault-release2","package_id":"experiment-package:3c7e66fd8c2439ad2838e9c2c108f7ac","partial_byte_size":6191,"partial_path":"build\\phase7-fault-release2\\working\\interrupted\\27b887d3-a2e9-44af-9a78-44b4bc07f6c2.zip.partial","pid":33644,"reached":true},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"fca390dd-591a-4b30-9071-fba97647aaca","fault_point":"after_adapter_return_before_upload","multipart_aborted":false,"ordinal":69,"partial_export_removed":false,"process_state":{"attempt_id":"4d398076-3fbd-481a-9906-711e062f6ee9","committed":false,"fencing_token":1,"job_id":"c55d8efb-64a7-487e-b90c-4cd34b6fcfed","kill_stage":"after_adapter_return_before_upload","lease_expires_at":"2026-08-13 15:28:43.664664+00:00","lease_owner":"fault-worker-069","lease_token":"ff39dfac-d524-4f55-9716-608de7aa4015","pid":18544,"reached":true,"work_item_id":"6d547698-da27-4d78-983b-902ae12c28d9"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"47e0cf17-3b46-4ef7-bd1e-301a0b178d6c","fault_point":"during_evidence_export","multipart_aborted":false,"ordinal":70,"partial_export_removed":true,"process_state":{"complete_byte_size":12389,"kill_stage":"during_evidence_export","object_store_bucket":"labbridge-phase7-fault-release2","package_id":"experiment-package:23c7aa79396867bfd435ab7c8a86bb1b","partial_byte_size":6194,"partial_path":"build\\phase7-fault-release2\\working\\interrupted\\47e0cf17-3b46-4ef7-bd1e-301a0b178d6c.zip.partial","pid":34276,"reached":true},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"9c646f85-7801-4760-b6c3-684cc20fda21","fault_point":"after_adapter_return_before_upload","multipart_aborted":false,"ordinal":71,"partial_export_removed":false,"process_state":{"attempt_id":"d384ff36-51a3-427b-8312-5139faf34428","committed":false,"fencing_token":1,"job_id":"9680d509-9828-4a79-a4ab-3d7f80fb7cb8","kill_stage":"after_adapter_return_before_upload","lease_expires_at":"2026-08-13 15:29:00.406709+00:00","lease_owner":"fault-worker-071","lease_token":"54280afa-1131-4fa9-8d0a-df04c23bc609","pid":25552,"reached":true,"work_item_id":"192f8d65-f075-4530-bf04-a1ce47b2b91a"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"072d4372-08f2-4c90-b42e-57af4ee751c1","fault_point":"during_object_upload","multipart_aborted":true,"ordinal":72,"partial_export_removed":false,"process_state":{"attempt_id":"1d4dc1d5-d42b-4f2d-b934-ccb3c7130fda","committed":false,"fencing_token":1,"job_id":"07724845-d470-430c-9ed3-4051eafdabc5","kill_stage":"during_object_upload","lease_expires_at":"2026-08-13 15:29:10.364628+00:00","lease_owner":"fault-worker-072","lease_token":"e0234417-95de-4c5b-901c-d832430099b4","multipart_part_count":1,"multipart_upload_id":"ZjAzZDk3MmEtNDFiYy00ZGRhLTg1MjAtNWI4MzdmNzFhZDRiLjVjNmY5NWM4LTc1YmEtNGFmZC04MDc4LTAzMmQ3NWFmNjA3Y3gxNzg2NjM0OTQ5NTI4NzQ1ODk0","object_keys":["observations/072d4372-08f2-4c90-b42e-57af4ee751c1/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa"],"pid":35768,"reached":true,"work_item_id":"8a9e7455-1193-4ae9-95f0-fd4ebf63ac67"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"cb133b65-1429-4249-b345-1b7b78f28dea","fault_point":"during_evidence_export","multipart_aborted":false,"ordinal":73,"partial_export_removed":true,"process_state":{"complete_byte_size":12384,"kill_stage":"during_evidence_export","object_store_bucket":"labbridge-phase7-fault-release2","package_id":"experiment-package:bd570a4afd773a46b8c67962e31c77ba","partial_byte_size":6192,"partial_path":"build\\phase7-fault-release2\\working\\interrupted\\cb133b65-1429-4249-b345-1b7b78f28dea.zip.partial","pid":29732,"reached":true},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"b5f6266d-f6f5-4109-a632-fca8823a3300","fault_point":"after_lease_acquisition","multipart_aborted":false,"ordinal":74,"partial_export_removed":false,"process_state":{"attempt_id":null,"committed":false,"fencing_token":1,"job_id":"af450314-e662-48cc-aa81-5c0fd1a49d0c","kill_stage":"after_lease_acquisition","lease_expires_at":"2026-08-13 15:29:27.108644+00:00","lease_owner":"fault-worker-074","lease_token":"395c5e74-7551-49fb-ba33-8b151194e2f4","pid":38364,"reached":true,"work_item_id":"96babc92-629a-401f-b1a6-fbd93e3cc734"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"01590fe3-e7ca-4e25-8b3a-1f3030e6885d","fault_point":"during_evidence_export","multipart_aborted":false,"ordinal":75,"partial_export_removed":true,"process_state":{"complete_byte_size":12396,"kill_stage":"during_evidence_export","object_store_bucket":"labbridge-phase7-fault-release2","package_id":"experiment-package:1f08fbef54a248b64d0a9532aa5daa61","partial_byte_size":6198,"partial_path":"build\\phase7-fault-release2\\working\\interrupted\\01590fe3-e7ca-4e25-8b3a-1f3030e6885d.zip.partial","pid":38332,"reached":true},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"b9606d88-c543-461e-b948-1d89709557e4","fault_point":"after_commit_before_acknowledgement","multipart_aborted":false,"ordinal":76,"partial_export_removed":false,"process_state":{"attempt_id":"45d0c3cc-7b5b-4d8c-9351-39231caa75a0","byte_size":12612,"committed":true,"fencing_token":1,"job_id":"fe6d1082-99a9-478a-9b3a-40348a500c52","kill_stage":"after_commit_before_acknowledgement","lease_expires_at":null,"lease_owner":"fault-worker-076","lease_token":null,"object_keys":["observations/b9606d88-c543-461e-b948-1d89709557e4/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4"],"observation_id":"obs:88adb71861dfb514c417fb6da350e784","outcome_status":"succeeded","pid":4500,"reached":true,"sha256":"a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4","work_item_id":"fc99a8c0-9924-4677-84d9-7f1ab7a4dde8"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"1e330dca-c472-448e-b9b0-abb37eec951e","fault_point":"after_adapter_return_before_upload","multipart_aborted":false,"ordinal":77,"partial_export_removed":false,"process_state":{"attempt_id":"2b46fad8-f824-4362-ab40-05a68c48306e","committed":false,"fencing_token":1,"job_id":"d63f5d1f-032f-4d74-8c23-6e3e2c270820","kill_stage":"after_adapter_return_before_upload","lease_expires_at":"2026-08-13 15:29:52.789055+00:00","lease_owner":"fault-worker-077","lease_token":"6872901c-5e85-48fa-932e-db8c55ab4763","pid":30160,"reached":true,"work_item_id":"7edcfec1-f120-4543-b3e7-84be18155bdf"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"48759d52-8893-4de1-9344-b3ee0f5e48a8","fault_point":"after_upload_before_outcome_transaction","multipart_aborted":false,"ordinal":78,"partial_export_removed":false,"process_state":{"attempt_id":"ab6d0f37-42f8-4cd4-9023-49ba2032a3df","byte_size":12612,"committed":false,"fencing_token":1,"job_id":"ac386c2c-a15a-4041-96a1-c5ae50c02c12","kill_stage":"after_upload_before_outcome_transaction","lease_expires_at":"2026-08-13 15:30:02.436734+00:00","lease_owner":"fault-worker-078","lease_token":"1d3ffec3-a1e8-4a8b-aa54-a41098c21939","object_keys":["observations/48759d52-8893-4de1-9344-b3ee0f5e48a8/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa"],"pid":12876,"reached":true,"sha256":"aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa","work_item_id":"e25b4a3b-4909-49ed-a392-17f26788ca54"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"39c05254-5da1-43e2-9eed-044e22381b6f","fault_point":"during_evidence_export","multipart_aborted":false,"ordinal":79,"partial_export_removed":true,"process_state":{"complete_byte_size":12368,"kill_stage":"during_evidence_export","object_store_bucket":"labbridge-phase7-fault-release2","package_id":"experiment-package:c518144f36c3e6c49cedabf0b3ec3f42","partial_byte_size":6184,"partial_path":"build\\phase7-fault-release2\\working\\interrupted\\39c05254-5da1-43e2-9eed-044e22381b6f.zip.partial","pid":29620,"reached":true},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"58bc6b16-5c81-4b87-a0e8-81dec961885a","fault_point":"after_adapter_return_before_upload","multipart_aborted":false,"ordinal":80,"partial_export_removed":false,"process_state":{"attempt_id":"d562c7d6-2ca2-4fdf-83e6-b3554028ecfd","committed":false,"fencing_token":1,"job_id":"015f4f86-6934-4eaa-bfc7-43efa9427e67","kill_stage":"after_adapter_return_before_upload","lease_expires_at":"2026-08-13 15:30:20.212566+00:00","lease_owner":"fault-worker-080","lease_token":"96119ed7-4872-48ca-a672-8f619772de4c","pid":39852,"reached":true,"work_item_id":"0537bfd2-70a1-4cf0-9049-158ee56b8351"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"9f330b2f-2e46-4923-9ddf-894e38a6627c","fault_point":"during_object_upload","multipart_aborted":true,"ordinal":81,"partial_export_removed":false,"process_state":{"attempt_id":"a9b0fe5d-b2cb-478d-aff5-373e8fed74a2","committed":false,"fencing_token":1,"job_id":"6b57a9ac-f611-48bd-9b5a-b13bae62af95","kill_stage":"during_object_upload","lease_expires_at":"2026-08-13 15:30:30.667044+00:00","lease_owner":"fault-worker-081","lease_token":"e193c56e-216b-4987-a706-3c2f2569a2a5","multipart_part_count":1,"multipart_upload_id":"ZjAzZDk3MmEtNDFiYy00ZGRhLTg1MjAtNWI4MzdmNzFhZDRiLmQ0Zjk4OGU2LTZkZWQtNDg4MS04NjlkLWNiYWZjNjRjMTkzNngxNzg2NjM1MDI5ODAzNjQ3OTQ3","object_keys":["observations/9f330b2f-2e46-4923-9ddf-894e38a6627c/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea"],"pid":38508,"reached":true,"work_item_id":"94ec4db6-54a4-4ae1-8141-6f2ae450bfd5"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"dd914774-38dd-492d-92fb-8420c8ab58b7","fault_point":"after_commit_before_acknowledgement","multipart_aborted":false,"ordinal":82,"partial_export_removed":false,"process_state":{"attempt_id":"35ae5205-1d6d-498d-a8c6-7c170afccb73","byte_size":12612,"committed":true,"fencing_token":1,"job_id":"0f5e8c8c-3916-488f-b440-5580031da826","kill_stage":"after_commit_before_acknowledgement","lease_expires_at":null,"lease_owner":"fault-worker-082","lease_token":null,"object_keys":["observations/dd914774-38dd-492d-92fb-8420c8ab58b7/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4"],"observation_id":"obs:88adb71861dfb514c417fb6da350e784","outcome_status":"succeeded","pid":33456,"reached":true,"sha256":"a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4","work_item_id":"fe034118-ed88-416f-b4f2-e8a676829297"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"1e85d510-f597-405f-9351-eb5683f60ed3","fault_point":"after_upload_before_outcome_transaction","multipart_aborted":false,"ordinal":83,"partial_export_removed":false,"process_state":{"attempt_id":"0b81cdac-36a1-4e53-9037-afcc661b14c9","byte_size":12588,"committed":false,"fencing_token":1,"job_id":"b9f49de6-29d6-4f40-839b-20736ebe1950","kill_stage":"after_upload_before_outcome_transaction","lease_expires_at":"2026-08-13 15:30:51.902560+00:00","lease_owner":"fault-worker-083","lease_token":"b5d2fe69-29f2-48e5-8c3c-94a0299588fa","object_keys":["observations/1e85d510-f597-405f-9351-eb5683f60ed3/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac"],"pid":3644,"reached":true,"sha256":"a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac","work_item_id":"42ec6a5e-07c5-4d7b-9a5d-4bf0c62e73b3"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"68613b39-5b67-4f47-a4da-35ce5068f40b","fault_point":"after_upload_before_outcome_transaction","multipart_aborted":false,"ordinal":84,"partial_export_removed":false,"process_state":{"attempt_id":"875cc2d7-de5c-4ed7-96a0-5dee7cec3715","byte_size":12612,"committed":false,"fencing_token":1,"job_id":"3f9ce7b1-3123-4139-9967-485805f20333","kill_stage":"after_upload_before_outcome_transaction","lease_expires_at":"2026-08-13 15:31:02.371821+00:00","lease_owner":"fault-worker-084","lease_token":"b0353153-cd16-4d18-a1f0-8e24724e7208","object_keys":["observations/68613b39-5b67-4f47-a4da-35ce5068f40b/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa"],"pid":34568,"reached":true,"sha256":"aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa","work_item_id":"32985d74-6077-453f-b4e4-2defde80c67f"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"5b3e002f-5593-456a-9e46-d21e941ec43e","fault_point":"after_adapter_return_before_upload","multipart_aborted":false,"ordinal":85,"partial_export_removed":false,"process_state":{"attempt_id":"bd07e15e-aa9f-4a3d-bd37-4f1f4665896a","committed":false,"fencing_token":1,"job_id":"e1407459-126c-4b7c-b450-299f9ee420ab","kill_stage":"after_adapter_return_before_upload","lease_expires_at":"2026-08-13 15:31:13.357565+00:00","lease_owner":"fault-worker-085","lease_token":"86c854e6-225c-4b9b-b18a-2a3d01e5bd29","pid":8344,"reached":true,"work_item_id":"072c2021-1a32-4958-a3a4-96b3ed3756bb"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"ed089dbc-273b-410a-ae00-2adc2cdb48ce","fault_point":"during_object_upload","multipart_aborted":true,"ordinal":86,"partial_export_removed":false,"process_state":{"attempt_id":"8649821a-bb65-4e68-bc89-20f0c508dbb3","committed":false,"fencing_token":1,"job_id":"5f220615-d7c7-4719-8d9d-d3bac96c3a00","kill_stage":"during_object_upload","lease_expires_at":"2026-08-13 15:31:25.132967+00:00","lease_owner":"fault-worker-086","lease_token":"eff689b2-84d9-4dce-8bb1-45b8bbaa8524","multipart_part_count":1,"multipart_upload_id":"ZjAzZDk3MmEtNDFiYy00ZGRhLTg1MjAtNWI4MzdmNzFhZDRiLmY2OTk4YzMyLWRmMWUtNDE4ZC1iZDBjLTMwZWM4ZDAzNzdlMHgxNzg2NjM1MDg0MzMxODU1ODMx","object_keys":["observations/ed089dbc-273b-410a-ae00-2adc2cdb48ce/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c"],"pid":34152,"reached":true,"work_item_id":"8230fe47-829e-40c6-8fc7-f881745ca746"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"edbe2be0-d9ed-46d1-a4a5-41fe9f7e9536","fault_point":"after_upload_before_outcome_transaction","multipart_aborted":false,"ordinal":87,"partial_export_removed":false,"process_state":{"attempt_id":"6ddf6f37-41da-42d3-baf6-f644cb842302","byte_size":12588,"committed":false,"fencing_token":1,"job_id":"28df16bd-49bb-42ed-a144-62b8e2e52eab","kill_stage":"after_upload_before_outcome_transaction","lease_expires_at":"2026-08-13 15:31:35.885527+00:00","lease_owner":"fault-worker-087","lease_token":"2b53b4e0-ca7f-4aca-9855-cc8c65a63f90","object_keys":["observations/edbe2be0-d9ed-46d1-a4a5-41fe9f7e9536/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea"],"pid":36440,"reached":true,"sha256":"d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea","work_item_id":"dc22e64d-4d20-4ed8-a65d-6e997d4f0ea2"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"7a82b14e-f2c1-4679-b28a-9e0194e71e95","fault_point":"after_upload_before_outcome_transaction","multipart_aborted":false,"ordinal":88,"partial_export_removed":false,"process_state":{"attempt_id":"4613bfeb-ab6c-45f6-9bbe-96e0fd28aa9b","byte_size":12612,"committed":false,"fencing_token":1,"job_id":"9713e8fd-b465-45f1-b193-d5c9471266f6","kill_stage":"after_upload_before_outcome_transaction","lease_expires_at":"2026-08-13 15:31:46.699409+00:00","lease_owner":"fault-worker-088","lease_token":"30d6b4e8-ebf7-478c-b5e1-a2473331a4ae","object_keys":["observations/7a82b14e-f2c1-4679-b28a-9e0194e71e95/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4"],"pid":30076,"reached":true,"sha256":"a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4","work_item_id":"c8c45608-cd3b-4dce-bb2a-ee8dd1563e43"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"84a30526-8931-4372-90f9-b60c1e111ed0","fault_point":"after_adapter_return_before_upload","multipart_aborted":false,"ordinal":89,"partial_export_removed":false,"process_state":{"attempt_id":"b0871059-bb5f-4bfb-8759-5eaf2cbdf67a","committed":false,"fencing_token":1,"job_id":"72c1d8a6-c28a-42bc-8042-2e4d75c1fab8","kill_stage":"after_adapter_return_before_upload","lease_expires_at":"2026-08-13 15:31:57.891865+00:00","lease_owner":"fault-worker-089","lease_token":"fd032a35-35d4-449b-b3d2-261636c3bc41","pid":38948,"reached":true,"work_item_id":"72ae051b-e65c-4538-a07c-a528ac3233f1"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"136f2ca6-1984-42a4-9266-82479854223f","fault_point":"after_upload_before_outcome_transaction","multipart_aborted":false,"ordinal":90,"partial_export_removed":false,"process_state":{"attempt_id":"3cbc4f65-2d73-47ab-a9dd-2440d80414e0","byte_size":12612,"committed":false,"fencing_token":1,"job_id":"529e499e-5051-4f5f-bec4-ba13fb2cc19f","kill_stage":"after_upload_before_outcome_transaction","lease_expires_at":"2026-08-13 15:32:08.368791+00:00","lease_owner":"fault-worker-090","lease_token":"7ffa84d5-21c0-4495-9f8d-0b3aac293092","object_keys":["observations/136f2ca6-1984-42a4-9266-82479854223f/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa"],"pid":36292,"reached":true,"sha256":"aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa","work_item_id":"78a497d0-9374-47db-acb6-bec8f774bbd0"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"4cf918c1-a536-4f95-968e-7a5406ce59b7","fault_point":"during_evidence_export","multipart_aborted":false,"ordinal":91,"partial_export_removed":true,"process_state":{"complete_byte_size":12381,"kill_stage":"during_evidence_export","object_store_bucket":"labbridge-phase7-fault-release2","package_id":"experiment-package:246eea282d3fd650a964458d53a3a1a6","partial_byte_size":6190,"partial_path":"build\\phase7-fault-release2\\working\\interrupted\\4cf918c1-a536-4f95-968e-7a5406ce59b7.zip.partial","pid":13640,"reached":true},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"6c3b6a35-8005-4b87-9352-3c102ea4e6e3","fault_point":"after_adapter_return_before_upload","multipart_aborted":false,"ordinal":92,"partial_export_removed":false,"process_state":{"attempt_id":"88b16124-84e5-41c9-a834-5820f6969414","committed":false,"fencing_token":1,"job_id":"afabcfdf-f14f-4c52-90c0-b472731529db","kill_stage":"after_adapter_return_before_upload","lease_expires_at":"2026-08-13 15:32:27.143725+00:00","lease_owner":"fault-worker-092","lease_token":"54d36501-adcf-46bc-a4d7-f83502bb579e","pid":37516,"reached":true,"work_item_id":"94c584e1-c416-4322-a655-0cd6ec0f448d"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"519d9e8c-7f1f-4fcf-9b02-a880ca86a268","fault_point":"after_adapter_return_before_upload","multipart_aborted":false,"ordinal":93,"partial_export_removed":false,"process_state":{"attempt_id":"727f0b68-6efb-419b-b643-ce43332c8e84","committed":false,"fencing_token":1,"job_id":"ff258052-0141-459b-8fe7-f568e33491f8","kill_stage":"after_adapter_return_before_upload","lease_expires_at":"2026-08-13 15:32:38.480914+00:00","lease_owner":"fault-worker-093","lease_token":"e28ed570-a912-49a7-bce2-93ec3bb80e1f","pid":38076,"reached":true,"work_item_id":"553372a2-23bc-4845-a8c5-589d716bef54"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"eedb969b-1a0d-45d1-a1e8-37cbea951417","fault_point":"during_evidence_export","multipart_aborted":false,"ordinal":94,"partial_export_removed":true,"process_state":{"complete_byte_size":12386,"kill_stage":"during_evidence_export","object_store_bucket":"labbridge-phase7-fault-release2","package_id":"experiment-package:fca71f41d87ba21dfba25e19d86ccf48","partial_byte_size":6193,"partial_path":"build\\phase7-fault-release2\\working\\interrupted\\eedb969b-1a0d-45d1-a1e8-37cbea951417.zip.partial","pid":23984,"reached":true},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"f5360227-cf82-4423-9f17-fcc48f0e26df","fault_point":"after_lease_acquisition","multipart_aborted":false,"ordinal":95,"partial_export_removed":false,"process_state":{"attempt_id":null,"committed":false,"fencing_token":1,"job_id":"9d455da5-2bf9-4dc1-af55-f4f531f98956","kill_stage":"after_lease_acquisition","lease_expires_at":"2026-08-13 15:32:57.698988+00:00","lease_owner":"fault-worker-095","lease_token":"8dcd7caa-6953-413c-b66b-494e6d144bbc","pid":39056,"reached":true,"work_item_id":"97bd4c62-78bc-46b6-babc-813646246df6"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"61890fc0-9ed1-4ed1-8db0-fd4c5b6318dc","fault_point":"after_upload_before_outcome_transaction","multipart_aborted":false,"ordinal":96,"partial_export_removed":false,"process_state":{"attempt_id":"f80bc625-b11b-4694-87aa-4d7e63701e44","byte_size":12612,"committed":false,"fencing_token":1,"job_id":"241d8517-eede-43eb-b7f5-9d1cb1ed399a","kill_stage":"after_upload_before_outcome_transaction","lease_expires_at":"2026-08-13 15:33:09.313905+00:00","lease_owner":"fault-worker-096","lease_token":"8cbd6c77-536a-43d8-be38-80bbdf1fe731","object_keys":["observations/61890fc0-9ed1-4ed1-8db0-fd4c5b6318dc/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa"],"pid":33372,"reached":true,"sha256":"aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa","work_item_id":"812d3b60-6b8a-4f75-bf11-c8be71a7142f"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"a2c40507-e440-4f6a-b166-87f5d619a9dd","fault_point":"after_commit_before_acknowledgement","multipart_aborted":false,"ordinal":97,"partial_export_removed":false,"process_state":{"attempt_id":"e972f874-82c7-4b08-a631-db874f914b7c","byte_size":12528,"committed":true,"fencing_token":1,"job_id":"72933fea-55b7-4f84-9469-ff8830391459","kill_stage":"after_commit_before_acknowledgement","lease_expires_at":null,"lease_owner":"fault-worker-097","lease_token":null,"object_keys":["observations/a2c40507-e440-4f6a-b166-87f5d619a9dd/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f"],"observation_id":"obs:b84eb9616f3723fa4749e020b2922217","outcome_status":"succeeded","pid":30836,"reached":true,"sha256":"d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f","work_item_id":"1fb0762f-2fb6-4b1f-af36-3ad65740aa99"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"f3e4def2-6635-4026-9e1f-9fa2b0f3e4f2","fault_point":"during_object_upload","multipart_aborted":true,"ordinal":98,"partial_export_removed":false,"process_state":{"attempt_id":"4788404f-f20d-4a7f-8651-c73c8d5d5868","committed":false,"fencing_token":1,"job_id":"61682296-22f1-4fa3-80d8-40edf6f84df4","kill_stage":"during_object_upload","lease_expires_at":"2026-08-13 15:33:32.400339+00:00","lease_owner":"fault-worker-098","lease_token":"cf9d932d-d3e1-4ab5-b329-e41df0b6198b","multipart_part_count":1,"multipart_upload_id":"ZjAzZDk3MmEtNDFiYy00ZGRhLTg1MjAtNWI4MzdmNzFhZDRiLjZhYTY2MjljLWY0NDUtNDZjNC1hZjk5LWU1ZGE2ZDI5ZjdmMngxNzg2NjM1MjExNTc2MjkxNzM5","object_keys":["observations/f3e4def2-6635-4026-9e1f-9fa2b0f3e4f2/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c"],"pid":37700,"reached":true,"work_item_id":"7b484342-1dca-49ea-8805-e75a675f227f"},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"94c8929d-f086-472b-b54d-4702739bb26f","fault_point":"during_evidence_export","multipart_aborted":false,"ordinal":99,"partial_export_removed":true,"process_state":{"complete_byte_size":12381,"kill_stage":"during_evidence_export","object_store_bucket":"labbridge-phase7-fault-release2","package_id":"experiment-package:522e2e2e808c572e195f5578d5c22167","partial_byte_size":6190,"partial_path":"build\\phase7-fault-release2\\working\\interrupted\\94c8929d-f086-472b-b54d-4702739bb26f.zip.partial","pid":34420,"reached":true},"replay_mismatches":[],"stderr":"","stdout":""} -{"campaign_id":"19937805-b191-4d42-bff5-ef2f6ada4fe8","fault_point":"during_evidence_export","multipart_aborted":false,"ordinal":100,"partial_export_removed":true,"process_state":{"complete_byte_size":12380,"kill_stage":"during_evidence_export","object_store_bucket":"labbridge-phase7-fault-release2","package_id":"experiment-package:8a4c6732bf6d082a13cfb1ba573c21c0","partial_byte_size":6190,"partial_path":"build\\phase7-fault-release2\\working\\interrupted\\19937805-b191-4d42-bff5-ef2f6ada4fe8.zip.partial","pid":9728,"reached":true},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"6b985d61-1f60-44d9-881c-807d024beb86","fault_point":"after_upload_before_outcome_transaction","multipart_aborted":false,"ordinal":1,"partial_export_removed":false,"process_state":{"attempt_id":"1baa9238-c9d8-4c41-8332-7d981abee592","byte_size":12528,"committed":false,"fencing_token":1,"job_id":"e23265a7-5cce-4aeb-a5c1-2a8d83e4b05e","kill_stage":"after_upload_before_outcome_transaction","lease_expires_at":"2026-08-14 10:10:11.858066+00:00","lease_owner":"fault-worker-001","lease_token":"26145127-789d-470d-b7a9-1a97227edd49","object_keys":["observations/6b985d61-1f60-44d9-881c-807d024beb86/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f"],"pid":35220,"reached":true,"sha256":"d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f","work_item_id":"3f2023a3-d20b-42e9-9c37-e0aa62979a25"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"3ec20c72-ef7d-4976-8458-f77e4c0cdf95","fault_point":"after_commit_before_acknowledgement","multipart_aborted":false,"ordinal":2,"partial_export_removed":false,"process_state":{"attempt_id":"56f66952-4066-484b-9afd-9728089a08eb","byte_size":12552,"committed":true,"fencing_token":1,"job_id":"6a26b627-5f0f-4611-99b7-8a21a4d70d10","kill_stage":"after_commit_before_acknowledgement","lease_expires_at":null,"lease_owner":"fault-worker-002","lease_token":null,"object_keys":["observations/3ec20c72-ef7d-4976-8458-f77e4c0cdf95/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c"],"observation_id":"obs:ec33918fdd0d2872e583371f88a7fdcb","outcome_status":"succeeded","pid":31992,"reached":true,"sha256":"15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c","work_item_id":"8fa0dae1-2252-42c5-929b-d54db89dc1e9"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"d691cf85-6cc4-4ff6-ae0e-e09eef28676b","fault_point":"after_commit_before_acknowledgement","multipart_aborted":false,"ordinal":3,"partial_export_removed":false,"process_state":{"attempt_id":"818d413f-5027-4bd7-a668-6f3d9aec557f","byte_size":12588,"committed":true,"fencing_token":1,"job_id":"7790c4d1-5354-42b7-b4cf-122cc0acdbe7","kill_stage":"after_commit_before_acknowledgement","lease_expires_at":null,"lease_owner":"fault-worker-003","lease_token":null,"object_keys":["observations/d691cf85-6cc4-4ff6-ae0e-e09eef28676b/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea"],"observation_id":"obs:4a4ceb152add486a6face6ca46f59b79","outcome_status":"succeeded","pid":35612,"reached":true,"sha256":"d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea","work_item_id":"4831f91f-ea21-4615-8484-e4210db2abbb"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"e99032a1-d0db-417c-afbb-7323c2916f43","fault_point":"after_upload_before_outcome_transaction","multipart_aborted":false,"ordinal":4,"partial_export_removed":false,"process_state":{"attempt_id":"66061769-1259-4e0c-87b6-83eee7e8543a","byte_size":12612,"committed":false,"fencing_token":1,"job_id":"ae4d208b-6f22-4dd7-9c7b-264f5363bdd1","kill_stage":"after_upload_before_outcome_transaction","lease_expires_at":"2026-08-14 10:10:27.693359+00:00","lease_owner":"fault-worker-004","lease_token":"bbd834e1-5498-42e4-88b0-51738ff977df","object_keys":["observations/e99032a1-d0db-417c-afbb-7323c2916f43/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4"],"pid":34784,"reached":true,"sha256":"a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4","work_item_id":"fa45a7c7-c124-41ab-8fcf-9b6ee7918287"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"debea722-7e09-48fa-87da-b9497c61bed9","fault_point":"during_evidence_export","multipart_aborted":false,"ordinal":5,"partial_export_removed":true,"process_state":{"complete_byte_size":12356,"kill_stage":"during_evidence_export","object_store_bucket":"labbridge-phase7-fault-release3","package_id":"experiment-package:ae759fee90c05341a1a718b80d5537f5","partial_byte_size":6178,"partial_path":"build\\phase7-fault-campaign\\working\\interrupted\\debea722-7e09-48fa-87da-b9497c61bed9.zip.partial","pid":36428,"reached":true},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"a1bc6249-fbc8-4959-bfbe-28a425045f05","fault_point":"after_commit_before_acknowledgement","multipart_aborted":false,"ordinal":6,"partial_export_removed":false,"process_state":{"attempt_id":"0572dcea-bfa6-429c-9820-b8b550d13996","byte_size":12612,"committed":true,"fencing_token":1,"job_id":"0c060b82-d703-45fe-8005-67d3cdaab86f","kill_stage":"after_commit_before_acknowledgement","lease_expires_at":null,"lease_owner":"fault-worker-006","lease_token":null,"object_keys":["observations/a1bc6249-fbc8-4959-bfbe-28a425045f05/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa"],"observation_id":"obs:c2adaedb0ac11f4fdb041873e5366ca7","outcome_status":"succeeded","pid":36304,"reached":true,"sha256":"aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa","work_item_id":"32e3b842-a7cc-4d56-b802-bfe6b63bac43"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"4e2327cc-9dea-464a-bfdd-cb24bb962bda","fault_point":"after_lease_acquisition","multipart_aborted":false,"ordinal":7,"partial_export_removed":false,"process_state":{"attempt_id":null,"committed":false,"fencing_token":1,"job_id":"07963c85-70c8-47c3-8a8c-bc72df9473ed","kill_stage":"after_lease_acquisition","lease_expires_at":"2026-08-14 10:10:39.379360+00:00","lease_owner":"fault-worker-007","lease_token":"d77309d8-bf91-4b4a-abf9-31ede2aea2b4","pid":24932,"reached":true,"work_item_id":"bca4a4f3-a5f3-4dc6-9ce6-80186a03f9d1"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"63c86416-3e69-49c6-9c26-7c19c7cad96d","fault_point":"during_object_upload","multipart_aborted":true,"ordinal":8,"partial_export_removed":false,"process_state":{"attempt_id":"6a399dd6-d3a0-4936-872b-fda05584dc36","committed":false,"fencing_token":1,"job_id":"21139f34-4c58-4ca8-9d72-7a3ec9bfbc93","kill_stage":"during_object_upload","lease_expires_at":"2026-08-14 10:10:43.958089+00:00","lease_owner":"fault-worker-008","lease_token":"d6b2cec8-584a-4a49-bd2c-c50c7c221397","multipart_part_count":1,"multipart_upload_id":"Njg2NTZiOWUtYzNmOC00Nzk2LWFlMjMtZDgxZGU1MGViNTk4LjU2NDJjYmRmLTNlMGYtNGFmMS1iYjA0LTEzMmU0Mjk3NWNjZHgxNzg2NzAyMjQzMTIxMzcxNDYy","object_keys":["observations/63c86416-3e69-49c6-9c26-7c19c7cad96d/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c"],"pid":29024,"reached":true,"work_item_id":"e9f91370-0cb3-477e-9464-7fceaaa07172"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"605615d2-914f-4543-b5b0-f0a4b8bce588","fault_point":"during_object_upload","multipart_aborted":true,"ordinal":9,"partial_export_removed":false,"process_state":{"attempt_id":"e05ccbb3-debf-46a9-8eca-33aabe2c2091","committed":false,"fencing_token":1,"job_id":"b7b34ae4-5260-431e-bd4b-32043162248b","kill_stage":"during_object_upload","lease_expires_at":"2026-08-14 10:10:50.156977+00:00","lease_owner":"fault-worker-009","lease_token":"cfd251c8-a3b9-4470-8102-7739c1253a07","multipart_part_count":1,"multipart_upload_id":"Njg2NTZiOWUtYzNmOC00Nzk2LWFlMjMtZDgxZGU1MGViNTk4LjBlM2EzYjA0LTAzZjctNDc1Mi05MGY3LWFiYTE2MWY0MjNlYngxNzg2NzAyMjQ5NDg3MTU2NjIz","object_keys":["observations/605615d2-914f-4543-b5b0-f0a4b8bce588/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea"],"pid":14492,"reached":true,"work_item_id":"c455617e-3867-4108-ae2b-4b05f0f2ac93"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"fa5dde52-f4d2-49e6-9da6-9e0650f9f995","fault_point":"after_adapter_return_before_upload","multipart_aborted":false,"ordinal":10,"partial_export_removed":false,"process_state":{"attempt_id":"c26a36ad-1513-49a7-b4ab-a7d0d23ed5cf","committed":false,"fencing_token":1,"job_id":"84dcec9b-f719-4f2f-9c8b-d936a1d17713","kill_stage":"after_adapter_return_before_upload","lease_expires_at":"2026-08-14 10:10:56.611658+00:00","lease_owner":"fault-worker-010","lease_token":"4bfe8f05-de34-4c01-9fcb-dcd7b6f10fe5","pid":28800,"reached":true,"work_item_id":"5ccdb010-1dd3-4f99-860d-710f82680244"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"7f13ceee-76a2-4996-be86-6342a9ca4b14","fault_point":"during_object_upload","multipart_aborted":true,"ordinal":11,"partial_export_removed":false,"process_state":{"attempt_id":"6162ee4b-ddc7-4d4a-bc2b-2a1eb958c208","committed":false,"fencing_token":1,"job_id":"fd9972ae-cc92-4382-8f75-6519351ffca9","kill_stage":"during_object_upload","lease_expires_at":"2026-08-14 10:11:02.196180+00:00","lease_owner":"fault-worker-011","lease_token":"b405f483-1246-4f4f-8268-d2ac0bda152c","multipart_part_count":1,"multipart_upload_id":"Njg2NTZiOWUtYzNmOC00Nzk2LWFlMjMtZDgxZGU1MGViNTk4LmNmMzcyM2E0LWIxZmMtNDVhNC04ZjAxLTk5NzY4NTQxNDkzY3gxNzg2NzAyMjYxMzg3MTE3MjA1","object_keys":["observations/7f13ceee-76a2-4996-be86-6342a9ca4b14/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac"],"pid":27400,"reached":true,"work_item_id":"98f1d87a-f766-40e3-ae0c-c871bdd50f81"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"8c33bb8b-54d6-4e69-8398-19320e394cec","fault_point":"after_commit_before_acknowledgement","multipart_aborted":false,"ordinal":12,"partial_export_removed":false,"process_state":{"attempt_id":"03c293c6-80a2-48f5-959b-1bb4ad492ee9","byte_size":12612,"committed":true,"fencing_token":1,"job_id":"21fcadc6-3442-4396-a557-231e7eefa943","kill_stage":"after_commit_before_acknowledgement","lease_expires_at":null,"lease_owner":"fault-worker-012","lease_token":null,"object_keys":["observations/8c33bb8b-54d6-4e69-8398-19320e394cec/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa"],"observation_id":"obs:c2adaedb0ac11f4fdb041873e5366ca7","outcome_status":"succeeded","pid":36232,"reached":true,"sha256":"aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa","work_item_id":"43afe326-39ad-4d47-9f6a-572b44d9c453"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"eb15f57a-9453-455b-b698-b9c0c7392a7a","fault_point":"after_adapter_return_before_upload","multipart_aborted":false,"ordinal":13,"partial_export_removed":false,"process_state":{"attempt_id":"dccfdcff-a9d4-43a8-9719-57d6ccd56d91","committed":false,"fencing_token":1,"job_id":"294d97ad-9f02-4606-bd8a-07a587a588a0","kill_stage":"after_adapter_return_before_upload","lease_expires_at":"2026-08-14 10:11:12.563307+00:00","lease_owner":"fault-worker-013","lease_token":"8111c028-b8a2-4e24-af66-3cb9e4e47ff7","pid":34956,"reached":true,"work_item_id":"d212ce84-a36f-402b-9a84-876f4613cd52"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"151ccef8-ef3e-4d0f-8369-e7f7f608ef6f","fault_point":"after_lease_acquisition","multipart_aborted":false,"ordinal":14,"partial_export_removed":false,"process_state":{"attempt_id":null,"committed":false,"fencing_token":1,"job_id":"42ad698a-bcc0-4474-bd10-8c0c731a6883","kill_stage":"after_lease_acquisition","lease_expires_at":"2026-08-14 10:11:17.773487+00:00","lease_owner":"fault-worker-014","lease_token":"0c5bfbaa-3df0-4d08-9ebd-1b2df6752376","pid":1888,"reached":true,"work_item_id":"f8a31524-8881-48c9-9938-903fa24a51b6"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"ae40ec4a-9c7c-4bf0-b9cf-f52c96558d1c","fault_point":"after_lease_acquisition","multipart_aborted":false,"ordinal":15,"partial_export_removed":false,"process_state":{"attempt_id":null,"committed":false,"fencing_token":1,"job_id":"3f5cc94c-5e19-4cfe-b7ad-0ce108936ae0","kill_stage":"after_lease_acquisition","lease_expires_at":"2026-08-14 10:11:23.812133+00:00","lease_owner":"fault-worker-015","lease_token":"6a961aa6-93ab-40b5-948d-234f459475ff","pid":33568,"reached":true,"work_item_id":"dbeec658-fa24-42a2-a273-486a5cecb1fa"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"7ddde011-de55-4b48-8979-a68b176eafaa","fault_point":"after_lease_acquisition","multipart_aborted":false,"ordinal":16,"partial_export_removed":false,"process_state":{"attempt_id":null,"committed":false,"fencing_token":1,"job_id":"f882507b-37d9-4b53-b951-2274fcfa88ab","kill_stage":"after_lease_acquisition","lease_expires_at":"2026-08-14 10:11:29.215163+00:00","lease_owner":"fault-worker-016","lease_token":"70912909-3362-42f2-a04c-1f86794c4cbf","pid":34368,"reached":true,"work_item_id":"197cbe92-29b2-4806-b8e9-aec38d4f7f0b"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"137655fe-2638-4d0f-a009-bcc9176dd0e7","fault_point":"after_adapter_return_before_upload","multipart_aborted":false,"ordinal":17,"partial_export_removed":false,"process_state":{"attempt_id":"000c9f69-779a-4eb8-8d1d-399e7490988e","committed":false,"fencing_token":1,"job_id":"17b2136f-adb7-426d-980d-ba6cd5c47dae","kill_stage":"after_adapter_return_before_upload","lease_expires_at":"2026-08-14 10:11:35.927691+00:00","lease_owner":"fault-worker-017","lease_token":"6356eaf7-f06f-423c-9ea6-724755e69530","pid":2232,"reached":true,"work_item_id":"08f82a3e-db12-473b-bf2a-d46b363abe8b"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"c5e5e6d8-0f6e-4af6-81df-c86cfb376721","fault_point":"during_object_upload","multipart_aborted":true,"ordinal":18,"partial_export_removed":false,"process_state":{"attempt_id":"f805a62f-3211-4dc2-8b4d-852b94375b59","committed":false,"fencing_token":1,"job_id":"ee470b6c-cf87-4a6d-8ce9-fd133735a1d7","kill_stage":"during_object_upload","lease_expires_at":"2026-08-14 10:11:42.585245+00:00","lease_owner":"fault-worker-018","lease_token":"89fe87a1-2429-4d9b-a565-41865d1da910","multipart_part_count":1,"multipart_upload_id":"Njg2NTZiOWUtYzNmOC00Nzk2LWFlMjMtZDgxZGU1MGViNTk4LjNiYzE1OGNmLTU2MTAtNGU4ZS1iYzNmLTRjYzhkZDNhNDc5MXgxNzg2NzAyMzAxNzc5MTczNTY2","object_keys":["observations/c5e5e6d8-0f6e-4af6-81df-c86cfb376721/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa"],"pid":34360,"reached":true,"work_item_id":"0d43221b-5dae-4a18-9ae1-42a5b8cda496"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"b27e92ae-eb8e-4576-bef9-b923334dcc71","fault_point":"after_adapter_return_before_upload","multipart_aborted":false,"ordinal":19,"partial_export_removed":false,"process_state":{"attempt_id":"cb5cd259-16d3-4200-b238-fac324de5e7a","committed":false,"fencing_token":1,"job_id":"1aa7aaff-3c63-4daf-86a7-d43f388c3723","kill_stage":"after_adapter_return_before_upload","lease_expires_at":"2026-08-14 10:11:49.041490+00:00","lease_owner":"fault-worker-019","lease_token":"a76f518a-047b-4178-b4b4-44c3401f2ff2","pid":27016,"reached":true,"work_item_id":"2a132801-1535-45e8-8fc3-21424ff3435c"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"60c1b1b6-173f-4375-afc2-67a5f2ae08aa","fault_point":"during_object_upload","multipart_aborted":true,"ordinal":20,"partial_export_removed":false,"process_state":{"attempt_id":"92c9a3ab-c895-439b-aee3-38e25d45516a","committed":false,"fencing_token":1,"job_id":"0b9f1105-dc60-4a2e-aad5-69a1f87d46fb","kill_stage":"during_object_upload","lease_expires_at":"2026-08-14 10:11:55.134591+00:00","lease_owner":"fault-worker-020","lease_token":"dbf7fd5f-0a9e-43c0-b334-b27a5444876d","multipart_part_count":1,"multipart_upload_id":"Njg2NTZiOWUtYzNmOC00Nzk2LWFlMjMtZDgxZGU1MGViNTk4LjE1MTBlNTM5LTdmOWItNGMyYy04ZTU0LWE2MzdiNjg0MjVmM3gxNzg2NzAyMzE0MzQxOTQ4Mjg0","object_keys":["observations/60c1b1b6-173f-4375-afc2-67a5f2ae08aa/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c"],"pid":34240,"reached":true,"work_item_id":"64e706a7-bac6-4725-8b09-959cf2ebee4a"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"4a29aec2-9501-4195-97e3-25eeb1014c87","fault_point":"during_object_upload","multipart_aborted":true,"ordinal":21,"partial_export_removed":false,"process_state":{"attempt_id":"ddf9943c-95d3-4a49-a41c-6a63a1c2433a","committed":false,"fencing_token":1,"job_id":"ef0c865e-2669-4547-87a4-118aeba79e20","kill_stage":"during_object_upload","lease_expires_at":"2026-08-14 10:12:00.878315+00:00","lease_owner":"fault-worker-021","lease_token":"50f9fdc5-dfaf-4084-9c84-7c69c1231092","multipart_part_count":1,"multipart_upload_id":"Njg2NTZiOWUtYzNmOC00Nzk2LWFlMjMtZDgxZGU1MGViNTk4LjI3ZTZjYjM5LTQwNDgtNDRiNC1hMjU1LTA5ZDg0Nzg2OTY1ZXgxNzg2NzAyMzIwMDgxNzIyODQ1","object_keys":["observations/4a29aec2-9501-4195-97e3-25eeb1014c87/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea"],"pid":34460,"reached":true,"work_item_id":"088ee337-19c3-4e44-bf9f-dea5cfcb93c9"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"e107ca1d-5f49-43ad-98d0-82bbd2161c5b","fault_point":"after_upload_before_outcome_transaction","multipart_aborted":false,"ordinal":22,"partial_export_removed":false,"process_state":{"attempt_id":"785928d6-70fa-4079-a3a3-a6c373a19bd9","byte_size":12612,"committed":false,"fencing_token":1,"job_id":"84383670-cccf-48c5-8895-906382a9a344","kill_stage":"after_upload_before_outcome_transaction","lease_expires_at":"2026-08-14 10:12:06.623199+00:00","lease_owner":"fault-worker-022","lease_token":"ef675408-6a90-4f17-af9f-ab57cb0550ea","object_keys":["observations/e107ca1d-5f49-43ad-98d0-82bbd2161c5b/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4"],"pid":35572,"reached":true,"sha256":"a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4","work_item_id":"8397e7a3-1f68-4182-aae9-bf9f503c3c31"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"f12df2e2-3626-4d3e-9350-dd8e497c4f47","fault_point":"during_object_upload","multipart_aborted":true,"ordinal":23,"partial_export_removed":false,"process_state":{"attempt_id":"2744f623-4ed0-4368-b216-a98ea670cb1e","committed":false,"fencing_token":1,"job_id":"15340983-5e30-4d09-971b-9857cca371c6","kill_stage":"during_object_upload","lease_expires_at":"2026-08-14 10:12:11.949344+00:00","lease_owner":"fault-worker-023","lease_token":"14b074ec-a12c-4ff5-aa80-19a90d5ebf60","multipart_part_count":1,"multipart_upload_id":"Njg2NTZiOWUtYzNmOC00Nzk2LWFlMjMtZDgxZGU1MGViNTk4LmRmNDU4NmY3LTU2NjgtNDU0My1iY2Y4LWVmNWNkYTRhMDI1ZHgxNzg2NzAyMzMxMDU0Njc4OTI1","object_keys":["observations/f12df2e2-3626-4d3e-9350-dd8e497c4f47/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac"],"pid":33344,"reached":true,"work_item_id":"4a690ac0-59ef-4f78-a350-537dd2258b68"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"1d42f522-20a4-4679-b64f-1d426a3d1828","fault_point":"after_adapter_return_before_upload","multipart_aborted":false,"ordinal":24,"partial_export_removed":false,"process_state":{"attempt_id":"ca2a785d-a248-440d-a062-5941ffb61d96","committed":false,"fencing_token":1,"job_id":"0d7ad5b1-91ee-4c49-9b32-8acbe5a39a7b","kill_stage":"after_adapter_return_before_upload","lease_expires_at":"2026-08-14 10:12:17.575563+00:00","lease_owner":"fault-worker-024","lease_token":"61d1b884-1c1b-4d1d-af64-b686695acd89","pid":34680,"reached":true,"work_item_id":"25058ee4-00cc-4c10-a8fb-e17ba2d45ef7"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"49cafee4-4b11-4575-b93e-5d32091788a1","fault_point":"after_lease_acquisition","multipart_aborted":false,"ordinal":25,"partial_export_removed":false,"process_state":{"attempt_id":null,"committed":false,"fencing_token":1,"job_id":"5479b414-8bcd-4589-943c-cd681a5b2cdc","kill_stage":"after_lease_acquisition","lease_expires_at":"2026-08-14 10:12:23.920701+00:00","lease_owner":"fault-worker-025","lease_token":"71d2b9af-328b-4557-8a6f-0e68b95b61e1","pid":36816,"reached":true,"work_item_id":"efe41304-944e-4520-9a66-03c1f25a1234"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"820f15e5-e222-46cc-b74e-6713d9e12e29","fault_point":"after_upload_before_outcome_transaction","multipart_aborted":false,"ordinal":26,"partial_export_removed":false,"process_state":{"attempt_id":"96850c13-bbb7-42cc-8016-069a2d569a9d","byte_size":12552,"committed":false,"fencing_token":1,"job_id":"2b99e4c8-c664-4c14-9b8a-2d2380ef5dfb","kill_stage":"after_upload_before_outcome_transaction","lease_expires_at":"2026-08-14 10:12:30.243615+00:00","lease_owner":"fault-worker-026","lease_token":"6a8ba61f-77ff-4eb1-9156-ead5d7b69793","object_keys":["observations/820f15e5-e222-46cc-b74e-6713d9e12e29/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c"],"pid":35132,"reached":true,"sha256":"15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c","work_item_id":"5d0e2099-f8e6-4a5a-bd25-0ab174696905"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"a36da83d-db46-4670-a637-9ffe5e220810","fault_point":"after_lease_acquisition","multipart_aborted":false,"ordinal":27,"partial_export_removed":false,"process_state":{"attempt_id":null,"committed":false,"fencing_token":1,"job_id":"07d0b9de-1b11-4fa1-bf64-77579d5534b6","kill_stage":"after_lease_acquisition","lease_expires_at":"2026-08-14 10:12:38.233994+00:00","lease_owner":"fault-worker-027","lease_token":"9a584152-9652-4457-9372-2d3e461f8718","pid":10388,"reached":true,"work_item_id":"ca47c16f-0018-4b16-bf09-589da6c75b39"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"bc56f20c-e654-46aa-9329-4c05c20a0258","fault_point":"during_object_upload","multipart_aborted":true,"ordinal":28,"partial_export_removed":false,"process_state":{"attempt_id":"800f3f14-3a5a-439d-b973-fd38291e7e8d","committed":false,"fencing_token":1,"job_id":"c39f8497-24b8-4113-9d16-5f1a19e96cb9","kill_stage":"during_object_upload","lease_expires_at":"2026-08-14 10:12:47.818987+00:00","lease_owner":"fault-worker-028","lease_token":"0f49f223-839d-4022-8a7d-34c747c29564","multipart_part_count":1,"multipart_upload_id":"Njg2NTZiOWUtYzNmOC00Nzk2LWFlMjMtZDgxZGU1MGViNTk4LmUxM2M4NGQxLTM4MGQtNDNmMi05NTEwLTcyZjA4NjEzYWJiM3gxNzg2NzAyMzY3MTAxMzIyNDYz","object_keys":["observations/bc56f20c-e654-46aa-9329-4c05c20a0258/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4"],"pid":7580,"reached":true,"work_item_id":"b00253b4-1315-473a-b2c0-9133c94ca1b3"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"4aa64844-d429-49b2-acab-ff3288a90bcc","fault_point":"after_lease_acquisition","multipart_aborted":false,"ordinal":29,"partial_export_removed":false,"process_state":{"attempt_id":null,"committed":false,"fencing_token":1,"job_id":"e3efc3dd-3ca4-4dd8-b2db-a5e2e6fd2c2e","kill_stage":"after_lease_acquisition","lease_expires_at":"2026-08-14 10:12:55.923317+00:00","lease_owner":"fault-worker-029","lease_token":"9d79e901-f44e-4c78-891d-8f49239478eb","pid":36632,"reached":true,"work_item_id":"e4f41138-5864-4917-bf84-182604f6c2a9"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"22a57b2d-ead3-47f0-832d-7a8300d12991","fault_point":"after_lease_acquisition","multipart_aborted":false,"ordinal":30,"partial_export_removed":false,"process_state":{"attempt_id":null,"committed":false,"fencing_token":1,"job_id":"1f952d7c-8f96-4351-9579-7db165d96275","kill_stage":"after_lease_acquisition","lease_expires_at":"2026-08-14 10:13:03.037140+00:00","lease_owner":"fault-worker-030","lease_token":"06e912b0-c7db-4769-8521-7276db107fe9","pid":18912,"reached":true,"work_item_id":"07dc9ed4-c0dd-4460-8f4e-f685d27f4a1a"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"974eecb8-5060-4d2c-880c-d046ebf5755f","fault_point":"during_evidence_export","multipart_aborted":false,"ordinal":31,"partial_export_removed":true,"process_state":{"complete_byte_size":12354,"kill_stage":"during_evidence_export","object_store_bucket":"labbridge-phase7-fault-release3","package_id":"experiment-package:372220c16d5da8bd3ab0f990a552124b","partial_byte_size":6177,"partial_path":"build\\phase7-fault-campaign\\working\\interrupted\\974eecb8-5060-4d2c-880c-d046ebf5755f.zip.partial","pid":22020,"reached":true},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"c7d1b4b9-44df-4daf-bdff-fbccd0c12995","fault_point":"during_object_upload","multipart_aborted":true,"ordinal":32,"partial_export_removed":false,"process_state":{"attempt_id":"c8cbe966-cdb0-471f-a1b7-97042a25b933","committed":false,"fencing_token":1,"job_id":"9ec902dd-4840-49fc-b75b-8815207a0ef6","kill_stage":"during_object_upload","lease_expires_at":"2026-08-14 10:13:13.274774+00:00","lease_owner":"fault-worker-032","lease_token":"e458abcd-695a-4f8c-81ca-e792fade4bc7","multipart_part_count":1,"multipart_upload_id":"Njg2NTZiOWUtYzNmOC00Nzk2LWFlMjMtZDgxZGU1MGViNTk4LjRkYTZhMTQ3LTQ1ZDMtNDgzZi1iZjM4LTYxYzgwYzA0NDMyZHgxNzg2NzAyMzkyNDIwMTgwNDQ0","object_keys":["observations/c7d1b4b9-44df-4daf-bdff-fbccd0c12995/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c"],"pid":18704,"reached":true,"work_item_id":"f1f91210-8589-49f5-bfe4-ed53ae3ef6bb"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"4c848945-5f9d-4ba2-9f42-a83d056553ed","fault_point":"after_commit_before_acknowledgement","multipart_aborted":false,"ordinal":33,"partial_export_removed":false,"process_state":{"attempt_id":"d250c7a4-b871-48dc-9134-e6e728c33410","byte_size":12588,"committed":true,"fencing_token":1,"job_id":"6db891e6-6589-493d-ac94-8daa4e3e1941","kill_stage":"after_commit_before_acknowledgement","lease_expires_at":null,"lease_owner":"fault-worker-033","lease_token":null,"object_keys":["observations/4c848945-5f9d-4ba2-9f42-a83d056553ed/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea"],"observation_id":"obs:4a4ceb152add486a6face6ca46f59b79","outcome_status":"succeeded","pid":35280,"reached":true,"sha256":"d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea","work_item_id":"1c80eb80-b72d-4b8a-b009-d9e8912151e9"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"385b45ec-ef19-4cf5-b824-59dfcb89df1a","fault_point":"during_evidence_export","multipart_aborted":false,"ordinal":34,"partial_export_removed":true,"process_state":{"complete_byte_size":12358,"kill_stage":"during_evidence_export","object_store_bucket":"labbridge-phase7-fault-release3","package_id":"experiment-package:a63f2142d6ae06010051560c7049d892","partial_byte_size":6179,"partial_path":"build\\phase7-fault-campaign\\working\\interrupted\\385b45ec-ef19-4cf5-b824-59dfcb89df1a.zip.partial","pid":33712,"reached":true},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"2ddfa503-e912-44ec-bc85-57cad2b1cbef","fault_point":"during_evidence_export","multipart_aborted":false,"ordinal":35,"partial_export_removed":true,"process_state":{"complete_byte_size":12368,"kill_stage":"during_evidence_export","object_store_bucket":"labbridge-phase7-fault-release3","package_id":"experiment-package:f8681971b2463129a6a9a628eccd6a84","partial_byte_size":6184,"partial_path":"build\\phase7-fault-campaign\\working\\interrupted\\2ddfa503-e912-44ec-bc85-57cad2b1cbef.zip.partial","pid":36252,"reached":true},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"44cbfa21-1aec-4c40-a2b2-ee7e885463a3","fault_point":"after_lease_acquisition","multipart_aborted":false,"ordinal":36,"partial_export_removed":false,"process_state":{"attempt_id":null,"committed":false,"fencing_token":1,"job_id":"dfcc17b2-d06e-421f-a55a-5d466cfb145f","kill_stage":"after_lease_acquisition","lease_expires_at":"2026-08-14 10:13:36.979097+00:00","lease_owner":"fault-worker-036","lease_token":"22750097-c67b-44f2-a547-5d2601871c3d","pid":31164,"reached":true,"work_item_id":"9fc4bf02-cc85-4bb5-a36b-ffc6f07eeebd"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"159041f3-1d8e-434f-865e-5a0e66f96591","fault_point":"after_commit_before_acknowledgement","multipart_aborted":false,"ordinal":37,"partial_export_removed":false,"process_state":{"attempt_id":"8dcae77a-47cc-4251-9f04-976ce2f73d0b","byte_size":12528,"committed":true,"fencing_token":1,"job_id":"58c08158-a4ad-415c-96ac-f3c85adefd73","kill_stage":"after_commit_before_acknowledgement","lease_expires_at":null,"lease_owner":"fault-worker-037","lease_token":null,"object_keys":["observations/159041f3-1d8e-434f-865e-5a0e66f96591/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f"],"observation_id":"obs:b84eb9616f3723fa4749e020b2922217","outcome_status":"succeeded","pid":33508,"reached":true,"sha256":"d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f","work_item_id":"5efce3c4-d0f3-45a9-ace4-753212d3e689"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"e873a878-dd73-43e8-a90a-d96ca6d3f952","fault_point":"after_lease_acquisition","multipart_aborted":false,"ordinal":38,"partial_export_removed":false,"process_state":{"attempt_id":null,"committed":false,"fencing_token":1,"job_id":"c6a9ecd6-c729-458c-ac71-ba289e798bad","kill_stage":"after_lease_acquisition","lease_expires_at":"2026-08-14 10:13:50.346260+00:00","lease_owner":"fault-worker-038","lease_token":"c7c16f8c-a6ed-4e33-97d6-68cacd77dd84","pid":13328,"reached":true,"work_item_id":"dd558d75-de37-43da-8944-af1598195371"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"8794d3a7-3103-4f50-a299-daf90d776b17","fault_point":"during_object_upload","multipart_aborted":true,"ordinal":39,"partial_export_removed":false,"process_state":{"attempt_id":"bd1f94d1-710d-4d0e-9fd3-5eaae22293ab","committed":false,"fencing_token":1,"job_id":"c0c6e2a5-e7cb-4d81-98de-c6f19017d9bc","kill_stage":"during_object_upload","lease_expires_at":"2026-08-14 10:13:59.578447+00:00","lease_owner":"fault-worker-039","lease_token":"65087114-c42a-4dc1-b6b4-05f4860e9dbd","multipart_part_count":1,"multipart_upload_id":"Njg2NTZiOWUtYzNmOC00Nzk2LWFlMjMtZDgxZGU1MGViNTk4LmI4ZjBhNmJmLTU4MWYtNGRhMy05ZGUyLWFjNmY1NDhjNjM1MHgxNzg2NzAyNDM4ODcxNTg5MDk1","object_keys":["observations/8794d3a7-3103-4f50-a299-daf90d776b17/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea"],"pid":31284,"reached":true,"work_item_id":"8f52a616-3cf7-4004-bea2-3190749eff1f"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"b5273feb-6224-47f5-9efe-ca8f5f2c50c3","fault_point":"after_lease_acquisition","multipart_aborted":false,"ordinal":40,"partial_export_removed":false,"process_state":{"attempt_id":null,"committed":false,"fencing_token":1,"job_id":"33d28fca-9e15-4d2d-a848-5bdadb0fd331","kill_stage":"after_lease_acquisition","lease_expires_at":"2026-08-14 10:14:07.589968+00:00","lease_owner":"fault-worker-040","lease_token":"28400819-2ee3-486c-abc7-b93a5527cee7","pid":21920,"reached":true,"work_item_id":"52e036d1-7285-42df-b318-04ace4f946df"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"f93cb898-46ff-4b94-a210-5daa4267fedf","fault_point":"during_evidence_export","multipart_aborted":false,"ordinal":41,"partial_export_removed":true,"process_state":{"complete_byte_size":12376,"kill_stage":"during_evidence_export","object_store_bucket":"labbridge-phase7-fault-release3","package_id":"experiment-package:f8a98a4d306375b391873d06bca4e7a6","partial_byte_size":6188,"partial_path":"build\\phase7-fault-campaign\\working\\interrupted\\f93cb898-46ff-4b94-a210-5daa4267fedf.zip.partial","pid":34056,"reached":true},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"1a161d49-a854-4da0-b7a4-de86aa4b9eef","fault_point":"during_object_upload","multipart_aborted":true,"ordinal":42,"partial_export_removed":false,"process_state":{"attempt_id":"9b708b34-20cb-43c8-a047-1433882d6bfc","committed":false,"fencing_token":1,"job_id":"3d6dcd81-00c2-4f81-b22a-fb49b62d6979","kill_stage":"during_object_upload","lease_expires_at":"2026-08-14 10:14:22.677956+00:00","lease_owner":"fault-worker-042","lease_token":"2bdd2433-6f4f-4493-9300-ec71197c4099","multipart_part_count":1,"multipart_upload_id":"Njg2NTZiOWUtYzNmOC00Nzk2LWFlMjMtZDgxZGU1MGViNTk4LjM1Yjc3NDY1LTQ0MGMtNDRkZi04MWU1LTJjZWI4NTIxMWI4NngxNzg2NzAyNDYxOTEyOTEzODc4","object_keys":["observations/1a161d49-a854-4da0-b7a4-de86aa4b9eef/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa"],"pid":5832,"reached":true,"work_item_id":"6d040167-db1e-4992-99af-cf43c0ce812a"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"31ab9938-a72a-4770-9d33-e9d2e85bc8ad","fault_point":"after_adapter_return_before_upload","multipart_aborted":false,"ordinal":43,"partial_export_removed":false,"process_state":{"attempt_id":"27dd03ef-7a61-4fe0-9989-0833755c4136","committed":false,"fencing_token":1,"job_id":"fcabf355-0057-4116-8885-976ef6200921","kill_stage":"after_adapter_return_before_upload","lease_expires_at":"2026-08-14 10:14:31.514720+00:00","lease_owner":"fault-worker-043","lease_token":"2bcf27e7-82c0-47f0-831c-6623fe784791","pid":26672,"reached":true,"work_item_id":"014ead52-64d4-4624-bed2-97c5105736e8"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"fa233469-95d6-4b96-a632-26b1e4e1930e","fault_point":"after_adapter_return_before_upload","multipart_aborted":false,"ordinal":44,"partial_export_removed":false,"process_state":{"attempt_id":"6b96df21-ba9e-4756-8e65-8751c83eebc7","committed":false,"fencing_token":1,"job_id":"d94c656f-187f-408f-a089-7f455d40ec68","kill_stage":"after_adapter_return_before_upload","lease_expires_at":"2026-08-14 10:14:39.118564+00:00","lease_owner":"fault-worker-044","lease_token":"439bb08c-287a-4db1-9e0a-25a37c7f1af9","pid":9840,"reached":true,"work_item_id":"45dbbc6e-8aad-4944-98f8-4e839edf4c99"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"a9dbfd65-eaba-4d48-9d16-f06fd3ac7a5c","fault_point":"after_commit_before_acknowledgement","multipart_aborted":false,"ordinal":45,"partial_export_removed":false,"process_state":{"attempt_id":"2e4fff40-af2e-482b-a369-977964e0d6d8","byte_size":12588,"committed":true,"fencing_token":1,"job_id":"37ea5f11-6b2d-4ec1-827c-6da5c6572096","kill_stage":"after_commit_before_acknowledgement","lease_expires_at":null,"lease_owner":"fault-worker-045","lease_token":null,"object_keys":["observations/a9dbfd65-eaba-4d48-9d16-f06fd3ac7a5c/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea"],"observation_id":"obs:4a4ceb152add486a6face6ca46f59b79","outcome_status":"succeeded","pid":8904,"reached":true,"sha256":"d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea","work_item_id":"86538b83-11ec-4f61-b5c4-ce2d03cea71f"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"9540a137-fb43-4c8c-b855-e85e4a1b0251","fault_point":"after_commit_before_acknowledgement","multipart_aborted":false,"ordinal":46,"partial_export_removed":false,"process_state":{"attempt_id":"f3271bad-eab9-4f7b-9afb-d8a81a5b60bb","byte_size":12612,"committed":true,"fencing_token":1,"job_id":"6bff2ba7-4631-4c7e-95e5-b4eac4337c5e","kill_stage":"after_commit_before_acknowledgement","lease_expires_at":null,"lease_owner":"fault-worker-046","lease_token":null,"object_keys":["observations/9540a137-fb43-4c8c-b855-e85e4a1b0251/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4"],"observation_id":"obs:88adb71861dfb514c417fb6da350e784","outcome_status":"succeeded","pid":33436,"reached":true,"sha256":"a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4","work_item_id":"1295a13c-6356-4236-b2ee-a9da6f190b7e"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"eaa90654-d76d-4f1a-8518-7beae7bb8aa5","fault_point":"after_commit_before_acknowledgement","multipart_aborted":false,"ordinal":47,"partial_export_removed":false,"process_state":{"attempt_id":"479c1a68-a60b-44bc-b056-c8c51f303e73","byte_size":12588,"committed":true,"fencing_token":1,"job_id":"fb812f39-2454-4695-a684-8348a2cb06d2","kill_stage":"after_commit_before_acknowledgement","lease_expires_at":null,"lease_owner":"fault-worker-047","lease_token":null,"object_keys":["observations/eaa90654-d76d-4f1a-8518-7beae7bb8aa5/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac"],"observation_id":"obs:c945679c1ffbe026119d65dbeae68109","outcome_status":"succeeded","pid":36720,"reached":true,"sha256":"a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac","work_item_id":"6619905f-03c0-4bcc-9a8a-52b725271073"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"242b4137-17f0-4fa0-95d3-15fa3479517b","fault_point":"after_commit_before_acknowledgement","multipart_aborted":false,"ordinal":48,"partial_export_removed":false,"process_state":{"attempt_id":"a9e11675-f646-4027-a6e9-4f28304ecaea","byte_size":12612,"committed":true,"fencing_token":1,"job_id":"3396b39b-2315-4a17-ad10-133a6f2eead4","kill_stage":"after_commit_before_acknowledgement","lease_expires_at":null,"lease_owner":"fault-worker-048","lease_token":null,"object_keys":["observations/242b4137-17f0-4fa0-95d3-15fa3479517b/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa"],"observation_id":"obs:c2adaedb0ac11f4fdb041873e5366ca7","outcome_status":"succeeded","pid":31828,"reached":true,"sha256":"aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa","work_item_id":"9987dd60-acde-4a0d-96ab-4e85c8e9f7eb"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"bfca9dea-5602-4bf5-afe2-c1a31ca3b1c9","fault_point":"during_object_upload","multipart_aborted":true,"ordinal":49,"partial_export_removed":false,"process_state":{"attempt_id":"dceea50c-a01d-46b6-8fcf-06f1bbef5354","committed":false,"fencing_token":1,"job_id":"cf231e49-a9f6-4e55-9ca5-1059f37d214f","kill_stage":"during_object_upload","lease_expires_at":"2026-08-14 10:15:24.889835+00:00","lease_owner":"fault-worker-049","lease_token":"ab639e6a-d5bd-4372-bcd4-d3be0abb6744","multipart_part_count":1,"multipart_upload_id":"Njg2NTZiOWUtYzNmOC00Nzk2LWFlMjMtZDgxZGU1MGViNTk4Ljk3MTE0MzZjLWY4NDUtNGI1OC05YThjLTk5YmQzOTU5ZjA0ZngxNzg2NzAyNTI0MDYwNDg2OTg5","object_keys":["observations/bfca9dea-5602-4bf5-afe2-c1a31ca3b1c9/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f"],"pid":33912,"reached":true,"work_item_id":"967cb435-be35-4b78-9bac-b231cc94b928"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"bd6c1f73-1291-4703-92c2-9c793ffd41d2","fault_point":"after_commit_before_acknowledgement","multipart_aborted":false,"ordinal":50,"partial_export_removed":false,"process_state":{"attempt_id":"36230aed-3391-4bd4-be8f-b7d5c164969c","byte_size":12552,"committed":true,"fencing_token":1,"job_id":"be061a07-9c0d-4f2f-af93-42630c0c9715","kill_stage":"after_commit_before_acknowledgement","lease_expires_at":null,"lease_owner":"fault-worker-050","lease_token":null,"object_keys":["observations/bd6c1f73-1291-4703-92c2-9c793ffd41d2/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c"],"observation_id":"obs:ec33918fdd0d2872e583371f88a7fdcb","outcome_status":"succeeded","pid":29260,"reached":true,"sha256":"15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c","work_item_id":"5891850c-e53f-420d-86fa-5738d167a06b"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"7fb3eeee-7c16-4260-99c6-7663db4a0686","fault_point":"after_adapter_return_before_upload","multipart_aborted":false,"ordinal":51,"partial_export_removed":false,"process_state":{"attempt_id":"7d563820-0dd8-45b9-8475-371d04735ba7","committed":false,"fencing_token":1,"job_id":"f4df7ed0-b1f5-4389-968c-f06fa071b68a","kill_stage":"after_adapter_return_before_upload","lease_expires_at":"2026-08-14 10:15:42.893550+00:00","lease_owner":"fault-worker-051","lease_token":"e511b960-0ac5-4310-ae2e-10fab314fb16","pid":32416,"reached":true,"work_item_id":"953c5226-3256-45bf-8951-4e8b58558d94"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"dd7df504-61ec-4fc1-bf35-643f8893eea6","fault_point":"after_upload_before_outcome_transaction","multipart_aborted":false,"ordinal":52,"partial_export_removed":false,"process_state":{"attempt_id":"cec59c60-737e-4bc3-bdc7-2879bc42b1b8","byte_size":12612,"committed":false,"fencing_token":1,"job_id":"f5805aa3-1b7a-4dee-ab1d-e8408e16d1a0","kill_stage":"after_upload_before_outcome_transaction","lease_expires_at":"2026-08-14 10:15:52.599753+00:00","lease_owner":"fault-worker-052","lease_token":"5a6a5d82-f91a-446f-b0e2-f9c1a173bc4b","object_keys":["observations/dd7df504-61ec-4fc1-bf35-643f8893eea6/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4"],"pid":35568,"reached":true,"sha256":"a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4","work_item_id":"06c9491d-19ab-48ab-ad75-a07ee6a8f013"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"367618ea-4656-4a19-b3d0-a2d785dc051d","fault_point":"during_object_upload","multipart_aborted":true,"ordinal":53,"partial_export_removed":false,"process_state":{"attempt_id":"bf4f266e-63db-4de4-ad49-0d32dddda725","committed":false,"fencing_token":1,"job_id":"f4c8b3e7-b28e-45ee-8313-a815a3680e73","kill_stage":"during_object_upload","lease_expires_at":"2026-08-14 10:16:02.866155+00:00","lease_owner":"fault-worker-053","lease_token":"898cd747-ba31-4a89-8bee-c23a7a00861a","multipart_part_count":1,"multipart_upload_id":"Njg2NTZiOWUtYzNmOC00Nzk2LWFlMjMtZDgxZGU1MGViNTk4LmE1MmNkNGZhLWUyYTItNDIyYy1hMzdjLTQ2YmFjMjkxN2Q4MXgxNzg2NzAyNTYyMTYxMTI3MTE3","object_keys":["observations/367618ea-4656-4a19-b3d0-a2d785dc051d/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac"],"pid":25368,"reached":true,"work_item_id":"f36045b6-faef-4825-aa1f-5bf0b8e8d8b5"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"4fe0557a-28e9-445f-8e86-7405dd47b5e3","fault_point":"after_adapter_return_before_upload","multipart_aborted":false,"ordinal":54,"partial_export_removed":false,"process_state":{"attempt_id":"55021d49-379a-444c-bd2b-61feed4b7b38","committed":false,"fencing_token":1,"job_id":"ab076156-541d-4f8f-9041-d04772f8d6d5","kill_stage":"after_adapter_return_before_upload","lease_expires_at":"2026-08-14 10:16:23.389267+00:00","lease_owner":"fault-worker-054","lease_token":"55f4a43e-1534-4341-8a76-84e7ddb51c82","pid":14484,"reached":true,"work_item_id":"f49e0f57-f663-4f05-9fce-baa2b2615b27"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"0b34aa01-19c5-483a-b6b1-7010a99c01ef","fault_point":"during_evidence_export","multipart_aborted":false,"ordinal":55,"partial_export_removed":true,"process_state":{"complete_byte_size":12369,"kill_stage":"during_evidence_export","object_store_bucket":"labbridge-phase7-fault-release3","package_id":"experiment-package:1d9060cebacc02fe41b2fd9d1166911d","partial_byte_size":6184,"partial_path":"build\\phase7-fault-campaign\\working\\interrupted\\0b34aa01-19c5-483a-b6b1-7010a99c01ef.zip.partial","pid":36752,"reached":true},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"5ba71a70-ce26-45d8-97a8-ac397b5c2ae1","fault_point":"after_upload_before_outcome_transaction","multipart_aborted":false,"ordinal":56,"partial_export_removed":false,"process_state":{"attempt_id":"757e03f6-3a94-4e4b-8263-0ed61a0be768","byte_size":12552,"committed":false,"fencing_token":1,"job_id":"47a309e7-6b66-46f8-a7f7-66fab0737605","kill_stage":"after_upload_before_outcome_transaction","lease_expires_at":"2026-08-14 10:16:43.718593+00:00","lease_owner":"fault-worker-056","lease_token":"757b2c75-4155-4865-95fb-f692365268f4","object_keys":["observations/5ba71a70-ce26-45d8-97a8-ac397b5c2ae1/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c"],"pid":10464,"reached":true,"sha256":"15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c","work_item_id":"75b41f6d-2245-4461-8451-cea6ee6d4d73"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"98a1c7df-781a-41e3-8591-c7fbffb05b20","fault_point":"after_lease_acquisition","multipart_aborted":false,"ordinal":57,"partial_export_removed":false,"process_state":{"attempt_id":null,"committed":false,"fencing_token":1,"job_id":"0522befa-57ab-4431-9563-713b6a524f23","kill_stage":"after_lease_acquisition","lease_expires_at":"2026-08-14 10:16:53.667798+00:00","lease_owner":"fault-worker-057","lease_token":"c4b51f22-fd97-4f18-ae42-0682ce96b703","pid":24008,"reached":true,"work_item_id":"57db7011-f5f4-4a22-93c6-e0547b1ed747"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"847de2e8-745b-4ac9-8ab1-88ae19e70052","fault_point":"after_commit_before_acknowledgement","multipart_aborted":false,"ordinal":58,"partial_export_removed":false,"process_state":{"attempt_id":"52784110-4626-4987-8a6d-074a804cecc3","byte_size":12612,"committed":true,"fencing_token":1,"job_id":"b92235a8-0904-4b5d-81cb-e3b9be746eec","kill_stage":"after_commit_before_acknowledgement","lease_expires_at":null,"lease_owner":"fault-worker-058","lease_token":null,"object_keys":["observations/847de2e8-745b-4ac9-8ab1-88ae19e70052/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4"],"observation_id":"obs:88adb71861dfb514c417fb6da350e784","outcome_status":"succeeded","pid":24896,"reached":true,"sha256":"a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4","work_item_id":"d05e5b22-13e5-49d3-b124-0b1baa8f2ef1"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"b095a683-b126-4274-9777-6050a6ea4b50","fault_point":"after_upload_before_outcome_transaction","multipart_aborted":false,"ordinal":59,"partial_export_removed":false,"process_state":{"attempt_id":"57d2d618-1134-4419-ae9a-2761a0b4fd53","byte_size":12588,"committed":false,"fencing_token":1,"job_id":"bbc0d68e-38ec-4dd2-8f80-6186131df596","kill_stage":"after_upload_before_outcome_transaction","lease_expires_at":"2026-08-14 10:17:15.264118+00:00","lease_owner":"fault-worker-059","lease_token":"a1fd2a49-efb7-4565-a53b-ac1bbec3ce06","object_keys":["observations/b095a683-b126-4274-9777-6050a6ea4b50/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac"],"pid":29376,"reached":true,"sha256":"a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac","work_item_id":"0857cd5c-2124-497a-a38c-e48a27b8f64a"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"a53bebf9-6f36-4c6f-bc9d-fc971585fd0f","fault_point":"after_upload_before_outcome_transaction","multipart_aborted":false,"ordinal":60,"partial_export_removed":false,"process_state":{"attempt_id":"a8863749-4da2-4ada-8ef2-826275a9a8b2","byte_size":12612,"committed":false,"fencing_token":1,"job_id":"9311be0e-d053-4d86-9463-f9a50f03a823","kill_stage":"after_upload_before_outcome_transaction","lease_expires_at":"2026-08-14 10:17:25.962533+00:00","lease_owner":"fault-worker-060","lease_token":"39665ab3-f8aa-4f96-8d33-5e1e431a4b5a","object_keys":["observations/a53bebf9-6f36-4c6f-bc9d-fc971585fd0f/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa"],"pid":36312,"reached":true,"sha256":"aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa","work_item_id":"0b73c298-9703-4709-bf11-617d40d51173"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"bdb5b719-89cc-472d-a336-428c7e07624e","fault_point":"after_lease_acquisition","multipart_aborted":false,"ordinal":61,"partial_export_removed":false,"process_state":{"attempt_id":null,"committed":false,"fencing_token":1,"job_id":"e42a6fd5-7d2d-4bab-98c1-148af07bda52","kill_stage":"after_lease_acquisition","lease_expires_at":"2026-08-14 10:17:36.468555+00:00","lease_owner":"fault-worker-061","lease_token":"1ea16ad5-2401-45e0-83f0-00edb9f45cd8","pid":31680,"reached":true,"work_item_id":"33d0908d-aadf-43a6-b897-a4629796862b"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"00e64846-7d5b-4642-b639-0cdcfb0aaa6b","fault_point":"during_evidence_export","multipart_aborted":false,"ordinal":62,"partial_export_removed":true,"process_state":{"complete_byte_size":12399,"kill_stage":"during_evidence_export","object_store_bucket":"labbridge-phase7-fault-release3","package_id":"experiment-package:a19f457e5cd6f1d91d103ee569085cc5","partial_byte_size":6199,"partial_path":"build\\phase7-fault-campaign\\working\\interrupted\\00e64846-7d5b-4642-b639-0cdcfb0aaa6b.zip.partial","pid":35108,"reached":true},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"7c83619d-4a96-4f3c-8b30-0e94f9d8c7e7","fault_point":"after_commit_before_acknowledgement","multipart_aborted":false,"ordinal":63,"partial_export_removed":false,"process_state":{"attempt_id":"c481edb5-bd29-48e6-9e2e-dfc24863f9c1","byte_size":12588,"committed":true,"fencing_token":1,"job_id":"3c54f60a-f800-4b64-80a3-37112dcd8642","kill_stage":"after_commit_before_acknowledgement","lease_expires_at":null,"lease_owner":"fault-worker-063","lease_token":null,"object_keys":["observations/7c83619d-4a96-4f3c-8b30-0e94f9d8c7e7/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea"],"observation_id":"obs:4a4ceb152add486a6face6ca46f59b79","outcome_status":"succeeded","pid":32588,"reached":true,"sha256":"d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea","work_item_id":"9334503a-187f-41b6-af61-05a42e72eaa7"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"2c11298c-7cc8-4b64-b633-2dcdbffa24f1","fault_point":"after_lease_acquisition","multipart_aborted":false,"ordinal":64,"partial_export_removed":false,"process_state":{"attempt_id":null,"committed":false,"fencing_token":1,"job_id":"856d3a37-ba74-48a0-88e2-63019d0356a3","kill_stage":"after_lease_acquisition","lease_expires_at":"2026-08-14 10:18:05.894435+00:00","lease_owner":"fault-worker-064","lease_token":"6f6bcacd-40de-4f9f-b008-41382c795655","pid":34956,"reached":true,"work_item_id":"ef87ed30-c9d7-4bac-b0d8-117693f821ad"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"cb90286b-ca59-4dc4-8dce-cc7330a07373","fault_point":"after_upload_before_outcome_transaction","multipart_aborted":false,"ordinal":65,"partial_export_removed":false,"process_state":{"attempt_id":"2736d3c4-465b-48d8-be60-60d1dec8f721","byte_size":12588,"committed":false,"fencing_token":1,"job_id":"ee263816-7df2-4d6e-b06d-f4cb3ffda940","kill_stage":"after_upload_before_outcome_transaction","lease_expires_at":"2026-08-14 10:18:16.406811+00:00","lease_owner":"fault-worker-065","lease_token":"101b9f3a-4b50-4a21-a98a-ef1afc037631","object_keys":["observations/cb90286b-ca59-4dc4-8dce-cc7330a07373/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac"],"pid":31224,"reached":true,"sha256":"a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac","work_item_id":"dda5ee2b-edd1-4d18-8cd3-c048dabcdd6c"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"34e1517f-006f-4a20-83e2-c9cb8bf76013","fault_point":"after_lease_acquisition","multipart_aborted":false,"ordinal":66,"partial_export_removed":false,"process_state":{"attempt_id":null,"committed":false,"fencing_token":1,"job_id":"49685ca2-f3be-4e0e-97aa-756da6e5ea10","kill_stage":"after_lease_acquisition","lease_expires_at":"2026-08-14 10:18:27.625617+00:00","lease_owner":"fault-worker-066","lease_token":"4592e173-37c0-41da-a850-1c926c90bcd4","pid":20448,"reached":true,"work_item_id":"b9f5076c-e2d9-47e7-8467-2d49096afe08"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"9593d9a2-c5d6-4967-9e3b-666a98adf108","fault_point":"after_upload_before_outcome_transaction","multipart_aborted":false,"ordinal":67,"partial_export_removed":false,"process_state":{"attempt_id":"87bf754b-9ef6-4e1c-b401-61561b266d3b","byte_size":12528,"committed":false,"fencing_token":1,"job_id":"bd70e6b0-0106-4cf8-9785-0a2098e269ca","kill_stage":"after_upload_before_outcome_transaction","lease_expires_at":"2026-08-14 10:18:38.788021+00:00","lease_owner":"fault-worker-067","lease_token":"fb63555c-35ab-4d5e-b4dc-598b4cebc2d0","object_keys":["observations/9593d9a2-c5d6-4967-9e3b-666a98adf108/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f"],"pid":35504,"reached":true,"sha256":"d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f","work_item_id":"00b5099d-1b6d-42bb-93ad-aad25e5f499f"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"dfa14842-a1ea-428c-a28a-5e5acfa69a27","fault_point":"during_evidence_export","multipart_aborted":false,"ordinal":68,"partial_export_removed":true,"process_state":{"complete_byte_size":12403,"kill_stage":"during_evidence_export","object_store_bucket":"labbridge-phase7-fault-release3","package_id":"experiment-package:7592e7045c7f378e2c064319e04df169","partial_byte_size":6201,"partial_path":"build\\phase7-fault-campaign\\working\\interrupted\\dfa14842-a1ea-428c-a28a-5e5acfa69a27.zip.partial","pid":33308,"reached":true},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"55ba9687-2da4-471a-976d-862126577ad3","fault_point":"after_adapter_return_before_upload","multipart_aborted":false,"ordinal":69,"partial_export_removed":false,"process_state":{"attempt_id":"1b3f9fd1-5332-4a95-831a-8a729586fd86","committed":false,"fencing_token":1,"job_id":"891287ca-0dba-4055-a4d6-6176c1178f48","kill_stage":"after_adapter_return_before_upload","lease_expires_at":"2026-08-14 10:18:56.011847+00:00","lease_owner":"fault-worker-069","lease_token":"8ff53e3b-6fbd-41fe-8945-c51398217097","pid":33048,"reached":true,"work_item_id":"11b582d3-c936-4a50-aa20-9d00901c68db"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"2fbddd90-0de9-4020-9a2a-601216479075","fault_point":"during_evidence_export","multipart_aborted":false,"ordinal":70,"partial_export_removed":true,"process_state":{"complete_byte_size":12396,"kill_stage":"during_evidence_export","object_store_bucket":"labbridge-phase7-fault-release3","package_id":"experiment-package:c89206ab40f44e85721efe1b79da3b39","partial_byte_size":6198,"partial_path":"build\\phase7-fault-campaign\\working\\interrupted\\2fbddd90-0de9-4020-9a2a-601216479075.zip.partial","pid":30880,"reached":true},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"9efd6265-dc3d-4fda-9984-e2b29681eda5","fault_point":"after_adapter_return_before_upload","multipart_aborted":false,"ordinal":71,"partial_export_removed":false,"process_state":{"attempt_id":"c0a352d0-e997-40aa-bbac-00607642f962","committed":false,"fencing_token":1,"job_id":"179f1898-9134-45ee-bbb6-cb59c5b84a5e","kill_stage":"after_adapter_return_before_upload","lease_expires_at":"2026-08-14 10:19:16.237302+00:00","lease_owner":"fault-worker-071","lease_token":"0d138026-b1df-46d4-b1a3-2b72d512e255","pid":23888,"reached":true,"work_item_id":"2cb45b19-fc6f-4171-98d9-19989f04f3b5"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"1fbf9d27-0eb2-44df-803d-9cb650cc32c7","fault_point":"during_object_upload","multipart_aborted":true,"ordinal":72,"partial_export_removed":false,"process_state":{"attempt_id":"d55dc0d7-7f68-4cca-a4e3-e86f21c72bdc","committed":false,"fencing_token":1,"job_id":"b9de285f-4ea0-4445-981a-2905dc713955","kill_stage":"during_object_upload","lease_expires_at":"2026-08-14 10:19:27.024622+00:00","lease_owner":"fault-worker-072","lease_token":"72faee33-eede-4018-97f9-26620161f7d7","multipart_part_count":1,"multipart_upload_id":"Njg2NTZiOWUtYzNmOC00Nzk2LWFlMjMtZDgxZGU1MGViNTk4LjcwODJkZGJlLTg5YjAtNGJmOS1hZTNmLTE5NDVkY2I4ZjI4MHgxNzg2NzAyNzY2MTk4NjMzMzU0","object_keys":["observations/1fbf9d27-0eb2-44df-803d-9cb650cc32c7/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa"],"pid":24748,"reached":true,"work_item_id":"827f09bb-da81-45fe-8c15-77fae6068b36"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"3b46d138-a70a-4494-8973-bfe2b3949bb3","fault_point":"during_evidence_export","multipart_aborted":false,"ordinal":73,"partial_export_removed":true,"process_state":{"complete_byte_size":12380,"kill_stage":"during_evidence_export","object_store_bucket":"labbridge-phase7-fault-release3","package_id":"experiment-package:5fcf4af9b58048085c7975b4a104f69f","partial_byte_size":6190,"partial_path":"build\\phase7-fault-campaign\\working\\interrupted\\3b46d138-a70a-4494-8973-bfe2b3949bb3.zip.partial","pid":36352,"reached":true},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"b1aa75e3-6842-4408-acd8-826e35ee2508","fault_point":"after_lease_acquisition","multipart_aborted":false,"ordinal":74,"partial_export_removed":false,"process_state":{"attempt_id":null,"committed":false,"fencing_token":1,"job_id":"1748660d-3b4e-41d9-8762-7f3e295e3b67","kill_stage":"after_lease_acquisition","lease_expires_at":"2026-08-14 10:19:47.967666+00:00","lease_owner":"fault-worker-074","lease_token":"cadf4306-a9d5-4086-8079-23eae3ecb9be","pid":33268,"reached":true,"work_item_id":"1348edbb-ceed-4289-a77d-fb1844865245"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"c8cc2173-170c-49db-aba4-30a1c4dec9b4","fault_point":"during_evidence_export","multipart_aborted":false,"ordinal":75,"partial_export_removed":true,"process_state":{"complete_byte_size":12393,"kill_stage":"during_evidence_export","object_store_bucket":"labbridge-phase7-fault-release3","package_id":"experiment-package:eaf98fa08a5b1c71c5d0869cbdcd5d9d","partial_byte_size":6196,"partial_path":"build\\phase7-fault-campaign\\working\\interrupted\\c8cc2173-170c-49db-aba4-30a1c4dec9b4.zip.partial","pid":32232,"reached":true},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"1883256d-5487-4a72-93c7-83c64118b1d6","fault_point":"after_commit_before_acknowledgement","multipart_aborted":false,"ordinal":76,"partial_export_removed":false,"process_state":{"attempt_id":"f4dc1099-bfe4-4ed6-954b-88fec33c4d8e","byte_size":12612,"committed":true,"fencing_token":1,"job_id":"fbbe47f9-6a72-4f9c-93b0-21f43c06517c","kill_stage":"after_commit_before_acknowledgement","lease_expires_at":null,"lease_owner":"fault-worker-076","lease_token":null,"object_keys":["observations/1883256d-5487-4a72-93c7-83c64118b1d6/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4"],"observation_id":"obs:88adb71861dfb514c417fb6da350e784","outcome_status":"succeeded","pid":19368,"reached":true,"sha256":"a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4","work_item_id":"5383899b-d6ae-4741-ae3b-eb47981dadca"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"e783df27-3418-4f00-8261-cd85844dc6e5","fault_point":"after_adapter_return_before_upload","multipart_aborted":false,"ordinal":77,"partial_export_removed":false,"process_state":{"attempt_id":"b87da861-f1e9-4d93-b22a-0dad97e02160","committed":false,"fencing_token":1,"job_id":"feb33c92-29f2-4ed0-b5cd-2cd782c274ce","kill_stage":"after_adapter_return_before_upload","lease_expires_at":"2026-08-14 10:20:21.484187+00:00","lease_owner":"fault-worker-077","lease_token":"3dd18442-62e9-44d7-9307-6c7bd845d825","pid":31212,"reached":true,"work_item_id":"1185dbf1-fc12-4147-bf55-f44e21de2cc4"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"0f2b028a-591b-4b4c-a437-48daaa8f8556","fault_point":"after_upload_before_outcome_transaction","multipart_aborted":false,"ordinal":78,"partial_export_removed":false,"process_state":{"attempt_id":"e7da2587-ca49-4a67-902b-40e33e3f3aee","byte_size":12612,"committed":false,"fencing_token":1,"job_id":"c0fa45db-7cf2-4942-85e6-37ef7e06d3ad","kill_stage":"after_upload_before_outcome_transaction","lease_expires_at":"2026-08-14 10:20:31.900718+00:00","lease_owner":"fault-worker-078","lease_token":"ba88e87b-17a5-42ee-95d3-375d644b35dd","object_keys":["observations/0f2b028a-591b-4b4c-a437-48daaa8f8556/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa"],"pid":35020,"reached":true,"sha256":"aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa","work_item_id":"fc2a1790-b2e0-4354-870c-000fe9e5ec63"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"e6c1a315-0053-44f1-ab79-0d798b52d8d9","fault_point":"during_evidence_export","multipart_aborted":false,"ordinal":79,"partial_export_removed":true,"process_state":{"complete_byte_size":12365,"kill_stage":"during_evidence_export","object_store_bucket":"labbridge-phase7-fault-release3","package_id":"experiment-package:6ab63870ecf535fb69b68cd9ac6c8090","partial_byte_size":6182,"partial_path":"build\\phase7-fault-campaign\\working\\interrupted\\e6c1a315-0053-44f1-ab79-0d798b52d8d9.zip.partial","pid":32416,"reached":true},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"91047a2e-1a9a-4af0-94e6-fc220010407f","fault_point":"after_adapter_return_before_upload","multipart_aborted":false,"ordinal":80,"partial_export_removed":false,"process_state":{"attempt_id":"c2f27093-fb63-4a8a-ab3e-795cf0b702c0","committed":false,"fencing_token":1,"job_id":"a7f655e0-37fb-4926-ab3c-f92b320bede1","kill_stage":"after_adapter_return_before_upload","lease_expires_at":"2026-08-14 10:20:48.693999+00:00","lease_owner":"fault-worker-080","lease_token":"0b454448-9653-47f8-865c-4b6ab4b606b8","pid":35428,"reached":true,"work_item_id":"61285572-97e3-4b2d-892d-96c79ee6c40f"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"91ae41fa-7e87-483d-a5f6-8266748c5dc6","fault_point":"during_object_upload","multipart_aborted":true,"ordinal":81,"partial_export_removed":false,"process_state":{"attempt_id":"f12c763b-2088-4399-aa5c-271a7228a0e4","committed":false,"fencing_token":1,"job_id":"40516e64-52dc-455c-b6a8-6fc3cc536a4a","kill_stage":"during_object_upload","lease_expires_at":"2026-08-14 10:21:01.005067+00:00","lease_owner":"fault-worker-081","lease_token":"1a73ca35-de9d-476a-909c-042997425b8c","multipart_part_count":1,"multipart_upload_id":"Njg2NTZiOWUtYzNmOC00Nzk2LWFlMjMtZDgxZGU1MGViNTk4LmUwNTA2NDIwLTJhOGMtNDlmMi1iMTk0LWYyNWJlODU3OTlhOXgxNzg2NzAyODYwMTMxMDI5OTYz","object_keys":["observations/91ae41fa-7e87-483d-a5f6-8266748c5dc6/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea"],"pid":19848,"reached":true,"work_item_id":"ad86a84c-93ae-4d83-8391-01b20b336227"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"8d90f848-8386-4bf0-930d-497cde12520f","fault_point":"after_commit_before_acknowledgement","multipart_aborted":false,"ordinal":82,"partial_export_removed":false,"process_state":{"attempt_id":"5878600e-e3b1-4ba7-94cd-549c54307e5b","byte_size":12612,"committed":true,"fencing_token":1,"job_id":"c214f5f8-598b-4496-8dcc-df3edfc094da","kill_stage":"after_commit_before_acknowledgement","lease_expires_at":null,"lease_owner":"fault-worker-082","lease_token":null,"object_keys":["observations/8d90f848-8386-4bf0-930d-497cde12520f/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4"],"observation_id":"obs:88adb71861dfb514c417fb6da350e784","outcome_status":"succeeded","pid":28436,"reached":true,"sha256":"a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4","work_item_id":"b7365dd7-a9c5-41f9-af52-f5624351e4ee"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"576e46db-760e-4304-936e-65a6a5027a05","fault_point":"after_upload_before_outcome_transaction","multipart_aborted":false,"ordinal":83,"partial_export_removed":false,"process_state":{"attempt_id":"bd37ba7e-79e3-4005-9e68-174c294cf698","byte_size":12588,"committed":false,"fencing_token":1,"job_id":"64e877df-d747-4267-8048-261e4f6388aa","kill_stage":"after_upload_before_outcome_transaction","lease_expires_at":"2026-08-14 10:21:24.587864+00:00","lease_owner":"fault-worker-083","lease_token":"ad28b3fe-5436-415f-ba15-2b9a6d66eb73","object_keys":["observations/576e46db-760e-4304-936e-65a6a5027a05/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac"],"pid":15772,"reached":true,"sha256":"a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac","work_item_id":"946224b9-51d4-4d9b-8cd8-5dbf5b8b87d6"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"32ef2a9f-ac43-417a-96ab-d2a1ee261e61","fault_point":"after_upload_before_outcome_transaction","multipart_aborted":false,"ordinal":84,"partial_export_removed":false,"process_state":{"attempt_id":"792c06ec-af2e-4d54-b29f-2075d6029542","byte_size":12612,"committed":false,"fencing_token":1,"job_id":"cd2303a3-eb46-46ed-b025-923e687e68ee","kill_stage":"after_upload_before_outcome_transaction","lease_expires_at":"2026-08-14 10:21:36.502746+00:00","lease_owner":"fault-worker-084","lease_token":"4d5c21da-7f16-44d6-81ec-86c5fbd81252","object_keys":["observations/32ef2a9f-ac43-417a-96ab-d2a1ee261e61/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa"],"pid":32424,"reached":true,"sha256":"aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa","work_item_id":"a5c7821d-4f17-4e26-8c6b-a46d2eb9479c"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"5a8ac619-1e04-41aa-bb4d-0c97f6e210ed","fault_point":"after_adapter_return_before_upload","multipart_aborted":false,"ordinal":85,"partial_export_removed":false,"process_state":{"attempt_id":"9629ce00-30a6-498a-82b9-40feff31b8e6","committed":false,"fencing_token":1,"job_id":"a6ed7e18-381c-4dde-bce2-b904f1fb288b","kill_stage":"after_adapter_return_before_upload","lease_expires_at":"2026-08-14 10:21:47.521970+00:00","lease_owner":"fault-worker-085","lease_token":"d7af5ca0-e95c-4164-bf62-5fb2a066e141","pid":23840,"reached":true,"work_item_id":"1c2eae16-540e-4f57-8fd7-154916fb0ce3"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"f4470e01-9d79-49d6-938d-58dcd9696a0e","fault_point":"during_object_upload","multipart_aborted":true,"ordinal":86,"partial_export_removed":false,"process_state":{"attempt_id":"022165b6-f458-4267-bc5c-ae4033bd8682","committed":false,"fencing_token":1,"job_id":"2246acef-c6f5-45ab-94b0-c6d8783d7b69","kill_stage":"during_object_upload","lease_expires_at":"2026-08-14 10:21:57.616695+00:00","lease_owner":"fault-worker-086","lease_token":"b4b985c3-c823-4879-9254-40df52df9bc9","multipart_part_count":1,"multipart_upload_id":"Njg2NTZiOWUtYzNmOC00Nzk2LWFlMjMtZDgxZGU1MGViNTk4LjQ1ZmI2ODljLWRkZWUtNDI0NC1hMDBjLTBjNWE3MWNhMjJkOXgxNzg2NzAyOTE2NzI2MTI4MzE0","object_keys":["observations/f4470e01-9d79-49d6-938d-58dcd9696a0e/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c"],"pid":31560,"reached":true,"work_item_id":"a92402d4-1eee-49cc-9c78-9c350a4ebe82"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"2450a748-6614-4fed-ab61-687f9e96284a","fault_point":"after_upload_before_outcome_transaction","multipart_aborted":false,"ordinal":87,"partial_export_removed":false,"process_state":{"attempt_id":"a3a47e37-769c-4c44-b826-33c794b94816","byte_size":12588,"committed":false,"fencing_token":1,"job_id":"a2c79440-f6ea-4026-a927-f2b727457d2f","kill_stage":"after_upload_before_outcome_transaction","lease_expires_at":"2026-08-14 10:22:10.840655+00:00","lease_owner":"fault-worker-087","lease_token":"bf748f7e-a860-429a-99fb-ca0baaa68ed1","object_keys":["observations/2450a748-6614-4fed-ab61-687f9e96284a/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea"],"pid":36532,"reached":true,"sha256":"d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea","work_item_id":"ead9b2e4-73dc-47b1-806a-385197fb51fe"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"e1227616-87a9-40fa-a733-02e093e69a7d","fault_point":"after_upload_before_outcome_transaction","multipart_aborted":false,"ordinal":88,"partial_export_removed":false,"process_state":{"attempt_id":"56edb4c5-3c17-4c02-aa9f-d3ccbbd1a9d5","byte_size":12612,"committed":false,"fencing_token":1,"job_id":"91c3c160-e087-4652-9cfb-68c81835bbd6","kill_stage":"after_upload_before_outcome_transaction","lease_expires_at":"2026-08-14 10:22:23.235321+00:00","lease_owner":"fault-worker-088","lease_token":"c7a7dc6e-1b4a-4cfe-affd-a9a2cd543b84","object_keys":["observations/e1227616-87a9-40fa-a733-02e093e69a7d/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4"],"pid":33860,"reached":true,"sha256":"a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4","work_item_id":"b02e4019-63e0-484e-ab64-e8988e7b0dfe"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"3d003205-f527-44a1-b054-7a7c56f61baa","fault_point":"after_adapter_return_before_upload","multipart_aborted":false,"ordinal":89,"partial_export_removed":false,"process_state":{"attempt_id":"3d7f9b98-65b0-492c-ada1-1593c57c79d2","committed":false,"fencing_token":1,"job_id":"fd2809cd-0817-42df-905b-dad5d7595f88","kill_stage":"after_adapter_return_before_upload","lease_expires_at":"2026-08-14 10:22:34.259187+00:00","lease_owner":"fault-worker-089","lease_token":"6ce3de26-e356-4060-a08a-409b5767830e","pid":26416,"reached":true,"work_item_id":"5610005f-fb7c-423a-a2de-b1707147755a"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"ecfa5869-11b7-4ad4-b0f7-a6f92213a30b","fault_point":"after_upload_before_outcome_transaction","multipart_aborted":false,"ordinal":90,"partial_export_removed":false,"process_state":{"attempt_id":"914eef61-ab1d-4d94-a8a5-8b5a6078e450","byte_size":12612,"committed":false,"fencing_token":1,"job_id":"149e672d-92cf-4b38-b80b-c36826db07eb","kill_stage":"after_upload_before_outcome_transaction","lease_expires_at":"2026-08-14 10:22:49.972683+00:00","lease_owner":"fault-worker-090","lease_token":"788aaddf-5157-4966-a37a-825531e9b4c2","object_keys":["observations/ecfa5869-11b7-4ad4-b0f7-a6f92213a30b/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa"],"pid":17584,"reached":true,"sha256":"aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa","work_item_id":"13e5187b-f346-4c06-97ce-f422cb9530de"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"34a57c82-3407-428c-b788-07820ac053c9","fault_point":"during_evidence_export","multipart_aborted":false,"ordinal":91,"partial_export_removed":true,"process_state":{"complete_byte_size":12383,"kill_stage":"during_evidence_export","object_store_bucket":"labbridge-phase7-fault-release3","package_id":"experiment-package:0d8b35ce1f091838b92b592b03386f19","partial_byte_size":6191,"partial_path":"build\\phase7-fault-campaign\\working\\interrupted\\34a57c82-3407-428c-b788-07820ac053c9.zip.partial","pid":8824,"reached":true},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"b40b0b56-51d5-42bf-9fd8-fccbcec1b2a0","fault_point":"after_adapter_return_before_upload","multipart_aborted":false,"ordinal":92,"partial_export_removed":false,"process_state":{"attempt_id":"65b36775-4dc6-410e-b7d3-5527c4fad958","committed":false,"fencing_token":1,"job_id":"eba79f36-17d3-4fe7-89e2-058e46d624f4","kill_stage":"after_adapter_return_before_upload","lease_expires_at":"2026-08-14 10:23:12.750204+00:00","lease_owner":"fault-worker-092","lease_token":"4c659eb1-d436-4cc8-824e-71a51d7f946f","pid":9428,"reached":true,"work_item_id":"e44b8af5-ec57-4bd0-a08c-658101385310"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"94839296-cafa-4461-8bb6-de3afc49345d","fault_point":"after_adapter_return_before_upload","multipart_aborted":false,"ordinal":93,"partial_export_removed":false,"process_state":{"attempt_id":"5b1b1ded-4db6-48f9-9e05-0801604dfdac","committed":false,"fencing_token":1,"job_id":"d5ce8f95-935b-4d6f-9207-3cadb22d7ef0","kill_stage":"after_adapter_return_before_upload","lease_expires_at":"2026-08-14 10:23:26.016762+00:00","lease_owner":"fault-worker-093","lease_token":"af8fbad4-cd20-40fb-9d7e-00b0aebb21ef","pid":6628,"reached":true,"work_item_id":"7a68663b-acb2-4fa1-9e61-4370185a4df7"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"79723cf5-99db-4b46-922d-9b1bff8c616b","fault_point":"during_evidence_export","multipart_aborted":false,"ordinal":94,"partial_export_removed":true,"process_state":{"complete_byte_size":12382,"kill_stage":"during_evidence_export","object_store_bucket":"labbridge-phase7-fault-release3","package_id":"experiment-package:10fa99630bd8851e8fd74cb0663fc814","partial_byte_size":6191,"partial_path":"build\\phase7-fault-campaign\\working\\interrupted\\79723cf5-99db-4b46-922d-9b1bff8c616b.zip.partial","pid":26796,"reached":true},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"3ac7ec2f-1498-4ccb-8a0d-384bb7b3e461","fault_point":"after_lease_acquisition","multipart_aborted":false,"ordinal":95,"partial_export_removed":false,"process_state":{"attempt_id":null,"committed":false,"fencing_token":1,"job_id":"e18dddab-76a9-4528-ba78-d40e7c41dd27","kill_stage":"after_lease_acquisition","lease_expires_at":"2026-08-14 10:23:45.957660+00:00","lease_owner":"fault-worker-095","lease_token":"8897ba77-1c36-4060-98ba-3e46b14ae56c","pid":34972,"reached":true,"work_item_id":"ae35fa6c-7766-43b4-82b3-0fedcff2693a"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"18f399f9-3257-4620-b948-2169afffc583","fault_point":"after_upload_before_outcome_transaction","multipart_aborted":false,"ordinal":96,"partial_export_removed":false,"process_state":{"attempt_id":"9887a416-a7d3-4d16-be30-eae405757d16","byte_size":12612,"committed":false,"fencing_token":1,"job_id":"f64a37d2-0105-4b0b-8ccc-031b49e96414","kill_stage":"after_upload_before_outcome_transaction","lease_expires_at":"2026-08-14 10:23:58.960696+00:00","lease_owner":"fault-worker-096","lease_token":"6d8ebaa4-08f7-41b5-9b8b-2d6b97e91708","object_keys":["observations/18f399f9-3257-4620-b948-2169afffc583/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa"],"pid":33804,"reached":true,"sha256":"aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa","work_item_id":"c9c51460-2a27-4d53-9658-d32ef610d9e5"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"3c73f261-245b-4a8e-874f-8223348863d7","fault_point":"after_commit_before_acknowledgement","multipart_aborted":false,"ordinal":97,"partial_export_removed":false,"process_state":{"attempt_id":"60dde320-75b9-4a4b-b56c-3d7d8de77579","byte_size":12528,"committed":true,"fencing_token":1,"job_id":"630d25fe-6d6b-4316-a069-3daedd52d99a","kill_stage":"after_commit_before_acknowledgement","lease_expires_at":null,"lease_owner":"fault-worker-097","lease_token":null,"object_keys":["observations/3c73f261-245b-4a8e-874f-8223348863d7/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f"],"observation_id":"obs:b84eb9616f3723fa4749e020b2922217","outcome_status":"succeeded","pid":35872,"reached":true,"sha256":"d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f","work_item_id":"0b365ff6-303c-4f68-8019-abfc880544e4"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"40c209d6-8fa2-4c46-a5e1-bc3e52bf6800","fault_point":"during_object_upload","multipart_aborted":true,"ordinal":98,"partial_export_removed":false,"process_state":{"attempt_id":"37b8eed9-0ec2-4f9b-82cd-4f7a154fc44a","committed":false,"fencing_token":1,"job_id":"494696d1-952d-48f6-9b8c-eada0c8372e5","kill_stage":"during_object_upload","lease_expires_at":"2026-08-14 10:24:21.992146+00:00","lease_owner":"fault-worker-098","lease_token":"b35c5366-41c9-4172-9b03-dd11bb4d0114","multipart_part_count":1,"multipart_upload_id":"Njg2NTZiOWUtYzNmOC00Nzk2LWFlMjMtZDgxZGU1MGViNTk4LjgyNmY1ZjIxLWFhZmQtNDIxZC1hYzRkLTdlM2ZlNzgyNTk4MHgxNzg2NzAzMDYxMTQ5NTI3NTI2","object_keys":["observations/40c209d6-8fa2-4c46-a5e1-bc3e52bf6800/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c"],"pid":2524,"reached":true,"work_item_id":"5596db75-d14f-42d7-908b-b09e9324690a"},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"b00d7a14-4687-4129-85f8-9264f9e65afc","fault_point":"during_evidence_export","multipart_aborted":false,"ordinal":99,"partial_export_removed":true,"process_state":{"complete_byte_size":12405,"kill_stage":"during_evidence_export","object_store_bucket":"labbridge-phase7-fault-release3","package_id":"experiment-package:915875c3be4d4d022429c26373f31bf5","partial_byte_size":6202,"partial_path":"build\\phase7-fault-campaign\\working\\interrupted\\b00d7a14-4687-4129-85f8-9264f9e65afc.zip.partial","pid":35116,"reached":true},"replay_mismatches":[],"stderr":"","stdout":""} +{"campaign_id":"73fc256b-6ce8-4142-961c-6777c9107c7f","fault_point":"during_evidence_export","multipart_aborted":false,"ordinal":100,"partial_export_removed":true,"process_state":{"complete_byte_size":12396,"kill_stage":"during_evidence_export","object_store_bucket":"labbridge-phase7-fault-release3","package_id":"experiment-package:81d317e75bd1303ff0308d52e9cad2fa","partial_byte_size":6198,"partial_path":"build\\phase7-fault-campaign\\working\\interrupted\\73fc256b-6ce8-4142-961c-6777c9107c7f.zip.partial","pid":35472,"reached":true},"replay_mismatches":[],"stderr":"","stdout":""} diff --git a/artifacts/fault-campaign/backup-restore.json b/artifacts/fault-campaign/backup-restore.json index e3673de..3b73751 100644 --- a/artifacts/fault-campaign/backup-restore.json +++ b/artifacts/fault-campaign/backup-restore.json @@ -1,518 +1,518 @@ { "campaigns_replayed_equal": 100, - "finished_at": "2026-08-13T15:34:19.795509+00:00", + "finished_at": "2026-08-14T10:25:08.287372+00:00", "object_count": 100, "object_inventory": [ + { + "byte_size": 12552, + "key": "observations/00e64846-7d5b-4642-b639-0cdcfb0aaa6b/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", + "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" + }, + { + "byte_size": 12528, + "key": "observations/0b34aa01-19c5-483a-b6b1-7010a99c01ef/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", + "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" + }, + { + "byte_size": 12612, + "key": "observations/0f2b028a-591b-4b4c-a437-48daaa8f8556/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", + "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" + }, { "byte_size": 12588, - "key": "observations/01590fe3-e7ca-4e25-8b3a-1f3030e6885d/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", - "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" + "key": "observations/137655fe-2638-4d0f-a009-bcc9176dd0e7/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", + "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" + }, + { + "byte_size": 12552, + "key": "observations/151ccef8-ef3e-4d0f-8369-e7f7f608ef6f/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", + "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" + }, + { + "byte_size": 12528, + "key": "observations/159041f3-1d8e-434f-865e-5a0e66f96591/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", + "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" }, { "byte_size": 12612, - "key": "observations/072d4372-08f2-4c90-b42e-57af4ee751c1/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", + "key": "observations/1883256d-5487-4a72-93c7-83c64118b1d6/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", + "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" + }, + { + "byte_size": 12612, + "key": "observations/18f399f9-3257-4620-b948-2169afffc583/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" }, { "byte_size": 12612, - "key": "observations/125d599f-5e20-4e67-8583-e8cdfd21f056/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", + "key": "observations/1a161d49-a854-4da0-b7a4-de86aa4b9eef/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" }, { - "byte_size": 12528, - "key": "observations/135daa99-c98d-4d55-8207-e81b7f351cda/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", - "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" + "byte_size": 12612, + "key": "observations/1d42f522-20a4-4679-b64f-1d426a3d1828/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", + "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" }, { "byte_size": 12612, - "key": "observations/136f2ca6-1984-42a4-9266-82479854223f/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", + "key": "observations/1fbf9d27-0eb2-44df-803d-9cb650cc32c7/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" }, { "byte_size": 12612, - "key": "observations/19937805-b191-4d42-bff5-ef2f6ada4fe8/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", - "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" + "key": "observations/22a57b2d-ead3-47f0-832d-7a8300d12991/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", + "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" }, { - "byte_size": 12588, - "key": "observations/1e330dca-c472-448e-b9b0-abb37eec951e/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", - "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" + "byte_size": 12612, + "key": "observations/242b4137-17f0-4fa0-95d3-15fa3479517b/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", + "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" }, { "byte_size": 12588, - "key": "observations/1e85d510-f597-405f-9351-eb5683f60ed3/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", - "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" + "key": "observations/2450a748-6614-4fed-ab61-687f9e96284a/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", + "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" }, { - "byte_size": 12528, - "key": "observations/1f674de1-c040-4f90-87b4-057558bd6230/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", - "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" + "byte_size": 12612, + "key": "observations/2c11298c-7cc8-4b64-b633-2dcdbffa24f1/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", + "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" }, { "byte_size": 12588, - "key": "observations/21c1f828-89e5-408c-8771-d2ff0f941d88/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", + "key": "observations/2ddfa503-e912-44ec-bc85-57cad2b1cbef/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" }, { "byte_size": 12612, - "key": "observations/23809f10-2911-4424-ac25-74dd64d39835/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", + "key": "observations/2fbddd90-0de9-4020-9a2a-601216479075/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" }, { - "byte_size": 12552, - "key": "observations/27b887d3-a2e9-44af-9a78-44b4bc07f6c2/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", - "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" + "byte_size": 12528, + "key": "observations/31ab9938-a72a-4770-9d33-e9d2e85bc8ad/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", + "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" }, { - "byte_size": 12552, - "key": "observations/28294cf5-321a-459b-90f2-d48c7a99d245/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", - "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" + "byte_size": 12612, + "key": "observations/32ef2a9f-ac43-417a-96ab-d2a1ee261e61/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", + "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" + }, + { + "byte_size": 12528, + "key": "observations/34a57c82-3407-428c-b788-07820ac053c9/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", + "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" + }, + { + "byte_size": 12612, + "key": "observations/34e1517f-006f-4a20-83e2-c9cb8bf76013/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", + "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" }, { "byte_size": 12588, - "key": "observations/2a15e30a-dd39-47a3-8ced-ede6c17e1263/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", - "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" + "key": "observations/367618ea-4656-4a19-b3d0-a2d785dc051d/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", + "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" }, { "byte_size": 12612, - "key": "observations/2ac4cf24-29e8-4db0-a91d-0fea1100c541/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", + "key": "observations/385b45ec-ef19-4cf5-b824-59dfcb89df1a/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" }, + { + "byte_size": 12588, + "key": "observations/3ac7ec2f-1498-4ccb-8a0d-384bb7b3e461/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", + "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" + }, + { + "byte_size": 12528, + "key": "observations/3b46d138-a70a-4494-8973-bfe2b3949bb3/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", + "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" + }, { "byte_size": 12528, - "key": "observations/2e4a527c-df6b-48a9-aeed-259f81145504/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", + "key": "observations/3c73f261-245b-4a8e-874f-8223348863d7/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" }, { "byte_size": 12588, - "key": "observations/33159243-2f76-409a-aefe-c516d8c6c0d7/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", - "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" + "key": "observations/3d003205-f527-44a1-b054-7a7c56f61baa/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", + "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" }, { - "byte_size": 12528, - "key": "observations/39c05254-5da1-43e2-9eed-044e22381b6f/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", - "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" + "byte_size": 12552, + "key": "observations/3ec20c72-ef7d-4976-8458-f77e4c0cdf95/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", + "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" }, { - "byte_size": 12612, - "key": "observations/3ee666c6-07f4-484b-9c39-266020796907/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", - "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" + "byte_size": 12552, + "key": "observations/40c209d6-8fa2-4c46-a5e1-bc3e52bf6800/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", + "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" }, { "byte_size": 12612, - "key": "observations/41a4fbd3-7748-4c64-8fc2-9d5e05c148a3/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", + "key": "observations/44cbfa21-1aec-4c40-a2b2-ee7e885463a3/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" }, { - "byte_size": 12552, - "key": "observations/47bc04ef-6a51-48b1-bbca-68ecff5f7158/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", - "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" + "byte_size": 12528, + "key": "observations/49cafee4-4b11-4575-b93e-5d32091788a1/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", + "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" }, { "byte_size": 12588, - "key": "observations/47d20867-15c9-45bc-8889-18340a643a03/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", + "key": "observations/4a29aec2-9501-4195-97e3-25eeb1014c87/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" }, { - "byte_size": 12612, - "key": "observations/47e0cf17-3b46-4ef7-bd1e-301a0b178d6c/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", - "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" - }, - { - "byte_size": 12612, - "key": "observations/48759d52-8893-4de1-9344-b3ee0f5e48a8/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", - "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" + "byte_size": 12588, + "key": "observations/4aa64844-d429-49b2-acab-ff3288a90bcc/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", + "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" }, { - "byte_size": 12612, - "key": "observations/48dd37ad-ac19-4649-aac0-8fb0a40e95ea/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", - "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" + "byte_size": 12588, + "key": "observations/4c848945-5f9d-4ba2-9f42-a83d056553ed/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", + "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" }, { "byte_size": 12528, - "key": "observations/4cf918c1-a536-4f95-968e-7a5406ce59b7/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", + "key": "observations/4e2327cc-9dea-464a-bfdd-cb24bb962bda/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" }, { - "byte_size": 12552, - "key": "observations/4d60587b-1e77-4a75-a65d-f8faca41f981/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", - "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" + "byte_size": 12612, + "key": "observations/4fe0557a-28e9-445f-8e86-7405dd47b5e3/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", + "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" }, { "byte_size": 12588, - "key": "observations/519d9e8c-7f1f-4fcf-9b02-a880ca86a268/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", + "key": "observations/55ba9687-2da4-471a-976d-862126577ad3/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" }, { "byte_size": 12588, - "key": "observations/558dbdec-63cb-43c3-af7b-cd0dcfb867a8/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", + "key": "observations/576e46db-760e-4304-936e-65a6a5027a05/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" }, { - "byte_size": 12552, - "key": "observations/58bc6b16-5c81-4b87-a0e8-81dec961885a/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", - "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" + "byte_size": 12528, + "key": "observations/5a8ac619-1e04-41aa-bb4d-0c97f6e210ed/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", + "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" }, { "byte_size": 12552, - "key": "observations/59cbeb32-5252-4d24-b89f-50f50964d679/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", + "key": "observations/5ba71a70-ce26-45d8-97a8-ac397b5c2ae1/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" }, { "byte_size": 12588, - "key": "observations/59ea5b03-51b3-403a-9a2d-1b852f3eaab5/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", - "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" + "key": "observations/605615d2-914f-4543-b5b0-f0a4b8bce588/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", + "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" }, { - "byte_size": 12528, - "key": "observations/5aa7cb86-8bb3-4506-9bd5-a768e251cb41/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", - "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" + "byte_size": 12552, + "key": "observations/60c1b1b6-173f-4375-afc2-67a5f2ae08aa/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", + "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" + }, + { + "byte_size": 12552, + "key": "observations/63c86416-3e69-49c6-9c26-7c19c7cad96d/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", + "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" }, { "byte_size": 12528, - "key": "observations/5b3e002f-5593-456a-9e46-d21e941ec43e/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", + "key": "observations/6b985d61-1f60-44d9-881c-807d024beb86/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" }, { "byte_size": 12612, - "key": "observations/5bd63eff-2e2c-416a-aad2-ed12427e6a7e/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", - "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" + "key": "observations/73fc256b-6ce8-4142-961c-6777c9107c7f/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", + "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" }, { "byte_size": 12612, - "key": "observations/61890fc0-9ed1-4ed1-8db0-fd4c5b6318dc/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", - "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" + "key": "observations/79723cf5-99db-4b46-922d-9b1bff8c616b/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", + "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" }, { "byte_size": 12588, - "key": "observations/622a6919-2afb-4128-8f66-cf7871d9dd3b/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", - "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" + "key": "observations/7c83619d-4a96-4f3c-8b30-0e94f9d8c7e7/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", + "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" }, { "byte_size": 12612, - "key": "observations/68613b39-5b67-4f47-a4da-35ce5068f40b/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", - "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" + "key": "observations/7ddde011-de55-4b48-8979-a68b176eafaa/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", + "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" }, { "byte_size": 12588, - "key": "observations/6c0dcbcf-e8f3-484f-92fb-835a0a7021d0/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", + "key": "observations/7f13ceee-76a2-4996-be86-6342a9ca4b14/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" }, + { + "byte_size": 12588, + "key": "observations/7fb3eeee-7c16-4260-99c6-7663db4a0686/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", + "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" + }, { "byte_size": 12552, - "key": "observations/6c3b6a35-8005-4b87-9352-3c102ea4e6e3/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", + "key": "observations/820f15e5-e222-46cc-b74e-6713d9e12e29/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" }, { "byte_size": 12612, - "key": "observations/6d0132f3-e034-4f94-9387-55c181663900/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", + "key": "observations/847de2e8-745b-4ac9-8ab1-88ae19e70052/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" }, + { + "byte_size": 12588, + "key": "observations/8794d3a7-3103-4f50-a299-daf90d776b17/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", + "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" + }, { "byte_size": 12612, - "key": "observations/6de3894d-bc6f-4ae7-b3a7-51c97dd02403/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", + "key": "observations/8c33bb8b-54d6-4e69-8398-19320e394cec/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" }, { - "byte_size": 12588, - "key": "observations/6f7443d7-6eef-4ff6-b011-31682267449a/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", - "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" + "byte_size": 12612, + "key": "observations/8d90f848-8386-4bf0-930d-497cde12520f/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", + "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" }, { "byte_size": 12552, - "key": "observations/72c5a640-a72e-4e7b-8ec0-f7807877a56a/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", + "key": "observations/91047a2e-1a9a-4af0-94e6-fc220010407f/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" }, { "byte_size": 12588, - "key": "observations/7886f262-3928-4622-b0aa-c10b8917bb73/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", + "key": "observations/91ae41fa-7e87-483d-a5f6-8266748c5dc6/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" }, { "byte_size": 12588, - "key": "observations/78ef6b4e-b1ee-4618-b573-ef1007699e43/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", + "key": "observations/94839296-cafa-4461-8bb6-de3afc49345d/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" }, { "byte_size": 12612, - "key": "observations/7a82b14e-f2c1-4679-b28a-9e0194e71e95/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", + "key": "observations/9540a137-fb43-4c8c-b855-e85e4a1b0251/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" }, { "byte_size": 12528, - "key": "observations/7c6d06d3-0c61-485c-acf8-23d1b851dea2/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", + "key": "observations/9593d9a2-c5d6-4967-9e3b-666a98adf108/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" }, { - "byte_size": 12552, - "key": "observations/7e46971f-d52e-4048-8764-c329f7108574/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", - "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" + "byte_size": 12528, + "key": "observations/974eecb8-5060-4d2c-880c-d046ebf5755f/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", + "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" }, { - "byte_size": 12612, - "key": "observations/806fe7bd-c12c-44c5-9b49-3da2372ee257/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", - "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" + "byte_size": 12588, + "key": "observations/98a1c7df-781a-41e3-8591-c7fbffb05b20/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", + "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" }, { "byte_size": 12588, - "key": "observations/84a30526-8931-4372-90f9-b60c1e111ed0/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", + "key": "observations/9efd6265-dc3d-4fda-9984-e2b29681eda5/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" }, { "byte_size": 12612, - "key": "observations/86ba137f-61a2-4ac2-b91c-e690e4474b40/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", - "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" - }, - { - "byte_size": 12552, - "key": "observations/87b5ce0a-2af4-481b-aa1f-c3c02dc28931/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", - "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" - }, - { - "byte_size": 12552, - "key": "observations/8917decd-bef5-4230-8e03-1f0c56458e39/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", - "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" + "key": "observations/a1bc6249-fbc8-4959-bfbe-28a425045f05/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", + "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" }, { "byte_size": 12588, - "key": "observations/8a1487ce-d860-43d1-8d54-043be3122625/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", + "key": "observations/a36da83d-db46-4670-a637-9ffe5e220810/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" }, { "byte_size": 12612, - "key": "observations/8a1bf94c-00ec-4b36-9a75-de568152b0cd/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", - "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" - }, - { - "byte_size": 12612, - "key": "observations/8c8ea74e-2648-4dcb-bca7-0295f341a56e/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", + "key": "observations/a53bebf9-6f36-4c6f-bc9d-fc971585fd0f/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" }, { "byte_size": 12588, - "key": "observations/94c8929d-f086-472b-b54d-4702739bb26f/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", + "key": "observations/a9dbfd65-eaba-4d48-9d16-f06fd3ac7a5c/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" }, { "byte_size": 12588, - "key": "observations/96e3f7c3-fa35-46dd-bafa-9b3d66aad56d/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", - "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" + "key": "observations/ae40ec4a-9c7c-4bf0-b9cf-f52c96558d1c/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", + "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" }, { "byte_size": 12588, - "key": "observations/9ae3ef5b-65f1-4c96-9a9a-f9d7145f412b/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", + "key": "observations/b00d7a14-4687-4129-85f8-9264f9e65afc/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" }, { "byte_size": 12588, - "key": "observations/9c646f85-7801-4760-b6c3-684cc20fda21/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", + "key": "observations/b095a683-b126-4274-9777-6050a6ea4b50/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" }, { - "byte_size": 12588, - "key": "observations/9f330b2f-2e46-4923-9ddf-894e38a6627c/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", - "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" + "byte_size": 12552, + "key": "observations/b1aa75e3-6842-4408-acd8-826e35ee2508/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", + "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" }, { "byte_size": 12528, - "key": "observations/a2c40507-e440-4f6a-b166-87f5d619a9dd/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", + "key": "observations/b27e92ae-eb8e-4576-bef9-b923334dcc71/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" }, { - "byte_size": 12612, - "key": "observations/a36a8519-635c-4a9a-89f7-e74603e5afb3/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", - "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" + "byte_size": 12552, + "key": "observations/b40b0b56-51d5-42bf-9fd8-fccbcec1b2a0/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", + "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" }, { "byte_size": 12612, - "key": "observations/ae704d06-66ad-4b3d-8fa0-bc5eab031700/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", + "key": "observations/b5273feb-6224-47f5-9efe-ca8f5f2c50c3/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" }, - { - "byte_size": 12528, - "key": "observations/b20cf37e-2d82-44a8-9f5f-3aa42695fbc2/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", - "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" - }, { "byte_size": 12612, - "key": "observations/b22d4364-8e6a-4c06-b612-f956d3aa2e77/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", + "key": "observations/bc56f20c-e654-46aa-9329-4c05c20a0258/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" }, - { - "byte_size": 12588, - "key": "observations/b411eb8f-a546-4aa2-aaf3-3d790cbd5f05/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", - "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" - }, { "byte_size": 12552, - "key": "observations/b5f6266d-f6f5-4109-a632-fca8823a3300/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", + "key": "observations/bd6c1f73-1291-4703-92c2-9c793ffd41d2/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" }, { - "byte_size": 12612, - "key": "observations/b9606d88-c543-461e-b948-1d89709557e4/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", - "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" - }, - { - "byte_size": 12588, - "key": "observations/bc38c14c-d8fa-4954-b1ab-d2af6df6d2a9/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", - "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" + "byte_size": 12528, + "key": "observations/bdb5b719-89cc-472d-a336-428c7e07624e/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", + "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" }, { "byte_size": 12528, - "key": "observations/bf5c4dfe-40fa-4789-bf66-f9b667f105ed/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", + "key": "observations/bfca9dea-5602-4bf5-afe2-c1a31ca3b1c9/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" }, { "byte_size": 12612, - "key": "observations/c04f2c07-1319-4eb0-bba8-f41a44594b72/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", - "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" - }, - { - "byte_size": 12528, - "key": "observations/c2203cb6-dd54-49df-b83d-e3acc688ded5/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", - "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" + "key": "observations/c5e5e6d8-0f6e-4af6-81df-c86cfb376721/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", + "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" }, { "byte_size": 12552, - "key": "observations/c444ea0e-cfde-40b1-87ce-9ad7bb306d76/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", + "key": "observations/c7d1b4b9-44df-4daf-bdff-fbccd0c12995/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" }, { "byte_size": 12588, - "key": "observations/c624ec0a-5c8f-413f-99c0-c57e85617984/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", + "key": "observations/c8cc2173-170c-49db-aba4-30a1c4dec9b4/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" }, { "byte_size": 12588, - "key": "observations/c6cbf15f-2f7c-43d7-b20f-40762aef8c16/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", + "key": "observations/cb90286b-ca59-4dc4-8dce-cc7330a07373/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" }, { - "byte_size": 12612, - "key": "observations/cabc27fd-a974-417e-98c7-a16fa4bfa22a/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", - "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" - }, - { - "byte_size": 12528, - "key": "observations/cb133b65-1429-4249-b345-1b7b78f28dea/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", - "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" - }, - { - "byte_size": 12552, - "key": "observations/cbf3a329-e6f5-4794-a66a-c15f40da536c/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", - "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" - }, - { - "byte_size": 12528, - "key": "observations/cd6374d8-0fa8-4a68-bf16-7c239a3a2bfe/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", - "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" + "byte_size": 12588, + "key": "observations/d691cf85-6cc4-4ff6-ae0e-e09eef28676b/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", + "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" }, { "byte_size": 12612, - "key": "observations/d0cb5535-5a73-4a33-9d7b-e2be378f10fc/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", + "key": "observations/dd7df504-61ec-4fc1-bf35-643f8893eea6/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" }, { "byte_size": 12588, - "key": "observations/d384007b-c0c7-4a07-99e0-23d7fbbead56/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", + "key": "observations/debea722-7e09-48fa-87da-b9497c61bed9/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" }, { "byte_size": 12552, - "key": "observations/d5de7bd1-021b-407e-ac83-a04f0ae3d654/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", + "key": "observations/dfa14842-a1ea-428c-a28a-5e5acfa69a27/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" }, { "byte_size": 12612, - "key": "observations/d70fc10d-5775-4e4a-abc1-d3ed2a3be71a/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", - "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" - }, - { - "byte_size": 12528, - "key": "observations/da45a71c-0f1b-4522-81a5-9119a448adb4/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", - "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" + "key": "observations/e107ca1d-5f49-43ad-98d0-82bbd2161c5b/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", + "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" }, { "byte_size": 12612, - "key": "observations/db21d30b-ff2c-4431-8a8a-17a2ec046190/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", + "key": "observations/e1227616-87a9-40fa-a733-02e093e69a7d/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" }, { - "byte_size": 12612, - "key": "observations/dd914774-38dd-492d-92fb-8420c8ab58b7/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", - "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" + "byte_size": 12528, + "key": "observations/e6c1a315-0053-44f1-ab79-0d798b52d8d9/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", + "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" }, { "byte_size": 12588, - "key": "observations/de49fa8b-4661-45f1-bea9-ca9608e9558a/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", - "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" + "key": "observations/e783df27-3418-4f00-8261-cd85844dc6e5/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", + "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" + }, + { + "byte_size": 12552, + "key": "observations/e873a878-dd73-43e8-a90a-d96ca6d3f952/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", + "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" }, { "byte_size": 12612, - "key": "observations/dee06c98-5df9-4d46-988b-3bedca9fab6c/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", + "key": "observations/e99032a1-d0db-417c-afbb-7323c2916f43/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" }, { "byte_size": 12588, - "key": "observations/e47fe0e5-eb40-4c46-b582-cded270a7d80/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", - "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" + "key": "observations/eaa90654-d76d-4f1a-8518-7beae7bb8aa5/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", + "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" }, { "byte_size": 12528, - "key": "observations/e5c78838-d72a-4976-81cb-e80189296002/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", + "key": "observations/eb15f57a-9453-455b-b698-b9c0c7392a7a/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" }, - { - "byte_size": 12552, - "key": "observations/ed089dbc-273b-410a-ae00-2adc2cdb48ce/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", - "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" - }, - { - "byte_size": 12588, - "key": "observations/edbe2be0-d9ed-46d1-a4a5-41fe9f7e9536/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", - "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" - }, { "byte_size": 12612, - "key": "observations/eedb969b-1a0d-45d1-a1e8-37cbea951417/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", - "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" + "key": "observations/ecfa5869-11b7-4ad4-b0f7-a6f92213a30b/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", + "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" }, { - "byte_size": 12528, - "key": "observations/f3bd9b1c-d26c-4cfd-bf74-58f35b299087/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", - "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" + "byte_size": 12588, + "key": "observations/f12df2e2-3626-4d3e-9350-dd8e497c4f47/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", + "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" }, { "byte_size": 12552, - "key": "observations/f3e4def2-6635-4026-9e1f-9fa2b0f3e4f2/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", + "key": "observations/f4470e01-9d79-49d6-938d-58dcd9696a0e/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" }, { "byte_size": 12588, - "key": "observations/f4eacdcc-0342-47d6-bdfb-ea7642655326/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", + "key": "observations/f93cb898-46ff-4b94-a210-5daa4267fedf/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" }, { - "byte_size": 12588, - "key": "observations/f5360227-cf82-4423-9f17-fcc48f0e26df/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", - "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" + "byte_size": 12552, + "key": "observations/fa233469-95d6-4b96-a632-26b1e4e1930e/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", + "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" }, { - "byte_size": 12588, - "key": "observations/fca390dd-591a-4b30-9071-fba97647aaca/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", - "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" + "byte_size": 12612, + "key": "observations/fa5dde52-f4d2-49e6-9da6-9e0650f9f995/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", + "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" } ], "passed": true, - "postgres_dump_byte_size": 449513, - "postgres_dump_sha256": "92f88920e58575f4133d56b3b34cadbea4b6fc737974f41eab840dcd28d0bf44", - "restore_database": "labbridge_phase7_fault_release2_restore", + "postgres_dump_byte_size": 464208, + "postgres_dump_sha256": "aec69955914e004e923807c5b9f12dc8324978cd388f0fd96436003f0773a34d", + "restore_database": "labbridge_phase7_fault_release3_restore", "restore_minio_distinct_instance": true, "restored_object_checksums_verified": 100, "restored_packages_fully_verified": 100, - "source_database": "labbridge_phase7_fault_release2", - "started_at": "2026-08-13T15:33:55.693985+00:00", + "source_database": "labbridge_phase7_fault_release3", + "started_at": "2026-08-14T10:24:43.515031+00:00", "status": "PASSED", "table_counts": { "attempt_outcomes": 251, @@ -523,6 +523,10 @@ "cv_structural_findings": 0, "cv_transformation_records": 0, "derived_metrics": 200, + "electrolysis_auxiliary_results": 0, + "electrolysis_import_profiles": 0, + "electrolysis_structural_findings": 0, + "electrolysis_transformation_records": 0, "events": 2642, "experiment_packages": 0, "experiment_passports": 0, @@ -533,6 +537,8 @@ "jobs": 200, "metadata_assertions": 0, "normalised_cv_observations": 0, + "normalised_electrolysis_observations": 0, + "normalised_observations": 0, "observations": 200, "record_relations": 0, "source_artifacts": 0, diff --git a/artifacts/fault-campaign/environment-manifest.json b/artifacts/fault-campaign/environment-manifest.json index cd78f58..a7488a5 100644 --- a/artifacts/fault-campaign/environment-manifest.json +++ b/artifacts/fault-campaign/environment-manifest.json @@ -1,7 +1,7 @@ { - "compose_images": "[{\"ID\":\"sha256:826a2a18d8fb2408f04ee0ce683a4ec41e860abe0dd8c4ec2ac2cd77a3575f3e\",\"ContainerName\":\"labbridge-app-1\",\"Repository\":\"labbridge-app\",\"Tag\":\"latest\",\"Size\":742683979},{\"ID\":\"sha256:69b2ec208575b69597784255eec6fa6a2985ee9e1a47f4411a51f7f5fdd193a9\",\"ContainerName\":\"labbridge-minio-1\",\"Repository\":\"minio/minio\",\"Tag\":\"latest\",\"Size\":175494058},{\"ID\":\"sha256:93aa428db0aeeb71d24dcad1491bef6e1396a4255697e4bfc4c725bfeb981b74\",\"ContainerName\":\"labbridge-postgres-1\",\"Repository\":\"postgres\",\"Tag\":\"17-alpine\",\"Size\":297072501}]", + "compose_images": "[{\"ID\":\"sha256:39e0ae9551fe0b4882a918ff8f7f475fd1730f76e3b7a3e0f399e915c32a4f11\",\"ContainerName\":\"labbridge-cv-passport-demo-app-1\",\"Repository\":\"labbridge-cv-passport-demo-app\",\"Tag\":\"latest\",\"Size\":758720726},{\"ID\":\"sha256:69b2ec208575b69597784255eec6fa6a2985ee9e1a47f4411a51f7f5fdd193a9\",\"ContainerName\":\"labbridge-cv-passport-demo-demo-minio-1\",\"Repository\":\"minio/minio\",\"Tag\":\"latest\",\"Size\":175494058},{\"ID\":\"sha256:93aa428db0aeeb71d24dcad1491bef6e1396a4255697e4bfc4c725bfeb981b74\",\"ContainerName\":\"labbridge-cv-passport-demo-demo-postgres-1\",\"Repository\":\"postgres\",\"Tag\":\"17-alpine\",\"Size\":297072501},{\"ID\":\"sha256:69b2ec208575b69597784255eec6fa6a2985ee9e1a47f4411a51f7f5fdd193a9\",\"ContainerName\":\"labbridge-cv-passport-demo-minio-1\",\"Repository\":\"minio/minio\",\"Tag\":\"latest\",\"Size\":175494058},{\"ID\":\"sha256:93aa428db0aeeb71d24dcad1491bef6e1396a4255697e4bfc4c725bfeb981b74\",\"ContainerName\":\"labbridge-cv-passport-demo-postgres-1\",\"Repository\":\"postgres\",\"Tag\":\"17-alpine\",\"Size\":297072501}]", "data_origin": "synthetic", - "database_name": "labbridge_phase7_fault_release2", + "database_name": "labbridge_phase7_fault_release3", "dependency_versions": { "alembic": "1.18.5", "boto3": "1.43.59", @@ -13,13 +13,16 @@ "execution_mode": "replay", "fixture_manifest_sha256": "84a7fa5c3f48ac4c625e20de29a9df9cf6b5d82c6106caeac8a648d552ca3495", "future_live_execution": "not_run_out_of_scope", - "git_head": "14921d701e512bb70816e55c844293f90e6bb8d0", - "object_store_bucket": "labbridge-phase7-fault-release2", + "git_head": "376dc2209cfff80f6d7af930e99fb1f5ab792e70", + "merge_base_with_origin_main": "2f090e71a780dc35d34ee04a33557f093559fad6", + "object_store_bucket": "labbridge-phase7-fault-release3", "operating_system": "Windows-11-10.0.26200-SP0", - "origin_main": "17b4d2060c8a6d2431769a1d55ce76d7977f88f8", + "origin_main": "2f090e71a780dc35d34ee04a33557f093559fad6", + "origin_main_contained": true, "python": "3.12.0 (tags/v3.12.0:0fb18b0, Oct 2 2023, 13:03:39) [MSC v.1935 64 bit (AMD64)]", "python_executable": "C:\\Users\\Lenovo L14\\AppData\\Local\\Programs\\Python\\Python312\\python.exe", - "recorded_at": "2026-08-13T15:33:54.733993+00:00", + "recorded_at": "2026-08-14T10:24:41.454929+00:00", "secrets_recorded": false, - "source_tree_sha256": "29787fbebd7468df182d5133f9b14efd184944467fb82791d60bec70c98aba1b" + "source_tree_sha256": "133101fa7fbfb51c5845576a68f9ce0f8057534b216fdb12b2fbc7e7f821cfff", + "working_tree": "clean" } diff --git a/artifacts/fault-campaign/fault-campaign-report.html b/artifacts/fault-campaign/fault-campaign-report.html index 0fba663..a558d31 100644 --- a/artifacts/fault-campaign/fault-campaign-report.html +++ b/artifacts/fault-campaign/fault-campaign-report.html @@ -1 +1 @@ -LabBridge Phase 7 fault campaign

Phase 7 process-boundary fault campaign

Data classification: synthetic + replay

This report describes at-least-once delivery with idempotent effect handling. It makes no exactly-once execution claim.

campaigns_executed100
fault_point_counts{'after_adapter_return_before_upload': 17, 'after_commit_before_acknowledgement': 16, 'after_lease_acquisition': 17, 'after_upload_before_outcome_transaction': 17, 'during_evidence_export': 16, 'during_object_upload': 17}
lost_accepted_observations0
unintended_duplicate_acceptances0
hard_budget_overspends0
projection_mismatches0
failed_package_verifications0
corrupted_receipts_retained0
duplicate_suppressions100
failure_code_counts{'lease_lost': 51}
acceptance_metTrue

Scope and exclusions

+LabBridge Phase 7 fault campaign

Phase 7 process-boundary fault campaign

Data classification: synthetic + replay

This report describes at-least-once delivery with idempotent effect handling. It makes no exactly-once execution claim.

campaigns_executed100
fault_point_counts{'after_adapter_return_before_upload': 17, 'after_commit_before_acknowledgement': 16, 'after_lease_acquisition': 17, 'after_upload_before_outcome_transaction': 17, 'during_evidence_export': 16, 'during_object_upload': 17}
lost_accepted_observations0
unintended_duplicate_acceptances0
hard_budget_overspends0
projection_mismatches0
failed_package_verifications0
corrupted_receipts_retained0
duplicate_suppressions100
failure_code_counts{'lease_lost': 51}
acceptance_metTrue

Scope and exclusions

diff --git a/artifacts/fault-campaign/fault-campaign-report.json b/artifacts/fault-campaign/fault-campaign-report.json index 40ad14a..a15bd18 100644 --- a/artifacts/fault-campaign/fault-campaign-report.json +++ b/artifacts/fault-campaign/fault-campaign-report.json @@ -1,519 +1,519 @@ { "backup_restore": { "campaigns_replayed_equal": 100, - "finished_at": "2026-08-13T15:34:19.795509+00:00", + "finished_at": "2026-08-14T10:25:08.287372+00:00", "object_count": 100, "object_inventory": [ + { + "byte_size": 12552, + "key": "observations/00e64846-7d5b-4642-b639-0cdcfb0aaa6b/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", + "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" + }, + { + "byte_size": 12528, + "key": "observations/0b34aa01-19c5-483a-b6b1-7010a99c01ef/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", + "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" + }, + { + "byte_size": 12612, + "key": "observations/0f2b028a-591b-4b4c-a437-48daaa8f8556/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", + "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" + }, { "byte_size": 12588, - "key": "observations/01590fe3-e7ca-4e25-8b3a-1f3030e6885d/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", - "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" + "key": "observations/137655fe-2638-4d0f-a009-bcc9176dd0e7/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", + "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" + }, + { + "byte_size": 12552, + "key": "observations/151ccef8-ef3e-4d0f-8369-e7f7f608ef6f/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", + "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" + }, + { + "byte_size": 12528, + "key": "observations/159041f3-1d8e-434f-865e-5a0e66f96591/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", + "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" }, { "byte_size": 12612, - "key": "observations/072d4372-08f2-4c90-b42e-57af4ee751c1/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", + "key": "observations/1883256d-5487-4a72-93c7-83c64118b1d6/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", + "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" + }, + { + "byte_size": 12612, + "key": "observations/18f399f9-3257-4620-b948-2169afffc583/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" }, { "byte_size": 12612, - "key": "observations/125d599f-5e20-4e67-8583-e8cdfd21f056/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", + "key": "observations/1a161d49-a854-4da0-b7a4-de86aa4b9eef/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" }, { - "byte_size": 12528, - "key": "observations/135daa99-c98d-4d55-8207-e81b7f351cda/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", - "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" + "byte_size": 12612, + "key": "observations/1d42f522-20a4-4679-b64f-1d426a3d1828/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", + "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" }, { "byte_size": 12612, - "key": "observations/136f2ca6-1984-42a4-9266-82479854223f/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", + "key": "observations/1fbf9d27-0eb2-44df-803d-9cb650cc32c7/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" }, { "byte_size": 12612, - "key": "observations/19937805-b191-4d42-bff5-ef2f6ada4fe8/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", - "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" + "key": "observations/22a57b2d-ead3-47f0-832d-7a8300d12991/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", + "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" }, { - "byte_size": 12588, - "key": "observations/1e330dca-c472-448e-b9b0-abb37eec951e/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", - "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" + "byte_size": 12612, + "key": "observations/242b4137-17f0-4fa0-95d3-15fa3479517b/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", + "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" }, { "byte_size": 12588, - "key": "observations/1e85d510-f597-405f-9351-eb5683f60ed3/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", - "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" + "key": "observations/2450a748-6614-4fed-ab61-687f9e96284a/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", + "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" }, { - "byte_size": 12528, - "key": "observations/1f674de1-c040-4f90-87b4-057558bd6230/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", - "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" + "byte_size": 12612, + "key": "observations/2c11298c-7cc8-4b64-b633-2dcdbffa24f1/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", + "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" }, { "byte_size": 12588, - "key": "observations/21c1f828-89e5-408c-8771-d2ff0f941d88/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", + "key": "observations/2ddfa503-e912-44ec-bc85-57cad2b1cbef/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" }, { "byte_size": 12612, - "key": "observations/23809f10-2911-4424-ac25-74dd64d39835/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", + "key": "observations/2fbddd90-0de9-4020-9a2a-601216479075/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" }, { - "byte_size": 12552, - "key": "observations/27b887d3-a2e9-44af-9a78-44b4bc07f6c2/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", - "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" + "byte_size": 12528, + "key": "observations/31ab9938-a72a-4770-9d33-e9d2e85bc8ad/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", + "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" }, { - "byte_size": 12552, - "key": "observations/28294cf5-321a-459b-90f2-d48c7a99d245/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", - "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" + "byte_size": 12612, + "key": "observations/32ef2a9f-ac43-417a-96ab-d2a1ee261e61/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", + "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" + }, + { + "byte_size": 12528, + "key": "observations/34a57c82-3407-428c-b788-07820ac053c9/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", + "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" + }, + { + "byte_size": 12612, + "key": "observations/34e1517f-006f-4a20-83e2-c9cb8bf76013/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", + "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" }, { "byte_size": 12588, - "key": "observations/2a15e30a-dd39-47a3-8ced-ede6c17e1263/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", - "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" + "key": "observations/367618ea-4656-4a19-b3d0-a2d785dc051d/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", + "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" }, { "byte_size": 12612, - "key": "observations/2ac4cf24-29e8-4db0-a91d-0fea1100c541/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", + "key": "observations/385b45ec-ef19-4cf5-b824-59dfcb89df1a/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" }, + { + "byte_size": 12588, + "key": "observations/3ac7ec2f-1498-4ccb-8a0d-384bb7b3e461/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", + "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" + }, + { + "byte_size": 12528, + "key": "observations/3b46d138-a70a-4494-8973-bfe2b3949bb3/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", + "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" + }, { "byte_size": 12528, - "key": "observations/2e4a527c-df6b-48a9-aeed-259f81145504/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", + "key": "observations/3c73f261-245b-4a8e-874f-8223348863d7/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" }, { "byte_size": 12588, - "key": "observations/33159243-2f76-409a-aefe-c516d8c6c0d7/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", - "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" + "key": "observations/3d003205-f527-44a1-b054-7a7c56f61baa/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", + "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" }, { - "byte_size": 12528, - "key": "observations/39c05254-5da1-43e2-9eed-044e22381b6f/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", - "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" + "byte_size": 12552, + "key": "observations/3ec20c72-ef7d-4976-8458-f77e4c0cdf95/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", + "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" }, { - "byte_size": 12612, - "key": "observations/3ee666c6-07f4-484b-9c39-266020796907/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", - "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" + "byte_size": 12552, + "key": "observations/40c209d6-8fa2-4c46-a5e1-bc3e52bf6800/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", + "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" }, { "byte_size": 12612, - "key": "observations/41a4fbd3-7748-4c64-8fc2-9d5e05c148a3/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", + "key": "observations/44cbfa21-1aec-4c40-a2b2-ee7e885463a3/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" }, { - "byte_size": 12552, - "key": "observations/47bc04ef-6a51-48b1-bbca-68ecff5f7158/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", - "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" + "byte_size": 12528, + "key": "observations/49cafee4-4b11-4575-b93e-5d32091788a1/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", + "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" }, { "byte_size": 12588, - "key": "observations/47d20867-15c9-45bc-8889-18340a643a03/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", + "key": "observations/4a29aec2-9501-4195-97e3-25eeb1014c87/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" }, { - "byte_size": 12612, - "key": "observations/47e0cf17-3b46-4ef7-bd1e-301a0b178d6c/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", - "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" - }, - { - "byte_size": 12612, - "key": "observations/48759d52-8893-4de1-9344-b3ee0f5e48a8/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", - "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" + "byte_size": 12588, + "key": "observations/4aa64844-d429-49b2-acab-ff3288a90bcc/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", + "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" }, { - "byte_size": 12612, - "key": "observations/48dd37ad-ac19-4649-aac0-8fb0a40e95ea/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", - "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" + "byte_size": 12588, + "key": "observations/4c848945-5f9d-4ba2-9f42-a83d056553ed/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", + "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" }, { "byte_size": 12528, - "key": "observations/4cf918c1-a536-4f95-968e-7a5406ce59b7/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", + "key": "observations/4e2327cc-9dea-464a-bfdd-cb24bb962bda/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" }, { - "byte_size": 12552, - "key": "observations/4d60587b-1e77-4a75-a65d-f8faca41f981/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", - "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" + "byte_size": 12612, + "key": "observations/4fe0557a-28e9-445f-8e86-7405dd47b5e3/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", + "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" }, { "byte_size": 12588, - "key": "observations/519d9e8c-7f1f-4fcf-9b02-a880ca86a268/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", + "key": "observations/55ba9687-2da4-471a-976d-862126577ad3/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" }, { "byte_size": 12588, - "key": "observations/558dbdec-63cb-43c3-af7b-cd0dcfb867a8/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", + "key": "observations/576e46db-760e-4304-936e-65a6a5027a05/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" }, { - "byte_size": 12552, - "key": "observations/58bc6b16-5c81-4b87-a0e8-81dec961885a/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", - "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" + "byte_size": 12528, + "key": "observations/5a8ac619-1e04-41aa-bb4d-0c97f6e210ed/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", + "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" }, { "byte_size": 12552, - "key": "observations/59cbeb32-5252-4d24-b89f-50f50964d679/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", + "key": "observations/5ba71a70-ce26-45d8-97a8-ac397b5c2ae1/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" }, { "byte_size": 12588, - "key": "observations/59ea5b03-51b3-403a-9a2d-1b852f3eaab5/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", - "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" + "key": "observations/605615d2-914f-4543-b5b0-f0a4b8bce588/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", + "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" }, { - "byte_size": 12528, - "key": "observations/5aa7cb86-8bb3-4506-9bd5-a768e251cb41/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", - "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" + "byte_size": 12552, + "key": "observations/60c1b1b6-173f-4375-afc2-67a5f2ae08aa/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", + "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" + }, + { + "byte_size": 12552, + "key": "observations/63c86416-3e69-49c6-9c26-7c19c7cad96d/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", + "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" }, { "byte_size": 12528, - "key": "observations/5b3e002f-5593-456a-9e46-d21e941ec43e/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", + "key": "observations/6b985d61-1f60-44d9-881c-807d024beb86/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" }, { "byte_size": 12612, - "key": "observations/5bd63eff-2e2c-416a-aad2-ed12427e6a7e/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", - "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" + "key": "observations/73fc256b-6ce8-4142-961c-6777c9107c7f/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", + "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" }, { "byte_size": 12612, - "key": "observations/61890fc0-9ed1-4ed1-8db0-fd4c5b6318dc/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", - "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" + "key": "observations/79723cf5-99db-4b46-922d-9b1bff8c616b/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", + "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" }, { "byte_size": 12588, - "key": "observations/622a6919-2afb-4128-8f66-cf7871d9dd3b/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", - "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" + "key": "observations/7c83619d-4a96-4f3c-8b30-0e94f9d8c7e7/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", + "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" }, { "byte_size": 12612, - "key": "observations/68613b39-5b67-4f47-a4da-35ce5068f40b/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", - "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" + "key": "observations/7ddde011-de55-4b48-8979-a68b176eafaa/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", + "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" }, { "byte_size": 12588, - "key": "observations/6c0dcbcf-e8f3-484f-92fb-835a0a7021d0/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", + "key": "observations/7f13ceee-76a2-4996-be86-6342a9ca4b14/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" }, + { + "byte_size": 12588, + "key": "observations/7fb3eeee-7c16-4260-99c6-7663db4a0686/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", + "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" + }, { "byte_size": 12552, - "key": "observations/6c3b6a35-8005-4b87-9352-3c102ea4e6e3/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", + "key": "observations/820f15e5-e222-46cc-b74e-6713d9e12e29/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" }, { "byte_size": 12612, - "key": "observations/6d0132f3-e034-4f94-9387-55c181663900/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", + "key": "observations/847de2e8-745b-4ac9-8ab1-88ae19e70052/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" }, + { + "byte_size": 12588, + "key": "observations/8794d3a7-3103-4f50-a299-daf90d776b17/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", + "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" + }, { "byte_size": 12612, - "key": "observations/6de3894d-bc6f-4ae7-b3a7-51c97dd02403/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", + "key": "observations/8c33bb8b-54d6-4e69-8398-19320e394cec/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" }, { - "byte_size": 12588, - "key": "observations/6f7443d7-6eef-4ff6-b011-31682267449a/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", - "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" + "byte_size": 12612, + "key": "observations/8d90f848-8386-4bf0-930d-497cde12520f/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", + "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" }, { "byte_size": 12552, - "key": "observations/72c5a640-a72e-4e7b-8ec0-f7807877a56a/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", + "key": "observations/91047a2e-1a9a-4af0-94e6-fc220010407f/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" }, { "byte_size": 12588, - "key": "observations/7886f262-3928-4622-b0aa-c10b8917bb73/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", + "key": "observations/91ae41fa-7e87-483d-a5f6-8266748c5dc6/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" }, { "byte_size": 12588, - "key": "observations/78ef6b4e-b1ee-4618-b573-ef1007699e43/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", + "key": "observations/94839296-cafa-4461-8bb6-de3afc49345d/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" }, { "byte_size": 12612, - "key": "observations/7a82b14e-f2c1-4679-b28a-9e0194e71e95/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", + "key": "observations/9540a137-fb43-4c8c-b855-e85e4a1b0251/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" }, { "byte_size": 12528, - "key": "observations/7c6d06d3-0c61-485c-acf8-23d1b851dea2/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", + "key": "observations/9593d9a2-c5d6-4967-9e3b-666a98adf108/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" }, { - "byte_size": 12552, - "key": "observations/7e46971f-d52e-4048-8764-c329f7108574/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", - "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" + "byte_size": 12528, + "key": "observations/974eecb8-5060-4d2c-880c-d046ebf5755f/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", + "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" }, { - "byte_size": 12612, - "key": "observations/806fe7bd-c12c-44c5-9b49-3da2372ee257/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", - "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" + "byte_size": 12588, + "key": "observations/98a1c7df-781a-41e3-8591-c7fbffb05b20/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", + "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" }, { "byte_size": 12588, - "key": "observations/84a30526-8931-4372-90f9-b60c1e111ed0/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", + "key": "observations/9efd6265-dc3d-4fda-9984-e2b29681eda5/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" }, { "byte_size": 12612, - "key": "observations/86ba137f-61a2-4ac2-b91c-e690e4474b40/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", - "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" - }, - { - "byte_size": 12552, - "key": "observations/87b5ce0a-2af4-481b-aa1f-c3c02dc28931/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", - "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" - }, - { - "byte_size": 12552, - "key": "observations/8917decd-bef5-4230-8e03-1f0c56458e39/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", - "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" + "key": "observations/a1bc6249-fbc8-4959-bfbe-28a425045f05/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", + "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" }, { "byte_size": 12588, - "key": "observations/8a1487ce-d860-43d1-8d54-043be3122625/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", + "key": "observations/a36da83d-db46-4670-a637-9ffe5e220810/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" }, { "byte_size": 12612, - "key": "observations/8a1bf94c-00ec-4b36-9a75-de568152b0cd/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", - "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" - }, - { - "byte_size": 12612, - "key": "observations/8c8ea74e-2648-4dcb-bca7-0295f341a56e/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", + "key": "observations/a53bebf9-6f36-4c6f-bc9d-fc971585fd0f/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" }, { "byte_size": 12588, - "key": "observations/94c8929d-f086-472b-b54d-4702739bb26f/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", + "key": "observations/a9dbfd65-eaba-4d48-9d16-f06fd3ac7a5c/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" }, { "byte_size": 12588, - "key": "observations/96e3f7c3-fa35-46dd-bafa-9b3d66aad56d/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", - "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" + "key": "observations/ae40ec4a-9c7c-4bf0-b9cf-f52c96558d1c/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", + "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" }, { "byte_size": 12588, - "key": "observations/9ae3ef5b-65f1-4c96-9a9a-f9d7145f412b/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", + "key": "observations/b00d7a14-4687-4129-85f8-9264f9e65afc/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" }, { "byte_size": 12588, - "key": "observations/9c646f85-7801-4760-b6c3-684cc20fda21/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", + "key": "observations/b095a683-b126-4274-9777-6050a6ea4b50/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" }, { - "byte_size": 12588, - "key": "observations/9f330b2f-2e46-4923-9ddf-894e38a6627c/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", - "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" + "byte_size": 12552, + "key": "observations/b1aa75e3-6842-4408-acd8-826e35ee2508/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", + "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" }, { "byte_size": 12528, - "key": "observations/a2c40507-e440-4f6a-b166-87f5d619a9dd/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", + "key": "observations/b27e92ae-eb8e-4576-bef9-b923334dcc71/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" }, { - "byte_size": 12612, - "key": "observations/a36a8519-635c-4a9a-89f7-e74603e5afb3/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", - "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" + "byte_size": 12552, + "key": "observations/b40b0b56-51d5-42bf-9fd8-fccbcec1b2a0/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", + "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" }, { "byte_size": 12612, - "key": "observations/ae704d06-66ad-4b3d-8fa0-bc5eab031700/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", + "key": "observations/b5273feb-6224-47f5-9efe-ca8f5f2c50c3/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" }, - { - "byte_size": 12528, - "key": "observations/b20cf37e-2d82-44a8-9f5f-3aa42695fbc2/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", - "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" - }, { "byte_size": 12612, - "key": "observations/b22d4364-8e6a-4c06-b612-f956d3aa2e77/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", + "key": "observations/bc56f20c-e654-46aa-9329-4c05c20a0258/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" }, - { - "byte_size": 12588, - "key": "observations/b411eb8f-a546-4aa2-aaf3-3d790cbd5f05/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", - "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" - }, { "byte_size": 12552, - "key": "observations/b5f6266d-f6f5-4109-a632-fca8823a3300/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", + "key": "observations/bd6c1f73-1291-4703-92c2-9c793ffd41d2/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" }, { - "byte_size": 12612, - "key": "observations/b9606d88-c543-461e-b948-1d89709557e4/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", - "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" - }, - { - "byte_size": 12588, - "key": "observations/bc38c14c-d8fa-4954-b1ab-d2af6df6d2a9/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", - "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" + "byte_size": 12528, + "key": "observations/bdb5b719-89cc-472d-a336-428c7e07624e/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", + "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" }, { "byte_size": 12528, - "key": "observations/bf5c4dfe-40fa-4789-bf66-f9b667f105ed/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", + "key": "observations/bfca9dea-5602-4bf5-afe2-c1a31ca3b1c9/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" }, { "byte_size": 12612, - "key": "observations/c04f2c07-1319-4eb0-bba8-f41a44594b72/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", - "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" - }, - { - "byte_size": 12528, - "key": "observations/c2203cb6-dd54-49df-b83d-e3acc688ded5/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", - "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" + "key": "observations/c5e5e6d8-0f6e-4af6-81df-c86cfb376721/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", + "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" }, { "byte_size": 12552, - "key": "observations/c444ea0e-cfde-40b1-87ce-9ad7bb306d76/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", + "key": "observations/c7d1b4b9-44df-4daf-bdff-fbccd0c12995/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" }, { "byte_size": 12588, - "key": "observations/c624ec0a-5c8f-413f-99c0-c57e85617984/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", + "key": "observations/c8cc2173-170c-49db-aba4-30a1c4dec9b4/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" }, { "byte_size": 12588, - "key": "observations/c6cbf15f-2f7c-43d7-b20f-40762aef8c16/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", + "key": "observations/cb90286b-ca59-4dc4-8dce-cc7330a07373/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" }, { - "byte_size": 12612, - "key": "observations/cabc27fd-a974-417e-98c7-a16fa4bfa22a/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", - "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" - }, - { - "byte_size": 12528, - "key": "observations/cb133b65-1429-4249-b345-1b7b78f28dea/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", - "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" - }, - { - "byte_size": 12552, - "key": "observations/cbf3a329-e6f5-4794-a66a-c15f40da536c/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", - "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" - }, - { - "byte_size": 12528, - "key": "observations/cd6374d8-0fa8-4a68-bf16-7c239a3a2bfe/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", - "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" + "byte_size": 12588, + "key": "observations/d691cf85-6cc4-4ff6-ae0e-e09eef28676b/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", + "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" }, { "byte_size": 12612, - "key": "observations/d0cb5535-5a73-4a33-9d7b-e2be378f10fc/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", + "key": "observations/dd7df504-61ec-4fc1-bf35-643f8893eea6/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" }, { "byte_size": 12588, - "key": "observations/d384007b-c0c7-4a07-99e0-23d7fbbead56/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", + "key": "observations/debea722-7e09-48fa-87da-b9497c61bed9/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" }, { "byte_size": 12552, - "key": "observations/d5de7bd1-021b-407e-ac83-a04f0ae3d654/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", + "key": "observations/dfa14842-a1ea-428c-a28a-5e5acfa69a27/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" }, { "byte_size": 12612, - "key": "observations/d70fc10d-5775-4e4a-abc1-d3ed2a3be71a/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", - "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" - }, - { - "byte_size": 12528, - "key": "observations/da45a71c-0f1b-4522-81a5-9119a448adb4/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", - "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" + "key": "observations/e107ca1d-5f49-43ad-98d0-82bbd2161c5b/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", + "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" }, { "byte_size": 12612, - "key": "observations/db21d30b-ff2c-4431-8a8a-17a2ec046190/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", + "key": "observations/e1227616-87a9-40fa-a733-02e093e69a7d/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" }, { - "byte_size": 12612, - "key": "observations/dd914774-38dd-492d-92fb-8420c8ab58b7/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", - "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" + "byte_size": 12528, + "key": "observations/e6c1a315-0053-44f1-ab79-0d798b52d8d9/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", + "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" }, { "byte_size": 12588, - "key": "observations/de49fa8b-4661-45f1-bea9-ca9608e9558a/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", - "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" + "key": "observations/e783df27-3418-4f00-8261-cd85844dc6e5/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", + "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" + }, + { + "byte_size": 12552, + "key": "observations/e873a878-dd73-43e8-a90a-d96ca6d3f952/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", + "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" }, { "byte_size": 12612, - "key": "observations/dee06c98-5df9-4d46-988b-3bedca9fab6c/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", + "key": "observations/e99032a1-d0db-417c-afbb-7323c2916f43/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" }, { "byte_size": 12588, - "key": "observations/e47fe0e5-eb40-4c46-b582-cded270a7d80/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", - "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" + "key": "observations/eaa90654-d76d-4f1a-8518-7beae7bb8aa5/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", + "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" }, { "byte_size": 12528, - "key": "observations/e5c78838-d72a-4976-81cb-e80189296002/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", + "key": "observations/eb15f57a-9453-455b-b698-b9c0c7392a7a/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" }, - { - "byte_size": 12552, - "key": "observations/ed089dbc-273b-410a-ae00-2adc2cdb48ce/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", - "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" - }, - { - "byte_size": 12588, - "key": "observations/edbe2be0-d9ed-46d1-a4a5-41fe9f7e9536/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", - "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" - }, { "byte_size": 12612, - "key": "observations/eedb969b-1a0d-45d1-a1e8-37cbea951417/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", - "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" + "key": "observations/ecfa5869-11b7-4ad4-b0f7-a6f92213a30b/aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa", + "sha256": "aad36cf1091ec61b8a9c0fd9a87bd6804cd05449a99877dc799f13d96726f4aa" }, { - "byte_size": 12528, - "key": "observations/f3bd9b1c-d26c-4cfd-bf74-58f35b299087/d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f", - "sha256": "d8cd5745de60b80ddbcc49714fe19fe4cb42fa70b27ed60a64af1eb85def8b0f" + "byte_size": 12588, + "key": "observations/f12df2e2-3626-4d3e-9350-dd8e497c4f47/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", + "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" }, { "byte_size": 12552, - "key": "observations/f3e4def2-6635-4026-9e1f-9fa2b0f3e4f2/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", + "key": "observations/f4470e01-9d79-49d6-938d-58dcd9696a0e/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" }, { "byte_size": 12588, - "key": "observations/f4eacdcc-0342-47d6-bdfb-ea7642655326/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", + "key": "observations/f93cb898-46ff-4b94-a210-5daa4267fedf/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" }, { - "byte_size": 12588, - "key": "observations/f5360227-cf82-4423-9f17-fcc48f0e26df/a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac", - "sha256": "a51d521be9793013395aac33cad16a4953a973d5ff0b38ad3c40a996a12e59ac" + "byte_size": 12552, + "key": "observations/fa233469-95d6-4b96-a632-26b1e4e1930e/15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c", + "sha256": "15b5f92914195b4689fb72a65379ddfe54be32309e713612ab9fd0ba8231232c" }, { - "byte_size": 12588, - "key": "observations/fca390dd-591a-4b30-9071-fba97647aaca/d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea", - "sha256": "d8935227d741c829368468f14ee66e8253bef83a8cb6fe49e3d363464bfe90ea" + "byte_size": 12612, + "key": "observations/fa5dde52-f4d2-49e6-9da6-9e0650f9f995/a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4", + "sha256": "a5e2da997bfdf576e90976ee6e41cf2857bf784047581585fe3a835eaf018af4" } ], "passed": true, - "postgres_dump_byte_size": 449513, - "postgres_dump_sha256": "92f88920e58575f4133d56b3b34cadbea4b6fc737974f41eab840dcd28d0bf44", - "restore_database": "labbridge_phase7_fault_release2_restore", + "postgres_dump_byte_size": 464208, + "postgres_dump_sha256": "aec69955914e004e923807c5b9f12dc8324978cd388f0fd96436003f0773a34d", + "restore_database": "labbridge_phase7_fault_release3_restore", "restore_minio_distinct_instance": true, "restored_object_checksums_verified": 100, "restored_packages_fully_verified": 100, - "source_database": "labbridge_phase7_fault_release2", - "started_at": "2026-08-13T15:33:55.693985+00:00", + "source_database": "labbridge_phase7_fault_release3", + "started_at": "2026-08-14T10:24:43.515031+00:00", "status": "PASSED", "table_counts": { "attempt_outcomes": 251, @@ -524,6 +524,10 @@ "cv_structural_findings": 0, "cv_transformation_records": 0, "derived_metrics": 200, + "electrolysis_auxiliary_results": 0, + "electrolysis_import_profiles": 0, + "electrolysis_structural_findings": 0, + "electrolysis_transformation_records": 0, "events": 2642, "experiment_packages": 0, "experiment_passports": 0, @@ -534,6 +538,8 @@ "jobs": 200, "metadata_assertions": 0, "normalised_cv_observations": 0, + "normalised_electrolysis_observations": 0, + "normalised_observations": 0, "observations": 200, "record_relations": 0, "source_artifacts": 0, @@ -545,9 +551,9 @@ "writers_quiescent": true }, "data_classification": "synthetic + replay", - "generated_at": "2026-08-13T15:34:22.160631+00:00", + "generated_at": "2026-08-14T10:25:09.867923+00:00", "limitations": [ - "The released run used generated synthetic fixture bytes in replay mode; it did not use observed HER archive bytes.", + "The released run used synthetic bytes in replay mode.", "Future observed live execution remains outside Phase 7 and was not run.", "Results cover only the recorded environment, seeds, and injected boundaries." ], @@ -555,15 +561,15 @@ "campaign_rows_after": 1, "campaign_rows_before": 1, "contract_version_2_constraint_present": true, - "database_name": "labbridge_phase7_fault_release2_migration", - "duration_seconds": 0.156, - "finished_at": "2026-08-13T15:34:22.160631+00:00", + "database_name": "labbridge_phase7_fault_release3_migration", + "duration_seconds": 0.234, + "finished_at": "2026-08-14T10:25:09.867923+00:00", "from_revision": "74e1b6a09d22", "legacy_contract_version_preserved": 1, "passed": true, - "started_at": "2026-08-13T15:34:19.798310+00:00", + "started_at": "2026-08-14T10:25:08.290634+00:00", "status": "PASSED", - "to_revision": "a93b7c1e4d62" + "to_revision": "d9c4e7a1b280" }, "run_id": "phase7-20260813-100", "schema_version": "1", diff --git a/artifacts/fault-campaign/manifest.json b/artifacts/fault-campaign/manifest.json index c69b80a..d01b79b 100644 --- a/artifacts/fault-campaign/manifest.json +++ b/artifacts/fault-campaign/manifest.json @@ -6,59 +6,59 @@ "execution_mode": "replay", "files": [ { - "byte_size": 285, + "byte_size": 224, "name": "LIMITATIONS.md", - "sha256": "f11c873e928504e8eaf7da72f6945dcb615a92991b531b403e4226b704be059f" + "sha256": "b479e90e84c58f52ee1d228bb3e82e6436b6db5bb8db0f01efb3fad1d200ddf8" }, { "byte_size": 214, "name": "REPRODUCE.txt", - "sha256": "2aa59b645184cb6894fa6dd793f848f062dcad310ecefeef7c44e68b6753af4b" + "sha256": "c2d7fe3cc84c6c271eee88478e9293ad59347ad65f800ee2047f735c00124ece" }, { - "byte_size": 75579, + "byte_size": 75577, "name": "audit-log.jsonl", - "sha256": "1ae669fa465df8ff4fdc4dcb5046abcb806f5fa78d26a4db082b07a5c338f48b" + "sha256": "a4dde66a6fd468bd16d63d2694c365a6019272cf60ddc202c337ed3d3066eb29" }, { - "byte_size": 26649, + "byte_size": 26899, "name": "backup-restore.json", - "sha256": "452fc936f4bc72fa04301ca108a336b51bac2772edfca31cd55b9d37dedb5bd9" + "sha256": "90da337b90e042ed595d7afb3cd4d707bf42168171d335092e2b4d477c5af9ff" }, { - "byte_size": 1668, + "byte_size": 2308, "name": "environment-manifest.json", - "sha256": "932bbab07d7eb97ae2cabeea731d58484e6d12f3ed250cf6bc7be979c6fbdb71" + "sha256": "91981c0fe46a926f7e9d84e6b460345971949fd1413b508bfa5a544f0927d544" }, { - "byte_size": 1485, + "byte_size": 1424, "name": "fault-campaign-report.html", - "sha256": "fb08b13786addcae2f501a20d4dbb01bcfea625324798d966f8668616d98792d" + "sha256": "249ba202043b2d2c3b30288cb3844b4d803d6c1b645386a13cfa780e8f4a29c7" }, { - "byte_size": 29421, + "byte_size": 29622, "name": "fault-campaign-report.json", - "sha256": "e03fbd2adfa426530da9dc36ca22148f8482a61678901ea7be5221f2c940aa9a" + "sha256": "105ac1b8663bafc0c8eee959ed3fa9240e6ecdf9abc7f0d4e0a4603aad68f722" }, { "byte_size": 457, "name": "migration-checks.json", - "sha256": "7d2bc785d2a0c3e7a19739c8ac007fe099e319767750f5464f8c58acf6ed4151" + "sha256": "910e99a46b184445f0cd62f9c96b8bd95fe2464c4d484d66b93e077b0736aa29" }, { "byte_size": 30803, "name": "package-verifications.json", - "sha256": "6f0656e8883c0e7d981d4a4fe392b5e9557c337383c972636b45009d379deb74" + "sha256": "f385477ea428ca5c28be7cb8ce9d47740b5ff7bc48bdd2212762b230ab9e137d" }, { - "byte_size": 1213429, + "byte_size": 1213305, "name": "packages.zip", - "sha256": "b1dbec349277b29bedcb4c113df193dd96c0a87c1445884f522c8423ad4a1146" + "sha256": "1de8ebfa0b8f9c0d5a1428d087f50d7632b6e8cc6968537ba2448bac0c1b0b1f" }, { - "byte_size": 41318, + "byte_size": 41316, "name": "raw-results.csv", - "sha256": "bf51941e1f8a6ed7e2a30f2ab73ee4f32a1ee268248d4fe9ebfd25a530de0c11" + "sha256": "c38e905046e47c0916dc8620398ef55084dbfde05b058cf9306fc1a4e3027b99" }, { "byte_size": 236, @@ -71,7 +71,7 @@ "sha256": "e92d16b76eabf629c16663a3df535e5cd5d9217748ba64bf21d6294dd0f1ef08" } ], - "files_digest": "dc9f787ce2de0a1d4d3c075ecac4d28e594bbc50ea6834b4de537c0c451d318e", + "files_digest": "254d817a34dd43d56ea3103789faa9505f1199ec6b3729f0dc5b3635c6cf5740", "run_id": "phase7-20260813-100", "schema_version": "1", "summary": { diff --git a/artifacts/fault-campaign/migration-checks.json b/artifacts/fault-campaign/migration-checks.json index f68b1c1..6963705 100644 --- a/artifacts/fault-campaign/migration-checks.json +++ b/artifacts/fault-campaign/migration-checks.json @@ -2,13 +2,13 @@ "campaign_rows_after": 1, "campaign_rows_before": 1, "contract_version_2_constraint_present": true, - "database_name": "labbridge_phase7_fault_release2_migration", - "duration_seconds": 0.156, - "finished_at": "2026-08-13T15:34:22.160631+00:00", + "database_name": "labbridge_phase7_fault_release3_migration", + "duration_seconds": 0.234, + "finished_at": "2026-08-14T10:25:09.867923+00:00", "from_revision": "74e1b6a09d22", "legacy_contract_version_preserved": 1, "passed": true, - "started_at": "2026-08-13T15:34:19.798310+00:00", + "started_at": "2026-08-14T10:25:08.290634+00:00", "status": "PASSED", - "to_revision": "a93b7c1e4d62" + "to_revision": "d9c4e7a1b280" } diff --git a/artifacts/fault-campaign/package-verifications.json b/artifacts/fault-campaign/package-verifications.json index 8cb81ba..42bcc9d 100644 --- a/artifacts/fault-campaign/package-verifications.json +++ b/artifacts/fault-campaign/package-verifications.json @@ -1,802 +1,802 @@ [ { - "archive_sha256": "4f37655e611cb667f50e6fa89b6c9f4978578c439a50ed0532b564e4ab81f549", - "campaign_id": "5aa7cb86-8bb3-4506-9bd5-a768e251cb41", + "archive_sha256": "86a7caa79c1741d73a7c912882a7abf7c2ab846be127338e8bbd18b1d8a13b4c", + "campaign_id": "6b985d61-1f60-44d9-881c-807d024beb86", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:d830483adcf22ea942afde37b844b32b", + "package_id": "experiment-package:1414b041c81403865340375ce2d5cd9d", "verified": true }, { - "archive_sha256": "816d01347e4ff9c443ac2e79d1be3ca8849bcfc58631e5f6a57a49db937dbcd3", - "campaign_id": "7e46971f-d52e-4048-8764-c329f7108574", + "archive_sha256": "dfde9196df4488dbd1e5f786084d1a48116ca9c2ec3a232ddc3e41e986b42cfe", + "campaign_id": "3ec20c72-ef7d-4976-8458-f77e4c0cdf95", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:741301eb11f96492aa45b7ad19ca0537", + "package_id": "experiment-package:1aa9c3cfbcb1c61fbd9efb7b04d24578", "verified": true }, { - "archive_sha256": "160ba8970386a209f15ad9a40680751d2b290d943fca5c36e3f3e5d489b582ed", - "campaign_id": "8a1487ce-d860-43d1-8d54-043be3122625", + "archive_sha256": "59e9845b5665c7711e67ba3b141bc17a7250b8a6cf99eef88c6245a62936132f", + "campaign_id": "d691cf85-6cc4-4ff6-ae0e-e09eef28676b", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:287c5f158f59f061d24ef6ad5334bfe0", + "package_id": "experiment-package:977845b98cb7b844b52e04de5ea708dd", "verified": true }, { - "archive_sha256": "9ea2627043a44db577aaa00b56dfabd45b460c2eddddb01de7f205e0b3ecc769", - "campaign_id": "2ac4cf24-29e8-4db0-a91d-0fea1100c541", + "archive_sha256": "29d538eff169caf773dc4f362bd3b17b3d663e3edfdd054a830e7173d3be8188", + "campaign_id": "e99032a1-d0db-417c-afbb-7323c2916f43", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:2aaa3659bf595499a159546d3cc8112d", + "package_id": "experiment-package:0afa5fd9864def08c5c9f13b9ed1c45b", "verified": true }, { - "archive_sha256": "42de22f9f1c15e2a036b8e7fa4f5ccd9de959c303943244828fd6dc00ca78058", - "campaign_id": "622a6919-2afb-4128-8f66-cf7871d9dd3b", + "archive_sha256": "26e6e6ce6b0e9daaf2c76e4a65450d05c4dc8c903cbc2ca02e1ffb7f3dee8008", + "campaign_id": "debea722-7e09-48fa-87da-b9497c61bed9", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:e3992788f9e252d18c6cd188f0e15b77", + "package_id": "experiment-package:9b56e5ccf96f83051746cbddef119e45", "verified": true }, { - "archive_sha256": "864eb7f6d4c7d37d7fa3f4fb3596ce6db832927036134ce87c730d6d9b1de512", - "campaign_id": "41a4fbd3-7748-4c64-8fc2-9d5e05c148a3", + "archive_sha256": "6b82127f6ebbc7f2387472f9221be60bf4c382b17cb002faa8f128b8e2afc16c", + "campaign_id": "a1bc6249-fbc8-4959-bfbe-28a425045f05", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:3487e6ab7da4309bcd689d19ea719220", + "package_id": "experiment-package:74bd13cf276c5d69481f85d14ef81331", "verified": true }, { - "archive_sha256": "5741bce124d7cc5b3c543bcb03e0c3f94cdd2e9b1cb78f7ae276b460cd680152", - "campaign_id": "135daa99-c98d-4d55-8207-e81b7f351cda", + "archive_sha256": "e5e1b6cc569e81942883c5cab902a9981e3357579e6b7b9e6331dd0cac107c57", + "campaign_id": "4e2327cc-9dea-464a-bfdd-cb24bb962bda", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:e170c9ebfd2406e392247c0085e1bc4b", + "package_id": "experiment-package:7cad4e0b8f7c7b14e990b1aba26ad3aa", "verified": true }, { - "archive_sha256": "70dc0e7527b67df20c963c08e96c35e5d75f1a986de53af2d954de24bea25a5a", - "campaign_id": "cbf3a329-e6f5-4794-a66a-c15f40da536c", + "archive_sha256": "657c7d65d430459bd3c332622c8f2c45ecc672124b77152503be536c1dbbd1de", + "campaign_id": "63c86416-3e69-49c6-9c26-7c19c7cad96d", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:3555f45ee336db0a8d297a293552fea6", + "package_id": "experiment-package:47999c9e3d7555b3a20655ec51fab20f", "verified": true }, { - "archive_sha256": "5c8f2a67d232b3f0de5e10b59402a691c06c3c67b4550a833414b5b2ac86d29b", - "campaign_id": "9ae3ef5b-65f1-4c96-9a9a-f9d7145f412b", + "archive_sha256": "b3f8ffdb5a08b115e3b8fe9cfa34530a260dbd9dd1b6ce5c13f3399859395040", + "campaign_id": "605615d2-914f-4543-b5b0-f0a4b8bce588", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:b3cb9087918dee708cc948e7ed3eb62f", + "package_id": "experiment-package:ac75dc2e372bbfd60c3680ed755417a1", "verified": true }, { - "archive_sha256": "7d8bab5b38a1e33f1f2e1bc3beea83c0299d03414cbce7f9dcf86b1903170fae", - "campaign_id": "23809f10-2911-4424-ac25-74dd64d39835", + "archive_sha256": "c1b5dbf63957312b5223df33059dec364108cedfff52fe1457557a82e959901c", + "campaign_id": "fa5dde52-f4d2-49e6-9da6-9e0650f9f995", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:c9db3422e399c52e0990962be3c267d4", + "package_id": "experiment-package:ea4cb92d87f72d93f41674ae3e664df7", "verified": true }, { - "archive_sha256": "64105c27d4012dd589e4c7aa5d29c34387a29a8d1958397de5507bfb9dfb86d1", - "campaign_id": "6c0dcbcf-e8f3-484f-92fb-835a0a7021d0", + "archive_sha256": "c244a3a25e4aa7929ce0472fb7e33c172e2fd72bdbaa83f7e3edcc6f9878a26b", + "campaign_id": "7f13ceee-76a2-4996-be86-6342a9ca4b14", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:d743f30607dd6a33d09b6502984889dd", + "package_id": "experiment-package:852206b0f7b1135639e353dee147e933", "verified": true }, { - "archive_sha256": "a79ae7fb92151f71702c329f96b7a155b63266824f91e5a7354504f8ddbf04b2", - "campaign_id": "6de3894d-bc6f-4ae7-b3a7-51c97dd02403", + "archive_sha256": "4e0a33de9a4ec4e9afd4ffa1f6584158b2146cbbbbf546b78dd219c12c1ea240", + "campaign_id": "8c33bb8b-54d6-4e69-8398-19320e394cec", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:417204090882c40e9125cac3c40976c9", + "package_id": "experiment-package:231bc333897664a1b5b9543ed2d259ca", "verified": true }, { - "archive_sha256": "943ed85c8d260b03600e3dbeead631fefb66a200505a8b7fb51c968faec982db", - "campaign_id": "c2203cb6-dd54-49df-b83d-e3acc688ded5", + "archive_sha256": "84f1c814fa769bc415fd5a8f4ad52f3c43ef96799a0a7c577326296414586bce", + "campaign_id": "eb15f57a-9453-455b-b698-b9c0c7392a7a", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:871a2f7b4aab5391082d6db99f5e41e0", + "package_id": "experiment-package:b6f10393d1262459eace3aabdc4e1ad6", "verified": true }, { - "archive_sha256": "c823fb56f379b11a4fc7b95a1baacc33491143d4df3e921d4d103efea8d9decc", - "campaign_id": "47bc04ef-6a51-48b1-bbca-68ecff5f7158", + "archive_sha256": "ea07a61da7c0a0c1bafc48b5e847b296f9768cee8268554c7ade0b35c81e29c7", + "campaign_id": "151ccef8-ef3e-4d0f-8369-e7f7f608ef6f", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:07af5010fa53b33796261a55c6b27296", + "package_id": "experiment-package:9b9ac01b74af9a8853a8873eb80524ae", "verified": true }, { - "archive_sha256": "11fdde7ea02116a2ef91ee010d58755820f04bcdcc2ada7dedd007659f50c610", - "campaign_id": "33159243-2f76-409a-aefe-c516d8c6c0d7", + "archive_sha256": "fce6f56e33c56eb3ad3d089aa53e3486618e5fd5287ba9282e0e061750375a00", + "campaign_id": "ae40ec4a-9c7c-4bf0-b9cf-f52c96558d1c", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:238cc03519a77934070083471e36c0fe", + "package_id": "experiment-package:0555fed1abbd483a0fdbd917c8ce4805", "verified": true }, { - "archive_sha256": "5241478f239ee0b127cac9df932488a5b508e6eb29829e63190425381d550b88", - "campaign_id": "b22d4364-8e6a-4c06-b612-f956d3aa2e77", + "archive_sha256": "b3ab131411f9095f23d51f6524834b1c89671c6198cf50c9061bb21aa5b56698", + "campaign_id": "7ddde011-de55-4b48-8979-a68b176eafaa", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:1b5dbe52ef773347016bfb981247a2fa", + "package_id": "experiment-package:22a3784d17204a82eedcdb2a27bcb0f9", "verified": true }, { - "archive_sha256": "b53a3c373dcab41c627449e5bb12c48dcce01a3ee9af0547d846128a229e60fc", - "campaign_id": "21c1f828-89e5-408c-8771-d2ff0f941d88", + "archive_sha256": "e76d6a93738dab3e093436a9002fec6d90a503e311461eaf13e8eededc3b2f90", + "campaign_id": "137655fe-2638-4d0f-a009-bcc9176dd0e7", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:3e96faff730879951e6768f1b695e8e0", + "package_id": "experiment-package:0ea7d4987e61464380c5f4bdbd20bb58", "verified": true }, { - "archive_sha256": "476963e6ba54a98b0fb9288a1965a9eb4247fb3a9accc796f2e8465c23fc5936", - "campaign_id": "8a1bf94c-00ec-4b36-9a75-de568152b0cd", + "archive_sha256": "409ee8a971ac7f6e6ddcc94413eef8b280dc39f6ee4c1c3b6c175b1e7f8c9dc2", + "campaign_id": "c5e5e6d8-0f6e-4af6-81df-c86cfb376721", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:5a2a1041069b06f2717446653ff005ee", + "package_id": "experiment-package:a132f5fe1649a05a80715eb0827a28b8", "verified": true }, { - "archive_sha256": "37e67716f555640677c16438511420a113cffaa8b30901a9ab46016d1705d221", - "campaign_id": "f3bd9b1c-d26c-4cfd-bf74-58f35b299087", + "archive_sha256": "605d4217b61a92f1dd04957125bb6aad9464632568d9514bf4fba438607d17ac", + "campaign_id": "b27e92ae-eb8e-4576-bef9-b923334dcc71", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:52cbcfaa15c2be97692dc993f8476ca7", + "package_id": "experiment-package:e335bb813afe560ea22c59d70b255e68", "verified": true }, { - "archive_sha256": "1402ba8c5a01f9eaf91696fa570ad82865ce7b9bb5c5e3dc9208f0f8394995aa", - "campaign_id": "72c5a640-a72e-4e7b-8ec0-f7807877a56a", + "archive_sha256": "188cf0df0108fc7ac45252bb6c4b30bd13be5b549b6a005d7c8c7e842ca25644", + "campaign_id": "60c1b1b6-173f-4375-afc2-67a5f2ae08aa", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:e21aecccb14c334619ac227c3f369afc", + "package_id": "experiment-package:786016bc979d5d2328c7905b31e79950", "verified": true }, { - "archive_sha256": "6859ee95909706d00bd8064e7e97e3d2bfee2c04f18ad73abe1aa777d37f0434", - "campaign_id": "2a15e30a-dd39-47a3-8ced-ede6c17e1263", + "archive_sha256": "f8b43cf5e473f4ca56cb2323298561888542e30d12ff3ef4e35b15c77ab7da1c", + "campaign_id": "4a29aec2-9501-4195-97e3-25eeb1014c87", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:80d99e37693e90e732afa02b43d55f30", + "package_id": "experiment-package:78bdcb7ffe116250e0c0b796845656a4", "verified": true }, { - "archive_sha256": "2434394ba81504a2bab28e33ba50f3b755908047d39794214512c7bd66248c05", - "campaign_id": "cabc27fd-a974-417e-98c7-a16fa4bfa22a", + "archive_sha256": "ac2e6a9d738757b6fa24a61f46b47e2b547d5a4cbf03580a1340627907bb42dc", + "campaign_id": "e107ca1d-5f49-43ad-98d0-82bbd2161c5b", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:51619d55b38a155c0df5192f7cd39010", + "package_id": "experiment-package:1d589d7de8e38831b299ddc0b6aebbb3", "verified": true }, { - "archive_sha256": "b348b527dceae88e8b1da6cb1a7c7236cbc60ce3be57fda83b22760ac15b4a0b", - "campaign_id": "6f7443d7-6eef-4ff6-b011-31682267449a", + "archive_sha256": "218b9c8478ffb4ae8f1a95a5593ca749918d5a6a7eb0300724884cd9b7065d96", + "campaign_id": "f12df2e2-3626-4d3e-9350-dd8e497c4f47", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:d80128c270fcf4ff7134d776daf5270a", + "package_id": "experiment-package:7f78584f6f8625ecb8f36a9996bf022f", "verified": true }, { - "archive_sha256": "cf1e1d677513cc4141af7ac4533f2f64c501460432940ffd00d96561916fdfe4", - "campaign_id": "3ee666c6-07f4-484b-9c39-266020796907", + "archive_sha256": "7c173a1e461d4fb223982da8c3e6ef43dd605ed61450ce45a50201c505bf781e", + "campaign_id": "1d42f522-20a4-4679-b64f-1d426a3d1828", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:aa232a2d36f796dbaa0f6f0f9b949138", + "package_id": "experiment-package:4b0b85f1eb4b6f123b181183bad05d90", "verified": true }, { - "archive_sha256": "a8922c503e97399010d18327f0416fdd759f30d393a637798d7e75f2256af67b", - "campaign_id": "2e4a527c-df6b-48a9-aeed-259f81145504", + "archive_sha256": "a55b516afd47c8ef324b11ac46b0deeef9b6ceac92e29c36a055896878282c21", + "campaign_id": "49cafee4-4b11-4575-b93e-5d32091788a1", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:b25eded85e20ac852cd0ba7687e49a1f", + "package_id": "experiment-package:e8754a5fd2398e8084eff67ca6bc70fb", "verified": true }, { - "archive_sha256": "fbcb7ca67566f3569535605d2b5afa1ba92851a1d3e9c7b50bd76d34d8efb923", - "campaign_id": "4d60587b-1e77-4a75-a65d-f8faca41f981", + "archive_sha256": "03e409a18374d73b4558efcbce29fee002f6f7dd6dc70f42050605394d7787ce", + "campaign_id": "820f15e5-e222-46cc-b74e-6713d9e12e29", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:16214a2357350c0743f4f7273081758b", + "package_id": "experiment-package:334431cdc11a92437302e92df434e00c", "verified": true }, { - "archive_sha256": "60a6b3542ca81f313e83a3483605f84187afa0de3f0f557d5d4ebe16dcc3a400", - "campaign_id": "e47fe0e5-eb40-4c46-b582-cded270a7d80", + "archive_sha256": "2db064f43e34aba7f8dba9492c3f783d38d24da72c3654cb3f51526a52b4e2f7", + "campaign_id": "a36da83d-db46-4670-a637-9ffe5e220810", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:55a33b80025cc5dff7c5629b73518403", + "package_id": "experiment-package:d716bde40a0d9da20a9e9b0ef1dde77a", "verified": true }, { - "archive_sha256": "ca3929da587bc9ea117c84444505e4a361ae5cfc9a03329d39f168db832aff16", - "campaign_id": "dee06c98-5df9-4d46-988b-3bedca9fab6c", + "archive_sha256": "1de58c7ce3246b9a2d4fd37c3ea7b4378edad1fdeef4c1ea75379ecbdf32d9bd", + "campaign_id": "bc56f20c-e654-46aa-9329-4c05c20a0258", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:49a39e9a15ca51d890090c2caf8605a3", + "package_id": "experiment-package:fd6bb3c3ec937a56a85178391c4a518a", "verified": true }, { - "archive_sha256": "a1e7e27b268c60731aac08b024e17ea0082b8aebb0ad5df2242cafe15d76f389", - "campaign_id": "558dbdec-63cb-43c3-af7b-cd0dcfb867a8", + "archive_sha256": "0b5ff33ea8f55a5c693d53c176d821bf4dca9406524a291275bb3320c860d78b", + "campaign_id": "4aa64844-d429-49b2-acab-ff3288a90bcc", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:57cbe840c03bf0d2d7cee1a6e0db06fb", + "package_id": "experiment-package:ed21b79537fe093af093d5130a668f94", "verified": true }, { - "archive_sha256": "efba10dedcf46f1a85d5b0719d479a7ed344f6f58196041685602d24998284ba", - "campaign_id": "806fe7bd-c12c-44c5-9b49-3da2372ee257", + "archive_sha256": "4cf8decd23fd6d9e02aded6567ff64847692da4e30fd9875c7df193630b480c2", + "campaign_id": "22a57b2d-ead3-47f0-832d-7a8300d12991", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:03398acacc0ac77644e1ce73ed497017", + "package_id": "experiment-package:795a09c7b337841a4ceccd6f6f6c0f4d", "verified": true }, { - "archive_sha256": "5e4facdb600ec5811508c5f4469e033dfcb1c2dd2f5b1978cfa3b1dad15c0096", - "campaign_id": "1f674de1-c040-4f90-87b4-057558bd6230", + "archive_sha256": "cf5e8a03221405d40400b3bf59d55ee31771a1e2ba1705ef22401501c31465c2", + "campaign_id": "974eecb8-5060-4d2c-880c-d046ebf5755f", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:1b0ef670cfc4c13245e55998ccda7c0a", + "package_id": "experiment-package:190b0fb5901e6df80ffe8ef4d520d261", "verified": true }, { - "archive_sha256": "3f45a495c519882a6f009a8fdc204f98d907b074a5045c8c807eb46223d489de", - "campaign_id": "c444ea0e-cfde-40b1-87ce-9ad7bb306d76", + "archive_sha256": "07b7c0e978f9cc7b4c3287c3010a82f63eed125af8ec800ce34f3a8769d6d337", + "campaign_id": "c7d1b4b9-44df-4daf-bdff-fbccd0c12995", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:9962b7c41c3ca9b6271957b5901ef69d", + "package_id": "experiment-package:e500de6d80f414dca4bc2f1ddedca5b3", "verified": true }, { - "archive_sha256": "a680d90d3c162ffee4a62c6690699fd4fc8baee66431f01490691d756377dd0a", - "campaign_id": "7886f262-3928-4622-b0aa-c10b8917bb73", + "archive_sha256": "10164a425c6f41d7e4142d576a23481693705d59c401feed3fcd3d13c3a64c7d", + "campaign_id": "4c848945-5f9d-4ba2-9f42-a83d056553ed", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:eecb260badc1f7b287f3405c0f20557e", + "package_id": "experiment-package:855684756a8c0b00c45f1004826d60be", "verified": true }, { - "archive_sha256": "c3519591ac8c39d4239edda5008aa4402726d61544007c72a87e58a6dc8473f2", - "campaign_id": "ae704d06-66ad-4b3d-8fa0-bc5eab031700", + "archive_sha256": "eb54528914baa7eb133085440ad6798bf12847b273f6edc5ef016d0ba3d351d4", + "campaign_id": "385b45ec-ef19-4cf5-b824-59dfcb89df1a", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:e1c3fff835834de977cfece3f739fa10", + "package_id": "experiment-package:b406045afe39c7d7c237f490972938e6", "verified": true }, { - "archive_sha256": "4a68dc5e1b06b7759b03957050a69e54882f74a02dc9abfc247e6634340afea1", - "campaign_id": "c6cbf15f-2f7c-43d7-b20f-40762aef8c16", + "archive_sha256": "667529ba16ae71a95b1faeae17e5aabfb282e3832a4cbd082bf11a4117bafcd5", + "campaign_id": "2ddfa503-e912-44ec-bc85-57cad2b1cbef", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:507a82c6993a1673c3e5097e585bd5d7", + "package_id": "experiment-package:5ad8e5bf559421c20a7f45c8a37c80cc", "verified": true }, { - "archive_sha256": "f4f8e50329054b7c02d14517d9f16afb241c2453dcb2ba4874a9ebb2b56ac04d", - "campaign_id": "d70fc10d-5775-4e4a-abc1-d3ed2a3be71a", + "archive_sha256": "a29c82ffe88bb2ff0c2927a273b05275bccf220b08f8ce25509829cb502e62a2", + "campaign_id": "44cbfa21-1aec-4c40-a2b2-ee7e885463a3", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:bf85bc02a15ecc32721941e0839a6c61", + "package_id": "experiment-package:04275c2306966be30b9e1656d9a076aa", "verified": true }, { - "archive_sha256": "6b7a337a822ac03abc18ca88e974f6ecd66cd556ee86cfeb99155d4de254a30a", - "campaign_id": "da45a71c-0f1b-4522-81a5-9119a448adb4", + "archive_sha256": "a8c75b620cd570fb1008b89d88b793f338efc59559a04409eb714ecc4d6c0f4c", + "campaign_id": "159041f3-1d8e-434f-865e-5a0e66f96591", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:1788e4cfa47f6bc21c5b3d5f6c5ce212", + "package_id": "experiment-package:342178808f6a538bc652aa08de603218", "verified": true }, { - "archive_sha256": "25008149c9079774fec75f485deaf72a318fa52bf269660aa308482d54eced88", - "campaign_id": "d5de7bd1-021b-407e-ac83-a04f0ae3d654", + "archive_sha256": "a856cd9db82526c9c02cd192b0ccc976b12c204d40c1385e5e1a126b91c82b42", + "campaign_id": "e873a878-dd73-43e8-a90a-d96ca6d3f952", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:977a46a49fbdf796398a96332cb6c6ac", + "package_id": "experiment-package:da7dac27d15dce8b8cdb0cede64d8dfe", "verified": true }, { - "archive_sha256": "7312db1116a456cae1dac19fb10026a4e6818ccc1a980db66c15fee79d130b4a", - "campaign_id": "47d20867-15c9-45bc-8889-18340a643a03", + "archive_sha256": "9b4e44283be839f950f352813ee516bd728bf87d3e01371d01959cee529a03f0", + "campaign_id": "8794d3a7-3103-4f50-a299-daf90d776b17", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:94c6f2c4fb952c942b7ffcdab8a5bbc0", + "package_id": "experiment-package:08857decb1303af5567e73b40cf22189", "verified": true }, { - "archive_sha256": "4a7bfdbbd898f29e1f32817c2b49046107250ad43b3776cc5387cfbc4b379164", - "campaign_id": "6d0132f3-e034-4f94-9387-55c181663900", + "archive_sha256": "ce4f297a72df2591457177bf93c57b5f44942191f7e6e05897c8df01b536b07e", + "campaign_id": "b5273feb-6224-47f5-9efe-ca8f5f2c50c3", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:0ad8c2ae3c03361f98ea27571e66765a", + "package_id": "experiment-package:715137e2d11e4b8e75c53fb59cb75059", "verified": true }, { - "archive_sha256": "c20f96a0735b6a40a18f38beb7a31a15fa92a5cddf5e50f23501a801fe0b7206", - "campaign_id": "f4eacdcc-0342-47d6-bdfb-ea7642655326", + "archive_sha256": "07c3b39ba5514028e3c280a10d22c5c3521335975ecf162438409b3e1c58af57", + "campaign_id": "f93cb898-46ff-4b94-a210-5daa4267fedf", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:147277e8a006d46c0349c666e6564383", + "package_id": "experiment-package:7946d26c91cdb0e2edd5749ab563660e", "verified": true }, { - "archive_sha256": "ff5482fc9eadd965da54ef6ed95e02f2645f92f4fda1a79779cf7ce9a9a701bc", - "campaign_id": "5bd63eff-2e2c-416a-aad2-ed12427e6a7e", + "archive_sha256": "9dfa6e712dd65148674ea60aa4c3831a27ca57f345f5039056c4776cfd026c73", + "campaign_id": "1a161d49-a854-4da0-b7a4-de86aa4b9eef", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:d1e2cc384e4f6268a2a959abdc11fbc1", + "package_id": "experiment-package:89dbbf871a17ce89062aedabb07a8615", "verified": true }, { - "archive_sha256": "b9def2bac71026c8cac05332e9e6c82a2f3f4a08e580d77588a3b144311aa34d", - "campaign_id": "cd6374d8-0fa8-4a68-bf16-7c239a3a2bfe", + "archive_sha256": "a95e1b5e7cedb632ad52cd25d8b83587658b9619226982981a78433769410022", + "campaign_id": "31ab9938-a72a-4770-9d33-e9d2e85bc8ad", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:4fb88e7a1308c3e1ac9e70a86ac85126", + "package_id": "experiment-package:8d339395d474f70d0f1a52fa8d1e36e8", "verified": true }, { - "archive_sha256": "8ef9e6b37c7f8e1f652c453cab997cd8bd78249a9641f42220d4e493bd410640", - "campaign_id": "59cbeb32-5252-4d24-b89f-50f50964d679", + "archive_sha256": "4a2b50ded86f439c58ef1a20e737a65d5208b94343271c67531fe0caa1ec19d5", + "campaign_id": "fa233469-95d6-4b96-a632-26b1e4e1930e", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:bed2b6816292bd4a094cb7582cd30c45", + "package_id": "experiment-package:8ed613c891650aed7a7fab94e302222f", "verified": true }, { - "archive_sha256": "b36945a1356689361f9815c51080dacc7a7c1bfb9d55e6cc665408a11ac4f0fc", - "campaign_id": "bc38c14c-d8fa-4954-b1ab-d2af6df6d2a9", + "archive_sha256": "854b35ac108acee9a7241e80a1aacd3349e6bb0bd266c4d87ba10ff252550a71", + "campaign_id": "a9dbfd65-eaba-4d48-9d16-f06fd3ac7a5c", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:4f1ca0510c6492a514296a2e61791f8c", + "package_id": "experiment-package:2d0717e0ead865dcd5500dd3097117d2", "verified": true }, { - "archive_sha256": "706dd051261ca8b027584e79e5936d0d6243c69ca55fe896bcfd7262f49ada8e", - "campaign_id": "d0cb5535-5a73-4a33-9d7b-e2be378f10fc", + "archive_sha256": "eab094487747bdcbd856a2b8a07ea1b3ccdb138911163f37db1686c9fc1063f1", + "campaign_id": "9540a137-fb43-4c8c-b855-e85e4a1b0251", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:f3d91789d04ac5955dabf3f10ef96251", + "package_id": "experiment-package:2143d8a976ed2b9ec0e75cca8e3b36b7", "verified": true }, { - "archive_sha256": "244d7942840ba37c3625e72cf28e6bc78d416742fbe789c7aec736b8f6078a0d", - "campaign_id": "59ea5b03-51b3-403a-9a2d-1b852f3eaab5", + "archive_sha256": "c003e43e79a17123d6f5685da76dc4ce6290468638cf0643b449dfd206a389d9", + "campaign_id": "eaa90654-d76d-4f1a-8518-7beae7bb8aa5", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:5605e96f69515408b416199350a47430", + "package_id": "experiment-package:be65096c0a0d7f9974e87294a9bb72c5", "verified": true }, { - "archive_sha256": "ab18d03c56101b4159920c2ee4a0be65ab544432b9f3a6152774e0f16ad4afee", - "campaign_id": "48dd37ad-ac19-4649-aac0-8fb0a40e95ea", + "archive_sha256": "7d2946981fe98e720c00b8814558fb367c7fa16ef275fdc1b30948a1f0c9ac3d", + "campaign_id": "242b4137-17f0-4fa0-95d3-15fa3479517b", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:3979beacef41ee48bb0cfeb8ee2447af", + "package_id": "experiment-package:ec8aef445a6bb803caa99707e29ee9a1", "verified": true }, { - "archive_sha256": "695573658476c583a4c8bd3af640839a9e64b816bf9838978251683297e41db1", - "campaign_id": "7c6d06d3-0c61-485c-acf8-23d1b851dea2", + "archive_sha256": "429eb4e9f09fdbce9d2f31af69ef10609c5b0bc6e41b8d4ac5309d77da0dca7b", + "campaign_id": "bfca9dea-5602-4bf5-afe2-c1a31ca3b1c9", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:7510f371664e2a78d4b2e52bfcabe29f", + "package_id": "experiment-package:490400f30c4ff69ab4b4abac68e8e13b", "verified": true }, { - "archive_sha256": "f774c97c8b5cb913abe202028be4f7bfd4eacbeadf6861e6a105472df667641f", - "campaign_id": "87b5ce0a-2af4-481b-aa1f-c3c02dc28931", + "archive_sha256": "071adbd418a996346b9bc63644f20ba73e0109c3fb0f6dd0cade425c92905626", + "campaign_id": "bd6c1f73-1291-4703-92c2-9c793ffd41d2", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:3475d93f617876a2e46376f6ff614db5", + "package_id": "experiment-package:b95ef8ea7c840c1529a491ce20184600", "verified": true }, { - "archive_sha256": "92e05080ed5d226eba221749b0129181a725d999683a686e10850a3234e1cfa6", - "campaign_id": "c624ec0a-5c8f-413f-99c0-c57e85617984", + "archive_sha256": "0de9a76ce3c2b8c28925e0c860044486c6a8b0397974b0aebb9c00e39fa2a97f", + "campaign_id": "7fb3eeee-7c16-4260-99c6-7663db4a0686", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:d44b07df708942f47df26b2137b093e4", + "package_id": "experiment-package:e177be90069e30c17e879d270bc44d6b", "verified": true }, { - "archive_sha256": "e98fa2dce9ffcefadf1c9e0f296b9ed945afed8aa37a34f692be48b3b714103e", - "campaign_id": "db21d30b-ff2c-4431-8a8a-17a2ec046190", + "archive_sha256": "de8c5c603d366cc58a9b383645e2e93224a6a16be68776c2c3280ac54aaf6903", + "campaign_id": "dd7df504-61ec-4fc1-bf35-643f8893eea6", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:c145488cc9dbc636a0d84264ba9250a4", + "package_id": "experiment-package:7eace65381e92bbbb4996253c1ebcd16", "verified": true }, { - "archive_sha256": "ebe272bbb36fcf0d6f63259279e916fab8913a0fb61285a4c8b907b12b33fa2f", - "campaign_id": "96e3f7c3-fa35-46dd-bafa-9b3d66aad56d", + "archive_sha256": "12de92dcc6236a5c102e38b7be9f0c6f8445018aaa3db85a92c74d84013af51a", + "campaign_id": "367618ea-4656-4a19-b3d0-a2d785dc051d", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:8edf504cc899b56acd2d05dd18cb2ceb", + "package_id": "experiment-package:09123c8bb92aa064364c32ab5c2a6069", "verified": true }, { - "archive_sha256": "c7c67bb391a9f9e897e3d25bf42f98e37ed8894d1d17bb814a97c85dac3739c8", - "campaign_id": "125d599f-5e20-4e67-8583-e8cdfd21f056", + "archive_sha256": "9fe56d67d403e006a43bc04a6cbca0ec4e8bc1a192f2d39dac5e99d49d75b014", + "campaign_id": "4fe0557a-28e9-445f-8e86-7405dd47b5e3", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:0a3045b268a310525c1daf1866400d3c", + "package_id": "experiment-package:2a560cc595c952d6fe497e60d3848fbf", "verified": true }, { - "archive_sha256": "5893a518422290094627dbe0bd1fd44272d4ab713a2983f734c3018a98c289f5", - "campaign_id": "bf5c4dfe-40fa-4789-bf66-f9b667f105ed", + "archive_sha256": "1dbd57652ff9bb6a0b10c11d18c4a4bdb0e93e3e2f7784a6b1f91a3009b06b1b", + "campaign_id": "0b34aa01-19c5-483a-b6b1-7010a99c01ef", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:e6c1d159f4477c0b4afb0a6aed1c412b", + "package_id": "experiment-package:579d19792c647dca3a9ead1bc84ab924", "verified": true }, { - "archive_sha256": "8fac3971102e9fe6a927cbbe4cad8f0b74716879f4c6d2726a84272af26c1619", - "campaign_id": "28294cf5-321a-459b-90f2-d48c7a99d245", + "archive_sha256": "012195d884372706014c2852d9d32536799e4f77fadc79646a5f4f0e923495df", + "campaign_id": "5ba71a70-ce26-45d8-97a8-ac397b5c2ae1", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:ef6e24fe8073ef1c587d3d67e6352267", + "package_id": "experiment-package:ebd7a626a5683935d58c76278308acad", "verified": true }, { - "archive_sha256": "86c1b6017c997494302bdeb0bb2c0f41411d185a48bc84ce77dcac643bbc375c", - "campaign_id": "78ef6b4e-b1ee-4618-b573-ef1007699e43", + "archive_sha256": "468246c754d72ffa458c2b94668da1db11049f221123188fb83ffb0137ffdac8", + "campaign_id": "98a1c7df-781a-41e3-8591-c7fbffb05b20", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:af7df53822c9cda3a6029a2d0adeb213", + "package_id": "experiment-package:88abd582847dbc3689b8f18921162c27", "verified": true }, { - "archive_sha256": "794b411fbae6b5a42768e346ecb21a1113a19d890b32248510ef114e28ea8031", - "campaign_id": "c04f2c07-1319-4eb0-bba8-f41a44594b72", + "archive_sha256": "7e23500b3a675ce3ccf78c7bd727c009f1ccf81a957da8fb859fbda767e23be7", + "campaign_id": "847de2e8-745b-4ac9-8ab1-88ae19e70052", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:26f2aa5185fbc3cd0ebca82e87cd1bef", + "package_id": "experiment-package:6d165833d8ce45087f8e65bbc250f078", "verified": true }, { - "archive_sha256": "d9a6ddc5a0b9b55c85a70206668b5d40d73c351b5aa80cc77c0aa22ebfe428a1", - "campaign_id": "b411eb8f-a546-4aa2-aaf3-3d790cbd5f05", + "archive_sha256": "8ba5bb0a3aa37f8d4c1e41095f918ef2f87e9185dc98e280eea2909761bcc67b", + "campaign_id": "b095a683-b126-4274-9777-6050a6ea4b50", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:70f05379470b5ff03420fa79aa00b7f9", + "package_id": "experiment-package:b7c705b23f398a0c321864398a75b8d8", "verified": true }, { - "archive_sha256": "7c1f3fb2cf39619bf0bc76ac93957250b94e6943477d82168568cac60e9c8312", - "campaign_id": "a36a8519-635c-4a9a-89f7-e74603e5afb3", + "archive_sha256": "cf80ca44ba7ae4dad06ad8dcf36d77ba586243c3efb2e63cdafdfe380f713b23", + "campaign_id": "a53bebf9-6f36-4c6f-bc9d-fc971585fd0f", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:ac1ab626b34d48e7c52bb0535780ea57", + "package_id": "experiment-package:425980201bf94fd654ee5e64137f1806", "verified": true }, { - "archive_sha256": "db7e55cf5d6297e28adaba162d5a78aea684ea8db0b77370593084357f5d58d6", - "campaign_id": "b20cf37e-2d82-44a8-9f5f-3aa42695fbc2", + "archive_sha256": "3feb58dd76f556ffc462f42f85a24b5b67cead484f719cd3bd3886cb5cee99ee", + "campaign_id": "bdb5b719-89cc-472d-a336-428c7e07624e", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:151eec45cf4c45784f43b7e7b5695ed5", + "package_id": "experiment-package:f926164c5a0af2ee8e2c43f442432679", "verified": true }, { - "archive_sha256": "3d832c83c7794699f100087e73da9aa4adc94bdd7cd3f0d0644d296c4149a983", - "campaign_id": "8917decd-bef5-4230-8e03-1f0c56458e39", + "archive_sha256": "3970268b0ed8317c34748825143463eb8fd0bf2ac4db620ce6dbcb6254db4d59", + "campaign_id": "00e64846-7d5b-4642-b639-0cdcfb0aaa6b", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:d4456cd68fb71aee1b6f6414370729fa", + "package_id": "experiment-package:24862b75bb7bc68a510a160e148c7e13", "verified": true }, { - "archive_sha256": "428dfe470b4103d9e99a98ed35a256e6a4e63b5f24a37a0dc623f70ad25a98b2", - "campaign_id": "de49fa8b-4661-45f1-bea9-ca9608e9558a", + "archive_sha256": "0ce020fbcc4c631d24e3f7083a0e38972e8b6a1e4e56404d902c2914cdbd5fe9", + "campaign_id": "7c83619d-4a96-4f3c-8b30-0e94f9d8c7e7", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:a6f60c77e44f4a5b75f0849c78a69677", + "package_id": "experiment-package:8c5f87417a091a38927e0312e1ae7116", "verified": true }, { - "archive_sha256": "fb7da99237db2d882718654cc833317b030a9c570c98448ce82f7072913b7ba6", - "campaign_id": "86ba137f-61a2-4ac2-b91c-e690e4474b40", + "archive_sha256": "f47b71a1b8729f737db738c0d111ce82bfb86b5baf91908958f8058ecd949f27", + "campaign_id": "2c11298c-7cc8-4b64-b633-2dcdbffa24f1", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:bad71cecccadb4dc69359ed8f21812c8", + "package_id": "experiment-package:eb192fcb8b2944076e1489c381e0c694", "verified": true }, { - "archive_sha256": "596f37d110e661eab4d82030e4493e3a569222692e63433c809046e8859ad550", - "campaign_id": "d384007b-c0c7-4a07-99e0-23d7fbbead56", + "archive_sha256": "1c3451e594625e1a647720c8ae949d71eb8ff0f97f245f7e7655932dee7eaedb", + "campaign_id": "cb90286b-ca59-4dc4-8dce-cc7330a07373", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:20226041115fe6332083f416f9d06b10", + "package_id": "experiment-package:0d9ba6e3950d6eac0b94416708770d40", "verified": true }, { - "archive_sha256": "5ae70b4144399c667fcaec5858dcbc6ba2121c38f6d9f7f7fa25161d7c62ac31", - "campaign_id": "8c8ea74e-2648-4dcb-bca7-0295f341a56e", + "archive_sha256": "1079b04af9987c3883169c6ded04c759d5471e7676021348be629b1fd1ecb726", + "campaign_id": "34e1517f-006f-4a20-83e2-c9cb8bf76013", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:9de4b4e42500a99503e0c66d27fced8d", + "package_id": "experiment-package:4579e697d465801e9f46f7ebdbc7833e", "verified": true }, { - "archive_sha256": "65c3692de54ff391321567d7749ffdf5a51d98996f101a57432d28544c6e296e", - "campaign_id": "e5c78838-d72a-4976-81cb-e80189296002", + "archive_sha256": "b3b2fb9d99429a6c18c9912a0a962e384d1da69b947280382d15b3b228a0e43b", + "campaign_id": "9593d9a2-c5d6-4967-9e3b-666a98adf108", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:3701d18dd18dfc5adcf8750834f36a07", + "package_id": "experiment-package:01e7599ccfa856f4b9f9a90137bbf300", "verified": true }, { - "archive_sha256": "acd40b0b29bf1118960b4464eddfa04864ad91ac95a5459bd9318773e126aca3", - "campaign_id": "27b887d3-a2e9-44af-9a78-44b4bc07f6c2", + "archive_sha256": "f34a3329b1fb3dc9d1c5a1d6cd9b2a7a8eae3befb445c15b5949fa78554eaa7e", + "campaign_id": "dfa14842-a1ea-428c-a28a-5e5acfa69a27", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:9bccb410446defe8e240256726327c82", + "package_id": "experiment-package:6ca974cfdc2df32ca86d76371d88237b", "verified": true }, { - "archive_sha256": "36f4f590f5f31182f51e39e4f6883409a6d508ba1499c725ece6d22087cea449", - "campaign_id": "fca390dd-591a-4b30-9071-fba97647aaca", + "archive_sha256": "7c2ca544d39e154f322add078bcf8cf8ee3057d582c5fd14ce5d9e5552b1655d", + "campaign_id": "55ba9687-2da4-471a-976d-862126577ad3", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:23bd010884c9bff28379f89b4d4e2de2", + "package_id": "experiment-package:1a30713b62be2063acea4801b8474c35", "verified": true }, { - "archive_sha256": "d4968bda9c89fab5c3e3f6d77ad9eab28527a41e4f41221bff207fb76776fb1f", - "campaign_id": "47e0cf17-3b46-4ef7-bd1e-301a0b178d6c", + "archive_sha256": "3486ecaf69a198761d6a6db790c62075d5b5bc418a6eae590530a9363b06141a", + "campaign_id": "2fbddd90-0de9-4020-9a2a-601216479075", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:6acb1ca5d245cafd48ca5520c0a1fb6f", + "package_id": "experiment-package:0e0d54589828d8ea9c10bf630dd2d3d6", "verified": true }, { - "archive_sha256": "2ec9cd9ed497d4d1e7d36f678e96d511d28bfd2c8941e7ef43d39ed4cc94d667", - "campaign_id": "9c646f85-7801-4760-b6c3-684cc20fda21", + "archive_sha256": "38d9f38dc656fea652681cde06ed8eaed5d18703f61074740cf126bbea84de13", + "campaign_id": "9efd6265-dc3d-4fda-9984-e2b29681eda5", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:e6b9d7033e1d5e6d76bc9c35899f1ae0", + "package_id": "experiment-package:e04968bc9a77af2c3d85ba3bd2c1dfe2", "verified": true }, { - "archive_sha256": "aaac5d4a1b0821fecd35b47e2be1c9eadd03a9796e94686fed43157dffa3ec96", - "campaign_id": "072d4372-08f2-4c90-b42e-57af4ee751c1", + "archive_sha256": "373a5307e09470bceb355bafd11efafabddbda2177f3c2f949593b234cf9b1e7", + "campaign_id": "1fbf9d27-0eb2-44df-803d-9cb650cc32c7", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:2df114372364ff8d287ab37123b0e5a4", + "package_id": "experiment-package:138af07fa240d9d35ce024114e67bedb", "verified": true }, { - "archive_sha256": "df91506968b4fce6a76488bb4c5459fb5062edc05947bb1a79dfe63311e9c625", - "campaign_id": "cb133b65-1429-4249-b345-1b7b78f28dea", + "archive_sha256": "ea4511d7590edf937a63acb17e7d8678ef9b7391bef2bf645660fd1acc8af391", + "campaign_id": "3b46d138-a70a-4494-8973-bfe2b3949bb3", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:9927872772614a8179595a80c7a20773", + "package_id": "experiment-package:aed00ad3cc2ce1224bb941edb43a2ae7", "verified": true }, { - "archive_sha256": "ecc4d6d5d20328aaef0cfcd0e64c7e9ca2b5199634d7d7897951bd3a97bda9e7", - "campaign_id": "b5f6266d-f6f5-4109-a632-fca8823a3300", + "archive_sha256": "b5a0534734a91ac3028a12cc959740780f92a56990f5f8c8c41e0a3d76243509", + "campaign_id": "b1aa75e3-6842-4408-acd8-826e35ee2508", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:68be63ee7b4970504cebcbead5603493", + "package_id": "experiment-package:a88921aaec192ad063d3eea10b259e27", "verified": true }, { - "archive_sha256": "0980916715b1f4f41b9e867f4808e6d70d0003b7fc677790f4711a863fb58dbc", - "campaign_id": "01590fe3-e7ca-4e25-8b3a-1f3030e6885d", + "archive_sha256": "7bc9862c5c77fac3d178f1bf479df21f5a35d84115ca6b3cb66683715e877e7b", + "campaign_id": "c8cc2173-170c-49db-aba4-30a1c4dec9b4", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:659e106425bb6b4705762aeb5b262565", + "package_id": "experiment-package:b63778e70e27aefa41f89a21be3a11ae", "verified": true }, { - "archive_sha256": "e3ba6e08d3e7c59d2b38df65a0a9508872008202904c56d7aa518e7d514eee5c", - "campaign_id": "b9606d88-c543-461e-b948-1d89709557e4", + "archive_sha256": "637614966ca72b3abb31da5546141ac53febb967703f466d6339ce54e1e44e37", + "campaign_id": "1883256d-5487-4a72-93c7-83c64118b1d6", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:5563af1211b86b3666d22ef811b7ebeb", + "package_id": "experiment-package:13400f6c8c67f57e5ae2b8eabc3f5a92", "verified": true }, { - "archive_sha256": "4f5eca006d620e4fc0fd37f62b61856428bb25ed36106d1e5cb3a205b65260b6", - "campaign_id": "1e330dca-c472-448e-b9b0-abb37eec951e", + "archive_sha256": "e03bf45d553a033738e3f4a4364eea63f4b201dc5eea0d402cf33859224fd9ca", + "campaign_id": "e783df27-3418-4f00-8261-cd85844dc6e5", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:216c208c2c003d83d714e4849075d5dd", + "package_id": "experiment-package:3ea493aff270763f5f72f1dd3a859bab", "verified": true }, { - "archive_sha256": "2c899a8647da720594b6a3c54ddd7b76a3ba1c5c0a2a13e7440ab4fccdf49e9b", - "campaign_id": "48759d52-8893-4de1-9344-b3ee0f5e48a8", + "archive_sha256": "424aaa04fb0b2e9f0b3064f43fe379db18adfef21cd539abc139c6cf286b92ab", + "campaign_id": "0f2b028a-591b-4b4c-a437-48daaa8f8556", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:63b8c5f983a258245b45d0b31f6ee9af", + "package_id": "experiment-package:ad4579450fa13930a50c114eafcfd41a", "verified": true }, { - "archive_sha256": "3489c63a24e0452aac4c046aa74998820f80bfa899b599a574cab42980d40c70", - "campaign_id": "39c05254-5da1-43e2-9eed-044e22381b6f", + "archive_sha256": "f80a4a1c78e79aff3150c0dc1b2d09298ad7d4fab35e91b47a793c7b64fbfd16", + "campaign_id": "e6c1a315-0053-44f1-ab79-0d798b52d8d9", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:bc5faf0f6c99a6b5e052754b18d133b8", + "package_id": "experiment-package:6a32e6b5f9dc05b957eb002ab60af2b9", "verified": true }, { - "archive_sha256": "049fcc45b2c8f07a0a71d274063029fbe87d17828aaec9341830a6bd630fa811", - "campaign_id": "58bc6b16-5c81-4b87-a0e8-81dec961885a", + "archive_sha256": "098ca52ae6dac675e6948f914366b2d3c276412ce6ea4caf9b7bf20eea4b6b11", + "campaign_id": "91047a2e-1a9a-4af0-94e6-fc220010407f", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:3cbc948779291e0297b26d7f913d37ba", + "package_id": "experiment-package:4e77ebab252e0f465bdcb8f8722050fc", "verified": true }, { - "archive_sha256": "0eb78aa2b3c752b8486ad688c3da41b0b92b7f31645b203b04a05462f315fab0", - "campaign_id": "9f330b2f-2e46-4923-9ddf-894e38a6627c", + "archive_sha256": "faa788442f2ad342638308b8dbe713a4aca4fc4f1a20baaaa2eccd6519a27b03", + "campaign_id": "91ae41fa-7e87-483d-a5f6-8266748c5dc6", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:a8ca514cc3d93ac7cd045d545717ebfe", + "package_id": "experiment-package:2dc027c942a14cf3e6586df46650ae9d", "verified": true }, { - "archive_sha256": "06cb6aa8c88f93b3c84159cbe02ea94e5fa36d19b8a1b4b5026d23762096e843", - "campaign_id": "dd914774-38dd-492d-92fb-8420c8ab58b7", + "archive_sha256": "88a5dae8a463fe2bf114daf67188b88db7439f7f6881012d2153634f9417fcbe", + "campaign_id": "8d90f848-8386-4bf0-930d-497cde12520f", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:fd1bd241579af27821230f74183c1962", + "package_id": "experiment-package:769ae2bfcaac4ce5599b72f0fa60dbb5", "verified": true }, { - "archive_sha256": "9c6b2345b8deeb89b3fbeea65b9238f2c66c657a37d9a0b2047257ba59053ace", - "campaign_id": "1e85d510-f597-405f-9351-eb5683f60ed3", + "archive_sha256": "1f2ad9c9a0d47e686fbb827d336527cc00efd8a8d7c0086892b5020d30961bcb", + "campaign_id": "576e46db-760e-4304-936e-65a6a5027a05", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:807d12d4c932f7e248aa3db36327b60a", + "package_id": "experiment-package:7534dbcf5d1e6da222453d274ae11052", "verified": true }, { - "archive_sha256": "3fdb20e8a6b3b813a099d455764d5995589e69a6c3121747feada51e1458a189", - "campaign_id": "68613b39-5b67-4f47-a4da-35ce5068f40b", + "archive_sha256": "6fdb71170f273394f8e93db3790d005c6757248d2a8fffc788611adfca92a2b9", + "campaign_id": "32ef2a9f-ac43-417a-96ab-d2a1ee261e61", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:cd7347d779b0b3ebecd339788049e183", + "package_id": "experiment-package:31a319a145971b70f4041c9106c8d9a2", "verified": true }, { - "archive_sha256": "7ebf7dac740e551996f7b8afb44bce85d1d5a827c6fb1c23ac1711315c051f46", - "campaign_id": "5b3e002f-5593-456a-9e46-d21e941ec43e", + "archive_sha256": "b1a8d76482f1ce971aa800065547e4ff3e5763d1d13798222f354ebe9434dbe8", + "campaign_id": "5a8ac619-1e04-41aa-bb4d-0c97f6e210ed", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:e8613e254fb8bec6aad3422f955ccedc", + "package_id": "experiment-package:c085f72189db13d0a9a73c7119c6df95", "verified": true }, { - "archive_sha256": "9f8d35136ce2d904f23c96785ba54127d4f90e5ca2c5ed6fe12868bedc3b9ee8", - "campaign_id": "ed089dbc-273b-410a-ae00-2adc2cdb48ce", + "archive_sha256": "3a94e7d0b9af830b31d182dd40919a0431283abd6373227ff54cfd83f434d76c", + "campaign_id": "f4470e01-9d79-49d6-938d-58dcd9696a0e", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:6a9277b68b8b2ff13ec37021d29fb064", + "package_id": "experiment-package:e8b1e5bed04afc2a02b4f024283025ed", "verified": true }, { - "archive_sha256": "6828238c165580690d00f38fd3101eda01ed9c92efc53c887091da35816d2688", - "campaign_id": "edbe2be0-d9ed-46d1-a4a5-41fe9f7e9536", + "archive_sha256": "e4f33873d39f4d3b3729af33f3781ad610c6fd738bc2ebb730cbe83548e0b7e1", + "campaign_id": "2450a748-6614-4fed-ab61-687f9e96284a", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:d7f09fe7074d3a61f0fbc112bf266106", + "package_id": "experiment-package:f7f8956895f2bcb6f2b657c1d5e6ddb4", "verified": true }, { - "archive_sha256": "5fb9c3d951043f7d2ffb3cecf7546008a28e092dd47ad7b3fbcf28a96fb9fae0", - "campaign_id": "7a82b14e-f2c1-4679-b28a-9e0194e71e95", + "archive_sha256": "125ad6ae1db767581677b729cdc0478fc9d9c56c81e68885f79e01985b14f79f", + "campaign_id": "e1227616-87a9-40fa-a733-02e093e69a7d", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:dd198c2a1003040b5bc2c3522a979e02", + "package_id": "experiment-package:ef9c91721f67d59881e29132a13217a9", "verified": true }, { - "archive_sha256": "61eff8f2a4db0d9a184559f2a4b20bab0d2f06f1d583bcce06d744f19d0cfbe4", - "campaign_id": "84a30526-8931-4372-90f9-b60c1e111ed0", + "archive_sha256": "72eb360c9c67cee125a1196d177e0666498e9f7bc7cef149177149c8ef79954e", + "campaign_id": "3d003205-f527-44a1-b054-7a7c56f61baa", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:8db6a828c345a27c0abee93c5dbd4993", + "package_id": "experiment-package:c7d589fe3afd54c76aba24655bda76cd", "verified": true }, { - "archive_sha256": "e774c4d9a5b81a2eb0308cff9b3077d89cba388cdf94459b6c1c9511615eecb3", - "campaign_id": "136f2ca6-1984-42a4-9266-82479854223f", + "archive_sha256": "a97de1ad8ffee7a8a42507e5686ec493e705aa22565c0b597a822ed67ea297d0", + "campaign_id": "ecfa5869-11b7-4ad4-b0f7-a6f92213a30b", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:f39528e74f359f077675fae4e99d2e35", + "package_id": "experiment-package:ef201d2374d58c013a691c75e41fba34", "verified": true }, { - "archive_sha256": "f344f69bf8c6b4f112046b34e7a566d5b389ed04d292c349f92dc7fef655df90", - "campaign_id": "4cf918c1-a536-4f95-968e-7a5406ce59b7", + "archive_sha256": "a7763bf585003e7853330079a317dfd06a7c4962c6c88a5297042a9b90515ddf", + "campaign_id": "34a57c82-3407-428c-b788-07820ac053c9", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:cfda7b272632926583622585f0516c89", + "package_id": "experiment-package:8e9d007c4833014cd28be0321fb3a7c4", "verified": true }, { - "archive_sha256": "30fdece637f811b7dbccbfa9711bf743eaa28c73bcc18888f0e577691e612235", - "campaign_id": "6c3b6a35-8005-4b87-9352-3c102ea4e6e3", + "archive_sha256": "f85cf4806f0198feaf0b34b2f0c8b0bcbff407c4d1fee23fb5b62f0e06b8255c", + "campaign_id": "b40b0b56-51d5-42bf-9fd8-fccbcec1b2a0", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:4657687a6e5df6a055250ddb259a3fec", + "package_id": "experiment-package:e068bd89acb4a07c65a9d7e3474bfe18", "verified": true }, { - "archive_sha256": "32d8f84d4d3de868b50a510c49a787dc7ef55c704e57131ffec9545f77fddf14", - "campaign_id": "519d9e8c-7f1f-4fcf-9b02-a880ca86a268", + "archive_sha256": "13153bcd733f73babd39d96dbe1387e56434c9498d14ef677a5e5ddda14cf0c8", + "campaign_id": "94839296-cafa-4461-8bb6-de3afc49345d", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:5df94ca306e3b14060c6c7de0eb36932", + "package_id": "experiment-package:4fc2821457b7029f64c0f08d47c315c3", "verified": true }, { - "archive_sha256": "124a31b5bd570973b97822fe5c17a27a0d2835be2fd2b2fdbfcc193c011a5257", - "campaign_id": "eedb969b-1a0d-45d1-a1e8-37cbea951417", + "archive_sha256": "b60cb6648365a7ef9552e112b78520540ff1a34317eaac2276a23a1fa0e808de", + "campaign_id": "79723cf5-99db-4b46-922d-9b1bff8c616b", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:4f0a9bef9e51d636d29a5fe783e6ed1f", + "package_id": "experiment-package:dae434e0a9a947fa8de3595316410089", "verified": true }, { - "archive_sha256": "c786095d28c95fb29d78c02a426fe511cf41878f9631bde8a3ceaa734545ec69", - "campaign_id": "f5360227-cf82-4423-9f17-fcc48f0e26df", + "archive_sha256": "d49fa4d2fb078fbff1a8adf5abcfaa49194b40ceaa1586e70440581d1ac75077", + "campaign_id": "3ac7ec2f-1498-4ccb-8a0d-384bb7b3e461", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:9e1ce1f2d0f8e8a037096442b41b8462", + "package_id": "experiment-package:438c905c061d75de6f18b0c09a6e63c7", "verified": true }, { - "archive_sha256": "cc91206fa0c706b1817968454c0557d795c4adec15d819d2103f648f52dd918a", - "campaign_id": "61890fc0-9ed1-4ed1-8db0-fd4c5b6318dc", + "archive_sha256": "33470f673414adc3e664d8ddb466fce7f005b1ec22ea433320ef548910877b9b", + "campaign_id": "18f399f9-3257-4620-b948-2169afffc583", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:f0d37322ba4baa7d6c449a77b2cd4e46", + "package_id": "experiment-package:06c831b200f25593d59f4f03c519af58", "verified": true }, { - "archive_sha256": "77507ddcb13e11511fb075ca91dd620cedca49e6f44b4a72480e7b76c0c1ee5f", - "campaign_id": "a2c40507-e440-4f6a-b166-87f5d619a9dd", + "archive_sha256": "499c16bc2c63cf3f2384d708d684a7be46a8540399f4e39fb120e348f4931d89", + "campaign_id": "3c73f261-245b-4a8e-874f-8223348863d7", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:25068ca2c5d0ca3b1345d443146f12fd", + "package_id": "experiment-package:c52cf8ba8f2cdbd9f1af2b0833b0c7a3", "verified": true }, { - "archive_sha256": "96eb6915e3460f0d41861c23955d9bc3db216db4d51c03b47c5c8e34e68813a2", - "campaign_id": "f3e4def2-6635-4026-9e1f-9fa2b0f3e4f2", + "archive_sha256": "d2e101f666e0b22beadf36837fd7d2be90970dbdef86f1162eea224a8f9027e3", + "campaign_id": "40c209d6-8fa2-4c46-a5e1-bc3e52bf6800", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:ec2dbee75eec96c171824f361241ac05", + "package_id": "experiment-package:a02f6138bcd0e9de19a2e27207feb812", "verified": true }, { - "archive_sha256": "a6e4f7c027af10c842ecb2333d84e07e17bab50d65dbcec9d726f442647e32d8", - "campaign_id": "94c8929d-f086-472b-b54d-4702739bb26f", + "archive_sha256": "ce1a7ebe2dba267f8de3b0c3a267608f1e896d644f09b876b5a6cbefaf329a80", + "campaign_id": "b00d7a14-4687-4129-85f8-9264f9e65afc", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:5eeaa97dc2a11b6a1c05b46f10323dbf", + "package_id": "experiment-package:b95e07a6448cfc6d8b8a50ffcf698a3b", "verified": true }, { - "archive_sha256": "9ea560b053fcf8426bb1a05b1308ea9d994e3503b646f70792054e64b33cb588", - "campaign_id": "19937805-b191-4d42-bff5-ef2f6ada4fe8", + "archive_sha256": "912993fc88f423b566f402c05f842021d27e68882ed5ef4fa056d4ddc098ee99", + "campaign_id": "73fc256b-6ce8-4142-961c-6777c9107c7f", "objects_referenced": 2, "objects_verified": 1, - "package_id": "experiment-package:98c883b10e75f6150b98720c7d6f2274", + "package_id": "experiment-package:468dbf9c831f5bfc149128f73fa9c2de", "verified": true } ] diff --git a/artifacts/fault-campaign/packages.zip b/artifacts/fault-campaign/packages.zip index 450cae6..fb94cc9 100644 Binary files a/artifacts/fault-campaign/packages.zip and b/artifacts/fault-campaign/packages.zip differ diff --git a/artifacts/fault-campaign/raw-results.csv b/artifacts/fault-campaign/raw-results.csv index d808910..9a4e6bc 100644 --- a/artifacts/fault-campaign/raw-results.csv +++ b/artifacts/fault-campaign/raw-results.csv @@ -1,101 +1,101 @@ run_id,ordinal,seed,campaign_id,fault_point,data_origin,execution_mode,process_pid,process_exit_code,process_started_at,checkpoint_reached_at,process_killed_at,restart_completed_at,attempts_created,lease_recoveries,observations_staged,observations_received,observations_accepted,corrupted_receipts,accepted_outcomes,duplicate_suppressions,hard_budget,budget_committed,budget_reserved,budget_consumed,budget_released,replay_equal,package_verified,objects_referenced,objects_verified,package_id,package_sha256,failure_codes,exclusions -phase7-20260813-100,1,20260814,5aa7cb86-8bb3-4506-9bd5-a768e251cb41,after_upload_before_outcome_transaction,synthetic,replay,33532,1,2026-08-13T15:20:21.062930Z,2026-08-13T15:20:24.330643Z,2026-08-13T15:20:24.330643Z,2026-08-13T15:20:27.148814Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:d830483adcf22ea942afde37b844b32b,4f37655e611cb667f50e6fa89b6c9f4978578c439a50ed0532b564e4ab81f549,"[""lease_lost""]",[] -phase7-20260813-100,2,20260815,7e46971f-d52e-4048-8764-c329f7108574,after_commit_before_acknowledgement,synthetic,replay,11664,1,2026-08-13T15:20:27.243779Z,2026-08-13T15:20:30.042971Z,2026-08-13T15:20:30.042971Z,2026-08-13T15:20:32.099312Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:741301eb11f96492aa45b7ad19ca0537,816d01347e4ff9c443ac2e79d1be3ca8849bcfc58631e5f6a57a49db937dbcd3,[],[] -phase7-20260813-100,3,20260816,8a1487ce-d860-43d1-8d54-043be3122625,after_commit_before_acknowledgement,synthetic,replay,16004,1,2026-08-13T15:20:32.201910Z,2026-08-13T15:20:34.637510Z,2026-08-13T15:20:34.637510Z,2026-08-13T15:20:36.568528Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:287c5f158f59f061d24ef6ad5334bfe0,160ba8970386a209f15ad9a40680751d2b290d943fca5c36e3f3e5d489b582ed,[],[] -phase7-20260813-100,4,20260817,2ac4cf24-29e8-4db0-a91d-0fea1100c541,after_upload_before_outcome_transaction,synthetic,replay,37184,1,2026-08-13T15:20:36.650453Z,2026-08-13T15:20:38.969277Z,2026-08-13T15:20:38.969277Z,2026-08-13T15:20:41.596572Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:2aaa3659bf595499a159546d3cc8112d,9ea2627043a44db577aaa00b56dfabd45b460c2eddddb01de7f205e0b3ecc769,"[""lease_lost""]",[] -phase7-20260813-100,5,20260818,622a6919-2afb-4128-8f66-cf7871d9dd3b,during_evidence_export,synthetic,replay,8936,1,2026-08-13T15:20:42.819768Z,2026-08-13T15:20:44.920630Z,2026-08-13T15:20:44.920630Z,2026-08-13T15:20:45.088213Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:e3992788f9e252d18c6cd188f0e15b77,42de22f9f1c15e2a036b8e7fa4f5ccd9de959c303943244828fd6dc00ca78058,[],[] -phase7-20260813-100,6,20260819,41a4fbd3-7748-4c64-8fc2-9d5e05c148a3,after_commit_before_acknowledgement,synthetic,replay,37984,1,2026-08-13T15:20:45.168902Z,2026-08-13T15:20:48.523015Z,2026-08-13T15:20:48.523015Z,2026-08-13T15:20:50.623960Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:3487e6ab7da4309bcd689d19ea719220,864eb7f6d4c7d37d7fa3f4fb3596ce6db832927036134ce87c730d6d9b1de512,[],[] -phase7-20260813-100,7,20260820,135daa99-c98d-4d55-8207-e81b7f351cda,after_lease_acquisition,synthetic,replay,38840,1,2026-08-13T15:20:50.704854Z,2026-08-13T15:20:53.036708Z,2026-08-13T15:20:53.036708Z,2026-08-13T15:20:55.387607Z,2,1,1,1,1,0,1,1,3,2,3,2,1,True,True,2,1,experiment-package:e170c9ebfd2406e392247c0085e1bc4b,5741bce124d7cc5b3c543bcb03e0c3f94cdd2e9b1cb78f7ae276b460cd680152,[],[] -phase7-20260813-100,8,20260821,cbf3a329-e6f5-4794-a66a-c15f40da536c,during_object_upload,synthetic,replay,30664,1,2026-08-13T15:20:55.458044Z,2026-08-13T15:20:58.712137Z,2026-08-13T15:20:58.712137Z,2026-08-13T15:21:01.513813Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:3555f45ee336db0a8d297a293552fea6,70dc0e7527b67df20c963c08e96c35e5d75f1a986de53af2d954de24bea25a5a,"[""lease_lost""]",[] -phase7-20260813-100,9,20260822,9ae3ef5b-65f1-4c96-9a9a-f9d7145f412b,during_object_upload,synthetic,replay,27656,1,2026-08-13T15:21:01.599055Z,2026-08-13T15:21:04.358432Z,2026-08-13T15:21:04.358432Z,2026-08-13T15:21:07.923030Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:b3cb9087918dee708cc948e7ed3eb62f,5c8f2a67d232b3f0de5e10b59402a691c06c3c67b4550a833414b5b2ac86d29b,"[""lease_lost""]",[] -phase7-20260813-100,10,20260823,23809f10-2911-4424-ac25-74dd64d39835,after_adapter_return_before_upload,synthetic,replay,31724,1,2026-08-13T15:21:08.004720Z,2026-08-13T15:21:10.791102Z,2026-08-13T15:21:10.791102Z,2026-08-13T15:21:13.988947Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:c9db3422e399c52e0990962be3c267d4,7d8bab5b38a1e33f1f2e1bc3beea83c0299d03414cbce7f9dcf86b1903170fae,"[""lease_lost""]",[] -phase7-20260813-100,11,20260824,6c0dcbcf-e8f3-484f-92fb-835a0a7021d0,during_object_upload,synthetic,replay,27284,1,2026-08-13T15:21:14.077934Z,2026-08-13T15:21:17.330052Z,2026-08-13T15:21:17.330052Z,2026-08-13T15:21:20.190137Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:d743f30607dd6a33d09b6502984889dd,64105c27d4012dd589e4c7aa5d29c34387a29a8d1958397de5507bfb9dfb86d1,"[""lease_lost""]",[] -phase7-20260813-100,12,20260825,6de3894d-bc6f-4ae7-b3a7-51c97dd02403,after_commit_before_acknowledgement,synthetic,replay,39136,1,2026-08-13T15:21:20.267545Z,2026-08-13T15:21:23.520825Z,2026-08-13T15:21:23.520825Z,2026-08-13T15:21:25.827921Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:417204090882c40e9125cac3c40976c9,a79ae7fb92151f71702c329f96b7a155b63266824f91e5a7354504f8ddbf04b2,[],[] -phase7-20260813-100,13,20260826,c2203cb6-dd54-49df-b83d-e3acc688ded5,after_adapter_return_before_upload,synthetic,replay,33548,1,2026-08-13T15:21:25.900039Z,2026-08-13T15:21:28.625881Z,2026-08-13T15:21:28.625881Z,2026-08-13T15:21:31.636465Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:871a2f7b4aab5391082d6db99f5e41e0,943ed85c8d260b03600e3dbeead631fefb66a200505a8b7fb51c968faec982db,"[""lease_lost""]",[] -phase7-20260813-100,14,20260827,47bc04ef-6a51-48b1-bbca-68ecff5f7158,after_lease_acquisition,synthetic,replay,1572,1,2026-08-13T15:21:31.703964Z,2026-08-13T15:21:34.084263Z,2026-08-13T15:21:34.084263Z,2026-08-13T15:21:37.043983Z,2,1,1,1,1,0,1,1,3,2,3,2,1,True,True,2,1,experiment-package:07af5010fa53b33796261a55c6b27296,c823fb56f379b11a4fc7b95a1baacc33491143d4df3e921d4d103efea8d9decc,[],[] -phase7-20260813-100,15,20260828,33159243-2f76-409a-aefe-c516d8c6c0d7,after_lease_acquisition,synthetic,replay,10288,1,2026-08-13T15:21:37.117763Z,2026-08-13T15:21:39.773053Z,2026-08-13T15:21:39.773053Z,2026-08-13T15:21:43.036252Z,2,1,1,1,1,0,1,1,3,2,3,2,1,True,True,2,1,experiment-package:238cc03519a77934070083471e36c0fe,11fdde7ea02116a2ef91ee010d58755820f04bcdcc2ada7dedd007659f50c610,[],[] -phase7-20260813-100,16,20260829,b22d4364-8e6a-4c06-b612-f956d3aa2e77,after_lease_acquisition,synthetic,replay,38764,1,2026-08-13T15:21:43.127796Z,2026-08-13T15:21:45.780354Z,2026-08-13T15:21:45.780354Z,2026-08-13T15:21:49.267842Z,2,1,1,1,1,0,1,1,3,2,3,2,1,True,True,2,1,experiment-package:1b5dbe52ef773347016bfb981247a2fa,5241478f239ee0b127cac9df932488a5b508e6eb29829e63190425381d550b88,[],[] -phase7-20260813-100,17,20260830,21c1f828-89e5-408c-8771-d2ff0f941d88,after_adapter_return_before_upload,synthetic,replay,39240,1,2026-08-13T15:21:49.337391Z,2026-08-13T15:21:52.590468Z,2026-08-13T15:21:52.590468Z,2026-08-13T15:21:56.119503Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:3e96faff730879951e6768f1b695e8e0,b53a3c373dcab41c627449e5bb12c48dcce01a3ee9af0547d846128a229e60fc,"[""lease_lost""]",[] -phase7-20260813-100,18,20260831,8a1bf94c-00ec-4b36-9a75-de568152b0cd,during_object_upload,synthetic,replay,31624,1,2026-08-13T15:21:56.199587Z,2026-08-13T15:21:59.687331Z,2026-08-13T15:21:59.687331Z,2026-08-13T15:22:03.741511Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:5a2a1041069b06f2717446653ff005ee,476963e6ba54a98b0fb9288a1965a9eb4247fb3a9accc796f2e8465c23fc5936,"[""lease_lost""]",[] -phase7-20260813-100,19,20260832,f3bd9b1c-d26c-4cfd-bf74-58f35b299087,after_adapter_return_before_upload,synthetic,replay,33700,1,2026-08-13T15:22:03.836085Z,2026-08-13T15:22:07.047225Z,2026-08-13T15:22:07.047225Z,2026-08-13T15:22:10.221852Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:52cbcfaa15c2be97692dc993f8476ca7,37e67716f555640677c16438511420a113cffaa8b30901a9ab46016d1705d221,"[""lease_lost""]",[] -phase7-20260813-100,20,20260833,72c5a640-a72e-4e7b-8ec0-f7807877a56a,during_object_upload,synthetic,replay,30908,1,2026-08-13T15:22:10.298951Z,2026-08-13T15:22:14.345786Z,2026-08-13T15:22:14.345786Z,2026-08-13T15:22:17.950254Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:e21aecccb14c334619ac227c3f369afc,1402ba8c5a01f9eaf91696fa570ad82865ce7b9bb5c5e3dc9208f0f8394995aa,"[""lease_lost""]",[] -phase7-20260813-100,21,20260834,2a15e30a-dd39-47a3-8ced-ede6c17e1263,during_object_upload,synthetic,replay,38248,1,2026-08-13T15:22:18.045842Z,2026-08-13T15:22:21.136951Z,2026-08-13T15:22:21.136951Z,2026-08-13T15:22:25.095602Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:80d99e37693e90e732afa02b43d55f30,6859ee95909706d00bd8064e7e97e3d2bfee2c04f18ad73abe1aa777d37f0434,"[""lease_lost""]",[] -phase7-20260813-100,22,20260835,cabc27fd-a974-417e-98c7-a16fa4bfa22a,after_upload_before_outcome_transaction,synthetic,replay,39284,1,2026-08-13T15:22:25.175600Z,2026-08-13T15:22:28.744095Z,2026-08-13T15:22:28.744095Z,2026-08-13T15:22:32.857951Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:51619d55b38a155c0df5192f7cd39010,2434394ba81504a2bab28e33ba50f3b755908047d39794214512c7bd66248c05,"[""lease_lost""]",[] -phase7-20260813-100,23,20260836,6f7443d7-6eef-4ff6-b011-31682267449a,during_object_upload,synthetic,replay,36732,1,2026-08-13T15:22:32.952281Z,2026-08-13T15:22:36.460816Z,2026-08-13T15:22:36.460816Z,2026-08-13T15:22:39.809881Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:d80128c270fcf4ff7134d776daf5270a,b348b527dceae88e8b1da6cb1a7c7236cbc60ce3be57fda83b22760ac15b4a0b,"[""lease_lost""]",[] -phase7-20260813-100,24,20260837,3ee666c6-07f4-484b-9c39-266020796907,after_adapter_return_before_upload,synthetic,replay,39116,1,2026-08-13T15:22:39.874003Z,2026-08-13T15:22:42.398582Z,2026-08-13T15:22:42.398582Z,2026-08-13T15:22:45.966443Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:aa232a2d36f796dbaa0f6f0f9b949138,cf1e1d677513cc4141af7ac4533f2f64c501460432940ffd00d96561916fdfe4,"[""lease_lost""]",[] -phase7-20260813-100,25,20260838,2e4a527c-df6b-48a9-aeed-259f81145504,after_lease_acquisition,synthetic,replay,21688,1,2026-08-13T15:22:46.032029Z,2026-08-13T15:22:48.463412Z,2026-08-13T15:22:48.463412Z,2026-08-13T15:22:51.996557Z,2,1,1,1,1,0,1,1,3,2,3,2,1,True,True,2,1,experiment-package:b25eded85e20ac852cd0ba7687e49a1f,a8922c503e97399010d18327f0416fdd759f30d393a637798d7e75f2256af67b,[],[] -phase7-20260813-100,26,20260839,4d60587b-1e77-4a75-a65d-f8faca41f981,after_upload_before_outcome_transaction,synthetic,replay,5116,1,2026-08-13T15:22:52.078564Z,2026-08-13T15:22:55.291244Z,2026-08-13T15:22:55.291244Z,2026-08-13T15:22:59.134057Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:16214a2357350c0743f4f7273081758b,fbcb7ca67566f3569535605d2b5afa1ba92851a1d3e9c7b50bd76d34d8efb923,"[""lease_lost""]",[] -phase7-20260813-100,27,20260840,e47fe0e5-eb40-4c46-b582-cded270a7d80,after_lease_acquisition,synthetic,replay,39048,1,2026-08-13T15:22:59.215991Z,2026-08-13T15:23:02.250206Z,2026-08-13T15:23:02.250206Z,2026-08-13T15:23:06.296046Z,2,1,1,1,1,0,1,1,3,2,3,2,1,True,True,2,1,experiment-package:55a33b80025cc5dff7c5629b73518403,60a6b3542ca81f313e83a3483605f84187afa0de3f0f557d5d4ebe16dcc3a400,[],[] -phase7-20260813-100,28,20260841,dee06c98-5df9-4d46-988b-3bedca9fab6c,during_object_upload,synthetic,replay,37448,1,2026-08-13T15:23:06.374875Z,2026-08-13T15:23:09.535684Z,2026-08-13T15:23:09.535684Z,2026-08-13T15:23:13.729870Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:49a39e9a15ca51d890090c2caf8605a3,ca3929da587bc9ea117c84444505e4a361ae5cfc9a03329d39f168db832aff16,"[""lease_lost""]",[] -phase7-20260813-100,29,20260842,558dbdec-63cb-43c3-af7b-cd0dcfb867a8,after_lease_acquisition,synthetic,replay,34592,1,2026-08-13T15:23:13.815559Z,2026-08-13T15:23:16.961750Z,2026-08-13T15:23:16.961750Z,2026-08-13T15:23:20.737567Z,2,1,1,1,1,0,1,1,3,2,3,2,1,True,True,2,1,experiment-package:57cbe840c03bf0d2d7cee1a6e0db06fb,a1e7e27b268c60731aac08b024e17ea0082b8aebb0ad5df2242cafe15d76f389,[],[] -phase7-20260813-100,30,20260843,806fe7bd-c12c-44c5-9b49-3da2372ee257,after_lease_acquisition,synthetic,replay,39796,1,2026-08-13T15:23:20.822867Z,2026-08-13T15:23:24.380442Z,2026-08-13T15:23:24.380442Z,2026-08-13T15:23:28.637334Z,2,1,1,1,1,0,1,1,3,2,3,2,1,True,True,2,1,experiment-package:03398acacc0ac77644e1ce73ed497017,efba10dedcf46f1a85d5b0719d479a7ed344f6f58196041685602d24998284ba,[],[] -phase7-20260813-100,31,20260844,1f674de1-c040-4f90-87b4-057558bd6230,during_evidence_export,synthetic,replay,32344,1,2026-08-13T15:23:30.984218Z,2026-08-13T15:23:33.379913Z,2026-08-13T15:23:33.379913Z,2026-08-13T15:23:33.596673Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:1b0ef670cfc4c13245e55998ccda7c0a,5e4facdb600ec5811508c5f4469e033dfcb1c2dd2f5b1978cfa3b1dad15c0096,[],[] -phase7-20260813-100,32,20260845,c444ea0e-cfde-40b1-87ce-9ad7bb306d76,during_object_upload,synthetic,replay,30848,1,2026-08-13T15:23:33.699711Z,2026-08-13T15:23:37.164258Z,2026-08-13T15:23:37.164258Z,2026-08-13T15:23:40.881227Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:9962b7c41c3ca9b6271957b5901ef69d,3f45a495c519882a6f009a8fdc204f98d907b074a5045c8c807eb46223d489de,"[""lease_lost""]",[] -phase7-20260813-100,33,20260846,7886f262-3928-4622-b0aa-c10b8917bb73,after_commit_before_acknowledgement,synthetic,replay,38992,1,2026-08-13T15:23:40.962071Z,2026-08-13T15:23:44.318781Z,2026-08-13T15:23:44.318781Z,2026-08-13T15:23:48.041722Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:eecb260badc1f7b287f3405c0f20557e,a680d90d3c162ffee4a62c6690699fd4fc8baee66431f01490691d756377dd0a,[],[] -phase7-20260813-100,34,20260847,ae704d06-66ad-4b3d-8fa0-bc5eab031700,during_evidence_export,synthetic,replay,35260,1,2026-08-13T15:23:50.401258Z,2026-08-13T15:23:52.243116Z,2026-08-13T15:23:52.243116Z,2026-08-13T15:23:52.501031Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:e1c3fff835834de977cfece3f739fa10,c3519591ac8c39d4239edda5008aa4402726d61544007c72a87e58a6dc8473f2,[],[] -phase7-20260813-100,35,20260848,c6cbf15f-2f7c-43d7-b20f-40762aef8c16,during_evidence_export,synthetic,replay,12456,1,2026-08-13T15:23:55.378548Z,2026-08-13T15:23:57.325804Z,2026-08-13T15:23:57.325804Z,2026-08-13T15:23:57.479029Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:507a82c6993a1673c3e5097e585bd5d7,4a68dc5e1b06b7759b03957050a69e54882f74a02dc9abfc247e6634340afea1,[],[] -phase7-20260813-100,36,20260849,d70fc10d-5775-4e4a-abc1-d3ed2a3be71a,after_lease_acquisition,synthetic,replay,20816,1,2026-08-13T15:23:57.558473Z,2026-08-13T15:24:00.124644Z,2026-08-13T15:24:00.124644Z,2026-08-13T15:24:04.573310Z,2,1,1,1,1,0,1,1,3,2,3,2,1,True,True,2,1,experiment-package:bf85bc02a15ecc32721941e0839a6c61,f4f8e50329054b7c02d14517d9f16afb241c2453dcb2ba4874a9ebb2b56ac04d,[],[] -phase7-20260813-100,37,20260850,da45a71c-0f1b-4522-81a5-9119a448adb4,after_commit_before_acknowledgement,synthetic,replay,23060,1,2026-08-13T15:24:04.647402Z,2026-08-13T15:24:07.785719Z,2026-08-13T15:24:07.785719Z,2026-08-13T15:24:10.927001Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:1788e4cfa47f6bc21c5b3d5f6c5ce212,6b7a337a822ac03abc18ca88e974f6ecd66cd556ee86cfeb99155d4de254a30a,[],[] -phase7-20260813-100,38,20260851,d5de7bd1-021b-407e-ac83-a04f0ae3d654,after_lease_acquisition,synthetic,replay,32348,1,2026-08-13T15:24:11.007284Z,2026-08-13T15:24:14.037996Z,2026-08-13T15:24:14.037996Z,2026-08-13T15:24:17.975149Z,2,1,1,1,1,0,1,1,3,2,3,2,1,True,True,2,1,experiment-package:977a46a49fbdf796398a96332cb6c6ac,25008149c9079774fec75f485deaf72a318fa52bf269660aa308482d54eced88,[],[] -phase7-20260813-100,39,20260852,47d20867-15c9-45bc-8889-18340a643a03,during_object_upload,synthetic,replay,32780,1,2026-08-13T15:24:18.046137Z,2026-08-13T15:24:21.180176Z,2026-08-13T15:24:21.180176Z,2026-08-13T15:24:26.648845Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:94c6f2c4fb952c942b7ffcdab8a5bbc0,7312db1116a456cae1dac19fb10026a4e6818ccc1a980db66c15fee79d130b4a,"[""lease_lost""]",[] -phase7-20260813-100,40,20260853,6d0132f3-e034-4f94-9387-55c181663900,after_lease_acquisition,synthetic,replay,29956,1,2026-08-13T15:24:26.743790Z,2026-08-13T15:24:32.239644Z,2026-08-13T15:24:32.239644Z,2026-08-13T15:24:36.874597Z,2,1,1,1,1,0,1,1,3,2,3,2,1,True,True,2,1,experiment-package:0ad8c2ae3c03361f98ea27571e66765a,4a7bfdbbd898f29e1f32817c2b49046107250ad43b3776cc5387cfbc4b379164,[],[] -phase7-20260813-100,41,20260854,f4eacdcc-0342-47d6-bdfb-ea7642655326,during_evidence_export,synthetic,replay,35008,1,2026-08-13T15:24:40.613375Z,2026-08-13T15:24:43.017649Z,2026-08-13T15:24:43.017649Z,2026-08-13T15:24:43.170810Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:147277e8a006d46c0349c666e6564383,c20f96a0735b6a40a18f38beb7a31a15fa92a5cddf5e50f23501a801fe0b7206,[],[] -phase7-20260813-100,42,20260855,5bd63eff-2e2c-416a-aad2-ed12427e6a7e,during_object_upload,synthetic,replay,17924,1,2026-08-13T15:24:43.247610Z,2026-08-13T15:24:48.811845Z,2026-08-13T15:24:48.811845Z,2026-08-13T15:24:53.839081Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:d1e2cc384e4f6268a2a959abdc11fbc1,ff5482fc9eadd965da54ef6ed95e02f2645f92f4fda1a79779cf7ce9a9a701bc,"[""lease_lost""]",[] -phase7-20260813-100,43,20260856,cd6374d8-0fa8-4a68-bf16-7c239a3a2bfe,after_adapter_return_before_upload,synthetic,replay,4548,1,2026-08-13T15:24:53.924958Z,2026-08-13T15:24:57.727820Z,2026-08-13T15:24:57.727820Z,2026-08-13T15:25:02.885865Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:4fb88e7a1308c3e1ac9e70a86ac85126,b9def2bac71026c8cac05332e9e6c82a2f3f4a08e580d77588a3b144311aa34d,"[""lease_lost""]",[] -phase7-20260813-100,44,20260857,59cbeb32-5252-4d24-b89f-50f50964d679,after_adapter_return_before_upload,synthetic,replay,23440,1,2026-08-13T15:25:02.957424Z,2026-08-13T15:25:07.017031Z,2026-08-13T15:25:07.017031Z,2026-08-13T15:25:12.023007Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:bed2b6816292bd4a094cb7582cd30c45,8ef9e6b37c7f8e1f652c453cab997cd8bd78249a9641f42220d4e493bd410640,"[""lease_lost""]",[] -phase7-20260813-100,45,20260858,bc38c14c-d8fa-4954-b1ab-d2af6df6d2a9,after_commit_before_acknowledgement,synthetic,replay,16936,1,2026-08-13T15:25:12.114958Z,2026-08-13T15:25:17.514919Z,2026-08-13T15:25:17.514919Z,2026-08-13T15:25:22.256845Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:4f1ca0510c6492a514296a2e61791f8c,b36945a1356689361f9815c51080dacc7a7c1bfb9d55e6cc665408a11ac4f0fc,[],[] -phase7-20260813-100,46,20260859,d0cb5535-5a73-4a33-9d7b-e2be378f10fc,after_commit_before_acknowledgement,synthetic,replay,38212,1,2026-08-13T15:25:22.337301Z,2026-08-13T15:25:27.069092Z,2026-08-13T15:25:27.069092Z,2026-08-13T15:25:31.632071Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:f3d91789d04ac5955dabf3f10ef96251,706dd051261ca8b027584e79e5936d0d6243c69ca55fe896bcfd7262f49ada8e,[],[] -phase7-20260813-100,47,20260860,59ea5b03-51b3-403a-9a2d-1b852f3eaab5,after_commit_before_acknowledgement,synthetic,replay,39016,1,2026-08-13T15:25:31.697565Z,2026-08-13T15:25:35.111586Z,2026-08-13T15:25:35.111586Z,2026-08-13T15:25:39.866711Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:5605e96f69515408b416199350a47430,244d7942840ba37c3625e72cf28e6bc78d416742fbe789c7aec736b8f6078a0d,[],[] -phase7-20260813-100,48,20260861,48dd37ad-ac19-4649-aac0-8fb0a40e95ea,after_commit_before_acknowledgement,synthetic,replay,36712,1,2026-08-13T15:25:39.929864Z,2026-08-13T15:25:43.528562Z,2026-08-13T15:25:43.528562Z,2026-08-13T15:25:47.748279Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:3979beacef41ee48bb0cfeb8ee2447af,ab18d03c56101b4159920c2ee4a0be65ab544432b9f3a6152774e0f16ad4afee,[],[] -phase7-20260813-100,49,20260862,7c6d06d3-0c61-485c-acf8-23d1b851dea2,during_object_upload,synthetic,replay,27088,1,2026-08-13T15:25:47.821579Z,2026-08-13T15:25:51.112528Z,2026-08-13T15:25:51.112528Z,2026-08-13T15:25:55.393872Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:7510f371664e2a78d4b2e52bfcabe29f,695573658476c583a4c8bd3af640839a9e64b816bf9838978251683297e41db1,"[""lease_lost""]",[] -phase7-20260813-100,50,20260863,87b5ce0a-2af4-481b-aa1f-c3c02dc28931,after_commit_before_acknowledgement,synthetic,replay,35896,1,2026-08-13T15:25:55.444899Z,2026-08-13T15:25:58.917816Z,2026-08-13T15:25:58.917816Z,2026-08-13T15:26:03.537546Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:3475d93f617876a2e46376f6ff614db5,f774c97c8b5cb913abe202028be4f7bfd4eacbeadf6861e6a105472df667641f,[],[] -phase7-20260813-100,51,20260864,c624ec0a-5c8f-413f-99c0-c57e85617984,after_adapter_return_before_upload,synthetic,replay,37116,1,2026-08-13T15:26:03.603893Z,2026-08-13T15:26:07.318577Z,2026-08-13T15:26:07.318577Z,2026-08-13T15:26:12.277130Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:d44b07df708942f47df26b2137b093e4,92e05080ed5d226eba221749b0129181a725d999683a686e10850a3234e1cfa6,"[""lease_lost""]",[] -phase7-20260813-100,52,20260865,db21d30b-ff2c-4431-8a8a-17a2ec046190,after_upload_before_outcome_transaction,synthetic,replay,33248,1,2026-08-13T15:26:12.332475Z,2026-08-13T15:26:15.148264Z,2026-08-13T15:26:15.148264Z,2026-08-13T15:26:20.116637Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:c145488cc9dbc636a0d84264ba9250a4,e98fa2dce9ffcefadf1c9e0f296b9ed945afed8aa37a34f692be48b3b714103e,"[""lease_lost""]",[] -phase7-20260813-100,53,20260866,96e3f7c3-fa35-46dd-bafa-9b3d66aad56d,during_object_upload,synthetic,replay,38660,1,2026-08-13T15:26:20.227864Z,2026-08-13T15:26:24.048637Z,2026-08-13T15:26:24.048637Z,2026-08-13T15:26:29.169478Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:8edf504cc899b56acd2d05dd18cb2ceb,ebe272bbb36fcf0d6f63259279e916fab8913a0fb61285a4c8b907b12b33fa2f,"[""lease_lost""]",[] -phase7-20260813-100,54,20260867,125d599f-5e20-4e67-8583-e8cdfd21f056,after_adapter_return_before_upload,synthetic,replay,28476,1,2026-08-13T15:26:29.244139Z,2026-08-13T15:26:32.889802Z,2026-08-13T15:26:32.889802Z,2026-08-13T15:26:37.903499Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:0a3045b268a310525c1daf1866400d3c,c7c67bb391a9f9e897e3d25bf42f98e37ed8894d1d17bb814a97c85dac3739c8,"[""lease_lost""]",[] -phase7-20260813-100,55,20260868,bf5c4dfe-40fa-4789-bf66-f9b667f105ed,during_evidence_export,synthetic,replay,38972,1,2026-08-13T15:26:41.833104Z,2026-08-13T15:26:43.876601Z,2026-08-13T15:26:43.876601Z,2026-08-13T15:26:43.993339Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:e6c1d159f4477c0b4afb0a6aed1c412b,5893a518422290094627dbe0bd1fd44272d4ab713a2983f734c3018a98c289f5,[],[] -phase7-20260813-100,56,20260869,28294cf5-321a-459b-90f2-d48c7a99d245,after_upload_before_outcome_transaction,synthetic,replay,11328,1,2026-08-13T15:26:44.052772Z,2026-08-13T15:26:47.504869Z,2026-08-13T15:26:47.504869Z,2026-08-13T15:26:52.806155Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:ef6e24fe8073ef1c587d3d67e6352267,8fac3971102e9fe6a927cbbe4cad8f0b74716879f4c6d2726a84272af26c1619,"[""lease_lost""]",[] -phase7-20260813-100,57,20260870,78ef6b4e-b1ee-4618-b573-ef1007699e43,after_lease_acquisition,synthetic,replay,28676,1,2026-08-13T15:26:52.899417Z,2026-08-13T15:26:57.139661Z,2026-08-13T15:26:57.139661Z,2026-08-13T15:27:04.593029Z,2,1,1,1,1,0,1,1,3,2,3,2,1,True,True,2,1,experiment-package:af7df53822c9cda3a6029a2d0adeb213,86c1b6017c997494302bdeb0bb2c0f41411d185a48bc84ce77dcac643bbc375c,[],[] -phase7-20260813-100,58,20260871,c04f2c07-1319-4eb0-bba8-f41a44594b72,after_commit_before_acknowledgement,synthetic,replay,18660,1,2026-08-13T15:27:04.736923Z,2026-08-13T15:27:10.073870Z,2026-08-13T15:27:10.073870Z,2026-08-13T15:27:14.916280Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:26f2aa5185fbc3cd0ebca82e87cd1bef,794b411fbae6b5a42768e346ecb21a1113a19d890b32248510ef114e28ea8031,[],[] -phase7-20260813-100,59,20260872,b411eb8f-a546-4aa2-aaf3-3d790cbd5f05,after_upload_before_outcome_transaction,synthetic,replay,38204,1,2026-08-13T15:27:14.985522Z,2026-08-13T15:27:18.420231Z,2026-08-13T15:27:18.420231Z,2026-08-13T15:27:23.877233Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:70f05379470b5ff03420fa79aa00b7f9,d9a6ddc5a0b9b55c85a70206668b5d40d73c351b5aa80cc77c0aa22ebfe428a1,"[""lease_lost""]",[] -phase7-20260813-100,60,20260873,a36a8519-635c-4a9a-89f7-e74603e5afb3,after_upload_before_outcome_transaction,synthetic,replay,22800,1,2026-08-13T15:27:23.954088Z,2026-08-13T15:27:27.699776Z,2026-08-13T15:27:27.699776Z,2026-08-13T15:27:32.796626Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:ac1ab626b34d48e7c52bb0535780ea57,7c1f3fb2cf39619bf0bc76ac93957250b94e6943477d82168568cac60e9c8312,"[""lease_lost""]",[] -phase7-20260813-100,61,20260874,b20cf37e-2d82-44a8-9f5f-3aa42695fbc2,after_lease_acquisition,synthetic,replay,28400,1,2026-08-13T15:27:32.869649Z,2026-08-13T15:27:36.456534Z,2026-08-13T15:27:36.456534Z,2026-08-13T15:27:41.119291Z,2,1,1,1,1,0,1,1,3,2,3,2,1,True,True,2,1,experiment-package:151eec45cf4c45784f43b7e7b5695ed5,db7e55cf5d6297e28adaba162d5a78aea684ea8db0b77370593084357f5d58d6,[],[] -phase7-20260813-100,62,20260875,8917decd-bef5-4230-8e03-1f0c56458e39,during_evidence_export,synthetic,replay,39100,1,2026-08-13T15:27:45.397031Z,2026-08-13T15:27:47.395127Z,2026-08-13T15:27:47.395127Z,2026-08-13T15:27:47.558603Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:d4456cd68fb71aee1b6f6414370729fa,3d832c83c7794699f100087e73da9aa4adc94bdd7cd3f0d0644d296c4149a983,[],[] -phase7-20260813-100,63,20260876,de49fa8b-4661-45f1-bea9-ca9608e9558a,after_commit_before_acknowledgement,synthetic,replay,17928,1,2026-08-13T15:27:47.632347Z,2026-08-13T15:27:50.877603Z,2026-08-13T15:27:50.877603Z,2026-08-13T15:27:55.993969Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:a6f60c77e44f4a5b75f0849c78a69677,428dfe470b4103d9e99a98ed35a256e6a4e63b5f24a37a0dc623f70ad25a98b2,[],[] -phase7-20260813-100,64,20260877,86ba137f-61a2-4ac2-b91c-e690e4474b40,after_lease_acquisition,synthetic,replay,28920,1,2026-08-13T15:27:56.058481Z,2026-08-13T15:27:59.343024Z,2026-08-13T15:27:59.343024Z,2026-08-13T15:28:04.861979Z,2,1,1,1,1,0,1,1,3,2,3,2,1,True,True,2,1,experiment-package:bad71cecccadb4dc69359ed8f21812c8,fb7da99237db2d882718654cc833317b030a9c570c98448ce82f7072913b7ba6,[],[] -phase7-20260813-100,65,20260878,d384007b-c0c7-4a07-99e0-23d7fbbead56,after_upload_before_outcome_transaction,synthetic,replay,38244,1,2026-08-13T15:28:04.935819Z,2026-08-13T15:28:08.675778Z,2026-08-13T15:28:08.675778Z,2026-08-13T15:28:14.159312Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:20226041115fe6332083f416f9d06b10,596f37d110e661eab4d82030e4493e3a569222692e63433c809046e8859ad550,"[""lease_lost""]",[] -phase7-20260813-100,66,20260879,8c8ea74e-2648-4dcb-bca7-0295f341a56e,after_lease_acquisition,synthetic,replay,27056,1,2026-08-13T15:28:14.226800Z,2026-08-13T15:28:17.973982Z,2026-08-13T15:28:17.973982Z,2026-08-13T15:28:23.298033Z,2,1,1,1,1,0,1,1,3,2,3,2,1,True,True,2,1,experiment-package:9de4b4e42500a99503e0c66d27fced8d,5ae70b4144399c667fcaec5858dcbc6ba2121c38f6d9f7f7fa25161d7c62ac31,[],[] -phase7-20260813-100,67,20260880,e5c78838-d72a-4976-81cb-e80189296002,after_upload_before_outcome_transaction,synthetic,replay,38416,1,2026-08-13T15:28:23.382462Z,2026-08-13T15:28:27.282087Z,2026-08-13T15:28:27.282087Z,2026-08-13T15:28:32.493872Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:3701d18dd18dfc5adcf8750834f36a07,65c3692de54ff391321567d7749ffdf5a51d98996f101a57432d28544c6e296e,"[""lease_lost""]",[] -phase7-20260813-100,68,20260881,27b887d3-a2e9-44af-9a78-44b4bc07f6c2,during_evidence_export,synthetic,replay,33644,1,2026-08-13T15:28:36.926575Z,2026-08-13T15:28:39.131633Z,2026-08-13T15:28:39.131633Z,2026-08-13T15:28:39.266996Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:9bccb410446defe8e240256726327c82,acd40b0b29bf1118960b4464eddfa04864ad91ac95a5459bd9318773e126aca3,[],[] -phase7-20260813-100,69,20260882,fca390dd-591a-4b30-9071-fba97647aaca,after_adapter_return_before_upload,synthetic,replay,18544,1,2026-08-13T15:28:39.334019Z,2026-08-13T15:28:42.929843Z,2026-08-13T15:28:42.929843Z,2026-08-13T15:28:48.851081Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:23bd010884c9bff28379f89b4d4e2de2,36f4f590f5f31182f51e39e4f6883409a6d508ba1499c725ece6d22087cea449,"[""lease_lost""]",[] -phase7-20260813-100,70,20260883,47e0cf17-3b46-4ef7-bd1e-301a0b178d6c,during_evidence_export,synthetic,replay,34276,1,2026-08-13T15:28:53.324159Z,2026-08-13T15:28:55.370534Z,2026-08-13T15:28:55.370534Z,2026-08-13T15:28:55.518202Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:6acb1ca5d245cafd48ca5520c0a1fb6f,d4968bda9c89fab5c3e3f6d77ad9eab28527a41e4f41221bff207fb76776fb1f,[],[] -phase7-20260813-100,71,20260884,9c646f85-7801-4760-b6c3-684cc20fda21,after_adapter_return_before_upload,synthetic,replay,25552,1,2026-08-13T15:28:55.599897Z,2026-08-13T15:28:59.597379Z,2026-08-13T15:28:59.597379Z,2026-08-13T15:29:05.661466Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:e6b9d7033e1d5e6d76bc9c35899f1ae0,2ec9cd9ed497d4d1e7d36f678e96d511d28bfd2c8941e7ef43d39ed4cc94d667,"[""lease_lost""]",[] -phase7-20260813-100,72,20260885,072d4372-08f2-4c90-b42e-57af4ee751c1,during_object_upload,synthetic,replay,35768,1,2026-08-13T15:29:05.733141Z,2026-08-13T15:29:09.651851Z,2026-08-13T15:29:09.651851Z,2026-08-13T15:29:15.928779Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:2df114372364ff8d287ab37123b0e5a4,aaac5d4a1b0821fecd35b47e2be1c9eadd03a9796e94686fed43157dffa3ec96,"[""lease_lost""]",[] -phase7-20260813-100,73,20260886,cb133b65-1429-4249-b345-1b7b78f28dea,during_evidence_export,synthetic,replay,29732,1,2026-08-13T15:29:20.105577Z,2026-08-13T15:29:21.744139Z,2026-08-13T15:29:21.744139Z,2026-08-13T15:29:21.891671Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:9927872772614a8179595a80c7a20773,df91506968b4fce6a76488bb4c5459fb5062edc05947bb1a79dfe63311e9c625,[],[] -phase7-20260813-100,74,20260887,b5f6266d-f6f5-4109-a632-fca8823a3300,after_lease_acquisition,synthetic,replay,38364,1,2026-08-13T15:29:21.954646Z,2026-08-13T15:29:26.316563Z,2026-08-13T15:29:26.316563Z,2026-08-13T15:29:31.877413Z,2,1,1,1,1,0,1,1,3,2,3,2,1,True,True,2,1,experiment-package:68be63ee7b4970504cebcbead5603493,ecc4d6d5d20328aaef0cfcd0e64c7e9ca2b5199634d7d7897951bd3a97bda9e7,[],[] -phase7-20260813-100,75,20260888,01590fe3-e7ca-4e25-8b3a-1f3030e6885d,during_evidence_export,synthetic,replay,38332,1,2026-08-13T15:29:36.836947Z,2026-08-13T15:29:38.784010Z,2026-08-13T15:29:38.784010Z,2026-08-13T15:29:38.951449Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:659e106425bb6b4705762aeb5b262565,0980916715b1f4f41b9e867f4808e6d70d0003b7fc677790f4711a863fb58dbc,[],[] -phase7-20260813-100,76,20260889,b9606d88-c543-461e-b948-1d89709557e4,after_commit_before_acknowledgement,synthetic,replay,4500,1,2026-08-13T15:29:39.011082Z,2026-08-13T15:29:42.677709Z,2026-08-13T15:29:42.677709Z,2026-08-13T15:29:48.450508Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:5563af1211b86b3666d22ef811b7ebeb,e3ba6e08d3e7c59d2b38df65a0a9508872008202904c56d7aa518e7d514eee5c,[],[] -phase7-20260813-100,77,20260890,1e330dca-c472-448e-b9b0-abb37eec951e,after_adapter_return_before_upload,synthetic,replay,30160,1,2026-08-13T15:29:48.510696Z,2026-08-13T15:29:51.994024Z,2026-08-13T15:29:51.994024Z,2026-08-13T15:29:58.260885Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:216c208c2c003d83d714e4849075d5dd,4f5eca006d620e4fc0fd37f62b61856428bb25ed36106d1e5cb3a205b65260b6,"[""lease_lost""]",[] -phase7-20260813-100,78,20260891,48759d52-8893-4de1-9344-b3ee0f5e48a8,after_upload_before_outcome_transaction,synthetic,replay,12876,1,2026-08-13T15:29:58.322188Z,2026-08-13T15:30:01.707813Z,2026-08-13T15:30:01.707813Z,2026-08-13T15:30:08.113355Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:63b8c5f983a258245b45d0b31f6ee9af,2c899a8647da720594b6a3c54ddd7b76a3ba1c5c0a2a13e7440ab4fccdf49e9b,"[""lease_lost""]",[] -phase7-20260813-100,79,20260892,39c05254-5da1-43e2-9eed-044e22381b6f,during_evidence_export,synthetic,replay,29620,1,2026-08-13T15:30:12.698520Z,2026-08-13T15:30:14.860248Z,2026-08-13T15:30:14.860248Z,2026-08-13T15:30:15.080727Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:bc5faf0f6c99a6b5e052754b18d133b8,3489c63a24e0452aac4c046aa74998820f80bfa899b599a574cab42980d40c70,[],[] -phase7-20260813-100,80,20260893,58bc6b16-5c81-4b87-a0e8-81dec961885a,after_adapter_return_before_upload,synthetic,replay,39852,1,2026-08-13T15:30:15.164274Z,2026-08-13T15:30:19.365807Z,2026-08-13T15:30:19.365807Z,2026-08-13T15:30:25.909544Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:3cbc948779291e0297b26d7f913d37ba,049fcc45b2c8f07a0a71d274063029fbe87d17828aaec9341830a6bd630fa811,"[""lease_lost""]",[] -phase7-20260813-100,81,20260894,9f330b2f-2e46-4923-9ddf-894e38a6627c,during_object_upload,synthetic,replay,38508,1,2026-08-13T15:30:25.981946Z,2026-08-13T15:30:29.866966Z,2026-08-13T15:30:29.866966Z,2026-08-13T15:30:36.494712Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:a8ca514cc3d93ac7cd045d545717ebfe,0eb78aa2b3c752b8486ad688c3da41b0b92b7f31645b203b04a05462f315fab0,"[""lease_lost""]",[] -phase7-20260813-100,82,20260895,dd914774-38dd-492d-92fb-8420c8ab58b7,after_commit_before_acknowledgement,synthetic,replay,33456,1,2026-08-13T15:30:36.563281Z,2026-08-13T15:30:40.802178Z,2026-08-13T15:30:40.802178Z,2026-08-13T15:30:47.298901Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:fd1bd241579af27821230f74183c1962,06cb6aa8c88f93b3c84159cbe02ea94e5fa36d19b8a1b4b5026d23762096e843,[],[] -phase7-20260813-100,83,20260896,1e85d510-f597-405f-9351-eb5683f60ed3,after_upload_before_outcome_transaction,synthetic,replay,3644,1,2026-08-13T15:30:47.378953Z,2026-08-13T15:30:51.185542Z,2026-08-13T15:30:51.185542Z,2026-08-13T15:30:57.948240Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:807d12d4c932f7e248aa3db36327b60a,9c6b2345b8deeb89b3fbeea65b9238f2c66c657a37d9a0b2047257ba59053ace,"[""lease_lost""]",[] -phase7-20260813-100,84,20260897,68613b39-5b67-4f47-a4da-35ce5068f40b,after_upload_before_outcome_transaction,synthetic,replay,34568,1,2026-08-13T15:30:58.022274Z,2026-08-13T15:31:01.661032Z,2026-08-13T15:31:01.661032Z,2026-08-13T15:31:08.599962Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:cd7347d779b0b3ebecd339788049e183,3fdb20e8a6b3b813a099d455764d5995589e69a6c3121747feada51e1458a189,"[""lease_lost""]",[] -phase7-20260813-100,85,20260898,5b3e002f-5593-456a-9e46-d21e941ec43e,after_adapter_return_before_upload,synthetic,replay,8344,1,2026-08-13T15:31:08.694903Z,2026-08-13T15:31:12.645496Z,2026-08-13T15:31:12.645496Z,2026-08-13T15:31:19.799129Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:e8613e254fb8bec6aad3422f955ccedc,7ebf7dac740e551996f7b8afb44bce85d1d5a827c6fb1c23ac1711315c051f46,"[""lease_lost""]",[] -phase7-20260813-100,86,20260899,ed089dbc-273b-410a-ae00-2adc2cdb48ce,during_object_upload,synthetic,replay,34152,1,2026-08-13T15:31:19.882319Z,2026-08-13T15:31:24.446789Z,2026-08-13T15:31:24.446789Z,2026-08-13T15:31:30.633307Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:6a9277b68b8b2ff13ec37021d29fb064,9f8d35136ce2d904f23c96785ba54127d4f90e5ca2c5ed6fe12868bedc3b9ee8,"[""lease_lost""]",[] -phase7-20260813-100,87,20260900,edbe2be0-d9ed-46d1-a4a5-41fe9f7e9536,after_upload_before_outcome_transaction,synthetic,replay,36440,1,2026-08-13T15:31:30.687232Z,2026-08-13T15:31:35.139291Z,2026-08-13T15:31:35.139291Z,2026-08-13T15:31:41.375080Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:d7f09fe7074d3a61f0fbc112bf266106,6828238c165580690d00f38fd3101eda01ed9c92efc53c887091da35816d2688,"[""lease_lost""]",[] -phase7-20260813-100,88,20260901,7a82b14e-f2c1-4679-b28a-9e0194e71e95,after_upload_before_outcome_transaction,synthetic,replay,30076,1,2026-08-13T15:31:41.448387Z,2026-08-13T15:31:45.972413Z,2026-08-13T15:31:45.972413Z,2026-08-13T15:31:52.301258Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:dd198c2a1003040b5bc2c3522a979e02,5fb9c3d951043f7d2ffb3cecf7546008a28e092dd47ad7b3fbcf28a96fb9fae0,"[""lease_lost""]",[] -phase7-20260813-100,89,20260902,84a30526-8931-4372-90f9-b60c1e111ed0,after_adapter_return_before_upload,synthetic,replay,38948,1,2026-08-13T15:31:52.369736Z,2026-08-13T15:31:57.133054Z,2026-08-13T15:31:57.133054Z,2026-08-13T15:32:03.148721Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:8db6a828c345a27c0abee93c5dbd4993,61eff8f2a4db0d9a184559f2a4b20bab0d2f06f1d583bcce06d744f19d0cfbe4,"[""lease_lost""]",[] -phase7-20260813-100,90,20260903,136f2ca6-1984-42a4-9266-82479854223f,after_upload_before_outcome_transaction,synthetic,replay,36292,1,2026-08-13T15:32:03.225548Z,2026-08-13T15:32:07.775121Z,2026-08-13T15:32:07.775121Z,2026-08-13T15:32:14.146381Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:f39528e74f359f077675fae4e99d2e35,e774c4d9a5b81a2eb0308cff9b3077d89cba388cdf94459b6c1c9511615eecb3,"[""lease_lost""]",[] -phase7-20260813-100,91,20260904,4cf918c1-a536-4f95-968e-7a5406ce59b7,during_evidence_export,synthetic,replay,13640,1,2026-08-13T15:32:19.872357Z,2026-08-13T15:32:21.407678Z,2026-08-13T15:32:21.407678Z,2026-08-13T15:32:21.557134Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:cfda7b272632926583622585f0516c89,f344f69bf8c6b4f112046b34e7a566d5b389ed04d292c349f92dc7fef655df90,[],[] -phase7-20260813-100,92,20260905,6c3b6a35-8005-4b87-9352-3c102ea4e6e3,after_adapter_return_before_upload,synthetic,replay,37516,1,2026-08-13T15:32:21.656519Z,2026-08-13T15:32:26.376511Z,2026-08-13T15:32:26.376511Z,2026-08-13T15:32:33.075533Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:4657687a6e5df6a055250ddb259a3fec,30fdece637f811b7dbccbfa9711bf743eaa28c73bcc18888f0e577691e612235,"[""lease_lost""]",[] -phase7-20260813-100,93,20260906,519d9e8c-7f1f-4fcf-9b02-a880ca86a268,after_adapter_return_before_upload,synthetic,replay,38076,1,2026-08-13T15:32:33.153634Z,2026-08-13T15:32:37.710797Z,2026-08-13T15:32:37.710797Z,2026-08-13T15:32:44.400621Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:5df94ca306e3b14060c6c7de0eb36932,32d8f84d4d3de868b50a510c49a787dc7ef55c704e57131ffec9545f77fddf14,"[""lease_lost""]",[] -phase7-20260813-100,94,20260907,eedb969b-1a0d-45d1-a1e8-37cbea951417,during_evidence_export,synthetic,replay,23984,1,2026-08-13T15:32:50.087056Z,2026-08-13T15:32:51.877272Z,2026-08-13T15:32:51.877272Z,2026-08-13T15:32:52.021314Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:4f0a9bef9e51d636d29a5fe783e6ed1f,124a31b5bd570973b97822fe5c17a27a0d2835be2fd2b2fdbfcc193c011a5257,[],[] -phase7-20260813-100,95,20260908,f5360227-cf82-4423-9f17-fcc48f0e26df,after_lease_acquisition,synthetic,replay,39056,1,2026-08-13T15:32:52.088793Z,2026-08-13T15:32:56.854658Z,2026-08-13T15:32:56.854658Z,2026-08-13T15:33:03.844750Z,2,1,1,1,1,0,1,1,3,2,3,2,1,True,True,2,1,experiment-package:9e1ce1f2d0f8e8a037096442b41b8462,c786095d28c95fb29d78c02a426fe511cf41878f9631bde8a3ceaa734545ec69,[],[] -phase7-20260813-100,96,20260909,61890fc0-9ed1-4ed1-8db0-fd4c5b6318dc,after_upload_before_outcome_transaction,synthetic,replay,33372,1,2026-08-13T15:33:03.956843Z,2026-08-13T15:33:08.638300Z,2026-08-13T15:33:08.638300Z,2026-08-13T15:33:15.651615Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:f0d37322ba4baa7d6c449a77b2cd4e46,cc91206fa0c706b1817968454c0557d795c4adec15d819d2103f648f52dd918a,"[""lease_lost""]",[] -phase7-20260813-100,97,20260910,a2c40507-e440-4f6a-b166-87f5d619a9dd,after_commit_before_acknowledgement,synthetic,replay,30836,1,2026-08-13T15:33:15.716694Z,2026-08-13T15:33:20.267494Z,2026-08-13T15:33:20.267494Z,2026-08-13T15:33:27.569747Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:25068ca2c5d0ca3b1345d443146f12fd,77507ddcb13e11511fb075ca91dd620cedca49e6f44b4a72480e7b76c0c1ee5f,[],[] -phase7-20260813-100,98,20260911,f3e4def2-6635-4026-9e1f-9fa2b0f3e4f2,during_object_upload,synthetic,replay,37700,1,2026-08-13T15:33:27.639212Z,2026-08-13T15:33:31.695173Z,2026-08-13T15:33:31.695173Z,2026-08-13T15:33:39.131602Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:ec2dbee75eec96c171824f361241ac05,96eb6915e3460f0d41861c23955d9bc3db216db4d51c03b47c5c8e34e68813a2,"[""lease_lost""]",[] -phase7-20260813-100,99,20260912,94c8929d-f086-472b-b54d-4702739bb26f,during_evidence_export,synthetic,replay,34420,1,2026-08-13T15:33:44.522002Z,2026-08-13T15:33:46.519404Z,2026-08-13T15:33:46.519404Z,2026-08-13T15:33:46.687603Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:5eeaa97dc2a11b6a1c05b46f10323dbf,a6e4f7c027af10c842ecb2333d84e07e17bab50d65dbcec9d726f442647e32d8,[],[] -phase7-20260813-100,100,20260913,19937805-b191-4d42-bff5-ef2f6ada4fe8,during_evidence_export,synthetic,replay,9728,1,2026-08-13T15:33:52.331003Z,2026-08-13T15:33:54.486429Z,2026-08-13T15:33:54.486429Z,2026-08-13T15:33:54.640369Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:98c883b10e75f6150b98720c7d6f2274,9ea560b053fcf8426bb1a05b1308ea9d994e3503b646f70792054e64b33cb588,[],[] +phase7-20260813-100,1,20260814,6b985d61-1f60-44d9-881c-807d024beb86,after_upload_before_outcome_transaction,synthetic,replay,35220,1,2026-08-14T10:10:08.541304Z,2026-08-14T10:10:11.197768Z,2026-08-14T10:10:11.197768Z,2026-08-14T10:10:13.940587Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:1414b041c81403865340375ce2d5cd9d,86a7caa79c1741d73a7c912882a7abf7c2ab846be127338e8bbd18b1d8a13b4c,"[""lease_lost""]",[] +phase7-20260813-100,2,20260815,3ec20c72-ef7d-4976-8458-f77e4c0cdf95,after_commit_before_acknowledgement,synthetic,replay,31992,1,2026-08-14T10:10:14.069961Z,2026-08-14T10:10:17.727327Z,2026-08-14T10:10:17.727327Z,2026-08-14T10:10:19.665713Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:1aa9c3cfbcb1c61fbd9efb7b04d24578,dfde9196df4488dbd1e5f786084d1a48116ca9c2ec3a232ddc3e41e986b42cfe,[],[] +phase7-20260813-100,3,20260816,d691cf85-6cc4-4ff6-ae0e-e09eef28676b,after_commit_before_acknowledgement,synthetic,replay,35612,1,2026-08-14T10:10:19.729429Z,2026-08-14T10:10:22.554614Z,2026-08-14T10:10:22.554614Z,2026-08-14T10:10:24.572791Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:977845b98cb7b844b52e04de5ea708dd,59e9845b5665c7711e67ba3b141bc17a7250b8a6cf99eef88c6245a62936132f,[],[] +phase7-20260813-100,4,20260817,e99032a1-d0db-417c-afbb-7323c2916f43,after_upload_before_outcome_transaction,synthetic,replay,34784,1,2026-08-14T10:10:24.642532Z,2026-08-14T10:10:26.963888Z,2026-08-14T10:10:26.963888Z,2026-08-14T10:10:29.286627Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:0afa5fd9864def08c5c9f13b9ed1c45b,29d538eff169caf773dc4f362bd3b17b3d663e3edfdd054a830e7173d3be8188,"[""lease_lost""]",[] +phase7-20260813-100,5,20260818,debea722-7e09-48fa-87da-b9497c61bed9,during_evidence_export,synthetic,replay,36428,1,2026-08-14T10:10:30.205785Z,2026-08-14T10:10:31.797918Z,2026-08-14T10:10:31.797918Z,2026-08-14T10:10:31.920780Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:9b56e5ccf96f83051746cbddef119e45,26e6e6ce6b0e9daaf2c76e4a65450d05c4dc8c903cbc2ca02e1ffb7f3dee8008,[],[] +phase7-20260813-100,6,20260819,a1bc6249-fbc8-4959-bfbe-28a425045f05,after_commit_before_acknowledgement,synthetic,replay,36304,1,2026-08-14T10:10:31.979406Z,2026-08-14T10:10:34.411422Z,2026-08-14T10:10:34.411422Z,2026-08-14T10:10:36.367988Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:74bd13cf276c5d69481f85d14ef81331,6b82127f6ebbc7f2387472f9221be60bf4c382b17cb002faa8f128b8e2afc16c,[],[] +phase7-20260813-100,7,20260820,4e2327cc-9dea-464a-bfdd-cb24bb962bda,after_lease_acquisition,synthetic,replay,24932,1,2026-08-14T10:10:36.421794Z,2026-08-14T10:10:38.535645Z,2026-08-14T10:10:38.535645Z,2026-08-14T10:10:41.026907Z,2,1,1,1,1,0,1,1,3,2,3,2,1,True,True,2,1,experiment-package:7cad4e0b8f7c7b14e990b1aba26ad3aa,e5e1b6cc569e81942883c5cab902a9981e3357579e6b7b9e6331dd0cac107c57,[],[] +phase7-20260813-100,8,20260821,63c86416-3e69-49c6-9c26-7c19c7cad96d,during_object_upload,synthetic,replay,29024,1,2026-08-14T10:10:41.075890Z,2026-08-14T10:10:43.275096Z,2026-08-14T10:10:43.275096Z,2026-08-14T10:10:46.067999Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:47999c9e3d7555b3a20655ec51fab20f,657c7d65d430459bd3c332622c8f2c45ecc672124b77152503be536c1dbbd1de,"[""lease_lost""]",[] +phase7-20260813-100,9,20260822,605615d2-914f-4543-b5b0-f0a4b8bce588,during_object_upload,synthetic,replay,14492,1,2026-08-14T10:10:46.125239Z,2026-08-14T10:10:49.667977Z,2026-08-14T10:10:49.667977Z,2026-08-14T10:10:53.536849Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:ac75dc2e372bbfd60c3680ed755417a1,b3f8ffdb5a08b115e3b8fe9cfa34530a260dbd9dd1b6ce5c13f3399859395040,"[""lease_lost""]",[] +phase7-20260813-100,10,20260823,fa5dde52-f4d2-49e6-9da6-9e0650f9f995,after_adapter_return_before_upload,synthetic,replay,28800,1,2026-08-14T10:10:53.609050Z,2026-08-14T10:10:55.838197Z,2026-08-14T10:10:55.838197Z,2026-08-14T10:10:58.674242Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:ea4cb92d87f72d93f41674ae3e664df7,c1b5dbf63957312b5223df33059dec364108cedfff52fe1457557a82e959901c,"[""lease_lost""]",[] +phase7-20260813-100,11,20260824,7f13ceee-76a2-4996-be86-6342a9ca4b14,during_object_upload,synthetic,replay,27400,1,2026-08-14T10:10:58.763269Z,2026-08-14T10:11:01.507675Z,2026-08-14T10:11:01.507675Z,2026-08-14T10:11:04.261601Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:852206b0f7b1135639e353dee147e933,c244a3a25e4aa7929ce0472fb7e33c172e2fd72bdbaa83f7e3edcc6f9878a26b,"[""lease_lost""]",[] +phase7-20260813-100,12,20260825,8c33bb8b-54d6-4e69-8398-19320e394cec,after_commit_before_acknowledgement,synthetic,replay,36232,1,2026-08-14T10:11:04.350169Z,2026-08-14T10:11:07.005153Z,2026-08-14T10:11:07.005153Z,2026-08-14T10:11:09.445493Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:231bc333897664a1b5b9543ed2d259ca,4e0a33de9a4ec4e9afd4ffa1f6584158b2146cbbbbf546b78dd219c12c1ea240,[],[] +phase7-20260813-100,13,20260826,eb15f57a-9453-455b-b698-b9c0c7392a7a,after_adapter_return_before_upload,synthetic,replay,34956,1,2026-08-14T10:11:09.511999Z,2026-08-14T10:11:11.780887Z,2026-08-14T10:11:11.780887Z,2026-08-14T10:11:14.679115Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:b6f10393d1262459eace3aabdc4e1ad6,84f1c814fa769bc415fd5a8f4ad52f3c43ef96799a0a7c577326296414586bce,"[""lease_lost""]",[] +phase7-20260813-100,14,20260827,151ccef8-ef3e-4d0f-8369-e7f7f608ef6f,after_lease_acquisition,synthetic,replay,1888,1,2026-08-14T10:11:14.745658Z,2026-08-14T10:11:16.912007Z,2026-08-14T10:11:16.912007Z,2026-08-14T10:11:20.340675Z,2,1,1,1,1,0,1,1,3,2,3,2,1,True,True,2,1,experiment-package:9b9ac01b74af9a8853a8873eb80524ae,ea07a61da7c0a0c1bafc48b5e847b296f9768cee8268554c7ade0b35c81e29c7,[],[] +phase7-20260813-100,15,20260828,ae40ec4a-9c7c-4bf0-b9cf-f52c96558d1c,after_lease_acquisition,synthetic,replay,33568,1,2026-08-14T10:11:20.409416Z,2026-08-14T10:11:23.043569Z,2026-08-14T10:11:23.043569Z,2026-08-14T10:11:26.038171Z,2,1,1,1,1,0,1,1,3,2,3,2,1,True,True,2,1,experiment-package:0555fed1abbd483a0fdbd917c8ce4805,fce6f56e33c56eb3ad3d089aa53e3486618e5fd5287ba9282e0e061750375a00,[],[] +phase7-20260813-100,16,20260829,7ddde011-de55-4b48-8979-a68b176eafaa,after_lease_acquisition,synthetic,replay,34368,1,2026-08-14T10:11:26.097691Z,2026-08-14T10:11:28.458627Z,2026-08-14T10:11:28.458627Z,2026-08-14T10:11:32.015471Z,2,1,1,1,1,0,1,1,3,2,3,2,1,True,True,2,1,experiment-package:22a3784d17204a82eedcdb2a27bcb0f9,b3ab131411f9095f23d51f6524834b1c89671c6198cf50c9061bb21aa5b56698,[],[] +phase7-20260813-100,17,20260830,137655fe-2638-4d0f-a009-bcc9176dd0e7,after_adapter_return_before_upload,synthetic,replay,2232,1,2026-08-14T10:11:32.095132Z,2026-08-14T10:11:35.296299Z,2026-08-14T10:11:35.296299Z,2026-08-14T10:11:38.411243Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:0ea7d4987e61464380c5f4bdbd20bb58,e76d6a93738dab3e093436a9002fec6d90a503e311461eaf13e8eededc3b2f90,"[""lease_lost""]",[] +phase7-20260813-100,18,20260831,c5e5e6d8-0f6e-4af6-81df-c86cfb376721,during_object_upload,synthetic,replay,34360,1,2026-08-14T10:11:38.511691Z,2026-08-14T10:11:41.871762Z,2026-08-14T10:11:41.871762Z,2026-08-14T10:11:45.150350Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:a132f5fe1649a05a80715eb0827a28b8,409ee8a971ac7f6e6ddcc94413eef8b280dc39f6ee4c1c3b6c175b1e7f8c9dc2,"[""lease_lost""]",[] +phase7-20260813-100,19,20260832,b27e92ae-eb8e-4576-bef9-b923334dcc71,after_adapter_return_before_upload,synthetic,replay,27016,1,2026-08-14T10:11:45.232075Z,2026-08-14T10:11:48.327089Z,2026-08-14T10:11:48.327089Z,2026-08-14T10:11:51.629487Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:e335bb813afe560ea22c59d70b255e68,605d4217b61a92f1dd04957125bb6aad9464632568d9514bf4fba438607d17ac,"[""lease_lost""]",[] +phase7-20260813-100,20,20260833,60c1b1b6-173f-4375-afc2-67a5f2ae08aa,during_object_upload,synthetic,replay,34240,1,2026-08-14T10:11:51.700767Z,2026-08-14T10:11:54.424125Z,2026-08-14T10:11:54.424125Z,2026-08-14T10:11:57.389518Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:786016bc979d5d2328c7905b31e79950,188cf0df0108fc7ac45252bb6c4b30bd13be5b549b6a005d7c8c7e842ca25644,"[""lease_lost""]",[] +phase7-20260813-100,21,20260834,4a29aec2-9501-4195-97e3-25eeb1014c87,during_object_upload,synthetic,replay,34460,1,2026-08-14T10:11:57.447343Z,2026-08-14T10:12:00.179646Z,2026-08-14T10:12:00.179646Z,2026-08-14T10:12:03.124567Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:78bdcb7ffe116250e0c0b796845656a4,f8b43cf5e473f4ca56cb2323298561888542e30d12ff3ef4e35b15c77ab7da1c,"[""lease_lost""]",[] +phase7-20260813-100,22,20260835,e107ca1d-5f49-43ad-98d0-82bbd2161c5b,after_upload_before_outcome_transaction,synthetic,replay,35572,1,2026-08-14T10:12:03.205372Z,2026-08-14T10:12:05.880034Z,2026-08-14T10:12:05.880034Z,2026-08-14T10:12:08.865576Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:1d589d7de8e38831b299ddc0b6aebbb3,ac2e6a9d738757b6fa24a61f46b47e2b547d5a4cbf03580a1340627907bb42dc,"[""lease_lost""]",[] +phase7-20260813-100,23,20260836,f12df2e2-3626-4d3e-9350-dd8e497c4f47,during_object_upload,synthetic,replay,33344,1,2026-08-14T10:12:08.916540Z,2026-08-14T10:12:11.128827Z,2026-08-14T10:12:11.128827Z,2026-08-14T10:12:14.287442Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:7f78584f6f8625ecb8f36a9996bf022f,218b9c8478ffb4ae8f1a95a5593ca749918d5a6a7eb0300724884cd9b7065d96,"[""lease_lost""]",[] +phase7-20260813-100,24,20260837,1d42f522-20a4-4679-b64f-1d426a3d1828,after_adapter_return_before_upload,synthetic,replay,34680,1,2026-08-14T10:12:14.346917Z,2026-08-14T10:12:16.709410Z,2026-08-14T10:12:16.709410Z,2026-08-14T10:12:20.387650Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:4b0b85f1eb4b6f123b181183bad05d90,7c173a1e461d4fb223982da8c3e6ef43dd605ed61450ce45a50201c505bf781e,"[""lease_lost""]",[] +phase7-20260813-100,25,20260838,49cafee4-4b11-4575-b93e-5d32091788a1,after_lease_acquisition,synthetic,replay,36816,1,2026-08-14T10:12:20.468246Z,2026-08-14T10:12:23.224028Z,2026-08-14T10:12:23.224028Z,2026-08-14T10:12:26.574447Z,2,1,1,1,1,0,1,1,3,2,3,2,1,True,True,2,1,experiment-package:e8754a5fd2398e8084eff67ca6bc70fb,a55b516afd47c8ef324b11ac46b0deeef9b6ceac92e29c36a055896878282c21,[],[] +phase7-20260813-100,26,20260839,820f15e5-e222-46cc-b74e-6713d9e12e29,after_upload_before_outcome_transaction,synthetic,replay,35132,1,2026-08-14T10:12:26.627412Z,2026-08-14T10:12:29.524176Z,2026-08-14T10:12:29.524176Z,2026-08-14T10:12:32.905394Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:334431cdc11a92437302e92df434e00c,03e409a18374d73b4558efcbce29fee002f6f7dd6dc70f42050605394d7787ce,"[""lease_lost""]",[] +phase7-20260813-100,27,20260840,a36da83d-db46-4670-a637-9ffe5e220810,after_lease_acquisition,synthetic,replay,10388,1,2026-08-14T10:12:32.980001Z,2026-08-14T10:12:37.451470Z,2026-08-14T10:12:37.451470Z,2026-08-14T10:12:42.523857Z,2,1,1,1,1,0,1,1,3,2,3,2,1,True,True,2,1,experiment-package:d716bde40a0d9da20a9e9b0ef1dde77a,2db064f43e34aba7f8dba9492c3f783d38d24da72c3654cb3f51526a52b4e2f7,[],[] +phase7-20260813-100,28,20260841,bc56f20c-e654-46aa-9329-4c05c20a0258,during_object_upload,synthetic,replay,7580,1,2026-08-14T10:12:42.624449Z,2026-08-14T10:12:47.342603Z,2026-08-14T10:12:47.342603Z,2026-08-14T10:12:51.487075Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:fd6bb3c3ec937a56a85178391c4a518a,1de58c7ce3246b9a2d4fd37c3ea7b4378edad1fdeef4c1ea75379ecbdf32d9bd,"[""lease_lost""]",[] +phase7-20260813-100,29,20260842,4aa64844-d429-49b2-acab-ff3288a90bcc,after_lease_acquisition,synthetic,replay,36632,1,2026-08-14T10:12:51.623714Z,2026-08-14T10:12:55.124561Z,2026-08-14T10:12:55.124561Z,2026-08-14T10:12:58.883294Z,2,1,1,1,1,0,1,1,3,2,3,2,1,True,True,2,1,experiment-package:ed21b79537fe093af093d5130a668f94,0b5ff33ea8f55a5c693d53c176d821bf4dca9406524a291275bb3320c860d78b,[],[] +phase7-20260813-100,30,20260843,22a57b2d-ead3-47f0-832d-7a8300d12991,after_lease_acquisition,synthetic,replay,18912,1,2026-08-14T10:12:58.974953Z,2026-08-14T10:13:02.264449Z,2026-08-14T10:13:02.264449Z,2026-08-14T10:13:05.518901Z,2,1,1,1,1,0,1,1,3,2,3,2,1,True,True,2,1,experiment-package:795a09c7b337841a4ceccd6f6f6c0f4d,4cf8decd23fd6d9e02aded6567ff64847692da4e30fd9875c7df193630b480c2,[],[] +phase7-20260813-100,31,20260844,974eecb8-5060-4d2c-880c-d046ebf5755f,during_evidence_export,synthetic,replay,22020,1,2026-08-14T10:13:07.329221Z,2026-08-14T10:13:09.124629Z,2026-08-14T10:13:09.124629Z,2026-08-14T10:13:09.280443Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:190b0fb5901e6df80ffe8ef4d520d261,cf5e8a03221405d40400b3bf59d55ee31771a1e2ba1705ef22401501c31465c2,[],[] +phase7-20260813-100,32,20260845,c7d1b4b9-44df-4daf-bdff-fbccd0c12995,during_object_upload,synthetic,replay,18704,1,2026-08-14T10:13:09.345830Z,2026-08-14T10:13:12.539667Z,2026-08-14T10:13:12.539667Z,2026-08-14T10:13:16.783695Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:e500de6d80f414dca4bc2f1ddedca5b3,07b7c0e978f9cc7b4c3287c3010a82f63eed125af8ec800ce34f3a8769d6d337,"[""lease_lost""]",[] +phase7-20260813-100,33,20260846,4c848945-5f9d-4ba2-9f42-a83d056553ed,after_commit_before_acknowledgement,synthetic,replay,35280,1,2026-08-14T10:13:16.852090Z,2026-08-14T10:13:20.161238Z,2026-08-14T10:13:20.161238Z,2026-08-14T10:13:23.606607Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:855684756a8c0b00c45f1004826d60be,10164a425c6f41d7e4142d576a23481693705d59c401feed3fcd3d13c3a64c7d,[],[] +phase7-20260813-100,34,20260847,385b45ec-ef19-4cf5-b824-59dfcb89df1a,during_evidence_export,synthetic,replay,33712,1,2026-08-14T10:13:26.632677Z,2026-08-14T10:13:28.375254Z,2026-08-14T10:13:28.375254Z,2026-08-14T10:13:28.489800Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:b406045afe39c7d7c237f490972938e6,eb54528914baa7eb133085440ad6798bf12847b273f6edc5ef016d0ba3d351d4,[],[] +phase7-20260813-100,35,20260848,2ddfa503-e912-44ec-bc85-57cad2b1cbef,during_evidence_export,synthetic,replay,36252,1,2026-08-14T10:13:31.298079Z,2026-08-14T10:13:33.239314Z,2026-08-14T10:13:33.239314Z,2026-08-14T10:13:33.365681Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:5ad8e5bf559421c20a7f45c8a37c80cc,667529ba16ae71a95b1faeae17e5aabfb282e3832a4cbd082bf11a4117bafcd5,[],[] +phase7-20260813-100,36,20260849,44cbfa21-1aec-4c40-a2b2-ee7e885463a3,after_lease_acquisition,synthetic,replay,31164,1,2026-08-14T10:13:33.428004Z,2026-08-14T10:13:36.146212Z,2026-08-14T10:13:36.146212Z,2026-08-14T10:13:39.969794Z,2,1,1,1,1,0,1,1,3,2,3,2,1,True,True,2,1,experiment-package:04275c2306966be30b9e1656d9a076aa,a29c82ffe88bb2ff0c2927a273b05275bccf220b08f8ce25509829cb502e62a2,[],[] +phase7-20260813-100,37,20260850,159041f3-1d8e-434f-865e-5a0e66f96591,after_commit_before_acknowledgement,synthetic,replay,33508,1,2026-08-14T10:13:40.021781Z,2026-08-14T10:13:43.061523Z,2026-08-14T10:13:43.061523Z,2026-08-14T10:13:46.358255Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:342178808f6a538bc652aa08de603218,a8c75b620cd570fb1008b89d88b793f338efc59559a04409eb714ecc4d6c0f4c,[],[] +phase7-20260813-100,38,20260851,e873a878-dd73-43e8-a90a-d96ca6d3f952,after_lease_acquisition,synthetic,replay,13328,1,2026-08-14T10:13:46.407406Z,2026-08-14T10:13:49.549143Z,2026-08-14T10:13:49.549143Z,2026-08-14T10:13:53.910440Z,2,1,1,1,1,0,1,1,3,2,3,2,1,True,True,2,1,experiment-package:da7dac27d15dce8b8cdb0cede64d8dfe,a856cd9db82526c9c02cd192b0ccc976b12c204d40c1385e5e1a126b91c82b42,[],[] +phase7-20260813-100,39,20260852,8794d3a7-3103-4f50-a299-daf90d776b17,during_object_upload,synthetic,replay,31284,1,2026-08-14T10:13:53.978017Z,2026-08-14T10:13:58.974335Z,2026-08-14T10:13:58.974335Z,2026-08-14T10:14:03.276663Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:08857decb1303af5567e73b40cf22189,9b4e44283be839f950f352813ee516bd728bf87d3e01371d01959cee529a03f0,"[""lease_lost""]",[] +phase7-20260813-100,40,20260853,b5273feb-6224-47f5-9efe-ca8f5f2c50c3,after_lease_acquisition,synthetic,replay,21920,1,2026-08-14T10:14:03.355705Z,2026-08-14T10:14:06.794732Z,2026-08-14T10:14:06.794732Z,2026-08-14T10:14:11.572061Z,2,1,1,1,1,0,1,1,3,2,3,2,1,True,True,2,1,experiment-package:715137e2d11e4b8e75c53fb59cb75059,ce4f297a72df2591457177bf93c57b5f44942191f7e6e05897c8df01b536b07e,[],[] +phase7-20260813-100,41,20260854,f93cb898-46ff-4b94-a210-5daa4267fedf,during_evidence_export,synthetic,replay,34056,1,2026-08-14T10:14:14.888846Z,2026-08-14T10:14:17.457817Z,2026-08-14T10:14:17.457817Z,2026-08-14T10:14:17.611710Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:7946d26c91cdb0e2edd5749ab563660e,07c3b39ba5514028e3c280a10d22c5c3521335975ecf162438409b3e1c58af57,[],[] +phase7-20260813-100,42,20260855,1a161d49-a854-4da0-b7a4-de86aa4b9eef,during_object_upload,synthetic,replay,5832,1,2026-08-14T10:14:17.702812Z,2026-08-14T10:14:22.048011Z,2026-08-14T10:14:22.048011Z,2026-08-14T10:14:26.932919Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:89dbbf871a17ce89062aedabb07a8615,9dfa6e712dd65148674ea60aa4c3831a27ca57f345f5039056c4776cfd026c73,"[""lease_lost""]",[] +phase7-20260813-100,43,20260856,31ab9938-a72a-4770-9d33-e9d2e85bc8ad,after_adapter_return_before_upload,synthetic,replay,26672,1,2026-08-14T10:14:27.002549Z,2026-08-14T10:14:30.716666Z,2026-08-14T10:14:30.716666Z,2026-08-14T10:14:35.334911Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:8d339395d474f70d0f1a52fa8d1e36e8,a95e1b5e7cedb632ad52cd25d8b83587658b9619226982981a78433769410022,"[""lease_lost""]",[] +phase7-20260813-100,44,20260857,fa233469-95d6-4b96-a632-26b1e4e1930e,after_adapter_return_before_upload,synthetic,replay,9840,1,2026-08-14T10:14:35.389946Z,2026-08-14T10:14:38.408843Z,2026-08-14T10:14:38.408843Z,2026-08-14T10:14:43.693688Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:8ed613c891650aed7a7fab94e302222f,4a2b50ded86f439c58ef1a20e737a65d5208b94343271c67531fe0caa1ec19d5,"[""lease_lost""]",[] +phase7-20260813-100,45,20260858,a9dbfd65-eaba-4d48-9d16-f06fd3ac7a5c,after_commit_before_acknowledgement,synthetic,replay,8904,1,2026-08-14T10:14:43.767402Z,2026-08-14T10:14:48.120430Z,2026-08-14T10:14:48.120430Z,2026-08-14T10:14:53.709411Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:2d0717e0ead865dcd5500dd3097117d2,854b35ac108acee9a7241e80a1aacd3349e6bb0bd266c4d87ba10ff252550a71,[],[] +phase7-20260813-100,46,20260859,9540a137-fb43-4c8c-b855-e85e4a1b0251,after_commit_before_acknowledgement,synthetic,replay,33436,1,2026-08-14T10:14:53.819248Z,2026-08-14T10:14:59.113610Z,2026-08-14T10:14:59.113610Z,2026-08-14T10:15:03.593612Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:2143d8a976ed2b9ec0e75cca8e3b36b7,eab094487747bdcbd856a2b8a07ea1b3ccdb138911163f37db1686c9fc1063f1,[],[] +phase7-20260813-100,47,20260860,eaa90654-d76d-4f1a-8518-7beae7bb8aa5,after_commit_before_acknowledgement,synthetic,replay,36720,1,2026-08-14T10:15:03.689939Z,2026-08-14T10:15:07.560795Z,2026-08-14T10:15:07.560795Z,2026-08-14T10:15:12.346949Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:be65096c0a0d7f9974e87294a9bb72c5,c003e43e79a17123d6f5685da76dc4ce6290468638cf0643b449dfd206a389d9,[],[] +phase7-20260813-100,48,20260861,242b4137-17f0-4fa0-95d3-15fa3479517b,after_commit_before_acknowledgement,synthetic,replay,31828,1,2026-08-14T10:15:12.403874Z,2026-08-14T10:15:16.555087Z,2026-08-14T10:15:16.555087Z,2026-08-14T10:15:20.779039Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:ec8aef445a6bb803caa99707e29ee9a1,7d2946981fe98e720c00b8814558fb367c7fa16ef275fdc1b30948a1f0c9ac3d,[],[] +phase7-20260813-100,49,20260862,bfca9dea-5602-4bf5-afe2-c1a31ca3b1c9,during_object_upload,synthetic,replay,33912,1,2026-08-14T10:15:20.839347Z,2026-08-14T10:15:24.124706Z,2026-08-14T10:15:24.124706Z,2026-08-14T10:15:28.265797Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:490400f30c4ff69ab4b4abac68e8e13b,429eb4e9f09fdbce9d2f31af69ef10609c5b0bc6e41b8d4ac5309d77da0dca7b,"[""lease_lost""]",[] +phase7-20260813-100,50,20260863,bd6c1f73-1291-4703-92c2-9c793ffd41d2,after_commit_before_acknowledgement,synthetic,replay,29260,1,2026-08-14T10:15:28.318258Z,2026-08-14T10:15:33.653071Z,2026-08-14T10:15:33.653071Z,2026-08-14T10:15:38.778852Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:b95ef8ea7c840c1529a491ce20184600,071adbd418a996346b9bc63644f20ba73e0109c3fb0f6dd0cade425c92905626,[],[] +phase7-20260813-100,51,20260864,7fb3eeee-7c16-4260-99c6-7663db4a0686,after_adapter_return_before_upload,synthetic,replay,32416,1,2026-08-14T10:15:38.836943Z,2026-08-14T10:15:42.132608Z,2026-08-14T10:15:42.132608Z,2026-08-14T10:15:47.290315Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:e177be90069e30c17e879d270bc44d6b,0de9a76ce3c2b8c28925e0c860044486c6a8b0397974b0aebb9c00e39fa2a97f,"[""lease_lost""]",[] +phase7-20260813-100,52,20260865,dd7df504-61ec-4fc1-bf35-643f8893eea6,after_upload_before_outcome_transaction,synthetic,replay,35568,1,2026-08-14T10:15:47.374048Z,2026-08-14T10:15:51.818547Z,2026-08-14T10:15:51.818547Z,2026-08-14T10:15:57.964968Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:7eace65381e92bbbb4996253c1ebcd16,de8c5c603d366cc58a9b383645e2e93224a6a16be68776c2c3280ac54aaf6903,"[""lease_lost""]",[] +phase7-20260813-100,53,20260866,367618ea-4656-4a19-b3d0-a2d785dc051d,during_object_upload,synthetic,replay,25368,1,2026-08-14T10:15:58.017799Z,2026-08-14T10:16:02.324692Z,2026-08-14T10:16:02.324692Z,2026-08-14T10:16:12.779879Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:09123c8bb92aa064364c32ab5c2a6069,12de92dcc6236a5c102e38b7be9f0c6f8445018aaa3db85a92c74d84013af51a,"[""lease_lost""]",[] +phase7-20260813-100,54,20260867,4fe0557a-28e9-445f-8e86-7405dd47b5e3,after_adapter_return_before_upload,synthetic,replay,14484,1,2026-08-14T10:16:12.953620Z,2026-08-14T10:16:22.814443Z,2026-08-14T10:16:22.814443Z,2026-08-14T10:16:29.213286Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:2a560cc595c952d6fe497e60d3848fbf,9fe56d67d403e006a43bc04a6cbca0ec4e8bc1a192f2d39dac5e99d49d75b014,"[""lease_lost""]",[] +phase7-20260813-100,55,20260868,0b34aa01-19c5-483a-b6b1-7010a99c01ef,during_evidence_export,synthetic,replay,36752,1,2026-08-14T10:16:33.343354Z,2026-08-14T10:16:36.913545Z,2026-08-14T10:16:36.913545Z,2026-08-14T10:16:37.057417Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:579d19792c647dca3a9ead1bc84ab924,1dbd57652ff9bb6a0b10c11d18c4a4bdb0e93e3e2f7784a6b1f91a3009b06b1b,[],[] +phase7-20260813-100,56,20260869,5ba71a70-ce26-45d8-97a8-ac397b5c2ae1,after_upload_before_outcome_transaction,synthetic,replay,10464,1,2026-08-14T10:16:37.124218Z,2026-08-14T10:16:43.028513Z,2026-08-14T10:16:43.028513Z,2026-08-14T10:16:48.863113Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:ebd7a626a5683935d58c76278308acad,012195d884372706014c2852d9d32536799e4f77fadc79646a5f4f0e923495df,"[""lease_lost""]",[] +phase7-20260813-100,57,20260870,98a1c7df-781a-41e3-8591-c7fbffb05b20,after_lease_acquisition,synthetic,replay,24008,1,2026-08-14T10:16:48.950523Z,2026-08-14T10:16:52.791733Z,2026-08-14T10:16:52.791733Z,2026-08-14T10:16:59.224291Z,2,1,1,1,1,0,1,1,3,2,3,2,1,True,True,2,1,experiment-package:88abd582847dbc3689b8f18921162c27,468246c754d72ffa458c2b94668da1db11049f221123188fb83ffb0137ffdac8,[],[] +phase7-20260813-100,58,20260871,847de2e8-745b-4ac9-8ab1-88ae19e70052,after_commit_before_acknowledgement,synthetic,replay,24896,1,2026-08-14T10:16:59.300762Z,2026-08-14T10:17:03.925790Z,2026-08-14T10:17:03.925790Z,2026-08-14T10:17:09.781505Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:6d165833d8ce45087f8e65bbc250f078,7e23500b3a675ce3ccf78c7bd727c009f1ccf81a957da8fb859fbda767e23be7,[],[] +phase7-20260813-100,59,20260872,b095a683-b126-4274-9777-6050a6ea4b50,after_upload_before_outcome_transaction,synthetic,replay,29376,1,2026-08-14T10:17:09.845318Z,2026-08-14T10:17:14.580932Z,2026-08-14T10:17:14.580932Z,2026-08-14T10:17:20.608995Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:b7c705b23f398a0c321864398a75b8d8,8ba5bb0a3aa37f8d4c1e41095f918ef2f87e9185dc98e280eea2909761bcc67b,"[""lease_lost""]",[] +phase7-20260813-100,60,20260873,a53bebf9-6f36-4c6f-bc9d-fc971585fd0f,after_upload_before_outcome_transaction,synthetic,replay,36312,1,2026-08-14T10:17:20.672072Z,2026-08-14T10:17:25.270450Z,2026-08-14T10:17:25.270450Z,2026-08-14T10:17:30.919659Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:425980201bf94fd654ee5e64137f1806,cf80ca44ba7ae4dad06ad8dcf36d77ba586243c3efb2e63cdafdfe380f713b23,"[""lease_lost""]",[] +phase7-20260813-100,61,20260874,bdb5b719-89cc-472d-a336-428c7e07624e,after_lease_acquisition,synthetic,replay,31680,1,2026-08-14T10:17:31.002294Z,2026-08-14T10:17:35.669218Z,2026-08-14T10:17:35.669218Z,2026-08-14T10:17:41.912401Z,2,1,1,1,1,0,1,1,3,2,3,2,1,True,True,2,1,experiment-package:f926164c5a0af2ee8e2c43f442432679,3feb58dd76f556ffc462f42f85a24b5b67cead484f719cd3bd3886cb5cee99ee,[],[] +phase7-20260813-100,62,20260875,00e64846-7d5b-4642-b639-0cdcfb0aaa6b,during_evidence_export,synthetic,replay,35108,1,2026-08-14T10:17:48.019670Z,2026-08-14T10:17:50.396911Z,2026-08-14T10:17:50.396911Z,2026-08-14T10:17:50.601112Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:24862b75bb7bc68a510a160e148c7e13,3970268b0ed8317c34748825143463eb8fd0bf2ac4db620ce6dbcb6254db4d59,[],[] +phase7-20260813-100,63,20260876,7c83619d-4a96-4f3c-8b30-0e94f9d8c7e7,after_commit_before_acknowledgement,synthetic,replay,32588,1,2026-08-14T10:17:50.731195Z,2026-08-14T10:17:56.376690Z,2026-08-14T10:17:56.376690Z,2026-08-14T10:18:01.593635Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:8c5f87417a091a38927e0312e1ae7116,0ce020fbcc4c631d24e3f7083a0e38972e8b6a1e4e56404d902c2914cdbd5fe9,[],[] +phase7-20260813-100,64,20260877,2c11298c-7cc8-4b64-b633-2dcdbffa24f1,after_lease_acquisition,synthetic,replay,34956,1,2026-08-14T10:18:01.656936Z,2026-08-14T10:18:05.044412Z,2026-08-14T10:18:05.044412Z,2026-08-14T10:18:10.096201Z,2,1,1,1,1,0,1,1,3,2,3,2,1,True,True,2,1,experiment-package:eb192fcb8b2944076e1489c381e0c694,f47b71a1b8729f737db738c0d111ce82bfb86b5baf91908958f8058ecd949f27,[],[] +phase7-20260813-100,65,20260878,cb90286b-ca59-4dc4-8dce-cc7330a07373,after_upload_before_outcome_transaction,synthetic,replay,31224,1,2026-08-14T10:18:10.160780Z,2026-08-14T10:18:15.726839Z,2026-08-14T10:18:15.726839Z,2026-08-14T10:18:22.007492Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:0d9ba6e3950d6eac0b94416708770d40,1c3451e594625e1a647720c8ae949d71eb8ff0f97f245f7e7655932dee7eaedb,"[""lease_lost""]",[] +phase7-20260813-100,66,20260879,34e1517f-006f-4a20-83e2-c9cb8bf76013,after_lease_acquisition,synthetic,replay,20448,1,2026-08-14T10:18:22.067802Z,2026-08-14T10:18:26.819260Z,2026-08-14T10:18:26.819260Z,2026-08-14T10:18:33.644645Z,2,1,1,1,1,0,1,1,3,2,3,2,1,True,True,2,1,experiment-package:4579e697d465801e9f46f7ebdbc7833e,1079b04af9987c3883169c6ded04c759d5471e7676021348be629b1fd1ecb726,[],[] +phase7-20260813-100,67,20260880,9593d9a2-c5d6-4967-9e3b-666a98adf108,after_upload_before_outcome_transaction,synthetic,replay,35504,1,2026-08-14T10:18:33.727562Z,2026-08-14T10:18:38.058253Z,2026-08-14T10:18:38.058253Z,2026-08-14T10:18:44.008438Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:01e7599ccfa856f4b9f9a90137bbf300,b3b2fb9d99429a6c18c9912a0a962e384d1da69b947280382d15b3b228a0e43b,"[""lease_lost""]",[] +phase7-20260813-100,68,20260881,dfa14842-a1ea-428c-a28a-5e5acfa69a27,during_evidence_export,synthetic,replay,33308,1,2026-08-14T10:18:49.332367Z,2026-08-14T10:18:51.130320Z,2026-08-14T10:18:51.130320Z,2026-08-14T10:18:51.267501Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:6ca974cfdc2df32ca86d76371d88237b,f34a3329b1fb3dc9d1c5a1d6cd9b2a7a8eae3befb445c15b5949fa78554eaa7e,[],[] +phase7-20260813-100,69,20260882,55ba9687-2da4-471a-976d-862126577ad3,after_adapter_return_before_upload,synthetic,replay,33048,1,2026-08-14T10:18:51.329304Z,2026-08-14T10:18:55.290506Z,2026-08-14T10:18:55.290506Z,2026-08-14T10:19:01.461383Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:1a30713b62be2063acea4801b8474c35,7c2ca544d39e154f322add078bcf8cf8ee3057d582c5fd14ce5d9e5552b1655d,"[""lease_lost""]",[] +phase7-20260813-100,70,20260883,2fbddd90-0de9-4020-9a2a-601216479075,during_evidence_export,synthetic,replay,30880,1,2026-08-14T10:19:07.033508Z,2026-08-14T10:19:09.642705Z,2026-08-14T10:19:09.642705Z,2026-08-14T10:19:09.813453Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:0e0d54589828d8ea9c10bf630dd2d3d6,3486ecaf69a198761d6a6db790c62075d5b5bc418a6eae590530a9363b06141a,[],[] +phase7-20260813-100,71,20260884,9efd6265-dc3d-4fda-9984-e2b29681eda5,after_adapter_return_before_upload,synthetic,replay,23888,1,2026-08-14T10:19:09.900155Z,2026-08-14T10:19:15.459799Z,2026-08-14T10:19:15.459799Z,2026-08-14T10:19:21.654799Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:e04968bc9a77af2c3d85ba3bd2c1dfe2,38d9f38dc656fea652681cde06ed8eaed5d18703f61074740cf126bbea84de13,"[""lease_lost""]",[] +phase7-20260813-100,72,20260885,1fbf9d27-0eb2-44df-803d-9cb650cc32c7,during_object_upload,synthetic,replay,24748,1,2026-08-14T10:19:21.712127Z,2026-08-14T10:19:26.281539Z,2026-08-14T10:19:26.281539Z,2026-08-14T10:19:34.109860Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:138af07fa240d9d35ce024114e67bedb,373a5307e09470bceb355bafd11efafabddbda2177f3c2f949593b234cf9b1e7,"[""lease_lost""]",[] +phase7-20260813-100,73,20260886,3b46d138-a70a-4494-8973-bfe2b3949bb3,during_evidence_export,synthetic,replay,36352,1,2026-08-14T10:19:38.812790Z,2026-08-14T10:19:41.332994Z,2026-08-14T10:19:41.332994Z,2026-08-14T10:19:41.493453Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:aed00ad3cc2ce1224bb941edb43a2ae7,ea4511d7590edf937a63acb17e7d8678ef9b7391bef2bf645660fd1acc8af391,[],[] +phase7-20260813-100,74,20260887,b1aa75e3-6842-4408-acd8-826e35ee2508,after_lease_acquisition,synthetic,replay,33268,1,2026-08-14T10:19:41.564950Z,2026-08-14T10:19:47.185314Z,2026-08-14T10:19:47.185314Z,2026-08-14T10:19:53.841134Z,2,1,1,1,1,0,1,1,3,2,3,2,1,True,True,2,1,experiment-package:a88921aaec192ad063d3eea10b259e27,b5a0534734a91ac3028a12cc959740780f92a56990f5f8c8c41e0a3d76243509,[],[] +phase7-20260813-100,75,20260888,c8cc2173-170c-49db-aba4-30a1c4dec9b4,during_evidence_export,synthetic,replay,32232,1,2026-08-14T10:19:59.847183Z,2026-08-14T10:20:02.150224Z,2026-08-14T10:20:02.150224Z,2026-08-14T10:20:02.276442Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:b63778e70e27aefa41f89a21be3a11ae,7bc9862c5c77fac3d178f1bf479df21f5a35d84115ca6b3cb66683715e877e7b,[],[] +phase7-20260813-100,76,20260889,1883256d-5487-4a72-93c7-83c64118b1d6,after_commit_before_acknowledgement,synthetic,replay,19368,1,2026-08-14T10:20:02.345137Z,2026-08-14T10:20:08.464957Z,2026-08-14T10:20:08.464957Z,2026-08-14T10:20:15.206147Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:13400f6c8c67f57e5ae2b8eabc3f5a92,637614966ca72b3abb31da5546141ac53febb967703f466d6339ce54e1e44e37,[],[] +phase7-20260813-100,77,20260890,e783df27-3418-4f00-8261-cd85844dc6e5,after_adapter_return_before_upload,synthetic,replay,31212,1,2026-08-14T10:20:15.426462Z,2026-08-14T10:20:20.741188Z,2026-08-14T10:20:20.741188Z,2026-08-14T10:20:27.007062Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:3ea493aff270763f5f72f1dd3a859bab,e03bf45d553a033738e3f4a4364eea63f4b201dc5eea0d402cf33859224fd9ca,"[""lease_lost""]",[] +phase7-20260813-100,78,20260891,0f2b028a-591b-4b4c-a437-48daaa8f8556,after_upload_before_outcome_transaction,synthetic,replay,35020,1,2026-08-14T10:20:27.065922Z,2026-08-14T10:20:31.177195Z,2026-08-14T10:20:31.177195Z,2026-08-14T10:20:37.083295Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:ad4579450fa13930a50c114eafcfd41a,424aaa04fb0b2e9f0b3064f43fe379db18adfef21cd539abc139c6cf286b92ab,"[""lease_lost""]",[] +phase7-20260813-100,79,20260892,e6c1a315-0053-44f1-ab79-0d798b52d8d9,during_evidence_export,synthetic,replay,32416,1,2026-08-14T10:20:41.914043Z,2026-08-14T10:20:43.550725Z,2026-08-14T10:20:43.550725Z,2026-08-14T10:20:43.682327Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:6a32e6b5f9dc05b957eb002ab60af2b9,f80a4a1c78e79aff3150c0dc1b2d09298ad7d4fab35e91b47a793c7b64fbfd16,[],[] +phase7-20260813-100,80,20260893,91047a2e-1a9a-4af0-94e6-fc220010407f,after_adapter_return_before_upload,synthetic,replay,35428,1,2026-08-14T10:20:43.743558Z,2026-08-14T10:20:47.887334Z,2026-08-14T10:20:47.887334Z,2026-08-14T10:20:54.289566Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:4e77ebab252e0f465bdcb8f8722050fc,098ca52ae6dac675e6948f914366b2d3c276412ce6ea4caf9b7bf20eea4b6b11,"[""lease_lost""]",[] +phase7-20260813-100,81,20260894,91ae41fa-7e87-483d-a5f6-8266748c5dc6,during_object_upload,synthetic,replay,19848,1,2026-08-14T10:20:54.409140Z,2026-08-14T10:21:00.219164Z,2026-08-14T10:21:00.219164Z,2026-08-14T10:21:05.771312Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:2dc027c942a14cf3e6586df46650ae9d,faa788442f2ad342638308b8dbe713a4aca4fc4f1a20baaaa2eccd6519a27b03,"[""lease_lost""]",[] +phase7-20260813-100,82,20260895,8d90f848-8386-4bf0-930d-497cde12520f,after_commit_before_acknowledgement,synthetic,replay,28436,1,2026-08-14T10:21:05.853366Z,2026-08-14T10:21:11.162431Z,2026-08-14T10:21:11.162431Z,2026-08-14T10:21:18.432616Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:769ae2bfcaac4ce5599b72f0fa60dbb5,88a5dae8a463fe2bf114daf67188b88db7439f7f6881012d2153634f9417fcbe,[],[] +phase7-20260813-100,83,20260896,576e46db-760e-4304-936e-65a6a5027a05,after_upload_before_outcome_transaction,synthetic,replay,15772,1,2026-08-14T10:21:18.517309Z,2026-08-14T10:21:23.920713Z,2026-08-14T10:21:23.920713Z,2026-08-14T10:21:30.937243Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:7534dbcf5d1e6da222453d274ae11052,1f2ad9c9a0d47e686fbb827d336527cc00efd8a8d7c0086892b5020d30961bcb,"[""lease_lost""]",[] +phase7-20260813-100,84,20260897,32ef2a9f-ac43-417a-96ab-d2a1ee261e61,after_upload_before_outcome_transaction,synthetic,replay,32424,1,2026-08-14T10:21:30.997887Z,2026-08-14T10:21:35.801800Z,2026-08-14T10:21:35.801800Z,2026-08-14T10:21:42.259367Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:31a319a145971b70f4041c9106c8d9a2,6fdb71170f273394f8e93db3790d005c6757248d2a8fffc788611adfca92a2b9,"[""lease_lost""]",[] +phase7-20260813-100,85,20260898,5a8ac619-1e04-41aa-bb4d-0c97f6e210ed,after_adapter_return_before_upload,synthetic,replay,23840,1,2026-08-14T10:21:42.311945Z,2026-08-14T10:21:46.724007Z,2026-08-14T10:21:46.724007Z,2026-08-14T10:21:52.646969Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:c085f72189db13d0a9a73c7119c6df95,b1a8d76482f1ce971aa800065547e4ff3e5763d1d13798222f354ebe9434dbe8,"[""lease_lost""]",[] +phase7-20260813-100,86,20260899,f4470e01-9d79-49d6-938d-58dcd9696a0e,during_object_upload,synthetic,replay,31560,1,2026-08-14T10:21:52.690451Z,2026-08-14T10:21:56.779781Z,2026-08-14T10:21:56.779781Z,2026-08-14T10:22:05.377592Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:e8b1e5bed04afc2a02b4f024283025ed,3a94e7d0b9af830b31d182dd40919a0431283abd6373227ff54cfd83f434d76c,"[""lease_lost""]",[] +phase7-20260813-100,87,20260900,2450a748-6614-4fed-ab61-687f9e96284a,after_upload_before_outcome_transaction,synthetic,replay,36532,1,2026-08-14T10:22:05.439386Z,2026-08-14T10:22:10.171418Z,2026-08-14T10:22:10.171418Z,2026-08-14T10:22:17.380992Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:f7f8956895f2bcb6f2b657c1d5e6ddb4,e4f33873d39f4d3b3729af33f3781ad610c6fd738bc2ebb730cbe83548e0b7e1,"[""lease_lost""]",[] +phase7-20260813-100,88,20260901,e1227616-87a9-40fa-a733-02e093e69a7d,after_upload_before_outcome_transaction,synthetic,replay,33860,1,2026-08-14T10:22:17.454814Z,2026-08-14T10:22:22.495681Z,2026-08-14T10:22:22.495681Z,2026-08-14T10:22:28.836432Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:ef9c91721f67d59881e29132a13217a9,125ad6ae1db767581677b729cdc0478fc9d9c56c81e68885f79e01985b14f79f,"[""lease_lost""]",[] +phase7-20260813-100,89,20260902,3d003205-f527-44a1-b054-7a7c56f61baa,after_adapter_return_before_upload,synthetic,replay,26416,1,2026-08-14T10:22:28.903198Z,2026-08-14T10:22:33.659919Z,2026-08-14T10:22:33.659919Z,2026-08-14T10:22:42.395646Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:c7d589fe3afd54c76aba24655bda76cd,72eb360c9c67cee125a1196d177e0666498e9f7bc7cef149177149c8ef79954e,"[""lease_lost""]",[] +phase7-20260813-100,90,20260903,ecfa5869-11b7-4ad4-b0f7-a6f92213a30b,after_upload_before_outcome_transaction,synthetic,replay,17584,1,2026-08-14T10:22:42.464462Z,2026-08-14T10:22:49.240033Z,2026-08-14T10:22:49.240033Z,2026-08-14T10:22:57.652215Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:ef201d2374d58c013a691c75e41fba34,a97de1ad8ffee7a8a42507e5686ec493e705aa22565c0b597a822ed67ea297d0,"[""lease_lost""]",[] +phase7-20260813-100,91,20260904,34a57c82-3407-428c-b788-07820ac053c9,during_evidence_export,synthetic,replay,8824,1,2026-08-14T10:23:04.110245Z,2026-08-14T10:23:06.253373Z,2026-08-14T10:23:06.253373Z,2026-08-14T10:23:06.526777Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:8e9d007c4833014cd28be0321fb3a7c4,a7763bf585003e7853330079a317dfd06a7c4962c6c88a5297042a9b90515ddf,[],[] +phase7-20260813-100,92,20260905,b40b0b56-51d5-42bf-9fd8-fccbcec1b2a0,after_adapter_return_before_upload,synthetic,replay,9428,1,2026-08-14T10:23:06.679117Z,2026-08-14T10:23:12.046637Z,2026-08-14T10:23:12.046637Z,2026-08-14T10:23:20.404222Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:e068bd89acb4a07c65a9d7e3474bfe18,f85cf4806f0198feaf0b34b2f0c8b0bcbff407c4d1fee23fb5b62f0e06b8255c,"[""lease_lost""]",[] +phase7-20260813-100,93,20260906,94839296-cafa-4461-8bb6-de3afc49345d,after_adapter_return_before_upload,synthetic,replay,6628,1,2026-08-14T10:23:20.474393Z,2026-08-14T10:23:25.179257Z,2026-08-14T10:23:25.179257Z,2026-08-14T10:23:33.441428Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:4fc2821457b7029f64c0f08d47c315c3,13153bcd733f73babd39d96dbe1387e56434c9498d14ef677a5e5ddda14cf0c8,"[""lease_lost""]",[] +phase7-20260813-100,94,20260907,79723cf5-99db-4b46-922d-9b1bff8c616b,during_evidence_export,synthetic,replay,26796,1,2026-08-14T10:23:39.567431Z,2026-08-14T10:23:41.461751Z,2026-08-14T10:23:41.461751Z,2026-08-14T10:23:41.579614Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:dae434e0a9a947fa8de3595316410089,b60cb6648365a7ef9552e112b78520540ff1a34317eaac2276a23a1fa0e808de,[],[] +phase7-20260813-100,95,20260908,3ac7ec2f-1498-4ccb-8a0d-384bb7b3e461,after_lease_acquisition,synthetic,replay,34972,1,2026-08-14T10:23:41.634487Z,2026-08-14T10:23:45.115454Z,2026-08-14T10:23:45.115454Z,2026-08-14T10:23:53.778071Z,2,1,1,1,1,0,1,1,3,2,3,2,1,True,True,2,1,experiment-package:438c905c061d75de6f18b0c09a6e63c7,d49fa4d2fb078fbff1a8adf5abcfaa49194b40ceaa1586e70440581d1ac75077,[],[] +phase7-20260813-100,96,20260909,18f399f9-3257-4620-b948-2169afffc583,after_upload_before_outcome_transaction,synthetic,replay,33804,1,2026-08-14T10:23:53.838967Z,2026-08-14T10:23:58.287678Z,2026-08-14T10:23:58.287678Z,2026-08-14T10:24:06.106026Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:06c831b200f25593d59f4f03c519af58,33470f673414adc3e664d8ddb466fce7f005b1ec22ea433320ef548910877b9b,"[""lease_lost""]",[] +phase7-20260813-100,97,20260910,3c73f261-245b-4a8e-874f-8223348863d7,after_commit_before_acknowledgement,synthetic,replay,35872,1,2026-08-14T10:24:06.161696Z,2026-08-14T10:24:10.346890Z,2026-08-14T10:24:10.346890Z,2026-08-14T10:24:16.598193Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:c52cf8ba8f2cdbd9f1af2b0833b0c7a3,499c16bc2c63cf3f2384d708d684a7be46a8540399f4e39fb120e348f4931d89,[],[] +phase7-20260813-100,98,20260911,40c209d6-8fa2-4c46-a5e1-bc3e52bf6800,during_object_upload,synthetic,replay,2524,1,2026-08-14T10:24:16.654190Z,2026-08-14T10:24:21.285187Z,2026-08-14T10:24:21.285187Z,2026-08-14T10:24:27.594341Z,3,1,1,1,1,0,1,1,3,3,3,3,0,True,True,2,1,experiment-package:a02f6138bcd0e9de19a2e27207feb812,d2e101f666e0b22beadf36837fd7d2be90970dbdef86f1162eea224a8f9027e3,"[""lease_lost""]",[] +phase7-20260813-100,99,20260912,b00d7a14-4687-4129-85f8-9264f9e65afc,during_evidence_export,synthetic,replay,35116,1,2026-08-14T10:24:32.839921Z,2026-08-14T10:24:34.326689Z,2026-08-14T10:24:34.326689Z,2026-08-14T10:24:34.482990Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:b95e07a6448cfc6d8b8a50ffcf698a3b,ce1a7ebe2dba267f8de3b0c3a267608f1e896d644f09b876b5a6cbefaf329a80,[],[] +phase7-20260813-100,100,20260913,73fc256b-6ce8-4142-961c-6777c9107c7f,during_evidence_export,synthetic,replay,35472,1,2026-08-14T10:24:39.466800Z,2026-08-14T10:24:41.263146Z,2026-08-14T10:24:41.263146Z,2026-08-14T10:24:41.386697Z,2,0,1,1,1,0,1,1,3,2,2,2,0,True,True,2,1,experiment-package:468dbf9c831f5bfc149128f73fa9c2de,912993fc88f423b566f402c05f842021d27e68882ed5ef4fa056d4ddc098ee99,[],[] diff --git a/artifacts/galvanostatic-electrolysis/REPRODUCE.txt b/artifacts/galvanostatic-electrolysis/REPRODUCE.txt index ebf6c8a..ff742ee 100644 --- a/artifacts/galvanostatic-electrolysis/REPRODUCE.txt +++ b/artifacts/galvanostatic-electrolysis/REPRODUCE.txt @@ -1,3 +1,3 @@ python scripts/reproduce_galvanostatic_electrolysis.py --output build/galvanostatic-electrolysis labbridge package verify build/galvanostatic-electrolysis/experiment-package.zip --json -labbridge validate-artifacts build/galvanostatic-electrolysis +labbridge validate-artifacts --bundle build/galvanostatic-electrolysis diff --git a/artifacts/galvanostatic-electrolysis/manifest.json b/artifacts/galvanostatic-electrolysis/manifest.json index 2d4c8ef..30f5e74 100644 --- a/artifacts/galvanostatic-electrolysis/manifest.json +++ b/artifacts/galvanostatic-electrolysis/manifest.json @@ -47,9 +47,9 @@ "sha256": "4ac8787065058d1f63cfb6a968c4ccea0ac4c104b248dd4938e11ed61bd3cbc8" }, { - "byte_size": 247, + "byte_size": 256, "name": "REPRODUCE.txt", - "sha256": "5419e336d24c003361f7be5e6db02e9582066a2b1ea0e6d11020abc0c6ab6bc3" + "sha256": "f7866ef48330a6a1517d8ec81fb63047a3b3fa6af3797100a9c1b952902ec6a6" }, { "byte_size": 598, @@ -82,7 +82,7 @@ "sha256": "aa0d10c794f2630f2c1ad2a883452b6262ce2a5e77560e40b14d46cae6ba810a" } ], - "files_digest": "36d69a4cf252b8a2c01e9949a43e40592fc86d09c4edbaf49f7f4f6860eb4a04", + "files_digest": "1494f9ca439b01b96cd34fbcd6e798a51f0f4a2da55c510f0edcf812af4a03ff", "import_profile_id": "electrolysis-profile:90c3daa1e062f26c3ecec024935d6fdc", "observation_id": "electrolysis-observation:9f3108fa2b0e8cbc963e343c08e92f8e", "package_id": "experiment-package:6479dddfda8860fedee9058d164fffd9", diff --git a/artifacts/gamry-dta-cv/REPRODUCE.txt b/artifacts/gamry-dta-cv/REPRODUCE.txt index ac0cda6..40f9282 100644 --- a/artifacts/gamry-dta-cv/REPRODUCE.txt +++ b/artifacts/gamry-dta-cv/REPRODUCE.txt @@ -1,3 +1,3 @@ python scripts/reproduce_gamry_dta_cv.py --output build/gamry-dta-cv labbridge package verify build/gamry-dta-cv/experiment-package.zip --json -labbridge validate-artifacts build/gamry-dta-cv +labbridge validate-artifacts --bundle build/gamry-dta-cv diff --git a/artifacts/gamry-dta-cv/manifest.json b/artifacts/gamry-dta-cv/manifest.json index 8c3c871..0990b87 100644 --- a/artifacts/gamry-dta-cv/manifest.json +++ b/artifacts/gamry-dta-cv/manifest.json @@ -52,9 +52,9 @@ "sha256": "61cd28c682ebe085a2b5f94451124664f30f204dd9e11df4410a5f1f1a776bda" }, { - "byte_size": 191, + "byte_size": 200, "name": "REPRODUCE.txt", - "sha256": "f374bcfad922e87e801b77eeec2372e9a9755baa07ca6117e29c685278ba2169" + "sha256": "43ad7afa19bb140e9626a62315150eed781675b613b91ce5fe9197902d0a5be1" }, { "byte_size": 597, @@ -92,7 +92,7 @@ "sha256": "3d789d63c58370ab29ed191ad52c2b83372b94990d52a6028f8df3d552b0c9c9" } ], - "files_digest": "6934c29d745951e60f93ef1a73cb6b195067c4aadd15223a7fa0c5f7929b5906", + "files_digest": "ac1dbfb345705b2418b7870147642313abdc56874a9b535ccf5708ae911a3a70", "import_profile_id": "cv-profile:b972971ffc04130cb2ba9811e5e76cc2", "observation_id": "cv-observation:f88ccc6e9ad289c674d8f3ba4b9bcc20", "package_id": "experiment-package:16b5b290eaacdd068f4b82ffa061d426", diff --git a/contracts/openapi-v1.json b/contracts/openapi-v1.json index 7e3b387..aab589d 100644 --- a/contracts/openapi-v1.json +++ b/contracts/openapi-v1.json @@ -102,6 +102,175 @@ "title": "AssertionValue", "type": "object" }, + "AuxiliaryAnalyticalResult-Input": { + "additionalProperties": false, + "description": "A declared analytical result linked to retained electrical and analytical sources.", + "properties": { + "analyte": { + "minLength": 1, + "title": "Analyte", + "type": "string" + }, + "collection_point": { + "minLength": 1, + "title": "Collection Point", + "type": "string" + }, + "electrical_source_artifact_id": { + "minLength": 1, + "title": "Electrical Source Artifact Id", + "type": "string" + }, + "method_name": { + "minLength": 1, + "title": "Method Name", + "type": "string" + }, + "method_version": { + "minLength": 1, + "title": "Method Version", + "type": "string" + }, + "quantity_kind": { + "const": "concentration", + "title": "Quantity Kind", + "type": "string" + }, + "result_id": { + "minLength": 1, + "title": "Result Id", + "type": "string" + }, + "sample_id": { + "minLength": 1, + "title": "Sample Id", + "type": "string" + }, + "source_artifact_id": { + "minLength": 1, + "title": "Source Artifact Id", + "type": "string" + }, + "source_location": { + "minLength": 1, + "title": "Source Location", + "type": "string" + }, + "unit": { + "minLength": 1, + "title": "Unit", + "type": "string" + }, + "value": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ], + "title": "Value" + } + }, + "required": [ + "result_id", + "electrical_source_artifact_id", + "source_artifact_id", + "method_name", + "method_version", + "source_location", + "sample_id", + "collection_point", + "analyte", + "quantity_kind", + "value", + "unit" + ], + "title": "AuxiliaryAnalyticalResult", + "type": "object" + }, + "AuxiliaryAnalyticalResult-Output": { + "additionalProperties": false, + "description": "A declared analytical result linked to retained electrical and analytical sources.", + "properties": { + "analyte": { + "minLength": 1, + "title": "Analyte", + "type": "string" + }, + "collection_point": { + "minLength": 1, + "title": "Collection Point", + "type": "string" + }, + "electrical_source_artifact_id": { + "minLength": 1, + "title": "Electrical Source Artifact Id", + "type": "string" + }, + "method_name": { + "minLength": 1, + "title": "Method Name", + "type": "string" + }, + "method_version": { + "minLength": 1, + "title": "Method Version", + "type": "string" + }, + "quantity_kind": { + "const": "concentration", + "title": "Quantity Kind", + "type": "string" + }, + "result_id": { + "minLength": 1, + "title": "Result Id", + "type": "string" + }, + "sample_id": { + "minLength": 1, + "title": "Sample Id", + "type": "string" + }, + "source_artifact_id": { + "minLength": 1, + "title": "Source Artifact Id", + "type": "string" + }, + "source_location": { + "minLength": 1, + "title": "Source Location", + "type": "string" + }, + "unit": { + "minLength": 1, + "title": "Unit", + "type": "string" + }, + "value": { + "title": "Value", + "type": "string" + } + }, + "required": [ + "result_id", + "electrical_source_artifact_id", + "source_artifact_id", + "method_name", + "method_version", + "source_location", + "sample_id", + "collection_point", + "analyte", + "quantity_kind", + "value", + "unit" + ], + "title": "AuxiliaryAnalyticalResult", + "type": "object" + }, "CVImportProfile-Input": { "additionalProperties": false, "description": "Versioned, complete and immutable instructions for parsing one CSV shape.", @@ -705,146 +874,597 @@ "title": "State", "type": "string" }, - "succeeded": { - "title": "Succeeded", - "type": "integer" + "succeeded": { + "title": "Succeeded", + "type": "integer" + }, + "work_items": { + "title": "Work Items", + "type": "integer" + } + }, + "required": [ + "campaign_id", + "name", + "state", + "data_origin", + "execution_mode", + "work_items", + "succeeded", + "failed", + "budget", + "attempts" + ], + "title": "CampaignView", + "type": "object" + }, + "ColumnMapping": { + "additionalProperties": false, + "description": "One explicit decision about one source column.", + "properties": { + "role": { + "enum": [ + "potential", + "current", + "current_density", + "time", + "cycle", + "ignored" + ], + "title": "Role", + "type": "string" + }, + "source_column": { + "minLength": 1, + "title": "Source Column", + "type": "string" + }, + "source_unit": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Source Unit" + }, + "target_unit": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Target Unit" + } + }, + "required": [ + "source_column", + "role" + ], + "title": "ColumnMapping", + "type": "object" + }, + "ConfidenceRepresentation": { + "additionalProperties": false, + "description": "The declared representation used for one inference confidence statement.", + "properties": { + "kind": { + "enum": [ + "probability", + "qualitative", + "interval" + ], + "title": "Kind", + "type": "string" + }, + "value": { + "title": "Value", + "type": "string" + } + }, + "required": [ + "kind", + "value" + ], + "title": "ConfidenceRepresentation", + "type": "object" + }, + "CreateExperimentRequest": { + "additionalProperties": false, + "properties": { + "expected_experiment_version": { + "minimum": 0.0, + "title": "Expected Experiment Version", + "type": "integer" + }, + "observation_id": { + "minLength": 1, + "title": "Observation Id", + "type": "string" + } + }, + "required": [ + "observation_id", + "expected_experiment_version" + ], + "title": "CreateExperimentRequest", + "type": "object" + }, + "CreatePackageRequest": { + "additionalProperties": false, + "properties": { + "expected_experiment_version": { + "minimum": 1.0, + "title": "Expected Experiment Version", + "type": "integer" + }, + "passport_id": { + "minLength": 1, + "title": "Passport Id", + "type": "string" + } + }, + "required": [ + "expected_experiment_version", + "passport_id" + ], + "title": "CreatePackageRequest", + "type": "object" + }, + "ElectrolysisColumnMapping": { + "additionalProperties": false, + "description": "One explicit electrolysis source-column role and unit conversion.", + "properties": { + "role": { + "enum": [ + "time", + "current", + "current_density", + "potential", + "ignored" + ], + "title": "Role", + "type": "string" + }, + "source_column": { + "minLength": 1, + "title": "Source Column", + "type": "string" + }, + "source_unit": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Source Unit" + }, + "target_unit": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Target Unit" + } + }, + "required": [ + "source_column", + "role" + ], + "title": "ElectrolysisColumnMapping", + "type": "object" + }, + "ElectrolysisImportProfile-Input": { + "additionalProperties": false, + "description": "Complete instructions for one galvanostatic-electrolysis CSV shape.", + "properties": { + "auxiliary_results": { + "items": { + "$ref": "#/components/schemas/AuxiliaryAnalyticalResult-Input" + }, + "title": "Auxiliary Results", + "type": "array" + }, + "columns": { + "items": { + "$ref": "#/components/schemas/ElectrolysisColumnMapping" + }, + "minItems": 1, + "title": "Columns", + "type": "array" + }, + "decimal_convention": { + "enum": [ + "point", + "comma" + ], + "title": "Decimal Convention", + "type": "string" + }, + "delimiter": { + "maxLength": 1, + "minLength": 1, + "title": "Delimiter", + "type": "string" + }, + "encoding": { + "enum": [ + "utf-8", + "utf-8-sig" + ], + "title": "Encoding", + "type": "string" + }, + "environment_id": { + "minLength": 1, + "title": "Environment Id", + "type": "string" + }, + "header_row": { + "minimum": 1.0, + "title": "Header Row", + "type": "integer" + }, + "metadata": { + "$ref": "#/components/schemas/ElectrolysisMetadata-Input" + }, + "missing_value_tokens": { + "items": { + "type": "string" + }, + "title": "Missing Value Tokens", + "type": "array" + }, + "schema_version": { + "const": "1", + "title": "Schema Version", + "type": "string" + }, + "technique": { + "const": "galvanostatic_electrolysis", + "title": "Technique", + "type": "string" + } + }, + "required": [ + "schema_version", + "technique", + "environment_id", + "encoding", + "delimiter", + "decimal_convention", + "header_row", + "missing_value_tokens", + "columns", + "metadata", + "auxiliary_results" + ], + "title": "ElectrolysisImportProfile", + "type": "object" + }, + "ElectrolysisImportProfile-Output": { + "additionalProperties": false, + "description": "Complete instructions for one galvanostatic-electrolysis CSV shape.", + "properties": { + "auxiliary_results": { + "items": { + "$ref": "#/components/schemas/AuxiliaryAnalyticalResult-Output" + }, + "title": "Auxiliary Results", + "type": "array" + }, + "columns": { + "items": { + "$ref": "#/components/schemas/ElectrolysisColumnMapping" + }, + "minItems": 1, + "title": "Columns", + "type": "array" + }, + "decimal_convention": { + "enum": [ + "point", + "comma" + ], + "title": "Decimal Convention", + "type": "string" + }, + "delimiter": { + "maxLength": 1, + "minLength": 1, + "title": "Delimiter", + "type": "string" + }, + "encoding": { + "enum": [ + "utf-8", + "utf-8-sig" + ], + "title": "Encoding", + "type": "string" + }, + "environment_id": { + "minLength": 1, + "title": "Environment Id", + "type": "string" + }, + "header_row": { + "minimum": 1.0, + "title": "Header Row", + "type": "integer" + }, + "metadata": { + "$ref": "#/components/schemas/ElectrolysisMetadata-Output" + }, + "missing_value_tokens": { + "items": { + "type": "string" + }, + "title": "Missing Value Tokens", + "type": "array" + }, + "schema_version": { + "const": "1", + "title": "Schema Version", + "type": "string" + }, + "technique": { + "const": "galvanostatic_electrolysis", + "title": "Technique", + "type": "string" + } + }, + "required": [ + "schema_version", + "technique", + "environment_id", + "encoding", + "delimiter", + "decimal_convention", + "header_row", + "missing_value_tokens", + "columns", + "metadata", + "auxiliary_results" + ], + "title": "ElectrolysisImportProfile", + "type": "object" + }, + "ElectrolysisLineage": { + "additionalProperties": false, + "properties": { + "auxiliary_source_artifact_ids": { + "items": { + "type": "string" + }, + "title": "Auxiliary Source Artifact Ids", + "type": "array" + }, + "environment_id": { + "minLength": 1, + "title": "Environment Id", + "type": "string" + }, + "import_profile_id": { + "minLength": 1, + "title": "Import Profile Id", + "type": "string" + }, + "source_artifact_id": { + "minLength": 1, + "title": "Source Artifact Id", + "type": "string" + }, + "source_sha256": { + "pattern": "^[0-9a-f]{64}$", + "title": "Source Sha256", + "type": "string" + }, + "transformation_ids": { + "items": { + "type": "string" + }, + "minItems": 1, + "title": "Transformation Ids", + "type": "array" + } + }, + "required": [ + "environment_id", + "source_artifact_id", + "source_sha256", + "import_profile_id", + "auxiliary_source_artifact_ids", + "transformation_ids" + ], + "title": "ElectrolysisLineage", + "type": "object" + }, + "ElectrolysisMetadata-Input": { + "additionalProperties": false, + "description": "Declared electrical context without product-quantification inference.", + "properties": { + "cell_geometry": { + "$ref": "#/components/schemas/MetadataValue-Input" + }, + "chemical_analysis": { + "$ref": "#/components/schemas/MetadataValue-Input" + }, + "current_basis": { + "$ref": "#/components/schemas/MetadataValue-Input" + }, + "current_sign_convention": { + "$ref": "#/components/schemas/MetadataValue-Input" + }, + "electrode_area": { + "$ref": "#/components/schemas/MetadataValue-Input" + }, + "interruptions": { + "$ref": "#/components/schemas/MetadataValue-Input" + }, + "potential_treatment": { + "$ref": "#/components/schemas/MetadataValue-Input" + }, + "reference_scale": { + "$ref": "#/components/schemas/MetadataValue-Input" + }, + "sampling_interval": { + "$ref": "#/components/schemas/MetadataValue-Input" + } + }, + "required": [ + "current_sign_convention", + "current_basis", + "electrode_area", + "cell_geometry", + "reference_scale", + "potential_treatment", + "sampling_interval", + "interruptions", + "chemical_analysis" + ], + "title": "ElectrolysisMetadata", + "type": "object" + }, + "ElectrolysisMetadata-Output": { + "additionalProperties": false, + "description": "Declared electrical context without product-quantification inference.", + "properties": { + "cell_geometry": { + "$ref": "#/components/schemas/MetadataValue-Output" + }, + "chemical_analysis": { + "$ref": "#/components/schemas/MetadataValue-Output" + }, + "current_basis": { + "$ref": "#/components/schemas/MetadataValue-Output" + }, + "current_sign_convention": { + "$ref": "#/components/schemas/MetadataValue-Output" + }, + "electrode_area": { + "$ref": "#/components/schemas/MetadataValue-Output" + }, + "interruptions": { + "$ref": "#/components/schemas/MetadataValue-Output" + }, + "potential_treatment": { + "$ref": "#/components/schemas/MetadataValue-Output" + }, + "reference_scale": { + "$ref": "#/components/schemas/MetadataValue-Output" }, - "work_items": { - "title": "Work Items", - "type": "integer" + "sampling_interval": { + "$ref": "#/components/schemas/MetadataValue-Output" } }, "required": [ - "campaign_id", - "name", - "state", - "data_origin", - "execution_mode", - "work_items", - "succeeded", - "failed", - "budget", - "attempts" + "current_sign_convention", + "current_basis", + "electrode_area", + "cell_geometry", + "reference_scale", + "potential_treatment", + "sampling_interval", + "interruptions", + "chemical_analysis" ], - "title": "CampaignView", + "title": "ElectrolysisMetadata", "type": "object" }, - "ColumnMapping": { + "ElectrolysisNormalisationRequest": { "additionalProperties": false, - "description": "One explicit decision about one source column.", "properties": { - "role": { - "enum": [ - "potential", - "current", - "current_density", - "time", - "cycle", - "ignored" - ], - "title": "Role", + "profile_id": { + "title": "Profile Id", "type": "string" }, - "source_column": { - "minLength": 1, - "title": "Source Column", + "source_artifact_id": { + "title": "Source Artifact Id", "type": "string" - }, - "source_unit": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Source Unit" - }, - "target_unit": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Target Unit" } }, "required": [ - "source_column", - "role" + "source_artifact_id", + "profile_id" ], - "title": "ColumnMapping", + "title": "ElectrolysisNormalisationRequest", "type": "object" }, - "ConfidenceRepresentation": { + "ElectrolysisNormalisationResult": { "additionalProperties": false, - "description": "The declared representation used for one inference confidence statement.", "properties": { - "kind": { - "enum": [ - "probability", - "qualitative", - "interval" - ], - "title": "Kind", - "type": "string" + "findings": { + "items": { + "$ref": "#/components/schemas/StructuralFinding" + }, + "title": "Findings", + "type": "array" }, - "value": { - "title": "Value", - "type": "string" + "graph": { + "$ref": "#/components/schemas/TransformationGraph" + }, + "observation": { + "$ref": "#/components/schemas/NormalisedElectrolysisObservation" } }, "required": [ - "kind", - "value" + "observation", + "graph", + "findings" ], - "title": "ConfidenceRepresentation", + "title": "ElectrolysisNormalisationResult", "type": "object" }, - "CreateExperimentRequest": { - "additionalProperties": false, + "ElectrolysisNormalisationView": { "properties": { - "expected_experiment_version": { - "minimum": 0.0, - "title": "Expected Experiment Version", - "type": "integer" + "replayed": { + "title": "Replayed", + "type": "boolean" }, - "observation_id": { - "minLength": 1, - "title": "Observation Id", - "type": "string" + "result": { + "$ref": "#/components/schemas/ElectrolysisNormalisationResult" } }, "required": [ - "observation_id", - "expected_experiment_version" + "result", + "replayed" ], - "title": "CreateExperimentRequest", + "title": "ElectrolysisNormalisationView", "type": "object" }, - "CreatePackageRequest": { - "additionalProperties": false, + "ElectrolysisProfileView": { "properties": { - "expected_experiment_version": { - "minimum": 1.0, - "title": "Expected Experiment Version", - "type": "integer" + "profile": { + "$ref": "#/components/schemas/ElectrolysisImportProfile-Output" }, - "passport_id": { - "minLength": 1, - "title": "Passport Id", + "profile_id": { + "title": "Profile Id", "type": "string" + }, + "replayed": { + "title": "Replayed", + "type": "boolean" } }, "required": [ - "expected_experiment_version", - "passport_id" + "profile_id", + "profile", + "replayed" ], - "title": "CreatePackageRequest", + "title": "ElectrolysisProfileView", "type": "object" }, "ExpectedVersionRequest": { @@ -1629,45 +2249,165 @@ "observation": { "$ref": "#/components/schemas/NormalisedCVObservation" }, - "parser_record": { - "anyOf": [ - { - "$ref": "#/components/schemas/ParserRecord" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "observation", - "graph", - "findings" - ], - "title": "NormalisationResult", - "type": "object" - }, - "NormalisationView": { - "properties": { - "replayed": { - "title": "Replayed", - "type": "boolean" + "parser_record": { + "anyOf": [ + { + "$ref": "#/components/schemas/ParserRecord" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "observation", + "graph", + "findings" + ], + "title": "NormalisationResult", + "type": "object" + }, + "NormalisationView": { + "properties": { + "replayed": { + "title": "Replayed", + "type": "boolean" + }, + "result": { + "$ref": "#/components/schemas/NormalisationResult" + } + }, + "required": [ + "result", + "replayed" + ], + "title": "NormalisationView", + "type": "object" + }, + "NormalisedCVObservation": { + "additionalProperties": false, + "properties": { + "data_origin": { + "enum": [ + "observed", + "synthetic" + ], + "title": "Data Origin", + "type": "string" + }, + "environment_id": { + "minLength": 1, + "title": "Environment Id", + "type": "string" + }, + "execution_mode": { + "enum": [ + "replay", + "simulation", + "live" + ], + "title": "Execution Mode", + "type": "string" + }, + "import_profile_id": { + "minLength": 1, + "title": "Import Profile Id", + "type": "string" + }, + "metadata": { + "$ref": "#/components/schemas/CVMetadata-Output" + }, + "normalisation_version": { + "minLength": 1, + "title": "Normalisation Version", + "type": "string" + }, + "observation_id": { + "minLength": 1, + "title": "Observation Id", + "type": "string" + }, + "parser_record_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Parser Record Id" + }, + "parser_version": { + "minLength": 1, + "title": "Parser Version", + "type": "string" + }, + "provenance": { + "$ref": "#/components/schemas/CVLineage" + }, + "row_count": { + "minimum": 1.0, + "title": "Row Count", + "type": "integer" + }, + "schema_version": { + "const": "1", + "title": "Schema Version", + "type": "string" + }, + "series": { + "items": { + "$ref": "#/components/schemas/NormalisedSeries" + }, + "minItems": 2, + "title": "Series", + "type": "array" + }, + "source_artifact_id": { + "minLength": 1, + "title": "Source Artifact Id", + "type": "string" }, - "result": { - "$ref": "#/components/schemas/NormalisationResult" + "transformation_ids": { + "items": { + "type": "string" + }, + "minItems": 1, + "title": "Transformation Ids", + "type": "array" } }, "required": [ - "result", - "replayed" + "observation_id", + "schema_version", + "parser_version", + "normalisation_version", + "source_artifact_id", + "import_profile_id", + "data_origin", + "execution_mode", + "environment_id", + "row_count", + "series", + "metadata", + "transformation_ids", + "provenance" ], - "title": "NormalisationView", + "title": "NormalisedCVObservation", "type": "object" }, - "NormalisedCVObservation": { + "NormalisedElectrolysisObservation": { "additionalProperties": false, "properties": { + "auxiliary_results": { + "items": { + "$ref": "#/components/schemas/AuxiliaryAnalyticalResult-Output" + }, + "title": "Auxiliary Results", + "type": "array" + }, "data_origin": { "enum": [ "observed", @@ -1696,7 +2436,7 @@ "type": "string" }, "metadata": { - "$ref": "#/components/schemas/CVMetadata-Output" + "$ref": "#/components/schemas/ElectrolysisMetadata-Output" }, "normalisation_version": { "minLength": 1, @@ -1708,24 +2448,13 @@ "title": "Observation Id", "type": "string" }, - "parser_record_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Parser Record Id" - }, "parser_version": { "minLength": 1, "title": "Parser Version", "type": "string" }, "provenance": { - "$ref": "#/components/schemas/CVLineage" + "$ref": "#/components/schemas/ElectrolysisLineage" }, "row_count": { "minimum": 1.0, @@ -1741,7 +2470,7 @@ "items": { "$ref": "#/components/schemas/NormalisedSeries" }, - "minItems": 2, + "minItems": 3, "title": "Series", "type": "array" }, @@ -1750,6 +2479,11 @@ "title": "Source Artifact Id", "type": "string" }, + "technique": { + "const": "galvanostatic_electrolysis", + "title": "Technique", + "type": "string" + }, "transformation_ids": { "items": { "type": "string" @@ -1762,6 +2496,7 @@ "required": [ "observation_id", "schema_version", + "technique", "parser_version", "normalisation_version", "source_artifact_id", @@ -1772,10 +2507,11 @@ "row_count", "series", "metadata", + "auxiliary_results", "transformation_ids", "provenance" ], - "title": "NormalisedCVObservation", + "title": "NormalisedElectrolysisObservation", "type": "object" }, "NormalisedSeries": { @@ -3461,6 +4197,196 @@ "summary": "Inspect Source" } }, + "/electrolysis/import-profiles": { + "post": { + "operationId": "create_profile_electrolysis_import_profiles_post", + "parameters": [ + { + "in": "header", + "name": "Idempotency-Key", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Idempotency-Key" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ElectrolysisImportProfile-Input" + } + } + }, + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ElectrolysisProfileView" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Create Profile" + } + }, + "/electrolysis/import-profiles/{profile_id}": { + "get": { + "operationId": "read_profile_electrolysis_import_profiles__profile_id__get", + "parameters": [ + { + "in": "path", + "name": "profile_id", + "required": true, + "schema": { + "title": "Profile Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ElectrolysisProfileView" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Read Profile" + } + }, + "/electrolysis/normalisations": { + "post": { + "operationId": "normalise_electrolysis_normalisations_post", + "parameters": [ + { + "in": "header", + "name": "Idempotency-Key", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Idempotency-Key" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ElectrolysisNormalisationRequest" + } + } + }, + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ElectrolysisNormalisationView" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Normalise" + } + }, + "/electrolysis/normalised-observations/{observation_id}": { + "get": { + "operationId": "read_normalisation_electrolysis_normalised_observations__observation_id__get", + "parameters": [ + { + "in": "path", + "name": "observation_id", + "required": true, + "schema": { + "title": "Observation Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ElectrolysisNormalisationView" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Read Normalisation" + } + }, "/experiment-packages/{package_id}": { "get": { "operationId": "get_package_route_experiment_packages__package_id__get", diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index c9f0d92..2e95731 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -586,8 +586,8 @@ for techniques not demonstrated in earlier phases. ## Phase 7 — campaign reliability demonstration -**Status:** `demonstrated` for synthetic replay in the recorded environment; observed replay and -future live execution were not run. +**Status:** `demonstrated` for synthetic replay across the six declared process-termination +boundaries. Observed HER replay and future live execution were not run. ### Objective @@ -635,7 +635,8 @@ zero lost accepted observations, unintended duplicate acceptances, hard-budget o projection mismatches, or Package-verification failures; it also records 51 `lease_lost` failures and 100 suppressed redeliveries. The deployment restore reverified 100 stored objects, replayed 100 campaigns, and fully verified 100 restored campaign Packages. These are synthetic-replay reliability -measurements, not scientific or live-instrument results. +measurements, not scientific or live-instrument results. Observed replay and future live execution +were not run. ### Out of scope diff --git a/docs/SPEC.md b/docs/SPEC.md index 010fc4a..7fd59ce 100644 --- a/docs/SPEC.md +++ b/docs/SPEC.md @@ -901,6 +901,10 @@ Minimum endpoints: and retrieve its observation, graph, and structural findings; - `GET /cv/normalised-observations/{id}/plot-series` — retrieve backend-approved values, roles, units, identity, and provenance without display transformations; +- `POST /electrolysis/import-profiles` and `GET /electrolysis/import-profiles/{id}` — create and + retrieve immutable explicit galvanostatic-electrolysis profiles; +- `POST /electrolysis/normalisations` and `GET /electrolysis/normalised-observations/{id}` — + normalise a retained electrolysis source and retrieve its observation, graph, and findings; - `POST /experiments` and `GET /experiments/{id}` — create an experiment from one retained Phase 2 observation and retrieve its latest immutable version; - `POST /experiments/{id}/assertions` — append one user-supplied supplement or correction; @@ -950,6 +954,8 @@ labbridge cv inspect --encoding --delimiter [--json] labbridge cv normalise --profile-id [--json] labbridge cv plot [--json] +labbridge electrolysis profile-create [--json] +labbridge electrolysis normalise --profile-id [--json] labbridge experiment create --expected-version 0 \ --idempotency-key [--json] labbridge experiment assert --expected-version \ diff --git a/frontend/src/generated/api-v1.ts b/frontend/src/generated/api-v1.ts index 96a2f1d..a0cffe5 100644 --- a/frontend/src/generated/api-v1.ts +++ b/frontend/src/generated/api-v1.ts @@ -45,6 +45,57 @@ export interface paths { patch?: never; trace?: never; }; + "/campaigns/{campaign_id}/cancel": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Cancel Campaign */ + post: operations["cancel_campaign_campaigns__campaign_id__cancel_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/campaigns/{campaign_id}/pause": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Pause Campaign */ + post: operations["pause_campaign_campaigns__campaign_id__pause_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/campaigns/{campaign_id}/resume": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Resume Campaign */ + post: operations["resume_campaign_campaigns__campaign_id__resume_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/cv/import-profiles": { parameters: { query?: never; @@ -164,6 +215,74 @@ export interface paths { patch?: never; trace?: never; }; + "/electrolysis/import-profiles": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Create Profile */ + post: operations["create_profile_electrolysis_import_profiles_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/electrolysis/import-profiles/{profile_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Read Profile */ + get: operations["read_profile_electrolysis_import_profiles__profile_id__get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/electrolysis/normalisations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Normalise */ + post: operations["normalise_electrolysis_normalisations_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/electrolysis/normalised-observations/{observation_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Read Normalisation */ + get: operations["read_normalisation_electrolysis_normalised_observations__observation_id__get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/experiment-packages/{package_id}": { parameters: { query?: never; @@ -461,6 +580,72 @@ export interface components { /** Value */ value?: string | boolean | number | null; }; + /** + * AuxiliaryAnalyticalResult + * @description A declared analytical result linked to retained electrical and analytical sources. + */ + "AuxiliaryAnalyticalResult-Input": { + /** Analyte */ + analyte: string; + /** Collection Point */ + collection_point: string; + /** Electrical Source Artifact Id */ + electrical_source_artifact_id: string; + /** Method Name */ + method_name: string; + /** Method Version */ + method_version: string; + /** + * Quantity Kind + * @constant + */ + quantity_kind: "concentration"; + /** Result Id */ + result_id: string; + /** Sample Id */ + sample_id: string; + /** Source Artifact Id */ + source_artifact_id: string; + /** Source Location */ + source_location: string; + /** Unit */ + unit: string; + /** Value */ + value: number | string; + }; + /** + * AuxiliaryAnalyticalResult + * @description A declared analytical result linked to retained electrical and analytical sources. + */ + "AuxiliaryAnalyticalResult-Output": { + /** Analyte */ + analyte: string; + /** Collection Point */ + collection_point: string; + /** Electrical Source Artifact Id */ + electrical_source_artifact_id: string; + /** Method Name */ + method_name: string; + /** Method Version */ + method_version: string; + /** + * Quantity Kind + * @constant + */ + quantity_kind: "concentration"; + /** Result Id */ + result_id: string; + /** Sample Id */ + sample_id: string; + /** Source Artifact Id */ + source_artifact_id: string; + /** Source Location */ + source_location: string; + /** Unit */ + unit: string; + /** Value */ + value: string; + }; /** * CVImportProfile * @description Versioned, complete and immutable instructions for parsing one CSV shape. @@ -578,6 +763,58 @@ export interface components { reference_scale: components["schemas"]["MetadataValue-Output"]; scan_rate: components["schemas"]["MetadataValue-Output"]; }; + /** CampaignAttemptsView */ + CampaignAttemptsView: { + /** By Status */ + by_status: { + [key: string]: number; + }; + /** Failure Codes */ + failure_codes: { + [key: string]: number; + }; + /** Total */ + total: number; + }; + /** CampaignBudgetView */ + CampaignBudgetView: { + /** Consumed */ + consumed: string; + /** Hard Limit */ + hard_limit: string; + /** Outstanding */ + outstanding: string; + /** Released */ + released: string; + /** Remaining */ + remaining: string; + /** Reserved */ + reserved: string; + /** Unit */ + unit: string; + }; + /** CampaignControlRequest */ + CampaignControlRequest: { + /** Expected Version */ + expected_version: number; + }; + /** CampaignControlResult */ + CampaignControlResult: { + /** + * Campaign Id + * Format: uuid + */ + campaign_id: string; + /** Replayed */ + replayed: boolean; + /** + * State + * @enum {string} + */ + state: "draft" | "ready" | "active" | "paused" | "completed" | "budget_exhausted" | "cancelled" | "failed"; + /** Version */ + version: number; + }; /** CampaignCreated */ CampaignCreated: { /** @@ -590,10 +827,30 @@ export interface components { /** Work Items */ work_items: number; }; + /** + * CampaignDeclaration + * @description The execution limits that must be known before a campaign becomes active. + */ + CampaignDeclaration: { + /** Budget Unit */ + budget_unit: string; + /** Hard Budget */ + hard_budget: number | string; + /** Max Attempts */ + max_attempts: number; + /** Per Attempt Estimate */ + per_attempt_estimate: number | string; + /** + * Stopping Rule + * @constant + */ + stopping_rule: "hard_budget_exhausted"; + }; /** CampaignRequest */ CampaignRequest: { /** Adapter Version */ adapter_version: string; + budget?: components["schemas"]["CampaignDeclaration"] | null; /** Candidates */ candidates: components["schemas"]["HerCandidate"][]; /** @@ -613,6 +870,8 @@ export interface components { }; /** CampaignView */ CampaignView: { + attempts: components["schemas"]["CampaignAttemptsView"]; + budget: components["schemas"]["CampaignBudgetView"]; /** * Campaign Id * Format: uuid @@ -677,6 +936,174 @@ export interface components { /** Passport Id */ passport_id: string; }; + /** + * ElectrolysisColumnMapping + * @description One explicit electrolysis source-column role and unit conversion. + */ + ElectrolysisColumnMapping: { + /** + * Role + * @enum {string} + */ + role: "time" | "current" | "current_density" | "potential" | "ignored"; + /** Source Column */ + source_column: string; + /** Source Unit */ + source_unit?: string | null; + /** Target Unit */ + target_unit?: string | null; + }; + /** + * ElectrolysisImportProfile + * @description Complete instructions for one galvanostatic-electrolysis CSV shape. + */ + "ElectrolysisImportProfile-Input": { + /** Auxiliary Results */ + auxiliary_results: components["schemas"]["AuxiliaryAnalyticalResult-Input"][]; + /** Columns */ + columns: components["schemas"]["ElectrolysisColumnMapping"][]; + /** + * Decimal Convention + * @enum {string} + */ + decimal_convention: "point" | "comma"; + /** Delimiter */ + delimiter: string; + /** + * Encoding + * @enum {string} + */ + encoding: "utf-8" | "utf-8-sig"; + /** Environment Id */ + environment_id: string; + /** Header Row */ + header_row: number; + metadata: components["schemas"]["ElectrolysisMetadata-Input"]; + /** Missing Value Tokens */ + missing_value_tokens: string[]; + /** + * Schema Version + * @constant + */ + schema_version: "1"; + /** + * Technique + * @constant + */ + technique: "galvanostatic_electrolysis"; + }; + /** + * ElectrolysisImportProfile + * @description Complete instructions for one galvanostatic-electrolysis CSV shape. + */ + "ElectrolysisImportProfile-Output": { + /** Auxiliary Results */ + auxiliary_results: components["schemas"]["AuxiliaryAnalyticalResult-Output"][]; + /** Columns */ + columns: components["schemas"]["ElectrolysisColumnMapping"][]; + /** + * Decimal Convention + * @enum {string} + */ + decimal_convention: "point" | "comma"; + /** Delimiter */ + delimiter: string; + /** + * Encoding + * @enum {string} + */ + encoding: "utf-8" | "utf-8-sig"; + /** Environment Id */ + environment_id: string; + /** Header Row */ + header_row: number; + metadata: components["schemas"]["ElectrolysisMetadata-Output"]; + /** Missing Value Tokens */ + missing_value_tokens: string[]; + /** + * Schema Version + * @constant + */ + schema_version: "1"; + /** + * Technique + * @constant + */ + technique: "galvanostatic_electrolysis"; + }; + /** ElectrolysisLineage */ + ElectrolysisLineage: { + /** Auxiliary Source Artifact Ids */ + auxiliary_source_artifact_ids: string[]; + /** Environment Id */ + environment_id: string; + /** Import Profile Id */ + import_profile_id: string; + /** Source Artifact Id */ + source_artifact_id: string; + /** Source Sha256 */ + source_sha256: string; + /** Transformation Ids */ + transformation_ids: string[]; + }; + /** + * ElectrolysisMetadata + * @description Declared electrical context without product-quantification inference. + */ + "ElectrolysisMetadata-Input": { + cell_geometry: components["schemas"]["MetadataValue-Input"]; + chemical_analysis: components["schemas"]["MetadataValue-Input"]; + current_basis: components["schemas"]["MetadataValue-Input"]; + current_sign_convention: components["schemas"]["MetadataValue-Input"]; + electrode_area: components["schemas"]["MetadataValue-Input"]; + interruptions: components["schemas"]["MetadataValue-Input"]; + potential_treatment: components["schemas"]["MetadataValue-Input"]; + reference_scale: components["schemas"]["MetadataValue-Input"]; + sampling_interval: components["schemas"]["MetadataValue-Input"]; + }; + /** + * ElectrolysisMetadata + * @description Declared electrical context without product-quantification inference. + */ + "ElectrolysisMetadata-Output": { + cell_geometry: components["schemas"]["MetadataValue-Output"]; + chemical_analysis: components["schemas"]["MetadataValue-Output"]; + current_basis: components["schemas"]["MetadataValue-Output"]; + current_sign_convention: components["schemas"]["MetadataValue-Output"]; + electrode_area: components["schemas"]["MetadataValue-Output"]; + interruptions: components["schemas"]["MetadataValue-Output"]; + potential_treatment: components["schemas"]["MetadataValue-Output"]; + reference_scale: components["schemas"]["MetadataValue-Output"]; + sampling_interval: components["schemas"]["MetadataValue-Output"]; + }; + /** ElectrolysisNormalisationRequest */ + ElectrolysisNormalisationRequest: { + /** Profile Id */ + profile_id: string; + /** Source Artifact Id */ + source_artifact_id: string; + }; + /** ElectrolysisNormalisationResult */ + ElectrolysisNormalisationResult: { + /** Findings */ + findings: components["schemas"]["StructuralFinding"][]; + graph: components["schemas"]["TransformationGraph"]; + observation: components["schemas"]["NormalisedElectrolysisObservation"]; + }; + /** ElectrolysisNormalisationView */ + ElectrolysisNormalisationView: { + /** Replayed */ + replayed: boolean; + result: components["schemas"]["ElectrolysisNormalisationResult"]; + }; + /** ElectrolysisProfileView */ + ElectrolysisProfileView: { + profile: components["schemas"]["ElectrolysisImportProfile-Output"]; + /** Profile Id */ + profile_id: string; + /** Replayed */ + replayed: boolean; + }; /** ExpectedVersionRequest */ ExpectedVersionRequest: { /** Expected Experiment Version */ @@ -968,29 +1395,71 @@ export interface components { profile_id: string; /** Source Artifact Id */ source_artifact_id: string; - /** - * Source Format - * @default generic_csv - * @enum {string} - */ - source_format: "generic_csv" | "gamry_dta"; - }; - /** NormalisationResult */ - NormalisationResult: { - /** Findings */ - findings: components["schemas"]["StructuralFinding"][]; - graph: components["schemas"]["TransformationGraph"]; - observation: components["schemas"]["NormalisedCVObservation"]; - parser_record?: components["schemas"]["ParserRecord"] | null; - }; - /** NormalisationView */ - NormalisationView: { - /** Replayed */ - replayed: boolean; - result: components["schemas"]["NormalisationResult"]; + /** + * Source Format + * @default generic_csv + * @enum {string} + */ + source_format: "generic_csv" | "gamry_dta"; + }; + /** NormalisationResult */ + NormalisationResult: { + /** Findings */ + findings: components["schemas"]["StructuralFinding"][]; + graph: components["schemas"]["TransformationGraph"]; + observation: components["schemas"]["NormalisedCVObservation"]; + parser_record?: components["schemas"]["ParserRecord"] | null; + }; + /** NormalisationView */ + NormalisationView: { + /** Replayed */ + replayed: boolean; + result: components["schemas"]["NormalisationResult"]; + }; + /** NormalisedCVObservation */ + NormalisedCVObservation: { + /** + * Data Origin + * @enum {string} + */ + data_origin: "observed" | "synthetic"; + /** Environment Id */ + environment_id: string; + /** + * Execution Mode + * @enum {string} + */ + execution_mode: "replay" | "simulation" | "live"; + /** Import Profile Id */ + import_profile_id: string; + metadata: components["schemas"]["CVMetadata-Output"]; + /** Normalisation Version */ + normalisation_version: string; + /** Observation Id */ + observation_id: string; + /** Parser Record Id */ + parser_record_id?: string | null; + /** Parser Version */ + parser_version: string; + provenance: components["schemas"]["CVLineage"]; + /** Row Count */ + row_count: number; + /** + * Schema Version + * @constant + */ + schema_version: "1"; + /** Series */ + series: components["schemas"]["NormalisedSeries"][]; + /** Source Artifact Id */ + source_artifact_id: string; + /** Transformation Ids */ + transformation_ids: string[]; }; - /** NormalisedCVObservation */ - NormalisedCVObservation: { + /** NormalisedElectrolysisObservation */ + NormalisedElectrolysisObservation: { + /** Auxiliary Results */ + auxiliary_results: components["schemas"]["AuxiliaryAnalyticalResult-Output"][]; /** * Data Origin * @enum {string} @@ -1005,16 +1474,14 @@ export interface components { execution_mode: "replay" | "simulation" | "live"; /** Import Profile Id */ import_profile_id: string; - metadata: components["schemas"]["CVMetadata-Output"]; + metadata: components["schemas"]["ElectrolysisMetadata-Output"]; /** Normalisation Version */ normalisation_version: string; /** Observation Id */ observation_id: string; - /** Parser Record Id */ - parser_record_id?: string | null; /** Parser Version */ parser_version: string; - provenance: components["schemas"]["CVLineage"]; + provenance: components["schemas"]["ElectrolysisLineage"]; /** Row Count */ row_count: number; /** @@ -1026,6 +1493,11 @@ export interface components { series: components["schemas"]["NormalisedSeries"][]; /** Source Artifact Id */ source_artifact_id: string; + /** + * Technique + * @constant + */ + technique: "galvanostatic_electrolysis"; /** Transformation Ids */ transformation_ids: string[]; }; @@ -1511,6 +1983,117 @@ export interface operations { }; }; }; + cancel_campaign_campaigns__campaign_id__cancel_post: { + parameters: { + query?: never; + header?: { + "Idempotency-Key"?: string | null; + }; + path: { + campaign_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["CampaignControlRequest"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CampaignControlResult"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + pause_campaign_campaigns__campaign_id__pause_post: { + parameters: { + query?: never; + header?: { + "Idempotency-Key"?: string | null; + }; + path: { + campaign_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["CampaignControlRequest"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CampaignControlResult"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + resume_campaign_campaigns__campaign_id__resume_post: { + parameters: { + query?: never; + header?: { + "Idempotency-Key"?: string | null; + }; + path: { + campaign_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["CampaignControlRequest"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CampaignControlResult"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; create_profile_cv_import_profiles_post: { parameters: { query?: never; @@ -1738,6 +2321,138 @@ export interface operations { }; }; }; + create_profile_electrolysis_import_profiles_post: { + parameters: { + query?: never; + header?: { + "Idempotency-Key"?: string | null; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ElectrolysisImportProfile-Input"]; + }; + }; + responses: { + /** @description Successful Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ElectrolysisProfileView"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + read_profile_electrolysis_import_profiles__profile_id__get: { + parameters: { + query?: never; + header?: never; + path: { + profile_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ElectrolysisProfileView"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + normalise_electrolysis_normalisations_post: { + parameters: { + query?: never; + header?: { + "Idempotency-Key"?: string | null; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ElectrolysisNormalisationRequest"]; + }; + }; + responses: { + /** @description Successful Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ElectrolysisNormalisationView"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + read_normalisation_electrolysis_normalised_observations__observation_id__get: { + parameters: { + query?: never; + header?: never; + path: { + observation_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ElectrolysisNormalisationView"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; get_package_route_experiment_packages__package_id__get: { parameters: { query?: never; diff --git a/pyproject.toml b/pyproject.toml index 8a9c0e4..a765bd2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,9 +21,10 @@ keywords = [ ] dependencies = [ - "pydantic>=2.7", + "pydantic==2.11.9", # 2.12 changes Decimal JSON Schema and breaks the locked OpenAPI contract "pydantic-settings>=2.3", - "fastapi>=0.111", + "fastapi==0.135.1", + "starlette==0.48.0", # FastAPI 0.135.1 schema generation; keep the renderer that wrote the contract "uvicorn[standard]>=0.30", "pandas>=2.2", "pyarrow>=16.0", @@ -83,7 +84,7 @@ src = ["src", "tests"] [tool.ruff.lint] select = ["E", "F", "I", "N", "UP", "B", "SIM", "RUF", "PL", "ASYNC"] -ignore = ["PLR0913"] +ignore = ["PLR0913", "PLR0917"] [tool.ruff.lint.per-file-ignores] # Alembic writes these. Rewrapping generated DDL would make the file diverge from what the next diff --git a/scripts/hooks/pre-commit b/scripts/hooks/pre-commit index c819da6..1bc5285 100644 --- a/scripts/hooks/pre-commit +++ b/scripts/hooks/pre-commit @@ -110,10 +110,22 @@ else fi # --- artifact validation ---------------------------------------------------------------------------- -if have labbridge && labbridge validate-artifacts --help >/dev/null 2>&1; then - run "artifact validation" labbridge validate-artifacts +# Run the checkout's own CLI rather than whatever `labbridge` resolves to on PATH: an editable +# install can point at a different worktree, which would gate this commit on another tree's bytes. +# This is the gate that must not be able to pass by not running, so resolve an interpreter under +# either common name rather than skipping on a platform where only `python3` exists. +python_bin="" +if have python; then + python_bin=python +elif have python3; then + python_bin=python3 +fi +if [ -n "$python_bin" ] && [ -d src/labbridge ]; then + # `src` first so an editable install pointing at another worktree cannot decide this commit. + export PYTHONPATH="src${PYTHONPATH:+:$PYTHONPATH}" + run "artifact validation" "$python_bin" -m labbridge.cli validate-artifacts else - echo " [skip] artifact validation (validate-artifacts not implemented yet)" + echo " [skip] artifact validation (no python interpreter or no src/labbridge in this checkout)" fi # --- secret scan on staged content ------------------------------------------------------------------ diff --git a/scripts/reproduce_campaign_reliability.py b/scripts/reproduce_campaign_reliability.py index dd96152..750f5cd 100644 --- a/scripts/reproduce_campaign_reliability.py +++ b/scripts/reproduce_campaign_reliability.py @@ -37,6 +37,7 @@ from labbridge.reliability.backup_restore import verify_backup_restore from labbridge.reliability.fault_campaign import plan_fault_points from labbridge.reliability.migration_rehearsal import rehearse_migration +from labbridge.reliability.producer_identity import require_clean_committed_producer from labbridge.reliability.release import ( verify_fault_campaign_release, write_fault_campaign_release, @@ -90,7 +91,11 @@ def _command_output(argv: list[str]) -> str: def _environment_manifest( - *, database_name: str, bucket: str, fixture_manifest_sha256: str + *, + database_name: str, + bucket: str, + fixture_manifest_sha256: str, + producer: dict[str, object], ) -> dict[str, object]: versions = {} for distribution in ("labbridge", "sqlalchemy", "psycopg", "boto3", "alembic"): @@ -104,8 +109,11 @@ def _environment_manifest( "python": sys.version, "python_executable": sys.executable, "dependency_versions": versions, - "git_head": _command_output(["git", "rev-parse", "HEAD"]), - "origin_main": _command_output(["git", "rev-parse", "origin/main"]), + "git_head": producer["git_head"], + "origin_main": producer["origin_main"], + "merge_base_with_origin_main": producer["merge_base_with_origin_main"], + "origin_main_contained": producer["origin_main_contained"], + "working_tree": producer["working_tree"], "source_tree_sha256": _source_tree_digest(), "docker_version": _command_output(["docker", "version", "--format", "{{.Server.Version}}"]), "compose_images": _command_output(["docker", "compose", "images", "--format", "json"]), @@ -120,6 +128,7 @@ def _environment_manifest( async def _run(args: argparse.Namespace) -> list[CampaignExecution]: + producer = require_clean_committed_producer(REPO_ROOT, allow_dirty=args.allow_dirty) os.environ["LABBRIDGE_DB_NAME"] = args.database_name os.environ["LABBRIDGE_S3_BUCKET"] = args.bucket _ensure_database(args.database_name) @@ -193,6 +202,7 @@ async def _run(args: argparse.Namespace) -> list[CampaignExecution]: database_name=args.database_name, bucket=args.bucket, fixture_manifest_sha256=fixture_sha, + producer=dict(producer), ) operational = verify_backup_restore( source_engine=engine, @@ -230,6 +240,11 @@ def main() -> int: parser.add_argument("--database-name", default="labbridge_phase7_fault_campaign") parser.add_argument("--bucket", default="labbridge-phase7-fault-campaign") parser.add_argument("--output", type=Path, default=Path("build/phase7-fault-campaign")) + parser.add_argument( + "--allow-dirty", + action="store_true", + help="Allow an uncommitted worktree; still records working_tree=dirty in the manifest.", + ) args = parser.parse_args() if args.output.exists() and any(args.output.iterdir()): raise SystemExit(f"output directory is not empty: {args.output}") diff --git a/src/labbridge/api/app.py b/src/labbridge/api/app.py index 9424c7a..baa15ab 100644 --- a/src/labbridge/api/app.py +++ b/src/labbridge/api/app.py @@ -36,6 +36,7 @@ from labbridge.application.campaigns import CampaignControlResult, CampaignControlService from labbridge.application.cv_ingestion import CVIngestionService +from labbridge.application.electrolysis_ingestion import ElectrolysisIngestionService from labbridge.application.experiments import ExperimentService from labbridge.application.source_intake import SourceArtifactService from labbridge.domain.campaigns import CampaignDeclaration @@ -50,6 +51,7 @@ ) from labbridge.domain.identity import ADMISSIBLE_PAIRS, DataOrigin, ExecutionMode from labbridge.infrastructure.cv_wiring import build_cv_service +from labbridge.infrastructure.electrolysis_wiring import build_electrolysis_service from labbridge.infrastructure.experiment_wiring import build_experiment_service from labbridge.infrastructure.persistence.config import DatabaseSettings from labbridge.infrastructure.persistence.tables import ( @@ -68,6 +70,7 @@ from labbridge.runtime.jobs import enqueue from .cv import register_cv_routes +from .electrolysis import register_electrolysis_routes from .experiments import register_experiment_routes from .frontend import register_frontend from .source_artifacts import register_source_routes @@ -175,6 +178,22 @@ def provide() -> CVIngestionService: return provide +def _electrolysis_service_provider( + engine_provider: Callable[[], Engine], + source_provider: Callable[[], SourceArtifactService], + configured: ElectrolysisIngestionService | None, +) -> Callable[[], ElectrolysisIngestionService]: + bound = configured + + def provide() -> ElectrolysisIngestionService: + nonlocal bound + if bound is None: + bound = build_electrolysis_service(source_provider(), engine_provider()) + return bound + + return provide + + def _experiment_service_provider( engine_provider: Callable[[], Engine], source_provider: Callable[[], SourceArtifactService], @@ -186,7 +205,16 @@ def _experiment_service_provider( def provide() -> ExperimentService: nonlocal bound if bound is None: - bound = build_experiment_service(source_provider(), cv_provider(), engine_provider()) + engine = engine_provider() + source_service = source_provider() + # Both normalisation readers, so POST /experiments resolves an electrolysis + # observation instead of falling through to the CV reader and reporting it not found. + bound = build_experiment_service( + source_service, + cv_provider(), + engine, + electrolysis_service=build_electrolysis_service(source_service, engine), + ) return bound return provide @@ -250,10 +278,12 @@ def _replay( def create_app( # noqa: PLR0915 - one explicit registration point for all HTTP adapters engine: Engine | None = None, + *, source_service: SourceArtifactService | None = None, cv_service: CVIngestionService | None = None, experiment_service: ExperimentService | None = None, frontend_dir: Path | None = None, + electrolysis_service: ElectrolysisIngestionService | None = None, ) -> FastAPI: """Build the application. The engine is injectable so tests bind their own. @@ -277,6 +307,10 @@ def _engine() -> Engine: cv_provider = _cv_service_provider(_engine, source_provider, cv_service) register_cv_routes(app, cv_provider) + electrolysis_provider = _electrolysis_service_provider( + _engine, source_provider, electrolysis_service + ) + register_electrolysis_routes(app, electrolysis_provider) register_experiment_routes( app, _experiment_service_provider( diff --git a/src/labbridge/api/electrolysis.py b/src/labbridge/api/electrolysis.py new file mode 100644 index 0000000..9e5490b --- /dev/null +++ b/src/labbridge/api/electrolysis.py @@ -0,0 +1,145 @@ +"""FastAPI adapter for explicit galvanostatic-electrolysis ingestion.""" + +from __future__ import annotations + +from collections.abc import Callable + +from fastapi import FastAPI, Header, HTTPException, Response, status +from pydantic import BaseModel, ConfigDict + +from labbridge.application.electrolysis_ingestion import ( + ElectrolysisIngestionError, + ElectrolysisIngestionService, + ElectrolysisObservationNotFoundError, + ElectrolysisProfileNotFoundError, + StoredElectrolysisNormalisation, + StoredElectrolysisProfile, +) +from labbridge.application.source_intake import SourceIntakeError +from labbridge.domain.electrolysis import ElectrolysisImportProfile +from labbridge.domain.electrolysis_observations import ElectrolysisNormalisationResult +from labbridge.domain.idempotency import IdempotencyKeyError, normalise_idempotency_key +from labbridge.infrastructure.cv_csv import CsvParseError + + +class ElectrolysisNormalisationRequest(BaseModel): + model_config = ConfigDict(extra="forbid") + + source_artifact_id: str + profile_id: str + + +class ElectrolysisProfileView(BaseModel): + profile_id: str + profile: ElectrolysisImportProfile + replayed: bool + + +class ElectrolysisNormalisationView(BaseModel): + result: ElectrolysisNormalisationResult + replayed: bool + + +def _idempotency(key: str | None) -> str: + try: + return normalise_idempotency_key(key) + except IdempotencyKeyError as error: + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail={"code": error.code, "message": str(error)}, + ) from error + + +def _error(error: Exception) -> HTTPException: + if isinstance( + error, + ElectrolysisProfileNotFoundError | ElectrolysisObservationNotFoundError, + ): + http_status = status.HTTP_404_NOT_FOUND + elif isinstance(error, CsvParseError | ValueError): + http_status = status.HTTP_422_UNPROCESSABLE_CONTENT + else: + http_status = status.HTTP_409_CONFLICT + return HTTPException( + status_code=http_status, + detail={ + "code": getattr(error, "code", "electrolysis_ingestion_error"), + "message": str(error), + }, + ) + + +def _profile_view(stored: StoredElectrolysisProfile, response: Response) -> ElectrolysisProfileView: + if stored.replayed: + response.status_code = status.HTTP_200_OK + return ElectrolysisProfileView( + profile_id=stored.profile_id, profile=stored.profile, replayed=stored.replayed + ) + + +def _normalisation_view( + stored: StoredElectrolysisNormalisation, response: Response +) -> ElectrolysisNormalisationView: + if stored.replayed: + response.status_code = status.HTTP_200_OK + return ElectrolysisNormalisationView(result=stored.result, replayed=stored.replayed) + + +def register_electrolysis_routes( + app: FastAPI, service: Callable[[], ElectrolysisIngestionService] +) -> None: + @app.post("/electrolysis/import-profiles", status_code=status.HTTP_201_CREATED) + def create_profile( + profile: ElectrolysisImportProfile, + response: Response, + idempotency_key: str | None = Header(default=None, alias="Idempotency-Key"), + ) -> ElectrolysisProfileView: + key = _idempotency(idempotency_key) + try: + stored = service().create_profile(profile, idempotency_key=key) + except ElectrolysisIngestionError as error: + raise _error(error) from error + return _profile_view(stored, response) + + @app.get("/electrolysis/import-profiles/{profile_id}") + def read_profile(profile_id: str) -> ElectrolysisProfileView: + try: + stored = service().get_profile(profile_id) + except ElectrolysisIngestionError as error: + raise _error(error) from error + return ElectrolysisProfileView( + profile_id=stored.profile_id, profile=stored.profile, replayed=True + ) + + @app.post("/electrolysis/normalisations", status_code=status.HTTP_201_CREATED) + def normalise( + request: ElectrolysisNormalisationRequest, + response: Response, + idempotency_key: str | None = Header(default=None, alias="Idempotency-Key"), + ) -> ElectrolysisNormalisationView: + key = _idempotency(idempotency_key) + try: + stored = service().normalise( + request.source_artifact_id, + request.profile_id, + idempotency_key=key, + ) + except ( + ElectrolysisIngestionError, + SourceIntakeError, + CsvParseError, + ValueError, + ) as error: + raise _error(error) from error + return _normalisation_view(stored, response) + + @app.get("/electrolysis/normalised-observations/{observation_id}") + def read_normalisation(observation_id: str) -> ElectrolysisNormalisationView: + try: + stored = service().get_normalisation(observation_id) + except ElectrolysisIngestionError as error: + raise _error(error) from error + return ElectrolysisNormalisationView(result=stored.result, replayed=True) + + +__all__ = ["register_electrolysis_routes"] diff --git a/src/labbridge/application/electrolysis_ingestion.py b/src/labbridge/application/electrolysis_ingestion.py index 480ec48..5d0266f 100644 --- a/src/labbridge/application/electrolysis_ingestion.py +++ b/src/labbridge/application/electrolysis_ingestion.py @@ -255,6 +255,9 @@ class ElectrolysisObservationIntegrityError(ElectrolysisIngestionError): class ElectrolysisIdempotencyConflictError(ElectrolysisIngestionError): code = "electrolysis_idempotency_key_reused" + def __init__(self, idempotency_key: str) -> None: + super().__init__(f"idempotency key `{idempotency_key}` was reused for a different request") + class SourceReader(Protocol): def retrieve(self, source_artifact_id: str) -> RetrievedSource: ... diff --git a/src/labbridge/cli.py b/src/labbridge/cli.py index b769eaa..6734e19 100644 --- a/src/labbridge/cli.py +++ b/src/labbridge/cli.py @@ -27,6 +27,10 @@ from labbridge import __version__ from labbridge.application.cv_ingestion import CVIngestionError, CVIngestionService +from labbridge.application.electrolysis_ingestion import ( + ElectrolysisIngestionError, + ElectrolysisIngestionService, +) from labbridge.application.experiments import ( ExperimentApplicationError, ExperimentService, @@ -39,6 +43,7 @@ ) from labbridge.demo import engine_from_settings, run_demo from labbridge.domain.cv import CSVFormat, CVImportProfile +from labbridge.domain.electrolysis import ElectrolysisImportProfile from labbridge.domain.identity import DataOrigin, ExecutionMode from labbridge.domain.parser_diagnostics import SourceFormat from labbridge.environments.her_replay import HerReplayAdapter @@ -55,6 +60,7 @@ from labbridge.evidence.manifest import ArtifactVerificationError, verify_manifest from labbridge.infrastructure.cv_csv import CsvParseError from labbridge.infrastructure.cv_wiring import build_cv_service +from labbridge.infrastructure.electrolysis_wiring import build_electrolysis_service from labbridge.infrastructure.experiment_wiring import build_experiment_service from labbridge.infrastructure.her_ingestion.errors import HerIngestionError from labbridge.infrastructure.her_ingestion.fetch import ( @@ -89,6 +95,10 @@ DEFAULT_FIXTURE_ROOT: Final = Path("data/her/fixture") #: Bundles are regenerable from the database, so they live beside the data and stay git-ignored. DEFAULT_BUNDLE_ROOT: Final = Path("data/bundles") +#: Released evidence is committed here and is what the bare gate must protect. It is searched +#: alongside the bundle root so the gate cannot pass by finding nothing in a git-ignored directory. +DEFAULT_ARTIFACT_ROOT: Final = Path("artifacts") +DEFAULT_VERIFICATION_ROOTS: Final = (DEFAULT_ARTIFACT_ROOT, DEFAULT_BUNDLE_ROOT) app = typer.Typer(add_completion=False, no_args_is_help=True, help=__doc__.splitlines()[0]) #: `docs/SPEC.md` §11.2 fixes `labbridge demo her` and `labbridge evidence verify ` as @@ -99,6 +109,10 @@ cv_app = typer.Typer( no_args_is_help=True, help="Inspect and normalise explicitly mapped CV source files." ) +electrolysis_app = typer.Typer( + no_args_is_help=True, + help="Retain and normalise explicitly mapped galvanostatic electrolysis files.", +) experiment_app = typer.Typer( no_args_is_help=True, help="Version experiments and release Experiment Passports." ) @@ -109,6 +123,7 @@ app.add_typer(evidence_app, name="evidence") app.add_typer(source_app, name="source") app.add_typer(cv_app, name="cv") +app.add_typer(electrolysis_app, name="electrolysis") app.add_typer(experiment_app, name="experiment") app.add_typer(package_app, name="package") console = Console() @@ -154,10 +169,22 @@ def _build_cv_service() -> CVIngestionService: return build_cv_service(_build_source_service()) +def _build_electrolysis_service() -> ElectrolysisIngestionService: + return build_electrolysis_service(_build_source_service()) + + def _build_experiment_service() -> ExperimentService: + engine = create_engine(DatabaseSettings().dsn, future=True) source_service = _build_source_service() - cv_service = build_cv_service(source_service) - return build_experiment_service(source_service, cv_service) + cv_service = build_cv_service(source_service, engine) + # Both normalisation readers, so `experiment create` resolves an electrolysis observation + # instead of falling through to the CV reader and reporting it as not found. + return build_experiment_service( + source_service, + cv_service, + engine, + electrolysis_service=build_electrolysis_service(source_service, engine), + ) def _experiment_failure(error: Exception) -> None: @@ -174,6 +201,12 @@ def _cv_failure(error: Exception) -> None: raise typer.Exit(code=1) from error +def _electrolysis_failure(error: Exception) -> None: + code = getattr(error, "code", "electrolysis_ingestion_error") + console.print(f"[red]{escape(str(code))}[/red]: {escape(str(error))}") + raise typer.Exit(code=1) from error + + @cv_app.command("inspect") def cv_inspect( source_artifact_id: Annotated[str, typer.Argument(help="Retained Phase 1 source identity.")], @@ -307,6 +340,59 @@ def cv_plot( console.print(plot.observation_id) +@electrolysis_app.command("profile-create") +def electrolysis_profile_create( + profile_file: Annotated[Path, typer.Argument(help="Versioned JSON import profile.")], + json_output: Annotated[ + bool, typer.Option("--json", help="Emit machine-readable JSON.") + ] = False, +) -> None: + """Validate and retain one immutable explicit electrolysis import profile.""" + try: + profile = ElectrolysisImportProfile.model_validate_json( + profile_file.read_text(encoding="utf-8") + ) + stored = _build_electrolysis_service().create_profile(profile) + except (OSError, ValueError, ElectrolysisIngestionError) as error: + _electrolysis_failure(error) + payload = { + "profile_id": stored.profile_id, + "profile": stored.profile.model_dump(mode="json"), + "replayed": stored.replayed, + } + if json_output: + typer.echo(json.dumps(payload, sort_keys=True, ensure_ascii=False)) + else: + console.print(stored.profile_id) + + +@electrolysis_app.command("normalise") +def electrolysis_normalise( + source_artifact_id: Annotated[str, typer.Argument(help="Retained source identity.")], + profile_id: Annotated[ + str, typer.Option("--profile-id", help="Explicit electrolysis import profile identity.") + ], + json_output: Annotated[ + bool, typer.Option("--json", help="Emit machine-readable JSON.") + ] = False, +) -> None: + """Normalise one retained electrolysis source through the shared application service.""" + try: + stored = _build_electrolysis_service().normalise(source_artifact_id, profile_id) + except ( + ElectrolysisIngestionError, + SourceIntakeError, + CsvParseError, + ValueError, + ) as error: + _electrolysis_failure(error) + payload = {"result": stored.result.model_dump(mode="json"), "replayed": stored.replayed} + if json_output: + typer.echo(json.dumps(payload, sort_keys=True, ensure_ascii=False)) + else: + console.print(stored.result.observation.observation_id) + + @experiment_app.command("create") def experiment_create( observation_id: Annotated[str, typer.Argument(help="Retained Phase 2 observation identity.")], @@ -682,32 +768,44 @@ def validate_artifacts( typer.Option("--bundle", help="One bundle to verify. Omit to verify every bundle found."), ] = None, bundle_root: Annotated[ - Path, typer.Option("--bundle-root", help="Where to look when --bundle is omitted.") - ] = DEFAULT_BUNDLE_ROOT, + Path | None, + typer.Option( + "--bundle-root", + help="Search one root instead of the committed artifacts and the local bundle root.", + ), + ] = None, ) -> None: """Recompute every checksum in an evidence bundle and report whether it still matches. Recomputed from the bytes on disk, never compared against a recorded size: a file edited in place keeps its size far more often than it keeps its hash. - With no `--bundle` it verifies every bundle under the root, so the bare command is the gate - `AI_CONTRACT.md` §10 names. An empty root is reported as such rather than passing silently — - "nothing to check" and "everything checks out" are different answers. + With no `--bundle` it verifies everything under the committed artifact root and the local + bundle root, so the bare command is the gate `AI_CONTRACT.md` §10 names. Searching only + `data/bundles` would let the gate pass on a clean checkout by finding nothing in a git-ignored + directory, leaving the released evidence it exists to protect unchecked. Finding nothing at all + exits non-zero: "nothing to check" and "everything checks out" are different answers. Registered under two names because the documents disagree: `AI_CONTRACT.md` §10 calls the gate `labbridge validate-artifacts`, while `docs/SPEC.md` §11.2 lists `labbridge evidence verify`. - Both resolve here rather than one being silently preferred; the contradiction is recorded in - `docs/AGENT_SYSTEM.md`. + Both resolve here rather than one being silently preferred. """ object_store = _build_object_store() if mode is VerificationMode.FULL else None if bundle is not None: _verify_one(bundle, mode, object_store) return - candidates = sorted(p for p in bundle_root.glob("*") if (p / "manifest.json").exists()) + roots = (bundle_root,) if bundle_root is not None else DEFAULT_VERIFICATION_ROOTS + candidates = sorted( + directory + for root in roots + for directory in root.glob("*") + if (directory / "manifest.json").exists() + ) if not candidates: - console.print(f"[yellow]no bundle found under {bundle_root}[/yellow] — nothing verified") - return + searched = ", ".join(str(root) for root in roots) + console.print(f"[red]no_evidence_found[/red]: nothing to verify under {escape(searched)}") + raise typer.Exit(code=1) for candidate in candidates: _verify_one(candidate, mode, object_store) console.print(f"[green]{len(candidates)} bundle(s) verified[/green]") diff --git a/src/labbridge/evidence/echemdb_cv_artifact.py b/src/labbridge/evidence/echemdb_cv_artifact.py index 86c8e95..a3d86f5 100644 --- a/src/labbridge/evidence/echemdb_cv_artifact.py +++ b/src/labbridge/evidence/echemdb_cv_artifact.py @@ -71,6 +71,15 @@ EchemDB figure type is an explicitly asserted lossy projection; LabBridge `data_origin` and `execution_mode` remain independently represented in `labbridge-provenance.json`. +Two boundaries of that companion arrangement are explicit rather than resolved. `datapackage.json` +declares one resource, `cv.csv`, and does not reference `labbridge-provenance.json`, so a consumer +reading the package only as Frictionless defines it receives the table without LabBridge origin, +execution mode, or evidence identities; those are found by reading the companion beside it. +`cv.csv` itself carries no synthetic marker in its filename or its columns, because its field set +is fixed by the pinned EchemDB `figureDescription`. Within this package the synthetic origin is +declared by `source.citationKey`, `source.originalFilename`, `figureDescription.type`, and the +companion; detached from them the table does not identify itself as synthetic. + The capability status is `implemented`; this uncommitted candidate is not evidence of clean-checkout demonstration, EchemDB ingestion, EchemDB publication, or production deployment. """ diff --git a/src/labbridge/evidence/experiment_package.py b/src/labbridge/evidence/experiment_package.py index fbd3a09..a43512f 100644 --- a/src/labbridge/evidence/experiment_package.py +++ b/src/labbridge/evidence/experiment_package.py @@ -801,7 +801,15 @@ def _verify_phase_evidence_identity( # noqa: PLR0912,PLR0915 graph: dict[str, object], passport: ExperimentPassport, ) -> None: - if profile.get("technique") == "galvanostatic_electrolysis": + # The Passport is the single authority for technique. Branching on the profile instead let an + # archive declare `galvanostatic_electrolysis` in its Passport and `cyclic_voltammetry` in its + # profile, take the CV branch, and skip every electrolysis-specific semantic check while still + # verifying. Disagreement is now a verification failure rather than a silent choice. + if profile.get("technique") != passport.technique: + raise ExperimentPackageVerificationError( + "package_technique_mismatch", "import-profile and Passport techniques differ" + ) + if passport.technique == "galvanostatic_electrolysis": _verify_electrolysis_evidence_identity(source, observation, profile, graph, passport) return try: diff --git a/src/labbridge/evidence/galvanostatic_electrolysis.py b/src/labbridge/evidence/galvanostatic_electrolysis.py index c187280..d27b62e 100644 --- a/src/labbridge/evidence/galvanostatic_electrolysis.py +++ b/src/labbridge/evidence/galvanostatic_electrolysis.py @@ -35,7 +35,7 @@ "python scripts/reproduce_galvanostatic_electrolysis.py " "--output build/galvanostatic-electrolysis\n" "labbridge package verify build/galvanostatic-electrolysis/experiment-package.zip --json\n" - "labbridge validate-artifacts build/galvanostatic-electrolysis\n" + "labbridge validate-artifacts --bundle build/galvanostatic-electrolysis\n" ) LIMITATIONS: Final = """# Galvanostatic electrolysis package limitations diff --git a/src/labbridge/evidence/gamry_dta_cv.py b/src/labbridge/evidence/gamry_dta_cv.py index 5534f43..76c1f7a 100644 --- a/src/labbridge/evidence/gamry_dta_cv.py +++ b/src/labbridge/evidence/gamry_dta_cv.py @@ -32,7 +32,7 @@ REPRODUCTION_COMMAND: Final = ( "python scripts/reproduce_gamry_dta_cv.py --output build/gamry-dta-cv\n" "labbridge package verify build/gamry-dta-cv/experiment-package.zip --json\n" - "labbridge validate-artifacts build/gamry-dta-cv\n" + "labbridge validate-artifacts --bundle build/gamry-dta-cv\n" ) SUPPORT: Final = """# Supported Gamry DTA CV variant diff --git a/src/labbridge/evidence/manifest.py b/src/labbridge/evidence/manifest.py index ce3ff11..76043da 100644 --- a/src/labbridge/evidence/manifest.py +++ b/src/labbridge/evidence/manifest.py @@ -41,8 +41,15 @@ def build_manifest( overlap = reserved.intersection(metadata) if overlap: raise ValueError(f"manifest metadata uses reserved keys: {', '.join(sorted(overlap))}") + # Sort by filename text. `sorted(Path)` is case-insensitive on Windows and case-sensitive on + # POSIX, so the same bytes produced a different `files` array — and `files_digest` — in CI. members = sorted( - path for path in destination.iterdir() if path.is_file() and path.name != MANIFEST_FILENAME + ( + path + for path in destination.iterdir() + if path.is_file() and path.name != MANIFEST_FILENAME + ), + key=lambda path: (path.name.casefold(), path.name), ) files = [ {"name": path.name, "sha256": digest(path.read_bytes()), "byte_size": path.stat().st_size} diff --git a/src/labbridge/reliability/migration_rehearsal.py b/src/labbridge/reliability/migration_rehearsal.py index 7512251..688d738 100644 --- a/src/labbridge/reliability/migration_rehearsal.py +++ b/src/labbridge/reliability/migration_rehearsal.py @@ -1,4 +1,10 @@ -"""Versioned production-like migration rehearsal for the Phase 7 release.""" +"""Versioned production-like migration rehearsal for a release database. + +The rehearsal upgrades from the previous tagged schema to the unique current Alembic head. +It does not pin a historical parent revision: a merge, a later additive migration, or a split +head must change the outcome. The event-stream contract revision must remain an ancestor of +that unique head so a graph that drops contract version 2 cannot pass. +""" from __future__ import annotations @@ -10,13 +16,14 @@ from alembic import command from alembic.config import Config +from alembic.script import ScriptDirectory from sqlalchemy import create_engine, func, select from labbridge.infrastructure.persistence.config import DatabaseSettings from labbridge.infrastructure.persistence.tables import campaigns PREVIOUS_REVISION = "74e1b6a09d22" -EXPECTED_HEAD = "a93b7c1e4d62" +EVENT_STREAM_CONTRACT_REVISION = "a93b7c1e4d62" def _config(repo_root: Path) -> Config: @@ -25,6 +32,22 @@ def _config(repo_root: Path) -> Config: return config +def expected_upgrade_revision(repo_root: Path) -> str: + """Return the unique current Alembic head that a rehearsal must reach.""" + script = ScriptDirectory.from_config(_config(repo_root)) + heads = script.get_heads() + if len(heads) != 1: + raise RuntimeError(f"migration rehearsal requires a unique Alembic head; found {heads}") + head = heads[0] + ancestry = {revision.revision for revision in script.walk_revisions("base", head)} + if EVENT_STREAM_CONTRACT_REVISION not in ancestry: + raise RuntimeError( + "migration rehearsal is missing the event-stream contract revision " + f"{EVENT_STREAM_CONTRACT_REVISION}" + ) + return head + + def _create_empty_database(name: str) -> None: admin = create_engine(DatabaseSettings(name="labbridge").dsn, isolation_level="AUTOCOMMIT") with admin.connect() as connection: @@ -74,6 +97,7 @@ def rehearse_migration(*, repo_root: Path, database_name: str) -> dict[str, obje marker_count_before = int( connection.execute(select(func.count()).select_from(campaigns)).scalar_one() ) + expected = expected_upgrade_revision(repo_root) began_upgrade = time.monotonic() command.upgrade(config, "head") duration = time.monotonic() - began_upgrade @@ -102,8 +126,11 @@ def rehearse_migration(*, repo_root: Path, database_name: str) -> dict[str, obje os.environ.pop("LABBRIDGE_DB_NAME", None) else: os.environ["LABBRIDGE_DB_NAME"] = previous_name - if revision != EXPECTED_HEAD or "2" not in constraint: - raise RuntimeError("migration rehearsal did not reach the replay-complete head") + if revision != expected or "2" not in constraint: + raise RuntimeError( + "migration rehearsal did not reach the unique Alembic head " + f"{expected}; database revision is {revision}" + ) if marker_count_before != marker_count_after: raise RuntimeError("migration rehearsal did not preserve campaign row counts") if preserved_contract != 1: @@ -124,4 +151,9 @@ def rehearse_migration(*, repo_root: Path, database_name: str) -> dict[str, obje } -__all__ = ["rehearse_migration"] +__all__ = [ + "EVENT_STREAM_CONTRACT_REVISION", + "PREVIOUS_REVISION", + "expected_upgrade_revision", + "rehearse_migration", +] diff --git a/src/labbridge/reliability/producer_identity.py b/src/labbridge/reliability/producer_identity.py new file mode 100644 index 0000000..a5028b5 --- /dev/null +++ b/src/labbridge/reliability/producer_identity.py @@ -0,0 +1,98 @@ +"""Fail-closed producer identity for release evidence runs.""" + +from __future__ import annotations + +import os +import subprocess +from pathlib import Path +from typing import TypedDict + +_INHERITED_GIT_DIRECTORY_VARS = ( + "GIT_DIR", + "GIT_WORK_TREE", + "GIT_INDEX_FILE", + "GIT_OBJECT_DIRECTORY", + "GIT_ALTERNATE_OBJECT_DIRECTORIES", + "GIT_COMMON_DIR", + "GIT_PREFIX", +) + + +def _git_subprocess_env() -> dict[str, str]: + """Ignore hook-inherited Git directory variables so cwd is the inspected tree.""" + env = os.environ.copy() + for key in _INHERITED_GIT_DIRECTORY_VARS: + env.pop(key, None) + return env + + +class ProducerIdentity(TypedDict): + git_head: str + origin_main: str + merge_base_with_origin_main: str + origin_main_contained: bool + working_tree: str + + +def _git_invocation(repo_root: Path) -> list[str]: + """Pin linked worktrees so a bare common dir is not inspected as the producer.""" + git_meta = repo_root / ".git" + if git_meta.is_file(): + for raw in git_meta.read_text(encoding="utf-8").splitlines(): + line = raw.strip() + if line.lower().startswith("gitdir:"): + pointed = Path(line.split(":", 1)[1].strip()) + if not pointed.is_absolute(): + pointed = (repo_root / pointed).resolve() + return ["git", f"--git-dir={pointed}", f"--work-tree={repo_root}"] + return ["git"] + + +def _git(repo_root: Path, *args: str) -> str: + completed = subprocess.run( + [*_git_invocation(repo_root), *args], + cwd=repo_root, + env=_git_subprocess_env(), + capture_output=True, + text=True, + check=False, + timeout=30, + ) + if completed.returncode != 0: + detail = (completed.stderr or completed.stdout).strip() or f"exit {completed.returncode}" + raise RuntimeError(f"git {' '.join(args)} failed: {detail}") + return completed.stdout.strip() + + +def require_clean_committed_producer( + repo_root: Path, *, allow_dirty: bool = False +) -> ProducerIdentity: + """Refuse to start unless HEAD exists and the tree contains origin/main. + + A dirty worktree is refused unless `allow_dirty` is set. That escape hatch still records + `working_tree=dirty` so a release artifact cannot pretend it came from a committed producer. + """ + head = _git(repo_root, "rev-parse", "--verify", "HEAD") + dirty = bool(_git(repo_root, "status", "--porcelain")) + if dirty and not allow_dirty: + raise RuntimeError( + "producer source tree is not clean; commit or discard local changes before " + "the evidence run" + ) + origin_main = _git(repo_root, "rev-parse", "origin/main") + merge_base = _git(repo_root, "merge-base", "HEAD", "origin/main") + if merge_base != origin_main: + raise RuntimeError( + "producer HEAD does not contain origin/main; synchronize before generating " + "release evidence" + ) + return { + "git_head": head, + "origin_main": origin_main, + "merge_base_with_origin_main": merge_base, + "origin_main_contained": True, + "working_tree": "dirty" if dirty else "clean", + } + + +__all__ = ["ProducerIdentity", "require_clean_committed_producer"] diff --git a/tests/application/test_electrolysis_service.py b/tests/application/test_electrolysis_service.py index 44bf129..211b877 100644 --- a/tests/application/test_electrolysis_service.py +++ b/tests/application/test_electrolysis_service.py @@ -1,55 +1,19 @@ from __future__ import annotations -from electrolysis_helpers import electrolysis_profile, electrolysis_source -from labbridge.application.electrolysis_ingestion import ( - ElectrolysisIngestionService, - ElectrolysisRecordRepository, +from electrolysis_helpers import ( + FixedElectrolysisSourceReader, + MemoryElectrolysisRecords, + electrolysis_profile, + electrolysis_source, ) -from labbridge.domain.electrolysis import ( - ElectrolysisImportProfile, - electrolysis_import_profile_id, -) -from labbridge.domain.electrolysis_observations import ElectrolysisNormalisationResult - - -class MemoryElectrolysisRecords(ElectrolysisRecordRepository): - def __init__(self) -> None: - self.profiles: dict[str, ElectrolysisImportProfile] = {} - self.results: dict[str, ElectrolysisNormalisationResult] = {} - - def put_profile( - self, item: ElectrolysisImportProfile, *, idempotency_key: str | None = None - ) -> tuple[str, bool]: - profile_id = electrolysis_import_profile_id(item) - replayed = profile_id in self.profiles - self.profiles.setdefault(profile_id, item) - return profile_id, replayed - - def get_profile(self, profile_id: str) -> ElectrolysisImportProfile | None: - return self.profiles.get(profile_id) - - def put_normalisation( - self, result: ElectrolysisNormalisationResult, *, idempotency_key: str | None = None - ) -> bool: - observation_id = result.observation.observation_id - replayed = observation_id in self.results - self.results.setdefault(observation_id, result) - return replayed - - def get_normalisation(self, observation_id: str) -> ElectrolysisNormalisationResult | None: - return self.results.get(observation_id) - - -class FixedSourceReader: - def retrieve(self, source_artifact_id: str): - source = electrolysis_source() - assert source_artifact_id == source.artifact.source_artifact_id - return source +from labbridge.application.electrolysis_ingestion import ElectrolysisIngestionService def test_service_persists_profile_and_normalisation_idempotently() -> None: records = MemoryElectrolysisRecords() - service = ElectrolysisIngestionService(FixedSourceReader(), records, producing_version="0.1.0") + service = ElectrolysisIngestionService( + FixedElectrolysisSourceReader(), records, producing_version="0.1.0" + ) stored_profile = service.create_profile(electrolysis_profile()) first = service.normalise( diff --git a/tests/electrolysis_helpers.py b/tests/electrolysis_helpers.py index 5057234..8d4e5df 100644 --- a/tests/electrolysis_helpers.py +++ b/tests/electrolysis_helpers.py @@ -4,6 +4,10 @@ from datetime import UTC, datetime from decimal import Decimal +from labbridge.application.electrolysis_ingestion import ( + ElectrolysisIdempotencyConflictError, + ElectrolysisRecordRepository, +) from labbridge.application.source_intake import RetrievedSource from labbridge.domain.electrolysis import ( AuxiliaryAnalyticalResult, @@ -12,7 +16,9 @@ ElectrolysisMetadata, MetadataValue, auxiliary_result_id, + electrolysis_import_profile_id, ) +from labbridge.domain.electrolysis_observations import ElectrolysisNormalisationResult from labbridge.domain.source_artifacts import SourceArtifact, source_artifact_id ELECTROLYSIS_PAYLOAD = ( @@ -135,3 +141,48 @@ def electrolysis_profile_with_auxiliary( ).model_dump(mode="python") profile["auxiliary_results"] = (result,) return ElectrolysisImportProfile.model_validate(profile) + + +class MemoryElectrolysisRecords(ElectrolysisRecordRepository): + def __init__(self) -> None: + self.profiles: dict[str, ElectrolysisImportProfile] = {} + self.results: dict[str, ElectrolysisNormalisationResult] = {} + self.idempotency: dict[tuple[str, str], str] = {} + + def _reserve(self, scope: str, key: str | None, identity: str) -> bool: + if key is None: + return False + existing = self.idempotency.get((scope, key)) + if existing is not None and existing != identity: + raise ElectrolysisIdempotencyConflictError(key) + self.idempotency[(scope, key)] = identity + return existing is not None + + def put_profile( + self, item: ElectrolysisImportProfile, *, idempotency_key: str | None = None + ) -> tuple[str, bool]: + identity = electrolysis_import_profile_id(item) + replayed = self._reserve("profile", idempotency_key, identity) or identity in self.profiles + self.profiles.setdefault(identity, item) + return identity, replayed + + def get_profile(self, profile_id: str) -> ElectrolysisImportProfile | None: + return self.profiles.get(profile_id) + + def put_normalisation( + self, result: ElectrolysisNormalisationResult, *, idempotency_key: str | None = None + ) -> bool: + identity = result.observation.observation_id + replayed = self._reserve("normalise", idempotency_key, identity) or identity in self.results + self.results.setdefault(identity, result) + return replayed + + def get_normalisation(self, observation_id: str) -> ElectrolysisNormalisationResult | None: + return self.results.get(observation_id) + + +class FixedElectrolysisSourceReader: + def retrieve(self, source_artifact_id: str) -> RetrievedSource: + retained = electrolysis_source() + assert source_artifact_id == retained.artifact.source_artifact_id + return retained diff --git a/tests/evidence/test_cv_ingestion_artifact.py b/tests/evidence/test_cv_ingestion_artifact.py index 3fbcfb2..6959084 100644 --- a/tests/evidence/test_cv_ingestion_artifact.py +++ b/tests/evidence/test_cv_ingestion_artifact.py @@ -5,6 +5,8 @@ from datetime import UTC, datetime from pathlib import Path +from scripts.reproduce_cv_ingestion import reproduce + from labbridge.application.source_intake import RetrievedSource from labbridge.domain.cv import CVImportProfile from labbridge.domain.source_artifacts import SourceArtifact, source_artifact_id @@ -12,6 +14,7 @@ from labbridge.evidence.manifest import verify_manifest ROOT = Path(__file__).resolve().parents[2] +COMMITTED = ROOT / "artifacts/cv-ingestion" SOURCE = ROOT / "fixtures/source/synthetic-replay-cv-opaque.csv" PROFILE = ROOT / "fixtures/import-profiles/synthetic-replay-cv-v1.json" @@ -69,3 +72,39 @@ def test_phase_2_artifact_rebuild_is_byte_identical(tmp_path: Path) -> None: assert {item.name: item.read_bytes() for item in first.iterdir()} == { item.name: item.read_bytes() for item in second.iterdir() } + + +def test_committed_artifact_bytes_verify_against_their_committed_manifest() -> None: + """The bytes in the repository, not a fresh rebuild, must satisfy the committed manifest. + + Both earlier tests build into `tmp_path`, so a checkout that rewrote the committed members — + line-ending conversion being the obvious way — left the whole offline suite green while + `labbridge validate-artifacts --bundle artifacts/cv-ingestion` failed. + """ + manifest = verify_manifest(COMMITTED) + + assert manifest["artifact_kind"] == "generic_cv_ingestion" + assert manifest["data_origin"] == "synthetic" + for entry in manifest["files"]: + assert isinstance(entry, dict) + member = COMMITTED / str(entry["name"]) + payload = member.read_bytes() + assert hashlib.sha256(payload).hexdigest() == entry["sha256"], member.name + assert len(payload) == entry["byte_size"], member.name + + +def test_committed_source_member_still_matches_the_phase_1_fixture_bytes() -> None: + """Content identity has to survive checkout, or the source link is broken where it is read.""" + committed_source = (COMMITTED / SOURCE.name).read_bytes() + manifest = json.loads((COMMITTED / "manifest.json").read_text(encoding="utf-8")) + + assert committed_source == SOURCE.read_bytes() + assert hashlib.sha256(committed_source).hexdigest() == manifest["source_sha256"] + + +def test_committed_artifact_is_byte_identical_to_an_offline_rebuild(tmp_path: Path) -> None: + reproduce(tmp_path / "rebuilt") + + assert {item.name: item.read_bytes() for item in (tmp_path / "rebuilt").iterdir()} == { + item.name: item.read_bytes() for item in COMMITTED.iterdir() + } diff --git a/tests/evidence/test_electrolysis_package.py b/tests/evidence/test_electrolysis_package.py index 549e597..12b920e 100644 --- a/tests/evidence/test_electrolysis_package.py +++ b/tests/evidence/test_electrolysis_package.py @@ -1,6 +1,7 @@ from __future__ import annotations import io +import json import zipfile from datetime import UTC, datetime @@ -19,14 +20,19 @@ experiment_from_electrolysis_normalisation, experiment_from_normalisation, ) +from labbridge.domain.canonical import content_id from labbridge.domain.experiments import AssertionValue, make_assertion, validate_experiment from labbridge.evidence.experiment_package import ( + MANIFEST_MEMBER, AuxiliaryPackageSource, ExperimentPackageVerificationError, PackageInputs, + _member_entry, + _zip, build_experiment_package, verify_experiment_package, ) +from labbridge.evidence.manifest import canonical_json, digest from labbridge.evidence.passport import build_passport RELEASED_AT = datetime(2026, 8, 13, 12, 0, tzinfo=UTC) @@ -372,3 +378,82 @@ def test_independent_verifier_accepts_active_unavailable_unsupported_claim() -> ) assert verify_experiment_package(package.archive_bytes).verified is True + + +def _reforge(archive_bytes: bytes, *, replace: dict[str, bytes]) -> bytes: + """Rebuild an archive around changed members with every hash and identity recomputed. + + This is the adversary the member checks cannot catch: entry digests, `members_digest`, and + `package_id` are all derived exactly as the builder derives them, so the archive is internally + consistent. Only a semantic check can reject it. + """ + with zipfile.ZipFile(io.BytesIO(archive_bytes)) as archive: + members = {name: archive.read(name) for name in archive.namelist()} + manifest = json.loads(members[MANIFEST_MEMBER]) + members.update(replace) + del members[MANIFEST_MEMBER] + entries = [_member_entry(name, data) for name, data in sorted(members.items())] + core = { + key: value + for key, value in manifest.items() + if key not in {"package_id", "members", "members_digest"} + } + core["members"] = entries + core["members_digest"] = digest(canonical_json(entries)) + ordered = {key: core[key] for key in manifest if key in core} + ordered["package_id"] = content_id("experiment-package", ordered) + members[MANIFEST_MEMBER] = canonical_json(ordered) + return _zip(members) + + +def test_a_rehashed_archive_cannot_swap_technique_to_skip_electrolysis_semantics() -> None: + """A self-consistent forgery must not reach the CV branch and skip electrolysis checks. + + Branching on the import profile while every other check read the Passport meant a Passport + declaring `galvanostatic_electrolysis` was inspected under CV rules, so + `_verify_electrolysis_passport_semantics` never ran. The archive was still refused, but by a + downstream `package_lineage_open` rather than by the contradiction that caused it. One + authoritative technique makes the refusal name the real defect. + """ + inputs = _electrolysis_inputs() + package = build_experiment_package( + inputs, producing_versions={"labbridge": "0.1.0", "experiment_package": "3"} + ) + assert verify_experiment_package(package.archive_bytes).verified is True + + with zipfile.ZipFile(io.BytesIO(package.archive_bytes)) as archive: + profile = json.loads(archive.read("phase2/import-profile.json")) + profile["technique"] = "cyclic_voltammetry" + forged = _reforge( + package.archive_bytes, + replace={"phase2/import-profile.json": canonical_json(profile)}, + ) + + with pytest.raises(ExperimentPackageVerificationError) as raised: + verify_experiment_package(forged) + + # Not package_identity_mismatch or a member digest failure: the forgery is self-consistent and + # defeats every hash check, so this proves the semantic gate is what stops it. + assert raised.value.code == "package_technique_mismatch" + + +def test_a_rehashed_cv_archive_cannot_claim_the_electrolysis_profile() -> None: + """The mismatch is rejected in both directions, not only for the electrolysis Passport.""" + inputs = _cv_inputs() + package = build_experiment_package( + inputs, producing_versions={"labbridge": "0.1.0", "experiment_package": "1"} + ) + assert verify_experiment_package(package.archive_bytes).verified is True + + with zipfile.ZipFile(io.BytesIO(package.archive_bytes)) as archive: + profile = json.loads(archive.read("phase2/import-profile.json")) + profile["technique"] = "galvanostatic_electrolysis" + forged = _reforge( + package.archive_bytes, + replace={"phase2/import-profile.json": canonical_json(profile)}, + ) + + with pytest.raises(ExperimentPackageVerificationError) as raised: + verify_experiment_package(forged) + + assert raised.value.code == "package_technique_mismatch" diff --git a/tests/evidence/test_manifest.py b/tests/evidence/test_manifest.py index 62fc26e..2353f1b 100644 --- a/tests/evidence/test_manifest.py +++ b/tests/evidence/test_manifest.py @@ -35,6 +35,28 @@ def test_an_untouched_closed_manifest_verifies(released: Path) -> None: assert verify_manifest(released)["artifact_kind"] == "source_capture" +def test_manifest_lists_mixed_case_members_in_a_platform_stable_order(tmp_path: Path) -> None: + """Path comparison is case-insensitive on Windows and case-sensitive on POSIX. + + Sorting the Path objects themselves therefore emits a different `files` array — and a different + `files_digest` — for the same bytes. Order by the filename as text instead. + """ + (tmp_path / "LIMITATIONS.md").write_text("limitations\n", encoding="utf-8", newline="\n") + (tmp_path / "cv.csv").write_bytes(b"a,b\n") + manifest = build_manifest( + tmp_path, + metadata={ + "artifact_kind": "source_capture", + "schema_version": "1", + "producing_versions": {"labbridge": "0.1.0"}, + "data_origin": "synthetic", + "execution_mode": "replay", + }, + ) + + assert [entry["name"] for entry in manifest["files"]] == ["cv.csv", "LIMITATIONS.md"] + + def test_one_changed_byte_fails_verification(released: Path) -> None: member = released / "payload.bin" member.write_bytes(member.read_bytes()[:-1] + b"X") diff --git a/tests/evidence/test_reproduce_commands.py b/tests/evidence/test_reproduce_commands.py new file mode 100644 index 0000000..9fdda61 --- /dev/null +++ b/tests/evidence/test_reproduce_commands.py @@ -0,0 +1,74 @@ +"""Every committed `REPRODUCE.txt` command must be accepted by the CLI it names. + +`labbridge validate-artifacts build/` was published in two artifacts for several releases. +`validate-artifacts` takes no positional argument, so the documented reproduction exited 2. Parsing +each line against the real Typer application makes that class of drift a test failure. +""" + +from __future__ import annotations + +import shlex +from pathlib import Path + +import click +import pytest +import typer.main + +from labbridge import cli + +ROOT = Path(__file__).resolve().parents[2] +REPRODUCE_FILES = sorted(ROOT.glob("artifacts/*/REPRODUCE.txt")) + + +def _parse(argv: list[str]) -> None: + """Resolve and bind a command line without running it. + + Appending `--help` would not work: Click prints help and exits 0 before reporting an extra + argument, so a broken command line would look valid. `make_context` binds every parameter and + raises `UsageError` instead. + """ + command = typer.main.get_command(cli.app) + context = click.Context(command, info_name="labbridge") + args = list(argv) + # `TyperGroup` does not subclass `click.Group`, so descend on the command mapping instead. + while args and not args[0].startswith("-") and hasattr(command, "commands"): + name = args[0] + subcommand = command.commands.get(name) + if subcommand is None: + raise click.UsageError(f"no such command: {name}") + command = subcommand + args = args[1:] + context = click.Context(command, parent=context, info_name=name) + command.make_context(context.info_name, args, parent=context) + + +def _commands() -> list[tuple[str, str]]: + found: list[tuple[str, str]] = [] + for path in REPRODUCE_FILES: + for line in path.read_text(encoding="utf-8").splitlines(): + stripped = line.strip() + if stripped and not stripped.startswith("#"): + found.append((path.parent.name, stripped)) + return found + + +def test_every_artifact_publishes_a_reproduction_command() -> None: + assert REPRODUCE_FILES, "no committed artifact publishes a reproduction command" + assert _commands() + + +@pytest.mark.parametrize(("artifact", "command"), _commands(), ids=lambda value: str(value)[:60]) +def test_documented_command_is_accepted_by_its_cli(artifact: str, command: str) -> None: + argv = shlex.split(command) + if argv[0] != "labbridge": + # `python scripts/reproduce_*.py` lines: assert the script exists rather than running it. + assert argv[0] == "python", f"{artifact}: unexpected program {argv[0]}" + assert (ROOT / argv[1]).is_file(), f"{artifact}: {argv[1]} does not exist" + return + + try: + _parse(argv[1:]) + except click.UsageError as error: + pytest.fail( + f"{artifact}: `{command}` is not accepted by the CLI — {error.format_message()}" + ) diff --git a/tests/evidence/test_source_capture.py b/tests/evidence/test_source_capture.py index f3fa17a..2235f9c 100644 --- a/tests/evidence/test_source_capture.py +++ b/tests/evidence/test_source_capture.py @@ -62,3 +62,40 @@ def test_rebuilding_source_capture_produces_identical_members(tmp_path: Path) -> first_members = {path.name: path.read_bytes() for path in first.iterdir()} second_members = {path.name: path.read_bytes() for path in second.iterdir()} assert first_members == second_members + + +ROOT = Path(__file__).resolve().parents[2] +COMMITTED = ROOT / "artifacts/source-capture" +FIXTURE = ROOT / "fixtures/source/synthetic-replay-cv-opaque.csv" + + +def test_committed_artifact_bytes_verify_against_their_committed_manifest() -> None: + """The bytes in the repository must satisfy the committed manifest. + + The tests above build into `tmp_path`, so nothing here checked what a contributor actually + checks out. Reproducing this artifact needs PostgreSQL and MinIO, so the offline guarantee is + that the committed bytes are internally consistent and still carry the Phase 1 identity. + """ + manifest = verify_manifest(COMMITTED) + + assert manifest["artifact_kind"] == "source_capture" + assert manifest["data_origin"] == "synthetic" + for entry in manifest["files"]: + assert isinstance(entry, dict) + member = COMMITTED / str(entry["name"]) + payload = member.read_bytes() + assert hashlib.sha256(payload).hexdigest() == entry["sha256"], member.name + assert len(payload) == entry["byte_size"], member.name + + +def test_committed_source_member_still_matches_the_fixture_and_its_recorded_identity() -> None: + committed_source = (COMMITTED / FIXTURE.name).read_bytes() + record = json.loads((COMMITTED / "source-artifact.json").read_text(encoding="utf-8")) + digest = hashlib.sha256(committed_source).hexdigest() + + assert committed_source == FIXTURE.read_bytes() + assert digest == record["sha256"] + assert len(committed_source) == record["byte_size"] + assert record["source_artifact_id"] == source_artifact_id( + sha256=digest, byte_size=len(committed_source), media_type=record["media_type"] + ) diff --git a/tests/integration/test_electrolysis_http_path.py b/tests/integration/test_electrolysis_http_path.py new file mode 100644 index 0000000..2400abe --- /dev/null +++ b/tests/integration/test_electrolysis_http_path.py @@ -0,0 +1,110 @@ +"""Operator HTTP adapters must complete the electrolysis file-to-package path.""" + +from __future__ import annotations + +import uuid + +import pytest +from fastapi.testclient import TestClient +from sqlalchemy import Engine + +from electrolysis_helpers import electrolysis_profile +from labbridge.api import create_app +from labbridge.evidence.experiment_package import verify_experiment_package + +pytestmark = pytest.mark.integration + +CREATED = 201 +OK = 200 + + +def test_http_adapters_reach_an_independently_verified_electrolysis_package( + migrated: Engine, +) -> None: + marker = uuid.uuid4().hex + payload = ( + "elapsed,applied_current,working_potential\n" + f"0,10.0,-0.{int(marker[:8], 16):010d}\n" + "60,10.0,-0.435\n120,10.0,-0.447\n" + ).encode() + client = TestClient(create_app(migrated)) + + source = client.post( + "/source-artifacts", + params={ + "filename": f"synthetic-electrolysis-{marker}.csv", + "data_origin": "synthetic", + "execution_mode": "replay", + }, + headers={"Idempotency-Key": f"electrolysis-source:{marker}", "Content-Type": "text/csv"}, + content=payload, + ) + assert source.status_code == CREATED + source_id = source.json()["source_artifact_id"] + + profile = client.post( + "/electrolysis/import-profiles", + json=electrolysis_profile().model_dump(mode="json"), + headers={"Idempotency-Key": f"electrolysis-profile:{marker}"}, + ) + assert profile.status_code == CREATED, profile.text + profile_id = profile.json()["profile_id"] + + normalised = client.post( + "/electrolysis/normalisations", + json={"source_artifact_id": source_id, "profile_id": profile_id}, + headers={"Idempotency-Key": f"electrolysis-normalise:{marker}"}, + ) + assert normalised.status_code == CREATED, normalised.text + observation = normalised.json()["result"]["observation"] + assert observation["technique"] == "galvanostatic_electrolysis" + assert observation["metadata"]["chemical_analysis"]["state"] == "unavailable" + assert observation["metadata"]["cell_geometry"]["state"] == "unknown" + + experiment = client.post( + "/experiments", + json={ + "observation_id": observation["observation_id"], + "expected_experiment_version": 0, + }, + headers={"Idempotency-Key": f"electrolysis-experiment:{marker}"}, + ) + assert experiment.status_code == CREATED, experiment.text + body = experiment.json()["experiment"] + assert body["technique"] == "galvanostatic_electrolysis" + assertions = {item["field_name"]: item for item in body["assertions"]} + assert assertions["scan_rate"]["value"]["state"] == "not_applicable" + assert assertions["chemical_analysis"]["value"]["state"] == "unavailable" + assert "faradaic_efficiency" not in assertions + assert "conversion" not in assertions + assert "selectivity" not in assertions + experiment_id = body["experiment_id"] + + validation = client.post( + f"/experiments/{experiment_id}/validations", + json={"expected_experiment_version": 1}, + headers={"Idempotency-Key": f"electrolysis-validation:{marker}"}, + ) + assert validation.status_code == CREATED, validation.text + + passport = client.post( + f"/experiments/{experiment_id}/passports", + json={"expected_experiment_version": 1}, + headers={"Idempotency-Key": f"electrolysis-passport:{marker}"}, + ) + assert passport.status_code == CREATED, passport.text + passport_id = passport.json()["passport"]["passport_id"] + + package = client.post( + f"/experiments/{experiment_id}/packages", + json={"passport_id": passport_id, "expected_experiment_version": 1}, + headers={"Idempotency-Key": f"electrolysis-package:{marker}"}, + ) + assert package.status_code == CREATED, package.text + package_id = package.json()["package"]["package_id"] + assert package.json()["package"]["schema_version"] == "3" + + download = client.get(f"/experiment-packages/{package_id}/download") + assert download.status_code == OK + verification = verify_experiment_package(download.content) + assert verification.lineage_closed is True diff --git a/tests/reliability/test_migration_rehearsal.py b/tests/reliability/test_migration_rehearsal.py new file mode 100644 index 0000000..cdc32d4 --- /dev/null +++ b/tests/reliability/test_migration_rehearsal.py @@ -0,0 +1,51 @@ +"""The rehearsal must reach the unique current Alembic head, not a stale parent.""" + +from __future__ import annotations + +from pathlib import Path + +import pytest +from alembic.config import Config +from alembic.script import ScriptDirectory + +from labbridge.reliability.migration_rehearsal import ( + EVENT_STREAM_CONTRACT_REVISION, + PREVIOUS_REVISION, + expected_upgrade_revision, +) + +ROOT = Path(__file__).resolve().parents[2] + + +def _script() -> ScriptDirectory: + config = Config(str(ROOT / "alembic.ini")) + config.set_main_option("script_location", str(ROOT / "migrations")) + return ScriptDirectory.from_config(config) + + +def test_rehearsal_targets_the_unique_current_alembic_head() -> None: + script = _script() + heads = script.get_heads() + ancestry = {revision.revision for revision in script.walk_revisions("base", heads[0])} + + assert heads == [expected_upgrade_revision(ROOT)] + assert EVENT_STREAM_CONTRACT_REVISION in ancestry + assert PREVIOUS_REVISION in ancestry + assert expected_upgrade_revision(ROOT) != EVENT_STREAM_CONTRACT_REVISION + + +def test_split_alembic_heads_fail_closed(monkeypatch: pytest.MonkeyPatch) -> None: + monkeypatch.setattr(ScriptDirectory, "get_heads", lambda self: ["aaaa1111", "bbbb2222"]) + + with pytest.raises(RuntimeError, match="unique Alembic head"): + expected_upgrade_revision(ROOT) + + +def test_missing_event_stream_contract_fails_closed(monkeypatch: pytest.MonkeyPatch) -> None: + monkeypatch.setattr( + "labbridge.reliability.migration_rehearsal.EVENT_STREAM_CONTRACT_REVISION", + "missing00000000", + ) + + with pytest.raises(RuntimeError, match="event-stream contract"): + expected_upgrade_revision(ROOT) diff --git a/tests/reliability/test_producer_identity.py b/tests/reliability/test_producer_identity.py new file mode 100644 index 0000000..2f33787 --- /dev/null +++ b/tests/reliability/test_producer_identity.py @@ -0,0 +1,131 @@ +"""Fault-campaign evidence must start from a clean committed producer tree.""" + +from __future__ import annotations + +import os +import subprocess +from pathlib import Path + +import pytest + +from labbridge.reliability.producer_identity import require_clean_committed_producer + + +def _fixture_git_env() -> dict[str, str]: + """Keep fixture repos independent of the hook or worktree that launched pytest.""" + env = {key: value for key, value in os.environ.items() if not key.startswith("GIT_")} + env["GIT_CONFIG_NOSYSTEM"] = "1" + env["GIT_CONFIG_GLOBAL"] = os.devnull + env["GIT_AUTHOR_NAME"] = "Producer" + env["GIT_AUTHOR_EMAIL"] = "producer@example.test" + env["GIT_COMMITTER_NAME"] = "Producer" + env["GIT_COMMITTER_EMAIL"] = "producer@example.test" + return env + + +def _run(repo: Path, *args: str) -> str: + completed = subprocess.run( + ["git", "-c", "core.hooksPath=", *args], + cwd=repo, + env=_fixture_git_env(), + check=True, + capture_output=True, + text=True, + ) + return completed.stdout.strip() + + +def _repo(tmp_path: Path) -> Path: + repo = tmp_path / "producer" + repo.mkdir() + _run(repo, "init", "-b", "main") + _run(repo, "config", "user.email", "producer@example.test") + _run(repo, "config", "user.name", "Producer") + (repo / "README").write_text("producer\n", encoding="utf-8") + _run(repo, "add", "README") + _run(repo, "commit", "-m", "init") + head = _run(repo, "rev-parse", "HEAD") + _run(repo, "update-ref", "refs/remotes/origin/main", head) + return repo + + +def test_clean_tree_records_head_and_origin_main(tmp_path: Path) -> None: + repo = _repo(tmp_path) + head = _run(repo, "rev-parse", "HEAD") + + identity = require_clean_committed_producer(repo) + + assert identity["git_head"] == head + assert identity["origin_main"] == head + assert identity["merge_base_with_origin_main"] == head + assert identity["origin_main_contained"] is True + assert identity["working_tree"] == "clean" + + +def test_dirty_worktree_fails_closed(tmp_path: Path) -> None: + repo = _repo(tmp_path) + (repo / "scratch.txt").write_text("uncommitted\n", encoding="utf-8") + + with pytest.raises(RuntimeError, match="clean"): + require_clean_committed_producer(repo) + + +def test_allow_dirty_records_the_dirty_tree_instead_of_refusing(tmp_path: Path) -> None: + repo = _repo(tmp_path) + (repo / "scratch.txt").write_text("uncommitted\n", encoding="utf-8") + head = _run(repo, "rev-parse", "HEAD") + + identity = require_clean_committed_producer(repo, allow_dirty=True) + + assert identity["git_head"] == head + assert identity["working_tree"] == "dirty" + + +def test_inherited_git_dir_does_not_redirect_the_inspected_tree( + tmp_path: Path, monkeypatch: pytest.MonkeyPatch +) -> None: + repo = _repo(tmp_path) + head = _run(repo, "rev-parse", "HEAD") + monkeypatch.setenv("GIT_DIR", str(tmp_path / "missing.git")) + monkeypatch.setenv("GIT_INDEX_FILE", str(tmp_path / "missing.index")) + monkeypatch.setenv("GIT_WORK_TREE", str(tmp_path / "missing-worktree")) + + identity = require_clean_committed_producer(repo) + + assert identity["git_head"] == head + assert identity["working_tree"] == "clean" + + +def test_linked_worktree_of_a_bare_common_dir_is_inspectable(tmp_path: Path) -> None: + seed = _repo(tmp_path) + bare = tmp_path / "bare.git" + _run(seed, "clone", "--bare", str(seed), str(bare)) + work = tmp_path / "linked" + _run(bare, "worktree", "add", str(work), "main") + head = _run(work, "rev-parse", "HEAD") + _run(work, "update-ref", "refs/remotes/origin/main", head) + + identity = require_clean_committed_producer(work) + + assert (work / ".git").is_file() + assert identity["git_head"] == head + assert identity["origin_main"] == head + assert identity["working_tree"] == "clean" + + +def test_stale_base_that_does_not_contain_origin_main_fails_closed(tmp_path: Path) -> None: + repo = _repo(tmp_path) + _run(repo, "checkout", "-b", "task") + (repo / "README").write_text("task\n", encoding="utf-8") + _run(repo, "add", "README") + _run(repo, "commit", "-m", "task") + _run(repo, "checkout", "main") + (repo / "README").write_text("advanced main\n", encoding="utf-8") + _run(repo, "add", "README") + _run(repo, "commit", "-m", "advance main") + advanced = _run(repo, "rev-parse", "HEAD") + _run(repo, "update-ref", "refs/remotes/origin/main", advanced) + _run(repo, "checkout", "task") + + with pytest.raises(RuntimeError, match="origin/main"): + require_clean_committed_producer(repo) diff --git a/tests/slow/test_phase7_fault_campaign.py b/tests/slow/test_phase7_fault_campaign.py index b78283b..c49586e 100644 --- a/tests/slow/test_phase7_fault_campaign.py +++ b/tests/slow/test_phase7_fault_campaign.py @@ -34,6 +34,7 @@ def test_fault_campaign_crosses_every_process_boundary_and_restores(tmp_path: Pa bucket, "--output", str(output), + "--allow-dirty", ], cwd=REPO_ROOT, env={**os.environ, "PYTHONPATH": str(REPO_ROOT / "src")}, diff --git a/tests/test_cli_evidence.py b/tests/test_cli_evidence.py index 2b1e34c..227befa 100644 --- a/tests/test_cli_evidence.py +++ b/tests/test_cli_evidence.py @@ -125,6 +125,77 @@ def test_validate_artifacts_verifies_a_closed_result_manifest(tmp_path: Path) -> assert "status: complete" in result.output +def _write_closed_artifact(destination: Path, *, kind: str) -> None: + destination.mkdir(parents=True) + (destination / "result.json").write_text("{}", encoding="utf-8") + build_manifest( + destination, + metadata={ + "artifact_kind": kind, + "schema_version": "1", + "producing_versions": {"labbridge": "test"}, + }, + ) + + +def test_bare_gate_verifies_the_committed_artifact_root( + tmp_path: Path, monkeypatch: pytest.MonkeyPatch +) -> None: + monkeypatch.chdir(tmp_path) + _write_closed_artifact(Path("artifacts/released-evidence"), kind="released_evidence") + + result = runner.invoke(cli.app, ["validate-artifacts"]) + + assert result.exit_code == 0, result.output + assert "released_evidence" in result.output + assert "1 bundle(s) verified" in result.output + + +def test_bare_gate_fails_on_a_tampered_committed_artifact( + tmp_path: Path, monkeypatch: pytest.MonkeyPatch +) -> None: + monkeypatch.chdir(tmp_path) + artifact = Path("artifacts/released-evidence") + _write_closed_artifact(artifact, kind="released_evidence") + (artifact / "result.json").write_text('{"edited": true}', encoding="utf-8") + + result = runner.invoke(cli.app, ["validate-artifacts"]) + + assert result.exit_code == 1, result.output + assert "artifact_verification_failed" in result.output + + +def test_bare_gate_fails_when_there_is_nothing_to_verify( + tmp_path: Path, monkeypatch: pytest.MonkeyPatch +) -> None: + """An empty git-ignored bundle root must not be reported as a passing artifact gate. + + `AI_CONTRACT.md` §10 names the bare command as the artifact gate, and §10 also forbids + reporting a gate that did not run as passing. Exiting zero here made the gate unable to fail. + """ + monkeypatch.chdir(tmp_path) + Path("data/bundles").mkdir(parents=True) + + result = runner.invoke(cli.app, ["validate-artifacts"]) + + assert result.exit_code == 1, result.output + assert "no_evidence_found" in result.output + + +def test_explicit_bundle_root_still_narrows_the_search( + tmp_path: Path, monkeypatch: pytest.MonkeyPatch +) -> None: + monkeypatch.chdir(tmp_path) + _write_closed_artifact(Path("artifacts/released-evidence"), kind="released_evidence") + _write_closed_artifact(Path("elsewhere/local-evidence"), kind="local_evidence") + + result = runner.invoke(cli.app, ["validate-artifacts", "--bundle-root", "elsewhere"]) + + assert result.exit_code == 0, result.output + assert "local_evidence" in result.output + assert "released_evidence" not in result.output + + def test_structured_failure_details_escape_rich_markup( tmp_path: Path, monkeypatch: pytest.MonkeyPatch ) -> None: diff --git a/tests/test_cli_fetch_her.py b/tests/test_cli_fetch_her.py index 434b083..2dec22a 100644 --- a/tests/test_cli_fetch_her.py +++ b/tests/test_cli_fetch_her.py @@ -8,6 +8,7 @@ from pathlib import Path import pytest +import typer.main from typer.testing import CliRunner from helpers import SYNTHETIC_DOI, FakeTransport, build_file_entry, build_payload @@ -33,10 +34,14 @@ def fake_transport(monkeypatch: pytest.MonkeyPatch) -> FakeTransport: def test_fetch_her_is_registered_and_documents_its_options() -> None: result = runner.invoke(cli.app, ["fetch-her", "--help"]) - assert result.exit_code == 0 + + # Rich help truncates option names when COLUMNS is 80, which is the GitHub Actions default. + # The registration itself is what the command must keep, so inspect the Click parameters. + fetch = typer.main.get_command(cli.app).commands["fetch-her"] + opts = {flag for param in fetch.params for flag in param.opts} for option in ("--dry-run", "--file", "--max-bytes", "--allow-large", "--landing-root"): - assert option in result.output + assert option in opts, option def test_dry_run_exits_zero_and_writes_only_the_inventory( diff --git a/tests/test_electrolysis_adapter_parity.py b/tests/test_electrolysis_adapter_parity.py new file mode 100644 index 0000000..bfcd4e4 --- /dev/null +++ b/tests/test_electrolysis_adapter_parity.py @@ -0,0 +1,137 @@ +from __future__ import annotations + +import json +from pathlib import Path + +from fastapi.testclient import TestClient +from typer.testing import CliRunner + +from electrolysis_helpers import ( + FixedElectrolysisSourceReader, + MemoryElectrolysisRecords, + electrolysis_profile, + electrolysis_source, +) +from labbridge import cli +from labbridge.api.app import create_app +from labbridge.application.electrolysis_ingestion import ElectrolysisIngestionService + +runner = CliRunner() +OK = 200 +CREATED = 201 +BAD_REQUEST = 400 +CONFLICT = 409 +NOT_FOUND = 404 + + +def _service() -> ElectrolysisIngestionService: + return ElectrolysisIngestionService( + FixedElectrolysisSourceReader(), + MemoryElectrolysisRecords(), + producing_version="0.1.0", + ) + + +def test_api_and_cli_return_the_same_electrolysis_profile_and_observation( + tmp_path: Path, monkeypatch +) -> None: # type: ignore[no-untyped-def] + service = _service() + client = TestClient(create_app(electrolysis_service=service)) + profile_path = tmp_path / "profile.json" + profile_path.write_text(electrolysis_profile().model_dump_json(indent=2), encoding="utf-8") + + api_profile = client.post( + "/electrolysis/import-profiles", + json=electrolysis_profile().model_dump(mode="json"), + headers={"Idempotency-Key": "electrolysis-profile-1"}, + ) + assert api_profile.status_code == CREATED + profile_id = api_profile.json()["profile_id"] + api_normalised = client.post( + "/electrolysis/normalisations", + json={ + "source_artifact_id": electrolysis_source().artifact.source_artifact_id, + "profile_id": profile_id, + }, + headers={"Idempotency-Key": "electrolysis-normalise-1"}, + ) + assert api_normalised.status_code == CREATED + observation = api_normalised.json()["result"]["observation"] + observation_id = observation["observation_id"] + api_read = client.get(f"/electrolysis/normalised-observations/{observation_id}") + assert api_read.status_code == OK + + monkeypatch.setattr(cli, "_build_electrolysis_service", lambda: service) + cli_profile = runner.invoke( + cli.app, ["electrolysis", "profile-create", str(profile_path), "--json"] + ) + assert cli_profile.exit_code == 0, cli_profile.output + cli_normalised = runner.invoke( + cli.app, + [ + "electrolysis", + "normalise", + electrolysis_source().artifact.source_artifact_id, + "--profile-id", + profile_id, + "--json", + ], + ) + assert cli_normalised.exit_code == 0, cli_normalised.output + + assert json.loads(cli_normalised.output)["result"] == api_normalised.json()["result"] + assert api_read.json()["result"] == api_normalised.json()["result"] + assert observation["technique"] == "galvanostatic_electrolysis" + assert observation["metadata"]["chemical_analysis"]["state"] == "unavailable" + assert "faradaic" not in json.dumps(observation).lower() + assert "selectivity" not in json.dumps(observation).lower() + assert "yield" not in json.dumps(observation).lower() + + +def test_mutating_electrolysis_endpoints_require_an_idempotency_key() -> None: + client = TestClient(create_app(electrolysis_service=_service())) + + profile_response = client.post( + "/electrolysis/import-profiles", json=electrolysis_profile().model_dump(mode="json") + ) + normalise_response = client.post( + "/electrolysis/normalisations", + json={ + "source_artifact_id": electrolysis_source().artifact.source_artifact_id, + "profile_id": "electrolysis-profile:any", + }, + ) + + assert profile_response.status_code == BAD_REQUEST + assert profile_response.json()["detail"]["code"] == "idempotency_key_required" + assert normalise_response.status_code == BAD_REQUEST + assert normalise_response.json()["detail"]["code"] == "idempotency_key_required" + + +def test_reusing_an_electrolysis_idempotency_key_with_a_different_profile_is_a_conflict() -> None: + client = TestClient(create_app(electrolysis_service=_service())) + first = client.post( + "/electrolysis/import-profiles", + json=electrolysis_profile().model_dump(mode="json"), + headers={"Idempotency-Key": "same-key"}, + ) + changed = electrolysis_profile().model_copy(update={"missing_value_tokens": ("", "missing")}) + + second = client.post( + "/electrolysis/import-profiles", + json=changed.model_dump(mode="json"), + headers={"Idempotency-Key": "same-key"}, + ) + + assert first.status_code == CREATED + assert second.status_code == CONFLICT + assert second.json()["detail"]["code"] == "electrolysis_idempotency_key_reused" + + +def test_unknown_electrolysis_profile_is_not_found() -> None: + client = TestClient(create_app(electrolysis_service=_service())) + + response = client.get("/electrolysis/import-profiles/electrolysis-profile:missing") + + assert response.status_code == NOT_FOUND + assert response.json()["detail"]["code"] == "electrolysis_profile_not_found" diff --git a/tests/test_experiment_service_wiring.py b/tests/test_experiment_service_wiring.py new file mode 100644 index 0000000..169f104 --- /dev/null +++ b/tests/test_experiment_service_wiring.py @@ -0,0 +1,140 @@ +"""The production Experiment service must be built with both normalisation readers. + +`tests/test_experiment_adapter_parity.py` monkeypatches `cli._build_experiment_service`, so it +cannot see which readers that function passes on. Electrolysis observations were unreachable from +both adapters while every parity test passed. These tests call the real constructors instead. +""" + +from __future__ import annotations + +from typing import Any + +import pytest +from sqlalchemy import create_engine + +from labbridge import cli +from labbridge.api import app as api_app +from labbridge.infrastructure import experiment_wiring +from labbridge.infrastructure.experiment_wiring import ( + CombinedNormalisationReader, + build_experiment_service, +) +from labbridge.infrastructure.objectstore import InMemoryObjectStore + + +class _RecordingReader: + def __init__(self, name: str) -> None: + self.name = name + self.observations: list[str] = [] + self.profiles: list[str] = [] + + def get_normalisation(self, observation_id: str) -> str: + self.observations.append(observation_id) + return self.name + + def get_profile(self, profile_id: str) -> str: + self.profiles.append(profile_id) + return self.name + + +def _stub_infrastructure(monkeypatch: pytest.MonkeyPatch) -> None: + """Replace only the object store and the concrete services, never the wiring under test.""" + monkeypatch.setattr(experiment_wiring, "build_source_store", InMemoryObjectStore) + + +def test_wiring_dispatches_electrolysis_observations_to_the_electrolysis_reader( + monkeypatch: pytest.MonkeyPatch, +) -> None: + _stub_infrastructure(monkeypatch) + cv = _RecordingReader("cv") + electrolysis = _RecordingReader("electrolysis") + + service = build_experiment_service( + object(), # type: ignore[arg-type] + cv, # type: ignore[arg-type] + create_engine("sqlite://", future=True), + electrolysis_service=electrolysis, # type: ignore[arg-type] + ) + reader = service._normalisations + + assert isinstance(reader, CombinedNormalisationReader) + assert reader.get_normalisation("electrolysis-observation:abc") == "electrolysis" + assert reader.get_normalisation("cv-observation:abc") == "cv" + assert reader.get_profile("electrolysis-profile:abc") == "electrolysis" + assert reader.get_profile("cv-profile:abc") == "cv" + assert electrolysis.observations == ["electrolysis-observation:abc"] + assert cv.observations == ["cv-observation:abc"] + + +def _capture_electrolysis_service(monkeypatch: pytest.MonkeyPatch, module: Any) -> list[object]: + captured: list[object] = [] + + def record(*args: object, **kwargs: object) -> object: + captured.append(kwargs.get("electrolysis_service")) + return object() + + monkeypatch.setattr(module, "build_experiment_service", record) + monkeypatch.setattr(module, "build_source_service", lambda *a, **k: object()) + monkeypatch.setattr(module, "build_cv_service", lambda *a, **k: object()) + monkeypatch.setattr( + module, "build_electrolysis_service", lambda *a, **k: "electrolysis-service" + ) + return captured + + +def test_cli_builds_the_experiment_service_with_an_electrolysis_reader( + monkeypatch: pytest.MonkeyPatch, +) -> None: + captured = _capture_electrolysis_service(monkeypatch, cli) + + cli._build_experiment_service() + + assert captured == ["electrolysis-service"] + + +def test_http_app_builds_the_experiment_service_with_an_electrolysis_reader( + monkeypatch: pytest.MonkeyPatch, +) -> None: + captured = _capture_electrolysis_service(monkeypatch, api_app) + + def unused_provider() -> Any: + return object() + + provide = api_app._experiment_service_provider( + lambda: create_engine("sqlite://", future=True), + unused_provider, + unused_provider, + None, + ) + provide() + + assert captured == ["electrolysis-service"] + + +def test_cli_builds_the_electrolysis_ingestion_service( + monkeypatch: pytest.MonkeyPatch, +) -> None: + captured: list[object] = [] + + def record(*args: object, **kwargs: object) -> str: + captured.append("electrolysis-service") + return "electrolysis-service" + + monkeypatch.setattr(cli, "build_electrolysis_service", record) + monkeypatch.setattr(cli, "_build_source_service", lambda *a, **k: object()) + + built = cli._build_electrolysis_service() + + assert built == "electrolysis-service" + assert captured == ["electrolysis-service"] + + +def test_the_two_ingestion_services_own_disjoint_identity_namespaces() -> None: + """The dispatcher is safe only while the prefixes cannot collide.""" + reader = CombinedNormalisationReader( + _RecordingReader("cv"), # type: ignore[arg-type] + _RecordingReader("electrolysis"), # type: ignore[arg-type] + ) + + assert reader.get_normalisation("electrolysis-observation:1") == "electrolysis" + assert reader.get_normalisation("observation:1") == "cv" diff --git a/tests/test_openapi_contract.py b/tests/test_openapi_contract.py index 3ae1863..275246e 100644 --- a/tests/test_openapi_contract.py +++ b/tests/test_openapi_contract.py @@ -82,3 +82,28 @@ def test_openapi_export_is_deterministic_and_current() -> None: render_openapi = run_path(str(EXPORTER))["render_openapi"] assert render_openapi() == CONTRACT.read_bytes() + + +def test_contract_exposes_campaign_control_and_electrolysis_ingestion() -> None: + paths = _contract()["paths"] # type: ignore[index] + + assert "/campaigns/{campaign_id}/pause" in paths + assert "/campaigns/{campaign_id}/resume" in paths + assert "/campaigns/{campaign_id}/cancel" in paths + assert "/electrolysis/import-profiles" in paths + assert "/electrolysis/import-profiles/{profile_id}" in paths + assert "/electrolysis/normalisations" in paths + assert "/electrolysis/normalised-observations/{observation_id}" in paths + + +def test_generated_typescript_includes_integrated_http_routes() -> None: + generated = (ROOT / "frontend" / "src" / "generated" / "api-v1.ts").read_text(encoding="utf-8") + + for path in ( + "/campaigns/{campaign_id}/pause", + "/campaigns/{campaign_id}/resume", + "/campaigns/{campaign_id}/cancel", + "/electrolysis/import-profiles", + "/electrolysis/normalisations", + ): + assert path in generated, path