diff --git a/python/client-contract/CHANGELOG.md b/python/client-contract/CHANGELOG.md index ce4270a..16dc069 100644 --- a/python/client-contract/CHANGELOG.md +++ b/python/client-contract/CHANGELOG.md @@ -7,11 +7,11 @@ All notable changes to the `dfo-spec-kit-client-contract` Python package will be ### Added - Package scaffolding (uv, ruff, ty, pytest). -- `served/openapi.json`, the composed dfo-apis app's OpenAPI document, and `served/SOURCE.json`, naming dfo-apis commit `0ba344270784ae9929a369da8acd00b399dfced8`. The document admits `timed_out` as a no_data reason and the optional `entity_refs` on each answer part, a list of `EntityRefs`, the graph nodes each restatement entity text binds. +- `served/openapi.json`, the composed dfo-apis app's OpenAPI document, and `served/SOURCE.json`, naming dfo-apis commit `99e62038ceb4b459c2ac699549076ff123c166aa`. The document admits `timed_out` as a no_data reason and the optional `entity_refs` on each answer part, a list of `EntityRefs` with one entry per restatement entity row, the graph nodes that row binds. `NoDataOption` and `SentenceToken` carry `entity_choice`, the index into `NoData.ambiguous_entities` of the group an entity_ambiguous option settles or a slot token asks, so a client groups a place menu by it when two wordings share one text. - `strict-fields.json` and its schema: 29 members that stay required and non-nullable, each one a client reads, and the answer kinds, part statuses and operation statuses the clients branch on. - `actions.json` and its schema: the caller's next step for each of the 102 active refusal codes on `problem_details` or `no_data_reason`, with the gap kind of each no_data reason. - The status fallback for a refusal whose code has no row: 400 and 422 to `InvalidRequestError`, 401 to `AuthenticationError`, 403 to `PermissionDeniedError`, 404 and 410 to `NotFoundError`, 408 to `DfoTimeoutError`, 429 to `RateLimitError`, and any other 4xx or 5xx to `InvalidRequestError` or `ServerError`. -- `scenario.schema.json`, the scenario record, and 120 scenarios: 31 recorded against the deployed dfo-apis dev app at `0ba344270`, and 89 synthetic, each derived from a recorded one by a one-line edit, with 19 binary bodies totalling 1,124,502 bytes and records and bodies together 13,161,129 bytes. The scenarios cover the several-part choice entries and the assumptions each identity entry echoes, a picked reading whose assumption Search states in its answer, the place choice through a no_data part's options, the choice refusals, a part without variable_text, an unknown status without a restatement, a shared label, a one-part option whose data_query holds two parts, the separate and operations echo, an unsupported part's placeholder, the timed_out, unsupported and unknown gaps, an unknown answer kind, the `SearchWarning` rule, the stacked dataset's `part` column, the frame layout, a strict fetch's `DataWarning`, a spec fetch that rebinds one of two entity roles and keeps the other, one that drops a role bound to null, a spec whose destination is a named group fetched with a window or with its origin rebound, whose sentence lookup posts the groups of the roles the build left bound, a twice cut-off build, a cut-off build retried after its Retry-After, a build refused 504 then 503 and one refused 503 then 504, a refused build, a build refused 501 `capability_unavailable`, a digest mismatch, a signed URL refused on both rounds, a relative files-route Location, an artifact url on a foreign origin, on the storage host and absolute on the API's origin, a manifest definition without identity or schema_version, a Search spec without identity or resolved, nested specs no rule reads, an empty parts list, a Search body that is not an object, a codeless 503 problem document that is not retryable, a 401, an identity resubmit answering another spec, a part whose status is not a string, a Search spec whose definition names another spec_id, a Search response with no JSON body, an option with no data_query, empty entities and facets, a Sunset header issued once, `x-dfo-warning` messages and a Deprecation and Sunset pair, an unreadable versions page, a mint and a spec fetch whose build answers 202 and is polled to done, a resumed operation, a rate-limited poll, 503 polls retried within the budget an answered poll restores, a 202 that reads running, polls whose `retry_after_ms` changes from one to the next, a 404 poll that raises, a failed operation posted again, a failed operation with no error, and a ref whose stored file expired, read through the file selector, rebuilt at the same version, at a newer one, or refused with the newest version read from the versions route: the first version it lists with no `base_content_version`, the newest plain build, so a derived version listed before it is skipped. +- `scenario.schema.json`, the scenario record, and 121 scenarios: 32 recorded against the deployed dfo-apis dev app at `99e62038c`, and 89 synthetic, each derived from a recorded one by a one-line edit, with 19 binary bodies totalling 1,124,808 bytes and records and bodies together 13,186,279 bytes. `search-place-ambiguous-twice` pins two entity_ambiguous groups of one text, each option and slot token naming its group by `entity_choice`. The scenarios cover the several-part choice entries and the assumptions each identity entry echoes, a picked reading whose assumption Search states in its answer, the place choice through a no_data part's options, the choice refusals, a part without variable_text, an unknown status without a restatement, a shared label, a one-part option whose data_query holds two parts, the separate and operations echo, an unsupported part's placeholder, the timed_out, unsupported and unknown gaps, an unknown answer kind, the `SearchWarning` rule, the stacked dataset's `part` column, the frame layout, a strict fetch's `DataWarning`, a spec fetch that rebinds one of two entity roles and keeps the other, one that drops a role bound to null, a spec whose destination is a named group fetched with a window or with its origin rebound, whose sentence lookup posts the groups of the roles the build left bound, a twice cut-off build, a cut-off build retried after its Retry-After, a build refused 504 then 503 and one refused 503 then 504, a refused build, a build refused 501 `capability_unavailable`, a digest mismatch, a signed URL refused on both rounds, a relative files-route Location, an artifact url on a foreign origin, on the storage host and absolute on the API's origin, a manifest definition without identity or schema_version, a Search spec without identity or resolved, nested specs no rule reads, an empty parts list, a Search body that is not an object, a codeless 503 problem document that is not retryable, a 401, an identity resubmit answering another spec, a part whose status is not a string, a Search spec whose definition names another spec_id, a Search response with no JSON body, an option with no data_query, empty entities and facets, a Sunset header issued once, `x-dfo-warning` messages and a Deprecation and Sunset pair, an unreadable versions page, a mint and a spec fetch whose build answers 202 and is polled to done, a resumed operation, a rate-limited poll, 503 polls retried within the budget an answered poll restores, a 202 that reads running, polls whose `retry_after_ms` changes from one to the next, a 404 poll that raises, a failed operation posted again, a failed operation with no error, and a ref whose stored file expired, read through the file selector, rebuilt at the same version, at a newer one, or refused with the newest version read from the versions route: the first version it lists with no `base_content_version`, the newest plain build, so a derived version listed before it is skipped. - `client-codes.json` and its schema: the 23 codes a client sets on the errors it raises itself, each with its error class, retryable flag and condition, disjoint from `actions.json` and `registries/codes.json`, and the `client_codes()` and `client_codes_schema()` accessors. Every scenario error the client raises itself carries its code, and `refusal_without_code` names a refusal whose body carries no code. - `proxy-codes.json` and its schema, the website proxy's `rate_limited` and `transient_unavailable` codes with their statuses, which the proxy sends in problem documents of the shape every refusal has, both retryable, with `Retry-After` on the 429, so a client reads one refusal shape, and `warning-codes.json` and its schema, the 6 codes a client sets on the warnings it issues itself, with the `proxy_codes()` and `warning_codes()` accessors. - `ref_digest_changed` in `warning-codes.json`, a `DfoWarning` for a ref member whose `content_version` serves a file with another digest than the ref's, because the server rendered the same data again. The client returns the data, with no error under strict. diff --git a/python/client-contract/README.md b/python/client-contract/README.md index b0e93d9..6b00aa1 100644 --- a/python/client-contract/README.md +++ b/python/client-contract/README.md @@ -207,7 +207,7 @@ Each record names the commit in the responses' `x-dfo-commit` header, and the ru uv run tools/capture_client_contract.py record --base-url http://127.0.0.1:8083/api ``` -A record's `origin.base_url` is the base URL the run was given, a local app's included. A local app's signed URL, which its launcher serves at `/__e2e__/blob/{bucket}/{object}` on the API's origin, is written as `https://storage.googleapis.com/{bucket}/{object}` with its query redacted, as a deployment signs it, because a production download is cross-origin and the client sends no key there; the run, like the validator, refuses a record holding any absolute URL other than such a storage URL, or a `location` under the base URL, so a local app's host under another name or port is refused too. A server answers a version it has built inline, so `mint-async-build` and `operation-resume` each need a spec just above the 100,000-row sync budget that the server has not built: ODA disbursements from the 32 DAC countries to the 133 G77 countries from 1963 to 2024 for the mint, and from the 38 OECD countries to the G77 countries from 1966 to 2024 for the resumed operation, each one variable over some 3,700 donor and recipient pairs, so the done manifest stays small. A local recording therefore starts on a fresh datasets database with `DATASETS_SYNC_BUDGET_ROWS=100000`. `--scenarios-dir` writes records outside the package, unvalidated. +A record's `origin.base_url` is the base URL the run was given, a local app's included. A local app's signed URL, which its launcher serves at `/__e2e__/blob/{bucket}/{object}` on the API's origin, is written as `https://storage.googleapis.com/{bucket}/{object}` with its query redacted, as a deployment signs it, because a production download is cross-origin and the client sends no key there; the run, like the validator, refuses a record holding any absolute URL other than such a storage URL, or a `location` under the base URL, so a local app's host under another name or port is refused too. A server answers a version it has built inline, so `mint-async-build` and `operation-resume` each need a spec just above the 100,000-row sync budget that the server has not built: ODA disbursements from the 32 DAC countries to the 133 G77 countries from 1964 to 2024 for the mint, and from the 38 OECD countries to the G77 countries from 1965 to 2024 for the resumed operation, each one variable over some 3,700 donor and recipient pairs, so the done manifest stays small. A local recording therefore starts on a fresh datasets database with `DATASETS_SYNC_BUDGET_ROWS=100000`. `--scenarios-dir` writes records outside the package, unvalidated. ## DatasetRef diff --git a/python/client-contract/src/dfo_client_contract/scenarios/answer-candidate-specs-not-a-list.json b/python/client-contract/src/dfo_client_contract/scenarios/answer-candidate-specs-not-a-list.json index 20a8675..189ef3f 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/answer-candidate-specs-not-a-list.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/answer-candidate-specs-not-a-list.json @@ -30,7 +30,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "21bb19c92c824a70b2eb378e85a9cfd0" + "x-dfo-trace-id": "962188ce8826466e8510fb819d5dc26d" }, "json": { "schema_version": 1, @@ -41,21 +41,21 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "21bb19c92c824a70b2eb378e85a9cfd0", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "962188ce8826466e8510fb819d5dc26d", "warnings": [], "timing_ms": { - "total": 8287, + "total": 1710, "by_step": { "coverage": 0, - "extract": 1330, - "cache_lookup": 2 + "extract": 0, + "cache_lookup": 0 } }, "llm_usage": { - "input_tokens": 2237, - "output_tokens": 143, - "cached_tokens": 842, + "input_tokens": 0, + "output_tokens": 0, + "cached_tokens": 0, "jev_input_tokens": 13358, "jev_output_tokens": 2855 }, @@ -67,28 +67,28 @@ "variable_text": "mortality", "warnings": [], "timing_ms": { - "total": 6951, + "total": 1705, "by_step": { - "recall": 261, + "recall": 1, "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 7, - "shape_probe": 122, + "shape_arcs": 4, + "shape_probe": 2, "shape_groups": 6, "shape_labels": 1, "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 241, + "shape": 119, "phase_prune_and_rank": 0, - "bind": 142, - "phase_bind": 17, - "phase_settle": 6, - "phase_place_bindings": 490, + "bind": 146, + "phase_bind": 19, + "phase_settle": 2, + "phase_place_bindings": 30, "phase_facet_requests": 0, - "materialise": 115, - "phase_materialise": 1, - "answer": 243, - "phase_outcome": 5435 + "materialise": 21, + "phase_materialise": 25, + "answer": 30, + "phase_outcome": 1312 } }, "rendered_sentence": "2 readings. Kenya's deaths rate per capita. World Development Indicators · 2013 to 2022. Kenya's number of deaths. Kenya Census · 2018 to 2022.", @@ -810,7 +810,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -2344,7 +2344,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -2579,7 +2579,7 @@ "error": { "class": "ContractError", "code": "contract_violation", - "trace_id": "21bb19c92c824a70b2eb378e85a9cfd0" + "trace_id": "962188ce8826466e8510fb819d5dc26d" } } ] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/answer-candidates-choose-fetch.json b/python/client-contract/src/dfo_client_contract/scenarios/answer-candidates-choose-fetch.json index 524967e..fe09ef6 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/answer-candidates-choose-fetch.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/answer-candidates-choose-fetch.json @@ -5,8 +5,8 @@ "origin": { "kind": "recorded", "base_url": "https://dfo-dev-apis-zms5lj4zhq-nn.a.run.app/api", - "dfo_commit": "0ba344270784ae9929a369da8acd00b399dfced8", - "recorded_at": "2026-10-24T16:30:07Z" + "dfo_commit": "99e62038ceb4b459c2ac699549076ff123c166aa", + "recorded_at": "2026-10-25T17:34:55Z" }, "call": [ { @@ -38,7 +38,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "21bb19c92c824a70b2eb378e85a9cfd0" + "x-dfo-trace-id": "962188ce8826466e8510fb819d5dc26d" }, "json": { "schema_version": 1, @@ -49,21 +49,21 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "21bb19c92c824a70b2eb378e85a9cfd0", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "962188ce8826466e8510fb819d5dc26d", "warnings": [], "timing_ms": { - "total": 8287, + "total": 1710, "by_step": { "coverage": 0, - "extract": 1330, - "cache_lookup": 2 + "extract": 0, + "cache_lookup": 0 } }, "llm_usage": { - "input_tokens": 2237, - "output_tokens": 143, - "cached_tokens": 842, + "input_tokens": 0, + "output_tokens": 0, + "cached_tokens": 0, "jev_input_tokens": 13358, "jev_output_tokens": 2855 }, @@ -75,28 +75,28 @@ "variable_text": "mortality", "warnings": [], "timing_ms": { - "total": 6951, + "total": 1705, "by_step": { - "recall": 261, + "recall": 1, "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 7, - "shape_probe": 122, + "shape_arcs": 4, + "shape_probe": 2, "shape_groups": 6, "shape_labels": 1, "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 241, + "shape": 119, "phase_prune_and_rank": 0, - "bind": 142, - "phase_bind": 17, - "phase_settle": 6, - "phase_place_bindings": 490, + "bind": 146, + "phase_bind": 19, + "phase_settle": 2, + "phase_place_bindings": 30, "phase_facet_requests": 0, - "materialise": 115, - "phase_materialise": 1, - "answer": 243, - "phase_outcome": 5435 + "materialise": 21, + "phase_materialise": 25, + "answer": 30, + "phase_outcome": 1312 } }, "rendered_sentence": "2 readings. Kenya's deaths rate per capita. World Development Indicators · 2013 to 2022. Kenya's number of deaths. Kenya Census · 2018 to 2022.", @@ -818,7 +818,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -2352,7 +2352,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -2633,7 +2633,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "bb50ec0b45244567bf259cee9e6de857" + "x-dfo-trace-id": "3e98392a1d6a49edbf871ef6d6a14e8d" }, "json": { "schema_version": 1, @@ -2642,11 +2642,11 @@ "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "bb50ec0b45244567bf259cee9e6de857", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "3e98392a1d6a49edbf871ef6d6a14e8d", "warnings": [], "timing_ms": { - "total": 486, + "total": 332, "by_step": { "coverage": 0 } @@ -2659,18 +2659,18 @@ "variable_text": "mortality", "warnings": [], "timing_ms": { - "total": 436, + "total": 265, "by_step": { - "validate": 1, - "walk": 182, + "validate": 0, + "walk": 0, "reread_arcs": 0, "detect_edits": 0, "resolve_survivors": 0, - "shape": 158, - "bind": 1, + "shape": 164, + "bind": 0, "where_places": 0, - "materialise": 93, - "answer": 1, + "materialise": 99, + "answer": 2, "options": 0 } }, @@ -3190,7 +3190,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40" + "capability_version": "cap_88defe77cc79e0c0" }, "confidence": "high", "available_at_place": true, @@ -3411,7 +3411,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "cbcf0bde995644728537c2ed3abc531e" + "x-dfo-trace-id": "fbdb664928db4e2abb9e8d67358cd3d3" }, "json": { "schema_version": 1, @@ -3619,7 +3619,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261023T061534Z-06fa7b89", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:17.280841+00:00" + "confirmed_at": "2026-10-25T17:32:46.054393+00:00" }, "warnings": [], "diagnostics": [ @@ -3657,7 +3657,7 @@ ], "series_count": 1, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -3796,7 +3796,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, "held_until": "2026-11-22T17:34:00.253769Z" @@ -3814,7 +3814,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A38f1b5db24567c68f9791ac00bce803082c607f23c78688edf2d95e0778a070a?X-Goog-Signature=redacted", - "x-dfo-trace-id": "86f0988c26f742f59efa2fba3ebcf738" + "x-dfo-trace-id": "4a404bdffcc04f2cad2ebac790436ba6" } } }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/answer-catalogue.json b/python/client-contract/src/dfo_client_contract/scenarios/answer-catalogue.json index a15c230..5101202 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/answer-catalogue.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/answer-catalogue.json @@ -5,8 +5,8 @@ "origin": { "kind": "recorded", "base_url": "https://dfo-dev-apis-zms5lj4zhq-nn.a.run.app/api", - "dfo_commit": "0ba344270784ae9929a369da8acd00b399dfced8", - "recorded_at": "2026-10-24T16:31:26Z" + "dfo_commit": "99e62038ceb4b459c2ac699549076ff123c166aa", + "recorded_at": "2026-10-25T17:36:45Z" }, "call": [ { @@ -34,7 +34,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "a1f54c790c9c4278af93e96086733481" + "x-dfo-trace-id": "2b68cf1261cf4d72ad5093c3774e4221" }, "json": { "schema_version": 1, @@ -45,14 +45,14 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "a1f54c790c9c4278af93e96086733481", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "2b68cf1261cf4d72ad5093c3774e4221", "warnings": [], "timing_ms": { - "total": 1079, + "total": 859, "by_step": { "coverage": 0, - "extract": 1079, + "extract": 857, "entity_check": 0, "cache_lookup": 0 } @@ -84,7 +84,7 @@ "error": { "class": "DeclinedError", "code": "answer_declined", - "trace_id": "a1f54c790c9c4278af93e96086733481" + "trace_id": "2b68cf1261cf4d72ad5093c3774e4221" } } ] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/answer-declined.json b/python/client-contract/src/dfo_client_contract/scenarios/answer-declined.json index dfd7f8d..a107d3a 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/answer-declined.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/answer-declined.json @@ -5,8 +5,8 @@ "origin": { "kind": "recorded", "base_url": "https://dfo-dev-apis-zms5lj4zhq-nn.a.run.app/api", - "dfo_commit": "0ba344270784ae9929a369da8acd00b399dfced8", - "recorded_at": "2026-10-24T16:31:24Z" + "dfo_commit": "99e62038ceb4b459c2ac699549076ff123c166aa", + "recorded_at": "2026-10-25T17:36:44Z" }, "call": [ { @@ -34,7 +34,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "5b2bc45dc7f7419cb3dfb98ed9bf68a3" + "x-dfo-trace-id": "ba24916847894383bc4c13b436724cbe" }, "json": { "schema_version": 1, @@ -45,14 +45,14 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "5b2bc45dc7f7419cb3dfb98ed9bf68a3", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "ba24916847894383bc4c13b436724cbe", "warnings": [], "timing_ms": { - "total": 1050, + "total": 901, "by_step": { - "coverage": 1, - "extract": 1049, + "coverage": 0, + "extract": 899, "entity_check": 0, "cache_lookup": 0 } @@ -60,7 +60,7 @@ "llm_usage": { "input_tokens": 2229, "output_tokens": 64, - "cached_tokens": 840 + "cached_tokens": 0 }, "timed_out": false }, @@ -90,7 +90,7 @@ "error": { "class": "DeclinedError", "code": "answer_declined", - "trace_id": "5b2bc45dc7f7419cb3dfb98ed9bf68a3" + "trace_id": "ba24916847894383bc4c13b436724cbe" } } ] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/answer-definite-fetch.json b/python/client-contract/src/dfo_client_contract/scenarios/answer-definite-fetch.json index 4275254..578c3ad 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/answer-definite-fetch.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/answer-definite-fetch.json @@ -5,8 +5,8 @@ "origin": { "kind": "recorded", "base_url": "https://dfo-dev-apis-zms5lj4zhq-nn.a.run.app/api", - "dfo_commit": "0ba344270784ae9929a369da8acd00b399dfced8", - "recorded_at": "2026-10-24T16:30:01Z" + "dfo_commit": "99e62038ceb4b459c2ac699549076ff123c166aa", + "recorded_at": "2026-10-25T17:34:54Z" }, "call": [ { @@ -34,7 +34,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "bf6613bf82be4bddb4d60879aaf907d9" + "x-dfo-trace-id": "7abc6f06215b4187a4280d87d6f8a51a" }, "json": { "schema_version": 1, @@ -42,26 +42,23 @@ "entry_path": "raw_text", "raw_query": "ODA disbursements from Germany to Nigeria for basic health care", "normalized_query": "ODA disbursements from Germany to Nigeria for basic health care", - "extract_skipped": false + "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "bf6613bf82be4bddb4d60879aaf907d9", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "7abc6f06215b4187a4280d87d6f8a51a", "warnings": [], "timing_ms": { - "total": 2620, + "total": 3, "by_step": { "coverage": 0, - "extract": 1068, - "cache_lookup": 0 + "response_cache_layer1": 1 } }, "llm_usage": { - "input_tokens": 2231, - "output_tokens": 102, - "cached_tokens": 841, - "jev_input_tokens": 6586, - "jev_output_tokens": 2060 + "input_tokens": 0, + "output_tokens": 0, + "cached_tokens": 0 }, "timed_out": false }, @@ -71,30 +68,30 @@ "variable_text": "ODA disbursements for basic health care", "warnings": [], "timing_ms": { - "total": 1548, + "total": 1669, "by_step": { - "recall": 437, + "recall": 397, "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 2, + "shape_arcs": 1, "shape_probe_coverage": 4, - "shape_probe": 161, - "shape_groups": 45, + "shape_probe": 115, + "shape_groups": 53, "shape_labels": 1, - "shape_admission": 3, + "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 326, + "shape": 276, "phase_prune_and_rank": 0, - "bind": 225, - "phase_bind": 158, - "phase_settle": 56, - "phase_place_bindings": 18, + "bind": 214, + "phase_bind": 203, + "phase_settle": 45, + "phase_place_bindings": 20, "phase_facet_requests": 0, - "materialise": 41, - "phase_materialise": 0, - "answer": 186, - "options": 40, - "phase_outcome": 61 + "materialise": 28, + "phase_materialise": 196, + "answer": 145, + "options": 50, + "phase_outcome": 95 } }, "restatement": { @@ -541,7 +538,7 @@ "label": "OECD Terms and Conditions" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -1194,7 +1191,7 @@ "selected": [] } ], - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -3792,7 +3789,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "42460c90e7274dd19ecba24a6a0377e9" + "x-dfo-trace-id": "70ac3c153571497dab413643b6537466" }, "json": { "schema_version": 1, @@ -4193,7 +4190,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261011T194155Z-80081f08", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:05.017544+00:00" + "confirmed_at": "2026-10-25T17:22:10.027136+00:00" }, "warnings": [ { @@ -4238,7 +4235,7 @@ ], "series_count": 5, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -4521,7 +4518,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": true } @@ -4538,7 +4535,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A421efacc2dc010af38112a087b0b49ff5539f61d2afd12a88272b27e99b5f5db?X-Goog-Signature=redacted", - "x-dfo-trace-id": "b9b4b3a90d6546e09cc738a29bbbb1d6" + "x-dfo-trace-id": "d2d4306f79d2411ebcd110cc1e26f49d" } } }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/answer-definition-spec-id-mismatch.json b/python/client-contract/src/dfo_client_contract/scenarios/answer-definition-spec-id-mismatch.json index 9c3c84d..a6a67b7 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/answer-definition-spec-id-mismatch.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/answer-definition-spec-id-mismatch.json @@ -30,7 +30,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "bf6613bf82be4bddb4d60879aaf907d9" + "x-dfo-trace-id": "7abc6f06215b4187a4280d87d6f8a51a" }, "json": { "schema_version": 1, @@ -38,26 +38,23 @@ "entry_path": "raw_text", "raw_query": "ODA disbursements from Germany to Nigeria for basic health care", "normalized_query": "ODA disbursements from Germany to Nigeria for basic health care", - "extract_skipped": false + "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "bf6613bf82be4bddb4d60879aaf907d9", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "7abc6f06215b4187a4280d87d6f8a51a", "warnings": [], "timing_ms": { - "total": 2620, + "total": 3, "by_step": { "coverage": 0, - "extract": 1068, - "cache_lookup": 0 + "response_cache_layer1": 1 } }, "llm_usage": { - "input_tokens": 2231, - "output_tokens": 102, - "cached_tokens": 841, - "jev_input_tokens": 6586, - "jev_output_tokens": 2060 + "input_tokens": 0, + "output_tokens": 0, + "cached_tokens": 0 }, "timed_out": false }, @@ -67,30 +64,30 @@ "variable_text": "ODA disbursements for basic health care", "warnings": [], "timing_ms": { - "total": 1548, + "total": 1669, "by_step": { - "recall": 437, + "recall": 397, "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 2, + "shape_arcs": 1, "shape_probe_coverage": 4, - "shape_probe": 161, - "shape_groups": 45, + "shape_probe": 115, + "shape_groups": 53, "shape_labels": 1, - "shape_admission": 3, + "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 326, + "shape": 276, "phase_prune_and_rank": 0, - "bind": 225, - "phase_bind": 158, - "phase_settle": 56, - "phase_place_bindings": 18, + "bind": 214, + "phase_bind": 203, + "phase_settle": 45, + "phase_place_bindings": 20, "phase_facet_requests": 0, - "materialise": 41, - "phase_materialise": 0, - "answer": 186, - "options": 40, - "phase_outcome": 61 + "materialise": 28, + "phase_materialise": 196, + "answer": 145, + "options": 50, + "phase_outcome": 95 } }, "restatement": { @@ -537,7 +534,7 @@ "label": "OECD Terms and Conditions" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -1190,7 +1187,7 @@ "selected": [] } ], - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -3707,7 +3704,7 @@ "error": { "class": "ContractError", "code": "contract_violation", - "trace_id": "bf6613bf82be4bddb4d60879aaf907d9" + "trace_id": "7abc6f06215b4187a4280d87d6f8a51a" } } ] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/answer-empty-parts.json b/python/client-contract/src/dfo_client_contract/scenarios/answer-empty-parts.json index 35da4e4..697131d 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/answer-empty-parts.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/answer-empty-parts.json @@ -30,7 +30,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "304fe92b998b45849ff11a547aadc3e8" + "x-dfo-trace-id": "7fd4a5b5b50648999f5ead8966bcc02c" }, "json": { "schema_version": 1, @@ -41,14 +41,14 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "304fe92b998b45849ff11a547aadc3e8", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "7fd4a5b5b50648999f5ead8966bcc02c", "warnings": [], "timing_ms": { - "total": 1416, + "total": 1054, "by_step": { "coverage": 0, - "extract": 1297, + "extract": 1050, "cache_lookup": 0 } }, @@ -77,6 +77,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [], "part_index": 0 @@ -100,7 +101,7 @@ "error": { "class": "ContractError", "code": "contract_violation", - "trace_id": "304fe92b998b45849ff11a547aadc3e8" + "trace_id": "7fd4a5b5b50648999f5ead8966bcc02c" } } ] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/answer-folded-parts-unnamed.json b/python/client-contract/src/dfo_client_contract/scenarios/answer-folded-parts-unnamed.json index 40f0122..b5a120e 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/answer-folded-parts-unnamed.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/answer-folded-parts-unnamed.json @@ -33,7 +33,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "74e9acc99aff40f7a653093976c55e3b" + "x-dfo-trace-id": "7c7e42dd77f94ee08a15cef4438ee7ad" }, "json": { "schema_version": 1, @@ -41,26 +41,23 @@ "entry_path": "raw_text", "raw_query": "ODA disbursements for health and for education from Germany to Kenya, and GDP of Kenya", "normalized_query": "ODA disbursements for health and for education from Germany to Kenya, and GDP of Kenya", - "extract_skipped": false + "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "74e9acc99aff40f7a653093976c55e3b", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "7c7e42dd77f94ee08a15cef4438ee7ad", "warnings": [], "timing_ms": { - "total": 4632, + "total": 7, "by_step": { "coverage": 0, - "extract": 1209, - "cache_lookup": 0 + "response_cache_layer1": 1 } }, "llm_usage": { - "input_tokens": 2237, - "output_tokens": 215, - "cached_tokens": 842, - "jev_input_tokens": 25612, - "jev_output_tokens": 5740 + "input_tokens": 0, + "output_tokens": 0, + "cached_tokens": 0 }, "timed_out": false }, @@ -69,30 +66,30 @@ { "warnings": [], "timing_ms": { - "total": 3118, + "total": 2889, "by_step": { - "recall": 753, + "recall": 411, "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 75, - "shape_probe_coverage": 3, - "shape_probe": 164, - "shape_groups": 44, - "shape_labels": 9, - "shape_admission": 0, + "shape_arcs": 3, + "shape_probe_coverage": 32, + "shape_probe": 148, + "shape_groups": 58, + "shape_labels": 11, + "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 695, + "shape": 364, "phase_prune_and_rank": 0, - "bind": 275, - "phase_bind": 190, - "phase_settle": 91, - "phase_place_bindings": 19, + "bind": 440, + "phase_bind": 315, + "phase_settle": 55, + "phase_place_bindings": 25, "phase_facet_requests": 0, - "materialise": 616, - "phase_materialise": 0, - "answer": 20, - "options": 307, - "phase_outcome": 152 + "materialise": 471, + "phase_materialise": 208, + "answer": 45, + "options": 348, + "phase_outcome": 207 } }, "restatement": { @@ -1436,7 +1433,7 @@ "selected": [] } ], - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -3764,30 +3761,30 @@ } ], "timing_ms": { - "total": 3017, + "total": 3494, "by_step": { - "recall": 704, - "phase_resolve_places": 1, + "recall": 445, + "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 82, - "shape_probe_coverage": 2, - "shape_probe": 99, - "shape_groups": 47, - "shape_labels": 10, + "shape_arcs": 1, + "shape_probe_coverage": 6, + "shape_probe": 380, + "shape_groups": 80, + "shape_labels": 12, "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 365, + "shape": 785, "phase_prune_and_rank": 0, - "bind": 402, - "phase_bind": 196, - "phase_settle": 88, - "phase_place_bindings": 44, + "bind": 385, + "phase_bind": 179, + "phase_settle": 56, + "phase_place_bindings": 45, "phase_facet_requests": 0, - "materialise": 512, - "phase_materialise": 0, - "answer": 58, - "options": 511, - "phase_outcome": 136 + "materialise": 1028, + "phase_materialise": 194, + "answer": 42, + "options": 209, + "phase_outcome": 126 } }, "restatement": { @@ -5131,7 +5128,7 @@ "selected": [] } ], - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -7464,30 +7461,30 @@ } ], "timing_ms": { - "total": 1849, + "total": 1747, "by_step": { - "recall": 391, + "recall": 2, "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 4, - "shape_probe_coverage": 2, - "shape_probe": 126, - "shape_groups": 55, - "shape_labels": 10, + "shape_arcs": 5, + "shape_probe_coverage": 5, + "shape_probe": 124, + "shape_groups": 68, + "shape_labels": 13, "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 311, + "shape": 405, "phase_prune_and_rank": 0, - "bind": 139, - "phase_bind": 15, - "phase_settle": 27, - "phase_place_bindings": 426, + "bind": 687, + "phase_bind": 24, + "phase_settle": 6, + "phase_place_bindings": 10, "phase_facet_requests": 0, - "materialise": 93, - "phase_materialise": 0, - "answer": 244, - "options": 193, - "phase_outcome": 10 + "materialise": 296, + "phase_materialise": 17, + "answer": 7, + "options": 256, + "phase_outcome": 37 } }, "restatement": { @@ -8101,7 +8098,7 @@ "value": { "ref": { "ref": "FinancialActivities", - "label": "FinancialActivities" + "label": "Financial activities" }, "value_kind": "enum_value" } @@ -8924,7 +8921,7 @@ } ], "query_qualifiers": [], - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [ @@ -9457,7 +9454,7 @@ } ], "query_qualifiers": [], - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [ @@ -10038,7 +10035,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "fc2f3ffbd0f448d2a6dcade27ac985bb" + "x-dfo-trace-id": "0c2e351b089a4167a729427dd00094bc" }, "json": { "schema_version": 1, @@ -14638,7 +14635,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261019T174519Z-2e5e8cfd", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:28.193872+00:00" + "confirmed_at": "2026-10-25T17:30:43.831621+00:00" }, "warnings": [], "diagnostics": [ @@ -14677,7 +14674,7 @@ ], "series_count": 108, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -14960,7 +14957,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, "held_until": "2026-11-19T15:55:47.734809Z" @@ -14978,7 +14975,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3Aa189b171faab41729ddc1317add46add9b5eefb5fcac62a98cb735cb5f20f0f8?X-Goog-Signature=redacted", - "x-dfo-trace-id": "c0e0b1a4539f4af3b08693b51621e3cb" + "x-dfo-trace-id": "f3fc6fc6e041416f89eb852fb8b0a484" } } }, @@ -15071,7 +15068,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "8afa9ef2f2b54f89b6c8c836c84efd26" + "x-dfo-trace-id": "8f823376876f48a9a6cd8187edb64b15" }, "json": { "schema_version": 1, @@ -15248,7 +15245,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261019T174519Z-2e5e8cfd", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:29.978390+00:00" + "confirmed_at": "2026-10-25T17:30:44.944825+00:00" }, "warnings": [], "diagnostics": [ @@ -15286,7 +15283,7 @@ ], "series_count": 2, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -15440,7 +15437,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, "held_until": "2026-11-19T15:55:49.978519Z" @@ -15458,7 +15455,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A9ff8d7d0df398e2b298b22f54828fb187c705888db1816d223137c950d037839?X-Goog-Signature=redacted", - "x-dfo-trace-id": "af76c3e1b057409e8bbc7a9647e9aacc" + "x-dfo-trace-id": "a316c99f2ac4411bbb3ea29594a06b35" } } }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/answer-mixed-fetch-partial.json b/python/client-contract/src/dfo_client_contract/scenarios/answer-mixed-fetch-partial.json index 70fb08f..e9cfcb8 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/answer-mixed-fetch-partial.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/answer-mixed-fetch-partial.json @@ -5,8 +5,8 @@ "origin": { "kind": "recorded", "base_url": "https://dfo-dev-apis-zms5lj4zhq-nn.a.run.app/api", - "dfo_commit": "0ba344270784ae9929a369da8acd00b399dfced8", - "recorded_at": "2026-10-24T16:30:20Z" + "dfo_commit": "99e62038ceb4b459c2ac699549076ff123c166aa", + "recorded_at": "2026-10-25T17:35:00Z" }, "call": [ { @@ -35,7 +35,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "5974af081db54d0babd26f8b1de79beb" + "x-dfo-trace-id": "ac85a057c1634b21acdf56582a7a2b14" }, "json": { "schema_version": 1, @@ -46,15 +46,15 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "5974af081db54d0babd26f8b1de79beb", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "ac85a057c1634b21acdf56582a7a2b14", "warnings": [], "timing_ms": { - "total": 328, + "total": 343, "by_step": { "coverage": 0, "extract": 0, - "cache_lookup": 1 + "cache_lookup": 0 } }, "llm_usage": { @@ -72,30 +72,30 @@ "variable_text": "debt service", "warnings": [], "timing_ms": { - "total": 323, + "total": 338, "by_step": { "recall": 1, "phase_resolve_places": 0, "phase_check_entities": 0, "shape_arcs": 2, - "shape_probe_coverage": 15, - "shape_probe": 16, - "shape_groups": 5, - "shape_labels": 10, + "shape_probe_coverage": 18, + "shape_probe": 19, + "shape_groups": 7, + "shape_labels": 12, "shape_admission": 0, "phase_derive_shapes": 0, - "shape": 104, + "shape": 116, "phase_prune_and_rank": 0, - "bind": 101, - "phase_bind": 11, - "phase_settle": 12, - "phase_place_bindings": 11, + "bind": 80, + "phase_bind": 14, + "phase_settle": 5, + "phase_place_bindings": 13, "phase_facet_requests": 0, - "materialise": 9, - "phase_materialise": 0, - "answer": 2, - "options": 7, - "phase_outcome": 65 + "materialise": 11, + "phase_materialise": 23, + "answer": 3, + "options": 8, + "phase_outcome": 64 } }, "restatement": { @@ -570,7 +570,7 @@ "label": "Creative Commons Attribution License" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -1288,7 +1288,7 @@ } ], "query_qualifiers": [], - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -3280,7 +3280,7 @@ "phase_check_entities": 0, "shape_arcs": 1, "shape_probe": 4, - "shape_groups": 2, + "shape_groups": 1, "shape_labels": 0, "shape_admission": 0, "phase_derive_shapes": 0, @@ -3723,7 +3723,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "b8b4bbcd49e14cd49ecea658aea24ec5" + "x-dfo-trace-id": "c2a42c72af28496191a0216c462106b3" }, "json": { "schema_version": 1, @@ -3963,7 +3963,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261012T000033Z-84777283", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:21.793459+00:00" + "confirmed_at": "2026-10-25T17:30:37.872174+00:00" }, "warnings": [ { @@ -4008,7 +4008,7 @@ ], "series_count": 1, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -4184,7 +4184,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": true } @@ -4201,7 +4201,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3Aab0bfec276a23aaefea6dbc3f1b57854ea520b3a7ae5feeade202f292446ed2c?X-Goog-Signature=redacted", - "x-dfo-trace-id": "1ac27caa67d74511b31d6ca9016617df" + "x-dfo-trace-id": "f0e08c1d19c545bca64898e7b8d80bfb" } } }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/answer-mixed-fetch-raises.json b/python/client-contract/src/dfo_client_contract/scenarios/answer-mixed-fetch-raises.json index 254d0f6..0815b98 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/answer-mixed-fetch-raises.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/answer-mixed-fetch-raises.json @@ -5,8 +5,8 @@ "origin": { "kind": "recorded", "base_url": "https://dfo-dev-apis-zms5lj4zhq-nn.a.run.app/api", - "dfo_commit": "0ba344270784ae9929a369da8acd00b399dfced8", - "recorded_at": "2026-10-24T16:30:18Z" + "dfo_commit": "99e62038ceb4b459c2ac699549076ff123c166aa", + "recorded_at": "2026-10-25T17:34:59Z" }, "call": [ { @@ -34,7 +34,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "1e95940d311043d0b63bd27a87996439" + "x-dfo-trace-id": "38ca03326c514418af8164d5740ec677" }, "json": { "schema_version": 1, @@ -45,21 +45,21 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "1e95940d311043d0b63bd27a87996439", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "38ca03326c514418af8164d5740ec677", "warnings": [], "timing_ms": { - "total": 2200, + "total": 492, "by_step": { "coverage": 0, - "extract": 1432, + "extract": 1, "cache_lookup": 0 } }, "llm_usage": { - "input_tokens": 2232, - "output_tokens": 103, - "cached_tokens": 841, + "input_tokens": 0, + "output_tokens": 0, + "cached_tokens": 0, "jev_input_tokens": 5250, "jev_output_tokens": 1104 }, @@ -71,30 +71,30 @@ "variable_text": "debt service", "warnings": [], "timing_ms": { - "total": 757, + "total": 486, "by_step": { - "recall": 316, + "recall": 0, "phase_resolve_places": 0, "phase_check_entities": 0, "shape_arcs": 2, - "shape_probe_coverage": 8, - "shape_probe": 72, - "shape_groups": 5, - "shape_labels": 10, + "shape_probe_coverage": 15, + "shape_probe": 105, + "shape_groups": 7, + "shape_labels": 11, "shape_admission": 0, "phase_derive_shapes": 0, - "shape": 179, + "shape": 219, "phase_prune_and_rank": 0, - "bind": 89, - "phase_bind": 10, - "phase_settle": 13, + "bind": 112, + "phase_bind": 14, + "phase_settle": 5, "phase_place_bindings": 12, "phase_facet_requests": 0, - "materialise": 9, - "phase_materialise": 0, - "answer": 1, - "options": 79, - "phase_outcome": 49 + "materialise": 11, + "phase_materialise": 23, + "answer": 2, + "options": 8, + "phase_outcome": 80 } }, "restatement": { @@ -569,7 +569,7 @@ "label": "Creative Commons Attribution License" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -1287,7 +1287,7 @@ } ], "query_qualifiers": [], - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -3272,18 +3272,18 @@ "variable_text": "price of tea", "warnings": [], "timing_ms": { - "total": 330, + "total": 100, "by_step": { - "recall": 216, - "phase_resolve_places": 1, + "recall": 0, + "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 1, - "shape_probe": 108, - "shape_groups": 2, + "shape_arcs": 2, + "shape_probe": 91, + "shape_groups": 1, "shape_labels": 0, - "shape_admission": 0, + "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 113, + "shape": 100, "phase_prune_and_rank": 0 } }, @@ -3653,7 +3653,7 @@ "error": { "class": "IncompleteAnswerError", "code": "answer_incomplete", - "trace_id": "1e95940d311043d0b63bd27a87996439" + "trace_id": "38ca03326c514418af8164d5740ec677" } } ] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/answer-nested-specs-unchecked.json b/python/client-contract/src/dfo_client_contract/scenarios/answer-nested-specs-unchecked.json index 7cd013e..7cd19fc 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/answer-nested-specs-unchecked.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/answer-nested-specs-unchecked.json @@ -34,7 +34,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "6c90259bc5dc43649740c2e47cb555bc" + "x-dfo-trace-id": "355b1d08f8b442af87e20ecc65522a53" }, "json": { "schema_version": 1, @@ -45,8 +45,8 @@ "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "6c90259bc5dc43649740c2e47cb555bc", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "355b1d08f8b442af87e20ecc65522a53", "warnings": [], "timing_ms": { "total": 1, @@ -68,9 +68,9 @@ "variable_text": "ODA disbursements", "warnings": [], "timing_ms": { - "total": 115, + "total": 0, "by_step": { - "recall": 115, + "recall": 0, "phase_resolve_places": 0, "phase_check_entities": 0 } @@ -90,6 +90,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [] }, @@ -186,7 +187,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 }, { "mentions": [ @@ -215,7 +217,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 } ], "flagged_match": { @@ -251,6 +254,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [], "part_index": 0 @@ -303,7 +307,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "67793b9246794fc18d48484eb317d58f" + "x-dfo-trace-id": "13f7792a23294f7b929699cddc6d7713" }, "json": { "schema_version": 1, @@ -312,11 +316,11 @@ "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "67793b9246794fc18d48484eb317d58f", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "13f7792a23294f7b929699cddc6d7713", "warnings": [], "timing_ms": { - "total": 932, + "total": 3414, "by_step": { "coverage": 0 } @@ -342,30 +346,30 @@ } ], "timing_ms": { - "total": 907, + "total": 3410, "by_step": { "recall": 0, "phase_resolve_places": 0, "phase_check_entities": 0, "shape_arcs": 1, - "shape_probe_coverage": 6, - "shape_probe": 109, - "shape_groups": 41, + "shape_probe_coverage": 7, + "shape_probe": 2417, + "shape_groups": 58, "shape_labels": 1, - "shape_admission": 1, + "shape_admission": 0, "phase_derive_shapes": 0, - "shape": 387, + "shape": 2795, "phase_prune_and_rank": 0, - "bind": 111, - "phase_bind": 175, + "bind": 138, + "phase_bind": 188, "phase_settle": 9, - "phase_place_bindings": 67, + "phase_place_bindings": 80, "phase_facet_requests": 0, - "materialise": 15, - "phase_materialise": 0, + "materialise": 17, + "phase_materialise": 6, "answer": 10, - "options": 13, - "phase_outcome": 120 + "options": 6, + "phase_outcome": 161 } }, "restatement": { @@ -769,7 +773,7 @@ "label": "OECD Terms and Conditions" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -1223,7 +1227,7 @@ "start_year": 2018, "end_year": 2018 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/answer-operations-not-a-list.json b/python/client-contract/src/dfo_client_contract/scenarios/answer-operations-not-a-list.json index a9a4400..259d31c 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/answer-operations-not-a-list.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/answer-operations-not-a-list.json @@ -33,7 +33,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "bf6613bf82be4bddb4d60879aaf907d9" + "x-dfo-trace-id": "7abc6f06215b4187a4280d87d6f8a51a" }, "json": { "schema_version": 1, @@ -41,26 +41,23 @@ "entry_path": "raw_text", "raw_query": "ODA disbursements from Germany to Nigeria for basic health care", "normalized_query": "ODA disbursements from Germany to Nigeria for basic health care", - "extract_skipped": false + "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "bf6613bf82be4bddb4d60879aaf907d9", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "7abc6f06215b4187a4280d87d6f8a51a", "warnings": [], "timing_ms": { - "total": 2620, + "total": 3, "by_step": { "coverage": 0, - "extract": 1068, - "cache_lookup": 0 + "response_cache_layer1": 1 } }, "llm_usage": { - "input_tokens": 2231, - "output_tokens": 102, - "cached_tokens": 841, - "jev_input_tokens": 6586, - "jev_output_tokens": 2060 + "input_tokens": 0, + "output_tokens": 0, + "cached_tokens": 0 }, "timed_out": false }, @@ -70,30 +67,30 @@ "variable_text": "ODA disbursements for basic health care", "warnings": [], "timing_ms": { - "total": 1548, + "total": 1669, "by_step": { - "recall": 437, + "recall": 397, "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 2, + "shape_arcs": 1, "shape_probe_coverage": 4, - "shape_probe": 161, - "shape_groups": 45, + "shape_probe": 115, + "shape_groups": 53, "shape_labels": 1, - "shape_admission": 3, + "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 326, + "shape": 276, "phase_prune_and_rank": 0, - "bind": 225, - "phase_bind": 158, - "phase_settle": 56, - "phase_place_bindings": 18, + "bind": 214, + "phase_bind": 203, + "phase_settle": 45, + "phase_place_bindings": 20, "phase_facet_requests": 0, - "materialise": 41, - "phase_materialise": 0, - "answer": 186, - "options": 40, - "phase_outcome": 61 + "materialise": 28, + "phase_materialise": 196, + "answer": 145, + "options": 50, + "phase_outcome": 95 } }, "restatement": { @@ -544,7 +541,7 @@ "label": "OECD Terms and Conditions" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -1197,7 +1194,7 @@ "selected": [] } ], - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -3795,7 +3792,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "42460c90e7274dd19ecba24a6a0377e9" + "x-dfo-trace-id": "70ac3c153571497dab413643b6537466" }, "json": { "schema_version": 1, @@ -4196,7 +4193,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261011T194155Z-80081f08", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:05.017544+00:00" + "confirmed_at": "2026-10-25T17:22:10.027136+00:00" }, "warnings": [ { @@ -4241,7 +4238,7 @@ ], "series_count": 5, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -4524,7 +4521,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": true } @@ -4541,7 +4538,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A421efacc2dc010af38112a087b0b49ff5539f61d2afd12a88272b27e99b5f5db?X-Goog-Signature=redacted", - "x-dfo-trace-id": "b9b4b3a90d6546e09cc738a29bbbb1d6" + "x-dfo-trace-id": "d2d4306f79d2411ebcd110cc1e26f49d" } } }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/answer-part-status-not-a-string.json b/python/client-contract/src/dfo_client_contract/scenarios/answer-part-status-not-a-string.json index 08f9ae8..f7e28bc 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/answer-part-status-not-a-string.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/answer-part-status-not-a-string.json @@ -30,7 +30,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "1e95940d311043d0b63bd27a87996439" + "x-dfo-trace-id": "38ca03326c514418af8164d5740ec677" }, "json": { "schema_version": 1, @@ -41,21 +41,21 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "1e95940d311043d0b63bd27a87996439", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "38ca03326c514418af8164d5740ec677", "warnings": [], "timing_ms": { - "total": 2200, + "total": 492, "by_step": { "coverage": 0, - "extract": 1432, + "extract": 1, "cache_lookup": 0 } }, "llm_usage": { - "input_tokens": 2232, - "output_tokens": 103, - "cached_tokens": 841, + "input_tokens": 0, + "output_tokens": 0, + "cached_tokens": 0, "jev_input_tokens": 5250, "jev_output_tokens": 1104 }, @@ -67,30 +67,30 @@ "variable_text": "debt service", "warnings": [], "timing_ms": { - "total": 757, + "total": 486, "by_step": { - "recall": 316, + "recall": 0, "phase_resolve_places": 0, "phase_check_entities": 0, "shape_arcs": 2, - "shape_probe_coverage": 8, - "shape_probe": 72, - "shape_groups": 5, - "shape_labels": 10, + "shape_probe_coverage": 15, + "shape_probe": 105, + "shape_groups": 7, + "shape_labels": 11, "shape_admission": 0, "phase_derive_shapes": 0, - "shape": 179, + "shape": 219, "phase_prune_and_rank": 0, - "bind": 89, - "phase_bind": 10, - "phase_settle": 13, + "bind": 112, + "phase_bind": 14, + "phase_settle": 5, "phase_place_bindings": 12, "phase_facet_requests": 0, - "materialise": 9, - "phase_materialise": 0, - "answer": 1, - "options": 79, - "phase_outcome": 49 + "materialise": 11, + "phase_materialise": 23, + "answer": 2, + "options": 8, + "phase_outcome": 80 } }, "restatement": { @@ -565,7 +565,7 @@ "label": "Creative Commons Attribution License" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -1283,7 +1283,7 @@ } ], "query_qualifiers": [], - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -3268,18 +3268,18 @@ "variable_text": "price of tea", "warnings": [], "timing_ms": { - "total": 330, + "total": 100, "by_step": { - "recall": 216, - "phase_resolve_places": 1, + "recall": 0, + "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 1, - "shape_probe": 108, - "shape_groups": 2, + "shape_arcs": 2, + "shape_probe": 91, + "shape_groups": 1, "shape_labels": 0, - "shape_admission": 0, + "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 113, + "shape": 100, "phase_prune_and_rank": 0 } }, @@ -3631,7 +3631,7 @@ "error": { "class": "ContractError", "code": "contract_violation", - "trace_id": "1e95940d311043d0b63bd27a87996439" + "trace_id": "38ca03326c514418af8164d5740ec677" } } ] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/answer-several-readings-folded.json b/python/client-contract/src/dfo_client_contract/scenarios/answer-several-readings-folded.json index 93272d8..7d6aec9 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/answer-several-readings-folded.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/answer-several-readings-folded.json @@ -5,8 +5,8 @@ "origin": { "kind": "recorded", "base_url": "https://dfo-dev-apis-zms5lj4zhq-nn.a.run.app/api", - "dfo_commit": "0ba344270784ae9929a369da8acd00b399dfced8", - "recorded_at": "2026-10-24T16:30:22Z" + "dfo_commit": "99e62038ceb4b459c2ac699549076ff123c166aa", + "recorded_at": "2026-10-25T17:35:02Z" }, "call": [ { @@ -34,7 +34,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "74e9acc99aff40f7a653093976c55e3b" + "x-dfo-trace-id": "7c7e42dd77f94ee08a15cef4438ee7ad" }, "json": { "schema_version": 1, @@ -42,26 +42,23 @@ "entry_path": "raw_text", "raw_query": "ODA disbursements for health and for education from Germany to Kenya, and GDP of Kenya", "normalized_query": "ODA disbursements for health and for education from Germany to Kenya, and GDP of Kenya", - "extract_skipped": false + "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "74e9acc99aff40f7a653093976c55e3b", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "7c7e42dd77f94ee08a15cef4438ee7ad", "warnings": [], "timing_ms": { - "total": 4632, + "total": 7, "by_step": { "coverage": 0, - "extract": 1209, - "cache_lookup": 0 + "response_cache_layer1": 1 } }, "llm_usage": { - "input_tokens": 2237, - "output_tokens": 215, - "cached_tokens": 842, - "jev_input_tokens": 25612, - "jev_output_tokens": 5740 + "input_tokens": 0, + "output_tokens": 0, + "cached_tokens": 0 }, "timed_out": false }, @@ -71,30 +68,30 @@ "variable_text": "health ODA disbursements", "warnings": [], "timing_ms": { - "total": 3118, + "total": 2889, "by_step": { - "recall": 753, + "recall": 411, "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 75, - "shape_probe_coverage": 3, - "shape_probe": 164, - "shape_groups": 44, - "shape_labels": 9, - "shape_admission": 0, + "shape_arcs": 3, + "shape_probe_coverage": 32, + "shape_probe": 148, + "shape_groups": 58, + "shape_labels": 11, + "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 695, + "shape": 364, "phase_prune_and_rank": 0, - "bind": 275, - "phase_bind": 190, - "phase_settle": 91, - "phase_place_bindings": 19, + "bind": 440, + "phase_bind": 315, + "phase_settle": 55, + "phase_place_bindings": 25, "phase_facet_requests": 0, - "materialise": 616, - "phase_materialise": 0, - "answer": 20, - "options": 307, - "phase_outcome": 152 + "materialise": 471, + "phase_materialise": 208, + "answer": 45, + "options": 348, + "phase_outcome": 207 } }, "restatement": { @@ -1438,7 +1435,7 @@ "selected": [] } ], - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -3766,30 +3763,30 @@ } ], "timing_ms": { - "total": 3017, + "total": 3494, "by_step": { - "recall": 704, - "phase_resolve_places": 1, + "recall": 445, + "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 82, - "shape_probe_coverage": 2, - "shape_probe": 99, - "shape_groups": 47, - "shape_labels": 10, + "shape_arcs": 1, + "shape_probe_coverage": 6, + "shape_probe": 380, + "shape_groups": 80, + "shape_labels": 12, "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 365, + "shape": 785, "phase_prune_and_rank": 0, - "bind": 402, - "phase_bind": 196, - "phase_settle": 88, - "phase_place_bindings": 44, + "bind": 385, + "phase_bind": 179, + "phase_settle": 56, + "phase_place_bindings": 45, "phase_facet_requests": 0, - "materialise": 512, - "phase_materialise": 0, - "answer": 58, - "options": 511, - "phase_outcome": 136 + "materialise": 1028, + "phase_materialise": 194, + "answer": 42, + "options": 209, + "phase_outcome": 126 } }, "restatement": { @@ -5133,7 +5130,7 @@ "selected": [] } ], - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -7466,30 +7463,30 @@ } ], "timing_ms": { - "total": 1849, + "total": 1747, "by_step": { - "recall": 391, + "recall": 2, "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 4, - "shape_probe_coverage": 2, - "shape_probe": 126, - "shape_groups": 55, - "shape_labels": 10, + "shape_arcs": 5, + "shape_probe_coverage": 5, + "shape_probe": 124, + "shape_groups": 68, + "shape_labels": 13, "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 311, + "shape": 405, "phase_prune_and_rank": 0, - "bind": 139, - "phase_bind": 15, - "phase_settle": 27, - "phase_place_bindings": 426, + "bind": 687, + "phase_bind": 24, + "phase_settle": 6, + "phase_place_bindings": 10, "phase_facet_requests": 0, - "materialise": 93, - "phase_materialise": 0, - "answer": 244, - "options": 193, - "phase_outcome": 10 + "materialise": 296, + "phase_materialise": 17, + "answer": 7, + "options": 256, + "phase_outcome": 37 } }, "restatement": { @@ -8103,7 +8100,7 @@ "value": { "ref": { "ref": "FinancialActivities", - "label": "FinancialActivities" + "label": "Financial activities" }, "value_kind": "enum_value" } @@ -8926,7 +8923,7 @@ } ], "query_qualifiers": [], - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [ @@ -9459,7 +9456,7 @@ } ], "query_qualifiers": [], - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [ @@ -10040,7 +10037,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "fc2f3ffbd0f448d2a6dcade27ac985bb" + "x-dfo-trace-id": "0c2e351b089a4167a729427dd00094bc" }, "json": { "schema_version": 1, @@ -14640,7 +14637,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261019T174519Z-2e5e8cfd", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:28.193872+00:00" + "confirmed_at": "2026-10-25T17:30:43.831621+00:00" }, "warnings": [], "diagnostics": [ @@ -14679,7 +14676,7 @@ ], "series_count": 108, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -14962,7 +14959,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, "held_until": "2026-11-19T15:55:47.734809Z" @@ -14980,7 +14977,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3Aa189b171faab41729ddc1317add46add9b5eefb5fcac62a98cb735cb5f20f0f8?X-Goog-Signature=redacted", - "x-dfo-trace-id": "c0e0b1a4539f4af3b08693b51621e3cb" + "x-dfo-trace-id": "f3fc6fc6e041416f89eb852fb8b0a484" } } }, @@ -15073,7 +15070,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "8afa9ef2f2b54f89b6c8c836c84efd26" + "x-dfo-trace-id": "8f823376876f48a9a6cd8187edb64b15" }, "json": { "schema_version": 1, @@ -15250,7 +15247,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261019T174519Z-2e5e8cfd", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:29.978390+00:00" + "confirmed_at": "2026-10-25T17:30:44.944825+00:00" }, "warnings": [], "diagnostics": [ @@ -15288,7 +15285,7 @@ ], "series_count": 2, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -15442,7 +15439,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, "held_until": "2026-11-19T15:55:49.978519Z" @@ -15460,7 +15457,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A9ff8d7d0df398e2b298b22f54828fb187c705888db1816d223137c950d037839?X-Goog-Signature=redacted", - "x-dfo-trace-id": "af76c3e1b057409e8bbc7a9647e9aacc" + "x-dfo-trace-id": "a316c99f2ac4411bbb3ea29594a06b35" } } }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/answer-spec-without-identity.json b/python/client-contract/src/dfo_client_contract/scenarios/answer-spec-without-identity.json index ddf62a5..1b42cc0 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/answer-spec-without-identity.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/answer-spec-without-identity.json @@ -30,7 +30,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "bf6613bf82be4bddb4d60879aaf907d9" + "x-dfo-trace-id": "7abc6f06215b4187a4280d87d6f8a51a" }, "json": { "schema_version": 1, @@ -38,26 +38,23 @@ "entry_path": "raw_text", "raw_query": "ODA disbursements from Germany to Nigeria for basic health care", "normalized_query": "ODA disbursements from Germany to Nigeria for basic health care", - "extract_skipped": false + "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "bf6613bf82be4bddb4d60879aaf907d9", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "7abc6f06215b4187a4280d87d6f8a51a", "warnings": [], "timing_ms": { - "total": 2620, + "total": 3, "by_step": { "coverage": 0, - "extract": 1068, - "cache_lookup": 0 + "response_cache_layer1": 1 } }, "llm_usage": { - "input_tokens": 2231, - "output_tokens": 102, - "cached_tokens": 841, - "jev_input_tokens": 6586, - "jev_output_tokens": 2060 + "input_tokens": 0, + "output_tokens": 0, + "cached_tokens": 0 }, "timed_out": false }, @@ -67,30 +64,30 @@ "variable_text": "ODA disbursements for basic health care", "warnings": [], "timing_ms": { - "total": 1548, + "total": 1669, "by_step": { - "recall": 437, + "recall": 397, "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 2, + "shape_arcs": 1, "shape_probe_coverage": 4, - "shape_probe": 161, - "shape_groups": 45, + "shape_probe": 115, + "shape_groups": 53, "shape_labels": 1, - "shape_admission": 3, + "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 326, + "shape": 276, "phase_prune_and_rank": 0, - "bind": 225, - "phase_bind": 158, - "phase_settle": 56, - "phase_place_bindings": 18, + "bind": 214, + "phase_bind": 203, + "phase_settle": 45, + "phase_place_bindings": 20, "phase_facet_requests": 0, - "materialise": 41, - "phase_materialise": 0, - "answer": 186, - "options": 40, - "phase_outcome": 61 + "materialise": 28, + "phase_materialise": 196, + "answer": 145, + "options": 50, + "phase_outcome": 95 } }, "restatement": { @@ -474,7 +471,7 @@ "label": "OECD Terms and Conditions" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -1127,7 +1124,7 @@ "selected": [] } ], - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -3644,7 +3641,7 @@ "error": { "class": "ContractError", "code": "contract_violation", - "trace_id": "bf6613bf82be4bddb4d60879aaf907d9" + "trace_id": "7abc6f06215b4187a4280d87d6f8a51a" } } ] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/answer-spec-without-resolved.json b/python/client-contract/src/dfo_client_contract/scenarios/answer-spec-without-resolved.json index 67702d7..7b92863 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/answer-spec-without-resolved.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/answer-spec-without-resolved.json @@ -30,7 +30,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "bf6613bf82be4bddb4d60879aaf907d9" + "x-dfo-trace-id": "7abc6f06215b4187a4280d87d6f8a51a" }, "json": { "schema_version": 1, @@ -38,26 +38,23 @@ "entry_path": "raw_text", "raw_query": "ODA disbursements from Germany to Nigeria for basic health care", "normalized_query": "ODA disbursements from Germany to Nigeria for basic health care", - "extract_skipped": false + "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "bf6613bf82be4bddb4d60879aaf907d9", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "7abc6f06215b4187a4280d87d6f8a51a", "warnings": [], "timing_ms": { - "total": 2620, + "total": 3, "by_step": { "coverage": 0, - "extract": 1068, - "cache_lookup": 0 + "response_cache_layer1": 1 } }, "llm_usage": { - "input_tokens": 2231, - "output_tokens": 102, - "cached_tokens": 841, - "jev_input_tokens": 6586, - "jev_output_tokens": 2060 + "input_tokens": 0, + "output_tokens": 0, + "cached_tokens": 0 }, "timed_out": false }, @@ -67,30 +64,30 @@ "variable_text": "ODA disbursements for basic health care", "warnings": [], "timing_ms": { - "total": 1548, + "total": 1669, "by_step": { - "recall": 437, + "recall": 397, "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 2, + "shape_arcs": 1, "shape_probe_coverage": 4, - "shape_probe": 161, - "shape_groups": 45, + "shape_probe": 115, + "shape_groups": 53, "shape_labels": 1, - "shape_admission": 3, + "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 326, + "shape": 276, "phase_prune_and_rank": 0, - "bind": 225, - "phase_bind": 158, - "phase_settle": 56, - "phase_place_bindings": 18, + "bind": 214, + "phase_bind": 203, + "phase_settle": 45, + "phase_place_bindings": 20, "phase_facet_requests": 0, - "materialise": 41, - "phase_materialise": 0, - "answer": 186, - "options": 40, - "phase_outcome": 61 + "materialise": 28, + "phase_materialise": 196, + "answer": 145, + "options": 50, + "phase_outcome": 95 } }, "restatement": { @@ -424,7 +421,7 @@ "error": { "class": "ContractError", "code": "contract_violation", - "trace_id": "bf6613bf82be4bddb4d60879aaf907d9" + "trace_id": "7abc6f06215b4187a4280d87d6f8a51a" } } ] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/answer-timed-out.json b/python/client-contract/src/dfo_client_contract/scenarios/answer-timed-out.json index 54b6e48..051cdf2 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/answer-timed-out.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/answer-timed-out.json @@ -44,21 +44,21 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "1e95940d311043d0b63bd27a87996439", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "38ca03326c514418af8164d5740ec677", "warnings": [], "timing_ms": { - "total": 2200, + "total": 492, "by_step": { "coverage": 0, - "extract": 1432, + "extract": 1, "cache_lookup": 0 } }, "llm_usage": { - "input_tokens": 2232, - "output_tokens": 103, - "cached_tokens": 841, + "input_tokens": 0, + "output_tokens": 0, + "cached_tokens": 0, "jev_input_tokens": 5250, "jev_output_tokens": 1104 }, @@ -70,30 +70,30 @@ "variable_text": "debt service", "warnings": [], "timing_ms": { - "total": 757, + "total": 486, "by_step": { - "recall": 316, + "recall": 0, "phase_resolve_places": 0, "phase_check_entities": 0, "shape_arcs": 2, - "shape_probe_coverage": 8, - "shape_probe": 72, - "shape_groups": 5, - "shape_labels": 10, + "shape_probe_coverage": 15, + "shape_probe": 105, + "shape_groups": 7, + "shape_labels": 11, "shape_admission": 0, "phase_derive_shapes": 0, - "shape": 179, + "shape": 219, "phase_prune_and_rank": 0, - "bind": 89, - "phase_bind": 10, - "phase_settle": 13, + "bind": 112, + "phase_bind": 14, + "phase_settle": 5, "phase_place_bindings": 12, "phase_facet_requests": 0, - "materialise": 9, - "phase_materialise": 0, - "answer": 1, - "options": 79, - "phase_outcome": 49 + "materialise": 11, + "phase_materialise": 23, + "answer": 2, + "options": 8, + "phase_outcome": 80 } }, "restatement": { @@ -568,7 +568,7 @@ "label": "Creative Commons Attribution License" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -1286,7 +1286,7 @@ } ], "query_qualifiers": [], - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -3271,18 +3271,18 @@ "variable_text": "price of tea", "warnings": [], "timing_ms": { - "total": 330, + "total": 100, "by_step": { - "recall": 216, - "phase_resolve_places": 1, + "recall": 0, + "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 1, - "shape_probe": 108, - "shape_groups": 2, + "shape_arcs": 2, + "shape_probe": 91, + "shape_groups": 1, "shape_labels": 0, - "shape_admission": 0, + "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 113, + "shape": 100, "phase_prune_and_rank": 0 } }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/answer-unknown-enum-value.json b/python/client-contract/src/dfo_client_contract/scenarios/answer-unknown-enum-value.json index d55e0ec..ee7690f 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/answer-unknown-enum-value.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/answer-unknown-enum-value.json @@ -30,7 +30,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "304fe92b998b45849ff11a547aadc3e8" + "x-dfo-trace-id": "7fd4a5b5b50648999f5ead8966bcc02c" }, "json": { "schema_version": 1, @@ -41,14 +41,14 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "304fe92b998b45849ff11a547aadc3e8", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "7fd4a5b5b50648999f5ead8966bcc02c", "warnings": [], "timing_ms": { - "total": 1416, + "total": 1054, "by_step": { "coverage": 0, - "extract": 1297, + "extract": 1050, "cache_lookup": 0 } }, @@ -65,9 +65,9 @@ "variable_text": "ODA disbursements", "warnings": [], "timing_ms": { - "total": 115, + "total": 0, "by_step": { - "recall": 115, + "recall": 0, "phase_resolve_places": 0, "phase_check_entities": 0 } @@ -87,6 +87,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [] }, @@ -183,7 +184,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 }, { "mentions": [ @@ -212,7 +214,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 } ] } @@ -234,6 +237,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [], "part_index": 0 diff --git a/python/client-contract/src/dfo_client_contract/scenarios/answer-unknown-kind.json b/python/client-contract/src/dfo_client_contract/scenarios/answer-unknown-kind.json index bf2b909..ad1b2d6 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/answer-unknown-kind.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/answer-unknown-kind.json @@ -30,7 +30,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "304fe92b998b45849ff11a547aadc3e8" + "x-dfo-trace-id": "7fd4a5b5b50648999f5ead8966bcc02c" }, "json": { "schema_version": 1, @@ -41,14 +41,14 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "304fe92b998b45849ff11a547aadc3e8", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "7fd4a5b5b50648999f5ead8966bcc02c", "warnings": [], "timing_ms": { - "total": 1416, + "total": 1054, "by_step": { "coverage": 0, - "extract": 1297, + "extract": 1050, "cache_lookup": 0 } }, @@ -65,9 +65,9 @@ "variable_text": "ODA disbursements", "warnings": [], "timing_ms": { - "total": 115, + "total": 0, "by_step": { - "recall": 115, + "recall": 0, "phase_resolve_places": 0, "phase_check_entities": 0 } @@ -87,6 +87,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [] }, @@ -183,7 +184,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 }, { "mentions": [ @@ -212,7 +214,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 } ] } @@ -234,6 +237,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [], "part_index": 0 @@ -257,7 +261,7 @@ "error": { "class": "ContractError", "code": "contract_violation", - "trace_id": "304fe92b998b45849ff11a547aadc3e8" + "trace_id": "7fd4a5b5b50648999f5ead8966bcc02c" } } ] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/answer-unknown-part-status.json b/python/client-contract/src/dfo_client_contract/scenarios/answer-unknown-part-status.json index 1ca39fd..b26f19d 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/answer-unknown-part-status.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/answer-unknown-part-status.json @@ -33,7 +33,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "1e95940d311043d0b63bd27a87996439" + "x-dfo-trace-id": "38ca03326c514418af8164d5740ec677" }, "json": { "schema_version": 1, @@ -44,21 +44,21 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "1e95940d311043d0b63bd27a87996439", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "38ca03326c514418af8164d5740ec677", "warnings": [], "timing_ms": { - "total": 2200, + "total": 492, "by_step": { "coverage": 0, - "extract": 1432, + "extract": 1, "cache_lookup": 0 } }, "llm_usage": { - "input_tokens": 2232, - "output_tokens": 103, - "cached_tokens": 841, + "input_tokens": 0, + "output_tokens": 0, + "cached_tokens": 0, "jev_input_tokens": 5250, "jev_output_tokens": 1104 }, @@ -70,30 +70,30 @@ "variable_text": "debt service", "warnings": [], "timing_ms": { - "total": 757, + "total": 486, "by_step": { - "recall": 316, + "recall": 0, "phase_resolve_places": 0, "phase_check_entities": 0, "shape_arcs": 2, - "shape_probe_coverage": 8, - "shape_probe": 72, - "shape_groups": 5, - "shape_labels": 10, + "shape_probe_coverage": 15, + "shape_probe": 105, + "shape_groups": 7, + "shape_labels": 11, "shape_admission": 0, "phase_derive_shapes": 0, - "shape": 179, + "shape": 219, "phase_prune_and_rank": 0, - "bind": 89, - "phase_bind": 10, - "phase_settle": 13, + "bind": 112, + "phase_bind": 14, + "phase_settle": 5, "phase_place_bindings": 12, "phase_facet_requests": 0, - "materialise": 9, - "phase_materialise": 0, - "answer": 1, - "options": 79, - "phase_outcome": 49 + "materialise": 11, + "phase_materialise": 23, + "answer": 2, + "options": 8, + "phase_outcome": 80 } }, "restatement": { @@ -568,7 +568,7 @@ "label": "Creative Commons Attribution License" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -1286,7 +1286,7 @@ } ], "query_qualifiers": [], - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -3271,18 +3271,18 @@ "variable_text": "price of tea", "warnings": [], "timing_ms": { - "total": 330, + "total": 100, "by_step": { - "recall": 216, - "phase_resolve_places": 1, + "recall": 0, + "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 1, - "shape_probe": 108, - "shape_groups": 2, + "shape_arcs": 2, + "shape_probe": 91, + "shape_groups": 1, "shape_labels": 0, - "shape_admission": 0, + "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 113, + "shape": 100, "phase_prune_and_rank": 0 } }, @@ -3652,7 +3652,7 @@ "error": { "class": "IncompleteAnswerError", "code": "answer_incomplete", - "trace_id": "1e95940d311043d0b63bd27a87996439" + "trace_id": "38ca03326c514418af8164d5740ec677" } } ] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/answer-unsupported-part.json b/python/client-contract/src/dfo_client_contract/scenarios/answer-unsupported-part.json index 3471fd6..f2eb0a9 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/answer-unsupported-part.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/answer-unsupported-part.json @@ -33,7 +33,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "1e95940d311043d0b63bd27a87996439" + "x-dfo-trace-id": "38ca03326c514418af8164d5740ec677" }, "json": { "schema_version": 1, @@ -44,21 +44,21 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "1e95940d311043d0b63bd27a87996439", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "38ca03326c514418af8164d5740ec677", "warnings": [], "timing_ms": { - "total": 2200, + "total": 492, "by_step": { "coverage": 0, - "extract": 1432, + "extract": 1, "cache_lookup": 0 } }, "llm_usage": { - "input_tokens": 2232, - "output_tokens": 103, - "cached_tokens": 841, + "input_tokens": 0, + "output_tokens": 0, + "cached_tokens": 0, "jev_input_tokens": 5250, "jev_output_tokens": 1104 }, @@ -70,30 +70,30 @@ "variable_text": "debt service", "warnings": [], "timing_ms": { - "total": 757, + "total": 486, "by_step": { - "recall": 316, + "recall": 0, "phase_resolve_places": 0, "phase_check_entities": 0, "shape_arcs": 2, - "shape_probe_coverage": 8, - "shape_probe": 72, - "shape_groups": 5, - "shape_labels": 10, + "shape_probe_coverage": 15, + "shape_probe": 105, + "shape_groups": 7, + "shape_labels": 11, "shape_admission": 0, "phase_derive_shapes": 0, - "shape": 179, + "shape": 219, "phase_prune_and_rank": 0, - "bind": 89, - "phase_bind": 10, - "phase_settle": 13, + "bind": 112, + "phase_bind": 14, + "phase_settle": 5, "phase_place_bindings": 12, "phase_facet_requests": 0, - "materialise": 9, - "phase_materialise": 0, - "answer": 1, - "options": 79, - "phase_outcome": 49 + "materialise": 11, + "phase_materialise": 23, + "answer": 2, + "options": 8, + "phase_outcome": 80 } }, "restatement": { @@ -568,7 +568,7 @@ "label": "Creative Commons Attribution License" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -1286,7 +1286,7 @@ } ], "query_qualifiers": [], - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -3271,18 +3271,18 @@ "variable_text": "price of tea", "warnings": [], "timing_ms": { - "total": 330, + "total": 100, "by_step": { - "recall": 216, - "phase_resolve_places": 1, + "recall": 0, + "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 1, - "shape_probe": 108, - "shape_groups": 2, + "shape_arcs": 2, + "shape_probe": 91, + "shape_groups": 1, "shape_labels": 0, - "shape_admission": 0, + "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 113, + "shape": 100, "phase_prune_and_rank": 0 } }, @@ -3646,7 +3646,7 @@ "error": { "class": "IncompleteAnswerError", "code": "answer_incomplete", - "trace_id": "1e95940d311043d0b63bd27a87996439" + "trace_id": "38ca03326c514418af8164d5740ec677" } } ] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/choose-candidate-assumed-reading.json b/python/client-contract/src/dfo_client_contract/scenarios/choose-candidate-assumed-reading.json index d4a4d89..8170879 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/choose-candidate-assumed-reading.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/choose-candidate-assumed-reading.json @@ -34,7 +34,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "21bb19c92c824a70b2eb378e85a9cfd0" + "x-dfo-trace-id": "962188ce8826466e8510fb819d5dc26d" }, "json": { "schema_version": 1, @@ -45,21 +45,21 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "21bb19c92c824a70b2eb378e85a9cfd0", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "962188ce8826466e8510fb819d5dc26d", "warnings": [], "timing_ms": { - "total": 8287, + "total": 1710, "by_step": { "coverage": 0, - "extract": 1330, - "cache_lookup": 2 + "extract": 0, + "cache_lookup": 0 } }, "llm_usage": { - "input_tokens": 2237, - "output_tokens": 143, - "cached_tokens": 842, + "input_tokens": 0, + "output_tokens": 0, + "cached_tokens": 0, "jev_input_tokens": 13358, "jev_output_tokens": 2855 }, @@ -71,28 +71,28 @@ "variable_text": "mortality", "warnings": [], "timing_ms": { - "total": 6951, + "total": 1705, "by_step": { - "recall": 261, + "recall": 1, "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 7, - "shape_probe": 122, + "shape_arcs": 4, + "shape_probe": 2, "shape_groups": 6, "shape_labels": 1, "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 241, + "shape": 119, "phase_prune_and_rank": 0, - "bind": 142, - "phase_bind": 17, - "phase_settle": 6, - "phase_place_bindings": 490, + "bind": 146, + "phase_bind": 19, + "phase_settle": 2, + "phase_place_bindings": 30, "phase_facet_requests": 0, - "materialise": 115, - "phase_materialise": 1, - "answer": 243, - "phase_outcome": 5435 + "materialise": 21, + "phase_materialise": 25, + "answer": 30, + "phase_outcome": 1312 } }, "rendered_sentence": "2 readings. Kenya's deaths rate per capita. World Development Indicators · 2013 to 2022. Kenya's number of deaths. Kenya Census · 2018 to 2022.", @@ -814,7 +814,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -2348,7 +2348,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -2647,7 +2647,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "bb50ec0b45244567bf259cee9e6de857" + "x-dfo-trace-id": "3e98392a1d6a49edbf871ef6d6a14e8d" }, "json": { "schema_version": 1, @@ -2656,11 +2656,11 @@ "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "bb50ec0b45244567bf259cee9e6de857", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "3e98392a1d6a49edbf871ef6d6a14e8d", "warnings": [], "timing_ms": { - "total": 486, + "total": 332, "by_step": { "coverage": 0 } @@ -2673,18 +2673,18 @@ "variable_text": "mortality", "warnings": [], "timing_ms": { - "total": 436, + "total": 265, "by_step": { - "validate": 1, - "walk": 182, + "validate": 0, + "walk": 0, "reread_arcs": 0, "detect_edits": 0, "resolve_survivors": 0, - "shape": 158, - "bind": 1, + "shape": 164, + "bind": 0, "where_places": 0, - "materialise": 93, - "answer": 1, + "materialise": 99, + "answer": 2, "options": 0 } }, @@ -3213,7 +3213,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40" + "capability_version": "cap_88defe77cc79e0c0" }, "confidence": "high", "available_at_place": true, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/choose-candidate-by-label.json b/python/client-contract/src/dfo_client_contract/scenarios/choose-candidate-by-label.json index 6219a29..23bd82b 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/choose-candidate-by-label.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/choose-candidate-by-label.json @@ -34,7 +34,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "21bb19c92c824a70b2eb378e85a9cfd0" + "x-dfo-trace-id": "962188ce8826466e8510fb819d5dc26d" }, "json": { "schema_version": 1, @@ -45,21 +45,21 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "21bb19c92c824a70b2eb378e85a9cfd0", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "962188ce8826466e8510fb819d5dc26d", "warnings": [], "timing_ms": { - "total": 8287, + "total": 1710, "by_step": { "coverage": 0, - "extract": 1330, - "cache_lookup": 2 + "extract": 0, + "cache_lookup": 0 } }, "llm_usage": { - "input_tokens": 2237, - "output_tokens": 143, - "cached_tokens": 842, + "input_tokens": 0, + "output_tokens": 0, + "cached_tokens": 0, "jev_input_tokens": 13358, "jev_output_tokens": 2855 }, @@ -71,28 +71,28 @@ "variable_text": "mortality", "warnings": [], "timing_ms": { - "total": 6951, + "total": 1705, "by_step": { - "recall": 261, + "recall": 1, "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 7, - "shape_probe": 122, + "shape_arcs": 4, + "shape_probe": 2, "shape_groups": 6, "shape_labels": 1, "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 241, + "shape": 119, "phase_prune_and_rank": 0, - "bind": 142, - "phase_bind": 17, - "phase_settle": 6, - "phase_place_bindings": 490, + "bind": 146, + "phase_bind": 19, + "phase_settle": 2, + "phase_place_bindings": 30, "phase_facet_requests": 0, - "materialise": 115, - "phase_materialise": 1, - "answer": 243, - "phase_outcome": 5435 + "materialise": 21, + "phase_materialise": 25, + "answer": 30, + "phase_outcome": 1312 } }, "rendered_sentence": "2 readings. Kenya's deaths rate per capita. World Development Indicators · 2013 to 2022. Kenya's number of deaths. Kenya Census · 2018 to 2022.", @@ -814,7 +814,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -2348,7 +2348,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -2629,7 +2629,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "bb50ec0b45244567bf259cee9e6de857" + "x-dfo-trace-id": "3e98392a1d6a49edbf871ef6d6a14e8d" }, "json": { "schema_version": 1, @@ -2638,11 +2638,11 @@ "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "bb50ec0b45244567bf259cee9e6de857", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "3e98392a1d6a49edbf871ef6d6a14e8d", "warnings": [], "timing_ms": { - "total": 486, + "total": 332, "by_step": { "coverage": 0 } @@ -2655,18 +2655,18 @@ "variable_text": "mortality", "warnings": [], "timing_ms": { - "total": 436, + "total": 265, "by_step": { - "validate": 1, - "walk": 182, + "validate": 0, + "walk": 0, "reread_arcs": 0, "detect_edits": 0, "resolve_survivors": 0, - "shape": 158, - "bind": 1, + "shape": 164, + "bind": 0, "where_places": 0, - "materialise": 93, - "answer": 1, + "materialise": 99, + "answer": 2, "options": 0 } }, @@ -3186,7 +3186,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40" + "capability_version": "cap_88defe77cc79e0c0" }, "confidence": "high", "available_at_place": true, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/choose-candidate-echoes-assumptions.json b/python/client-contract/src/dfo_client_contract/scenarios/choose-candidate-echoes-assumptions.json index c0a28da..57e5358 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/choose-candidate-echoes-assumptions.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/choose-candidate-echoes-assumptions.json @@ -5,8 +5,8 @@ "origin": { "kind": "recorded", "base_url": "https://dfo-dev-apis-zms5lj4zhq-nn.a.run.app/api", - "dfo_commit": "0ba344270784ae9929a369da8acd00b399dfced8", - "recorded_at": "2026-10-24T16:32:01Z" + "dfo_commit": "99e62038ceb4b459c2ac699549076ff123c166aa", + "recorded_at": "2026-10-25T17:37:25Z" }, "call": [ { @@ -36,7 +36,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "fef53a976b3e4e1cb64f3bc36f96f076" + "x-dfo-trace-id": "4ef48e41be8145e79e3349df65b71540" }, "json": { "schema_version": 1, @@ -47,14 +47,14 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "fef53a976b3e4e1cb64f3bc36f96f076", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "4ef48e41be8145e79e3349df65b71540", "warnings": [], "timing_ms": { - "total": 3026, + "total": 4896, "by_step": { "coverage": 0, - "extract": 1213, + "extract": 1129, "cache_lookup": 0 } }, @@ -79,28 +79,28 @@ } ], "timing_ms": { - "total": 1634, + "total": 3462, "by_step": { - "recall": 1, + "recall": 2, "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 3, - "shape_probe": 138, - "shape_groups": 5, + "shape_arcs": 8, + "shape_probe": 161, + "shape_groups": 7, "shape_labels": 1, - "shape_admission": 1, + "shape_admission": 2, "phase_derive_shapes": 0, - "shape": 249, + "shape": 282, "phase_prune_and_rank": 0, - "bind": 135, - "phase_bind": 11, - "phase_settle": 7, - "phase_place_bindings": 28, + "bind": 137, + "phase_bind": 15, + "phase_settle": 1, + "phase_place_bindings": 34, "phase_facet_requests": 0, - "materialise": 116, - "phase_materialise": 0, - "answer": 57, - "phase_outcome": 1030 + "materialise": 107, + "phase_materialise": 27, + "answer": 69, + "phase_outcome": 2788 } }, "rendered_sentence": "2 readings. Kenya's deaths rate per capita. World Development Indicators · 2013 to 2022. Kenya's number of deaths. Kenya Census · 2018 to 2022. You named Kenya as a recipient. This measure has no recipients, so this shows the place itself.", @@ -844,7 +844,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -2378,7 +2378,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -2414,30 +2414,30 @@ } ], "timing_ms": { - "total": 1809, + "total": 3762, "by_step": { - "recall": 452, + "recall": 1361, "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 1, - "shape_probe_coverage": 10, - "shape_probe": 142, - "shape_groups": 40, + "shape_arcs": 22, + "shape_probe_coverage": 5, + "shape_probe": 130, + "shape_groups": 121, "shape_labels": 0, "shape_admission": 0, "phase_derive_shapes": 0, - "shape": 666, + "shape": 846, "phase_prune_and_rank": 0, - "bind": 129, - "phase_bind": 297, - "phase_settle": 13, - "phase_place_bindings": 76, + "bind": 653, + "phase_bind": 331, + "phase_settle": 17, + "phase_place_bindings": 102, "phase_facet_requests": 0, - "materialise": 16, - "phase_materialise": 0, - "answer": 8, - "options": 33, - "phase_outcome": 119 + "materialise": 20, + "phase_materialise": 5, + "answer": 263, + "options": 8, + "phase_outcome": 156 } }, "restatement": { @@ -2864,7 +2864,7 @@ "label": "OECD Terms and Conditions" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -3241,7 +3241,7 @@ "label": "disbursement" } ], - "provenance": "measure_elected" + "provenance": "binder" }, { "key": { @@ -3312,7 +3312,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -6073,7 +6073,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "6255e04219bd4208bca0a6f26fbe89b2" + "x-dfo-trace-id": "559262a87e7a4f79b1a4761af98f0be8" }, "json": { "schema_version": 1, @@ -6082,11 +6082,11 @@ "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "6255e04219bd4208bca0a6f26fbe89b2", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "559262a87e7a4f79b1a4761af98f0be8", "warnings": [], "timing_ms": { - "total": 1746, + "total": 1249, "by_step": { "coverage": 0 } @@ -6099,17 +6099,17 @@ "variable_text": "mortality", "warnings": [], "timing_ms": { - "total": 262, + "total": 298, "by_step": { "validate": 0, "walk": 0, - "reread_arcs": 1, + "reread_arcs": 0, "detect_edits": 0, "resolve_survivors": 0, - "shape": 169, + "shape": 194, "bind": 0, - "where_places": 0, - "materialise": 91, + "where_places": 1, + "materialise": 102, "answer": 1, "options": 0 } @@ -6630,7 +6630,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40" + "capability_version": "cap_88defe77cc79e0c0" }, "confidence": "high", "available_at_place": true, @@ -6679,19 +6679,19 @@ "variable_text": "aid flows", "warnings": [], "timing_ms": { - "total": 1695, + "total": 1184, "by_step": { "validate": 0, - "walk": 10, - "reread_arcs": 1, + "walk": 15, + "reread_arcs": 0, "detect_edits": 0, "resolve_survivors": 0, - "shape": 1660, - "bind": 0, + "shape": 1120, + "bind": 1, "where_places": 0, - "materialise": 15, - "answer": 7, - "options": 2 + "materialise": 21, + "answer": 9, + "options": 18 } }, "entity_refs": [], @@ -7092,7 +7092,7 @@ "label": "OECD Terms and Conditions" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -7540,7 +7540,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40" + "capability_version": "cap_88defe77cc79e0c0" }, "confidence": "high", "available_at_place": true, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/choose-candidate-two-parts.json b/python/client-contract/src/dfo_client_contract/scenarios/choose-candidate-two-parts.json index cbcd88d..0239b96 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/choose-candidate-two-parts.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/choose-candidate-two-parts.json @@ -5,8 +5,8 @@ "origin": { "kind": "recorded", "base_url": "https://dfo-dev-apis-zms5lj4zhq-nn.a.run.app/api", - "dfo_commit": "0ba344270784ae9929a369da8acd00b399dfced8", - "recorded_at": "2026-10-24T16:31:37Z" + "dfo_commit": "99e62038ceb4b459c2ac699549076ff123c166aa", + "recorded_at": "2026-10-25T17:36:59Z" }, "call": [ { @@ -39,7 +39,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "542dac0d7c43477cb66c1841c20e169d" + "x-dfo-trace-id": "b77a765cb10a47e2a332c4884f011b76" }, "json": { "schema_version": 1, @@ -50,14 +50,14 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "542dac0d7c43477cb66c1841c20e169d", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "b77a765cb10a47e2a332c4884f011b76", "warnings": [], "timing_ms": { - "total": 8962, + "total": 10550, "by_step": { "coverage": 0, - "extract": 1389, + "extract": 1134, "cache_lookup": 0 } }, @@ -65,7 +65,7 @@ "input_tokens": 2245, "output_tokens": 202, "cached_tokens": 844, - "jev_input_tokens": 26840, + "jev_input_tokens": 26836, "jev_output_tokens": 5603 }, "timed_out": false @@ -76,28 +76,28 @@ "variable_text": "mortality", "warnings": [], "timing_ms": { - "total": 7499, + "total": 9309, "by_step": { "recall": 1, - "phase_resolve_places": 83, + "phase_resolve_places": 84, "phase_check_entities": 0, - "shape_arcs": 4, - "shape_probe": 98, - "shape_groups": 5, + "shape_arcs": 5, + "shape_probe": 104, + "shape_groups": 7, "shape_labels": 1, - "shape_admission": 75, + "shape_admission": 83, "phase_derive_shapes": 0, - "shape": 417, + "shape": 486, "phase_prune_and_rank": 0, - "bind": 125, - "phase_bind": 17, - "phase_settle": 7, - "phase_place_bindings": 23, + "bind": 127, + "phase_bind": 15, + "phase_settle": 1, + "phase_place_bindings": 38, "phase_facet_requests": 0, - "materialise": 285, - "phase_materialise": 0, - "answer": 46, - "phase_outcome": 6495 + "materialise": 1079, + "phase_materialise": 30, + "answer": 57, + "phase_outcome": 7391 } }, "rendered_sentence": "3 readings. Deaths rate per capita in the 48 countries in Sub-Saharan Africa. World Development Indicators · 2013 to 2022. Number of deaths in the 48 countries in Sub-Saharan Africa. Kenya Census · 2018 to 2022. Count of mortality event (as fraction of count birth event live birth) in the 48 countries in Sub-Saharan Africa. Nigeria Statistics · 2014.", @@ -1977,7 +1977,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -4547,7 +4547,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -6136,7 +6136,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -6162,30 +6162,30 @@ "variable_text": "GDP", "warnings": [], "timing_ms": { - "total": 1683, + "total": 2675, "by_step": { - "recall": 0, - "phase_resolve_places": 103, + "recall": 1, + "phase_resolve_places": 91, "phase_check_entities": 0, - "shape_arcs": 3, - "shape_probe_coverage": 3, - "shape_probe": 5, - "shape_groups": 48, - "shape_labels": 10, - "shape_admission": 112, + "shape_arcs": 4, + "shape_probe_coverage": 4, + "shape_probe": 109, + "shape_groups": 63, + "shape_labels": 12, + "shape_admission": 9, "phase_derive_shapes": 0, - "shape": 447, + "shape": 584, "phase_prune_and_rank": 0, - "bind": 143, - "phase_bind": 12, - "phase_settle": 36, - "phase_place_bindings": 7, + "bind": 134, + "phase_bind": 14, + "phase_settle": 6, + "phase_place_bindings": 10, "phase_facet_requests": 0, - "materialise": 337, - "phase_materialise": 0, - "answer": 33, - "options": 426, - "phase_outcome": 139 + "materialise": 1186, + "phase_materialise": 18, + "answer": 41, + "options": 430, + "phase_outcome": 160 } }, "restatement": { @@ -7510,7 +7510,7 @@ "value": { "ref": { "ref": "FinancialActivities", - "label": "FinancialActivities" + "label": "Financial activities" }, "value_kind": "enum_value" } @@ -8687,7 +8687,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [ @@ -10256,7 +10256,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [ @@ -11011,7 +11011,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "fed0402857db4d198957a2377d91a266" + "x-dfo-trace-id": "99a1c4af07a2414a9eabf36feadbeaae" }, "json": { "schema_version": 1, @@ -11020,11 +11020,11 @@ "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "fed0402857db4d198957a2377d91a266", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "99a1c4af07a2414a9eabf36feadbeaae", "warnings": [], "timing_ms": { - "total": 1060, + "total": 1046, "by_step": { "coverage": 0 } @@ -11037,19 +11037,19 @@ "variable_text": "mortality", "warnings": [], "timing_ms": { - "total": 548, + "total": 543, "by_step": { - "validate": 1, - "walk": 0, + "validate": 0, + "walk": 1, "reread_arcs": 0, "detect_edits": 0, "resolve_survivors": 0, - "shape": 157, + "shape": 173, "bind": 0, "where_places": 0, - "materialise": 256, - "answer": 8, - "options": 126 + "materialise": 260, + "answer": 12, + "options": 97 } }, "entity_refs": [], @@ -12619,7 +12619,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40" + "capability_version": "cap_88defe77cc79e0c0" }, "confidence": "high", "available_at_place": true, @@ -12633,19 +12633,19 @@ "variable_text": "GDP", "warnings": [], "timing_ms": { - "total": 937, + "total": 929, "by_step": { "validate": 0, "walk": 0, - "reread_arcs": 0, + "reread_arcs": 1, "detect_edits": 0, "resolve_survivors": 0, - "shape": 657, + "shape": 624, "bind": 0, "where_places": 1, - "materialise": 181, - "answer": 7, - "options": 91 + "materialise": 180, + "answer": 8, + "options": 115 } }, "entity_refs": [], @@ -13812,7 +13812,7 @@ "value": { "ref": { "ref": "FinancialActivities", - "label": "FinancialActivities" + "label": "Financial activities" }, "value_kind": "enum_value" } @@ -14777,7 +14777,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40" + "capability_version": "cap_88defe77cc79e0c0" }, "confidence": "high", "available_at_place": true, @@ -15217,7 +15217,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "4afea2b786664a9fa9659b020e0016d6" + "x-dfo-trace-id": "4ce5b18b92824a7695bdec6c98893997" }, "json": { "schema_version": 1, @@ -15478,7 +15478,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261023T061534Z-06fa7b89", "served_from": "head", - "confirmed_at": "2026-10-24T16:31:48.627461+00:00" + "confirmed_at": "2026-10-25T17:37:11.544065+00:00" }, "warnings": [], "diagnostics": [ @@ -15516,7 +15516,7 @@ ], "series_count": 48, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -15676,7 +15676,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, "held_until": "2026-11-22T17:40:52.293692Z" @@ -15694,7 +15694,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A0652c59a04403a740ed0a4a75360cc04900bbcce57dfc4d7f7b7d2b21a9404dd?X-Goog-Signature=redacted", - "x-dfo-trace-id": "4035ed942dbd417b883890979c32af7b" + "x-dfo-trace-id": "657f36800a1941c086819a1b69efaaf9" } } }, @@ -15835,7 +15835,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "0dd46708d45b47a39b91408cc8700637" + "x-dfo-trace-id": "9a8678b0f63f472bbb91470de525d453" }, "json": { "schema_version": 1, @@ -16060,7 +16060,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261023T061534Z-06fa7b89", "served_from": "head", - "confirmed_at": "2026-10-24T16:31:49.948810+00:00" + "confirmed_at": "2026-10-25T17:37:12.800804+00:00" }, "warnings": [ { @@ -16104,7 +16104,7 @@ ], "series_count": 47, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -16264,7 +16264,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, "held_until": "2026-11-22T17:40:54.208730Z" @@ -16282,7 +16282,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A18a2e84a4829808841c3967941a92c555ac6c8c30856fe2113ba38d89e121cf7?X-Goog-Signature=redacted", - "x-dfo-trace-id": "7646f48ce8414ae8aefdf014523b025c" + "x-dfo-trace-id": "d25b000882d34d9d9bdee9bb87ccbee7" } } }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/choose-echo-drops-malformed-items.json b/python/client-contract/src/dfo_client_contract/scenarios/choose-echo-drops-malformed-items.json index 8e13000..fb84d9d 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/choose-echo-drops-malformed-items.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/choose-echo-drops-malformed-items.json @@ -35,7 +35,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "fef53a976b3e4e1cb64f3bc36f96f076" + "x-dfo-trace-id": "4ef48e41be8145e79e3349df65b71540" }, "json": { "schema_version": 1, @@ -46,14 +46,14 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "fef53a976b3e4e1cb64f3bc36f96f076", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "4ef48e41be8145e79e3349df65b71540", "warnings": [], "timing_ms": { - "total": 3026, + "total": 4896, "by_step": { "coverage": 0, - "extract": 1213, + "extract": 1129, "cache_lookup": 0 } }, @@ -78,28 +78,28 @@ } ], "timing_ms": { - "total": 1634, + "total": 3462, "by_step": { - "recall": 1, + "recall": 2, "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 3, - "shape_probe": 138, - "shape_groups": 5, + "shape_arcs": 8, + "shape_probe": 161, + "shape_groups": 7, "shape_labels": 1, - "shape_admission": 1, + "shape_admission": 2, "phase_derive_shapes": 0, - "shape": 249, + "shape": 282, "phase_prune_and_rank": 0, - "bind": 135, - "phase_bind": 11, - "phase_settle": 7, - "phase_place_bindings": 28, + "bind": 137, + "phase_bind": 15, + "phase_settle": 1, + "phase_place_bindings": 34, "phase_facet_requests": 0, - "materialise": 116, - "phase_materialise": 0, - "answer": 57, - "phase_outcome": 1030 + "materialise": 107, + "phase_materialise": 27, + "answer": 69, + "phase_outcome": 2788 } }, "rendered_sentence": "2 readings. Kenya's deaths rate per capita. World Development Indicators · 2013 to 2022. Kenya's number of deaths. Kenya Census · 2018 to 2022. You named Kenya as a recipient. This measure has no recipients, so this shows the place itself.", @@ -843,7 +843,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -2377,7 +2377,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -2420,30 +2420,30 @@ } ], "timing_ms": { - "total": 1809, + "total": 3762, "by_step": { - "recall": 452, + "recall": 1361, "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 1, - "shape_probe_coverage": 10, - "shape_probe": 142, - "shape_groups": 40, + "shape_arcs": 22, + "shape_probe_coverage": 5, + "shape_probe": 130, + "shape_groups": 121, "shape_labels": 0, "shape_admission": 0, "phase_derive_shapes": 0, - "shape": 666, + "shape": 846, "phase_prune_and_rank": 0, - "bind": 129, - "phase_bind": 297, - "phase_settle": 13, - "phase_place_bindings": 76, + "bind": 653, + "phase_bind": 331, + "phase_settle": 17, + "phase_place_bindings": 102, "phase_facet_requests": 0, - "materialise": 16, - "phase_materialise": 0, - "answer": 8, - "options": 33, - "phase_outcome": 119 + "materialise": 20, + "phase_materialise": 5, + "answer": 263, + "options": 8, + "phase_outcome": 156 } }, "restatement": { @@ -2903,7 +2903,7 @@ "label": "OECD Terms and Conditions" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -3280,7 +3280,7 @@ "label": "disbursement" } ], - "provenance": "measure_elected" + "provenance": "binder" }, { "key": { @@ -3351,7 +3351,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -6131,7 +6131,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "6255e04219bd4208bca0a6f26fbe89b2" + "x-dfo-trace-id": "559262a87e7a4f79b1a4761af98f0be8" }, "json": { "schema_version": 1, @@ -6140,11 +6140,11 @@ "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "6255e04219bd4208bca0a6f26fbe89b2", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "559262a87e7a4f79b1a4761af98f0be8", "warnings": [], "timing_ms": { - "total": 1746, + "total": 1249, "by_step": { "coverage": 0 } @@ -6157,17 +6157,17 @@ "variable_text": "mortality", "warnings": [], "timing_ms": { - "total": 262, + "total": 298, "by_step": { "validate": 0, "walk": 0, - "reread_arcs": 1, + "reread_arcs": 0, "detect_edits": 0, "resolve_survivors": 0, - "shape": 169, + "shape": 194, "bind": 0, - "where_places": 0, - "materialise": 91, + "where_places": 1, + "materialise": 102, "answer": 1, "options": 0 } @@ -6688,7 +6688,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40" + "capability_version": "cap_88defe77cc79e0c0" }, "confidence": "high", "available_at_place": true, @@ -6737,19 +6737,19 @@ "variable_text": "aid flows", "warnings": [], "timing_ms": { - "total": 1695, + "total": 1184, "by_step": { "validate": 0, - "walk": 10, - "reread_arcs": 1, + "walk": 15, + "reread_arcs": 0, "detect_edits": 0, "resolve_survivors": 0, - "shape": 1660, - "bind": 0, + "shape": 1120, + "bind": 1, "where_places": 0, - "materialise": 15, - "answer": 7, - "options": 2 + "materialise": 21, + "answer": 9, + "options": 18 } }, "entity_refs": [], @@ -7150,7 +7150,7 @@ "label": "OECD Terms and Conditions" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -7598,7 +7598,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40" + "capability_version": "cap_88defe77cc79e0c0" }, "confidence": "high", "available_at_place": true, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/choose-echoes-separate-and-operations.json b/python/client-contract/src/dfo_client_contract/scenarios/choose-echoes-separate-and-operations.json index 0799c24..3c33733 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/choose-echoes-separate-and-operations.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/choose-echoes-separate-and-operations.json @@ -35,7 +35,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "009afd1dc09e44299c2004e111d17991" + "x-dfo-trace-id": "1af94637ff7043abb23f65b60e28d604" }, "json": { "schema_version": 1, @@ -46,14 +46,14 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "009afd1dc09e44299c2004e111d17991", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "1af94637ff7043abb23f65b60e28d604", "warnings": [], "timing_ms": { - "total": 2627, + "total": 2578, "by_step": { "coverage": 0, - "extract": 1263, + "extract": 1025, "cache_lookup": 0 } }, @@ -61,7 +61,7 @@ "input_tokens": 2239, "output_tokens": 164, "cached_tokens": 842, - "jev_input_tokens": 17402, + "jev_input_tokens": 17398, "jev_output_tokens": 3500 }, "timed_out": false @@ -72,30 +72,30 @@ "variable_text": "GDP", "warnings": [], "timing_ms": { - "total": 1129, + "total": 1276, "by_step": { - "recall": 2, - "phase_resolve_places": 0, + "recall": 1, + "phase_resolve_places": 1, "phase_check_entities": 0, "shape_arcs": 4, - "shape_probe_coverage": 4, - "shape_probe": 151, - "shape_groups": 45, - "shape_labels": 10, - "shape_admission": 1, + "shape_probe_coverage": 17, + "shape_probe": 266, + "shape_groups": 61, + "shape_labels": 12, + "shape_admission": 2, "phase_derive_shapes": 0, - "shape": 407, + "shape": 538, "phase_prune_and_rank": 0, - "bind": 127, - "phase_bind": 10, - "phase_settle": 24, - "phase_place_bindings": 8, + "bind": 153, + "phase_bind": 12, + "phase_settle": 6, + "phase_place_bindings": 12, "phase_facet_requests": 0, - "materialise": 144, - "phase_materialise": 0, - "answer": 185, - "options": 98, - "phase_outcome": 124 + "materialise": 120, + "phase_materialise": 19, + "answer": 172, + "options": 115, + "phase_outcome": 127 } }, "restatement": { @@ -993,7 +993,7 @@ "value": { "ref": { "ref": "FinancialActivities", - "label": "FinancialActivities" + "label": "Financial activities" }, "value_kind": "enum_value" } @@ -1965,7 +1965,7 @@ "start_year": 2015, "end_year": 2015 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [ @@ -2884,7 +2884,7 @@ "start_year": 2015, "end_year": 2015 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [ @@ -2988,24 +2988,24 @@ "variable_text": "ODA", "warnings": [], "timing_ms": { - "total": 619, + "total": 487, "by_step": { - "recall": 315, + "recall": 1, "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 1, - "shape_probe_coverage": 5, - "shape_probe": 107, + "shape_arcs": 3, + "shape_probe_coverage": 10, + "shape_probe": 108, "shape_groups": 3, "shape_labels": 0, "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 196, + "shape": 253, "phase_prune_and_rank": 0, - "bind": 97, + "bind": 218, "phase_bind": 2, - "phase_settle": 9, - "phase_place_bindings": 0 + "phase_settle": 8, + "phase_place_bindings": 5 } }, "rendered_sentence": "Could not tell who is giving and who is receiving among \"G20\", \"Germany\", and \"India\". Put \"from\" or \"to\" before a name.", @@ -3575,7 +3575,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "6a837108e9cb4b74b197a33c82a6e92f" + "x-dfo-trace-id": "9296d6d509bb4007ab9b828b29f773db" }, "json": { "schema_version": 1, @@ -3584,11 +3584,11 @@ "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "6a837108e9cb4b74b197a33c82a6e92f", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "9296d6d509bb4007ab9b828b29f773db", "warnings": [], "timing_ms": { - "total": 953, + "total": 1192, "by_step": { "coverage": 0 } @@ -3608,19 +3608,19 @@ "variable_text": "GDP", "warnings": [], "timing_ms": { - "total": 847, + "total": 1069, "by_step": { "validate": 0, - "walk": 1, - "reread_arcs": 0, + "walk": 0, + "reread_arcs": 1, "detect_edits": 0, "resolve_survivors": 0, - "shape": 638, + "shape": 829, "bind": 0, - "where_places": 0, - "materialise": 110, + "where_places": 1, + "materialise": 123, "answer": 4, - "options": 94 + "options": 111 } }, "entity_refs": [], @@ -4375,7 +4375,7 @@ "value": { "ref": { "ref": "FinancialActivities", - "label": "FinancialActivities" + "label": "Financial activities" }, "value_kind": "enum_value" } @@ -5135,7 +5135,7 @@ "start_year": 2015, "end_year": 2015 }, - "capability_version": "cap_9deef72763b45f40" + "capability_version": "cap_88defe77cc79e0c0" }, "confidence": "high", "available_at_place": true, @@ -5210,30 +5210,30 @@ "variable_text": "ODA", "warnings": [], "timing_ms": { - "total": 339, + "total": 382, "by_step": { - "recall": 1, - "phase_resolve_places": 1, + "recall": 2, + "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 1, - "shape_probe_coverage": 6, - "shape_probe": 95, + "shape_arcs": 2, + "shape_probe_coverage": 7, + "shape_probe": 84, "shape_groups": 3, "shape_labels": 0, - "shape_admission": 1, + "shape_admission": 0, "phase_derive_shapes": 0, - "shape": 169, + "shape": 162, "phase_prune_and_rank": 0, - "bind": 84, - "phase_bind": 9, + "bind": 99, + "phase_bind": 11, "phase_settle": 8, "phase_place_bindings": 1, "phase_facet_requests": 0, - "materialise": 17, - "phase_materialise": 0, - "answer": 9, - "options": 6, - "phase_outcome": 34 + "materialise": 21, + "phase_materialise": 5, + "answer": 11, + "options": 12, + "phase_outcome": 50 } }, "restatement": { @@ -5809,7 +5809,7 @@ "label": "OECD Terms and Conditions" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -6276,7 +6276,7 @@ "label": "disbursement" } ], - "provenance": "measure_elected" + "provenance": "binder" }, { "key": { @@ -6347,7 +6347,7 @@ "start_year": 2015, "end_year": 2015 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/choose-option-beside-definite.json b/python/client-contract/src/dfo_client_contract/scenarios/choose-option-beside-definite.json index 45ca40c..3310007 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/choose-option-beside-definite.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/choose-option-beside-definite.json @@ -5,8 +5,8 @@ "origin": { "kind": "recorded", "base_url": "https://dfo-dev-apis-zms5lj4zhq-nn.a.run.app/api", - "dfo_commit": "0ba344270784ae9929a369da8acd00b399dfced8", - "recorded_at": "2026-10-24T16:31:56Z" + "dfo_commit": "99e62038ceb4b459c2ac699549076ff123c166aa", + "recorded_at": "2026-10-25T17:37:20Z" }, "call": [ { @@ -36,7 +36,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "009afd1dc09e44299c2004e111d17991" + "x-dfo-trace-id": "1af94637ff7043abb23f65b60e28d604" }, "json": { "schema_version": 1, @@ -47,14 +47,14 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "009afd1dc09e44299c2004e111d17991", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "1af94637ff7043abb23f65b60e28d604", "warnings": [], "timing_ms": { - "total": 2627, + "total": 2578, "by_step": { "coverage": 0, - "extract": 1263, + "extract": 1025, "cache_lookup": 0 } }, @@ -62,7 +62,7 @@ "input_tokens": 2239, "output_tokens": 164, "cached_tokens": 842, - "jev_input_tokens": 17402, + "jev_input_tokens": 17398, "jev_output_tokens": 3500 }, "timed_out": false @@ -73,30 +73,30 @@ "variable_text": "GDP", "warnings": [], "timing_ms": { - "total": 1129, + "total": 1276, "by_step": { - "recall": 2, - "phase_resolve_places": 0, + "recall": 1, + "phase_resolve_places": 1, "phase_check_entities": 0, "shape_arcs": 4, - "shape_probe_coverage": 4, - "shape_probe": 151, - "shape_groups": 45, - "shape_labels": 10, - "shape_admission": 1, + "shape_probe_coverage": 17, + "shape_probe": 266, + "shape_groups": 61, + "shape_labels": 12, + "shape_admission": 2, "phase_derive_shapes": 0, - "shape": 407, + "shape": 538, "phase_prune_and_rank": 0, - "bind": 127, - "phase_bind": 10, - "phase_settle": 24, - "phase_place_bindings": 8, + "bind": 153, + "phase_bind": 12, + "phase_settle": 6, + "phase_place_bindings": 12, "phase_facet_requests": 0, - "materialise": 144, - "phase_materialise": 0, - "answer": 185, - "options": 98, - "phase_outcome": 124 + "materialise": 120, + "phase_materialise": 19, + "answer": 172, + "options": 115, + "phase_outcome": 127 } }, "restatement": { @@ -988,7 +988,7 @@ "value": { "ref": { "ref": "FinancialActivities", - "label": "FinancialActivities" + "label": "Financial activities" }, "value_kind": "enum_value" } @@ -1960,7 +1960,7 @@ "start_year": 2015, "end_year": 2015 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [ @@ -2879,7 +2879,7 @@ "start_year": 2015, "end_year": 2015 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [ @@ -2982,24 +2982,24 @@ "variable_text": "ODA", "warnings": [], "timing_ms": { - "total": 619, + "total": 487, "by_step": { - "recall": 315, + "recall": 1, "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 1, - "shape_probe_coverage": 5, - "shape_probe": 107, + "shape_arcs": 3, + "shape_probe_coverage": 10, + "shape_probe": 108, "shape_groups": 3, "shape_labels": 0, "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 196, + "shape": 253, "phase_prune_and_rank": 0, - "bind": 97, + "bind": 218, "phase_bind": 2, - "phase_settle": 9, - "phase_place_bindings": 0 + "phase_settle": 8, + "phase_place_bindings": 5 } }, "rendered_sentence": "Could not tell who is giving and who is receiving among \"G20\", \"Germany\", and \"India\". Put \"from\" or \"to\" before a name.", @@ -3561,7 +3561,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "6a837108e9cb4b74b197a33c82a6e92f" + "x-dfo-trace-id": "9296d6d509bb4007ab9b828b29f773db" }, "json": { "schema_version": 1, @@ -3570,11 +3570,11 @@ "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "6a837108e9cb4b74b197a33c82a6e92f", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "9296d6d509bb4007ab9b828b29f773db", "warnings": [], "timing_ms": { - "total": 953, + "total": 1192, "by_step": { "coverage": 0 } @@ -3594,19 +3594,19 @@ "variable_text": "GDP", "warnings": [], "timing_ms": { - "total": 847, + "total": 1069, "by_step": { "validate": 0, - "walk": 1, - "reread_arcs": 0, + "walk": 0, + "reread_arcs": 1, "detect_edits": 0, "resolve_survivors": 0, - "shape": 638, + "shape": 829, "bind": 0, - "where_places": 0, - "materialise": 110, + "where_places": 1, + "materialise": 123, "answer": 4, - "options": 94 + "options": 111 } }, "entity_refs": [], @@ -4361,7 +4361,7 @@ "value": { "ref": { "ref": "FinancialActivities", - "label": "FinancialActivities" + "label": "Financial activities" }, "value_kind": "enum_value" } @@ -5121,7 +5121,7 @@ "start_year": 2015, "end_year": 2015 }, - "capability_version": "cap_9deef72763b45f40" + "capability_version": "cap_88defe77cc79e0c0" }, "confidence": "high", "available_at_place": true, @@ -5196,30 +5196,30 @@ "variable_text": "ODA", "warnings": [], "timing_ms": { - "total": 339, + "total": 382, "by_step": { - "recall": 1, - "phase_resolve_places": 1, + "recall": 2, + "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 1, - "shape_probe_coverage": 6, - "shape_probe": 95, + "shape_arcs": 2, + "shape_probe_coverage": 7, + "shape_probe": 84, "shape_groups": 3, "shape_labels": 0, - "shape_admission": 1, + "shape_admission": 0, "phase_derive_shapes": 0, - "shape": 169, + "shape": 162, "phase_prune_and_rank": 0, - "bind": 84, - "phase_bind": 9, + "bind": 99, + "phase_bind": 11, "phase_settle": 8, "phase_place_bindings": 1, "phase_facet_requests": 0, - "materialise": 17, - "phase_materialise": 0, - "answer": 9, - "options": 6, - "phase_outcome": 34 + "materialise": 21, + "phase_materialise": 5, + "answer": 11, + "options": 12, + "phase_outcome": 50 } }, "restatement": { @@ -5795,7 +5795,7 @@ "label": "OECD Terms and Conditions" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -6262,7 +6262,7 @@ "label": "disbursement" } ], - "provenance": "measure_elected" + "provenance": "binder" }, { "key": { @@ -6333,7 +6333,7 @@ "start_year": 2015, "end_year": 2015 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/choose-option-two-part-query.json b/python/client-contract/src/dfo_client_contract/scenarios/choose-option-two-part-query.json index 61d4757..e713398 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/choose-option-two-part-query.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/choose-option-two-part-query.json @@ -34,7 +34,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "6c90259bc5dc43649740c2e47cb555bc" + "x-dfo-trace-id": "355b1d08f8b442af87e20ecc65522a53" }, "json": { "schema_version": 1, @@ -45,8 +45,8 @@ "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "6c90259bc5dc43649740c2e47cb555bc", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "355b1d08f8b442af87e20ecc65522a53", "warnings": [], "timing_ms": { "total": 1, @@ -68,9 +68,9 @@ "variable_text": "ODA disbursements", "warnings": [], "timing_ms": { - "total": 115, + "total": 0, "by_step": { - "recall": 115, + "recall": 0, "phase_resolve_places": 0, "phase_check_entities": 0 } @@ -90,6 +90,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [] }, @@ -204,7 +205,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 }, { "mentions": [ @@ -233,7 +235,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 } ] } @@ -255,6 +258,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [], "part_index": 0 @@ -294,7 +298,7 @@ "error": { "class": "ContractError", "code": "contract_violation", - "trace_id": "6c90259bc5dc43649740c2e47cb555bc" + "trace_id": "355b1d08f8b442af87e20ecc65522a53" } } ] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/choose-option-without-data-query.json b/python/client-contract/src/dfo_client_contract/scenarios/choose-option-without-data-query.json index f2c90c7..b74ea9b 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/choose-option-without-data-query.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/choose-option-without-data-query.json @@ -34,7 +34,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "6c90259bc5dc43649740c2e47cb555bc" + "x-dfo-trace-id": "355b1d08f8b442af87e20ecc65522a53" }, "json": { "schema_version": 1, @@ -45,8 +45,8 @@ "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "6c90259bc5dc43649740c2e47cb555bc", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "355b1d08f8b442af87e20ecc65522a53", "warnings": [], "timing_ms": { "total": 1, @@ -68,9 +68,9 @@ "variable_text": "ODA disbursements", "warnings": [], "timing_ms": { - "total": 115, + "total": 0, "by_step": { - "recall": 115, + "recall": 0, "phase_resolve_places": 0, "phase_check_entities": 0 } @@ -90,6 +90,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [] }, @@ -163,7 +164,8 @@ "mentions": [ "Congo" ], - "label": "Congo [DRC]" + "label": "Congo [DRC]", + "entity_choice": 0 }, { "mentions": [ @@ -192,7 +194,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 } ] } @@ -214,6 +217,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [], "part_index": 0 @@ -253,7 +257,7 @@ "error": { "class": "ContractError", "code": "contract_violation", - "trace_id": "6c90259bc5dc43649740c2e47cb555bc" + "trace_id": "355b1d08f8b442af87e20ecc65522a53" } } ] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/choose-part-by-mention.json b/python/client-contract/src/dfo_client_contract/scenarios/choose-part-by-mention.json index 926c0bb..4cbeded 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/choose-part-by-mention.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/choose-part-by-mention.json @@ -5,8 +5,8 @@ "origin": { "kind": "recorded", "base_url": "https://dfo-dev-apis-zms5lj4zhq-nn.a.run.app/api", - "dfo_commit": "0ba344270784ae9929a369da8acd00b399dfced8", - "recorded_at": "2026-10-24T16:31:31Z" + "dfo_commit": "99e62038ceb4b459c2ac699549076ff123c166aa", + "recorded_at": "2026-10-25T17:36:53Z" }, "call": [ { @@ -36,7 +36,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "79f55e76540244d18a4543d497614a89" + "x-dfo-trace-id": "0707e7de12594b1ba74a37d203724685" }, "json": { "schema_version": 1, @@ -47,14 +47,14 @@ "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "79f55e76540244d18a4543d497614a89", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "0707e7de12594b1ba74a37d203724685", "warnings": [], "timing_ms": { "total": 1, "by_step": { "coverage": 0, - "response_cache_layer1": 1 + "response_cache_layer1": 0 } }, "llm_usage": { @@ -70,9 +70,9 @@ "variable_text": "ODA disbursements", "warnings": [], "timing_ms": { - "total": 115, + "total": 0, "by_step": { - "recall": 115, + "recall": 0, "phase_resolve_places": 0, "phase_check_entities": 0 } @@ -92,6 +92,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [] }, @@ -188,7 +189,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 }, { "mentions": [ @@ -217,7 +219,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 } ] } @@ -239,6 +242,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [], "part_index": 0 @@ -291,7 +295,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "0a622ff00fe449c19cedbae4fd61f52b" + "x-dfo-trace-id": "14b26656d2d24a659512948ba4a02e77" }, "json": { "schema_version": 1, @@ -300,8 +304,8 @@ "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "0a622ff00fe449c19cedbae4fd61f52b", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "14b26656d2d24a659512948ba4a02e77", "warnings": [], "timing_ms": { "total": 3, @@ -329,30 +333,30 @@ } ], "timing_ms": { - "total": 907, + "total": 3410, "by_step": { "recall": 0, "phase_resolve_places": 0, "phase_check_entities": 0, "shape_arcs": 1, - "shape_probe_coverage": 6, - "shape_probe": 109, - "shape_groups": 41, + "shape_probe_coverage": 7, + "shape_probe": 2417, + "shape_groups": 58, "shape_labels": 1, - "shape_admission": 1, + "shape_admission": 0, "phase_derive_shapes": 0, - "shape": 387, + "shape": 2795, "phase_prune_and_rank": 0, - "bind": 111, - "phase_bind": 175, + "bind": 138, + "phase_bind": 188, "phase_settle": 9, - "phase_place_bindings": 67, + "phase_place_bindings": 80, "phase_facet_requests": 0, - "materialise": 15, - "phase_materialise": 0, + "materialise": 17, + "phase_materialise": 6, "answer": 10, - "options": 13, - "phase_outcome": 120 + "options": 6, + "phase_outcome": 161 } }, "restatement": { @@ -756,7 +760,7 @@ "label": "OECD Terms and Conditions" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -1210,7 +1214,7 @@ "start_year": 2018, "end_year": 2018 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/choose-place-one-part.json b/python/client-contract/src/dfo_client_contract/scenarios/choose-place-one-part.json index 81ed866..bcceba0 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/choose-place-one-part.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/choose-place-one-part.json @@ -5,8 +5,8 @@ "origin": { "kind": "recorded", "base_url": "https://dfo-dev-apis-zms5lj4zhq-nn.a.run.app/api", - "dfo_commit": "0ba344270784ae9929a369da8acd00b399dfced8", - "recorded_at": "2026-10-24T16:31:30Z" + "dfo_commit": "99e62038ceb4b459c2ac699549076ff123c166aa", + "recorded_at": "2026-10-25T17:36:49Z" }, "call": [ { @@ -35,7 +35,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "6c90259bc5dc43649740c2e47cb555bc" + "x-dfo-trace-id": "355b1d08f8b442af87e20ecc65522a53" }, "json": { "schema_version": 1, @@ -46,8 +46,8 @@ "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "6c90259bc5dc43649740c2e47cb555bc", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "355b1d08f8b442af87e20ecc65522a53", "warnings": [], "timing_ms": { "total": 1, @@ -69,9 +69,9 @@ "variable_text": "ODA disbursements", "warnings": [], "timing_ms": { - "total": 115, + "total": 0, "by_step": { - "recall": 115, + "recall": 0, "phase_resolve_places": 0, "phase_check_entities": 0 } @@ -91,6 +91,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [] }, @@ -187,7 +188,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 }, { "mentions": [ @@ -216,7 +218,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 } ] } @@ -238,6 +241,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [], "part_index": 0 @@ -290,7 +294,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "67793b9246794fc18d48484eb317d58f" + "x-dfo-trace-id": "13f7792a23294f7b929699cddc6d7713" }, "json": { "schema_version": 1, @@ -299,11 +303,11 @@ "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "67793b9246794fc18d48484eb317d58f", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "13f7792a23294f7b929699cddc6d7713", "warnings": [], "timing_ms": { - "total": 932, + "total": 3414, "by_step": { "coverage": 0 } @@ -329,30 +333,30 @@ } ], "timing_ms": { - "total": 907, + "total": 3410, "by_step": { "recall": 0, "phase_resolve_places": 0, "phase_check_entities": 0, "shape_arcs": 1, - "shape_probe_coverage": 6, - "shape_probe": 109, - "shape_groups": 41, + "shape_probe_coverage": 7, + "shape_probe": 2417, + "shape_groups": 58, "shape_labels": 1, - "shape_admission": 1, + "shape_admission": 0, "phase_derive_shapes": 0, - "shape": 387, + "shape": 2795, "phase_prune_and_rank": 0, - "bind": 111, - "phase_bind": 175, + "bind": 138, + "phase_bind": 188, "phase_settle": 9, - "phase_place_bindings": 67, + "phase_place_bindings": 80, "phase_facet_requests": 0, - "materialise": 15, - "phase_materialise": 0, + "materialise": 17, + "phase_materialise": 6, "answer": 10, - "options": 13, - "phase_outcome": 120 + "options": 6, + "phase_outcome": 161 } }, "restatement": { @@ -756,7 +760,7 @@ "label": "OECD Terms and Conditions" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -1210,7 +1214,7 @@ "start_year": 2018, "end_year": 2018 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/choose-place-two-parts.json b/python/client-contract/src/dfo_client_contract/scenarios/choose-place-two-parts.json index 4ba7c6a..90c4d22 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/choose-place-two-parts.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/choose-place-two-parts.json @@ -5,8 +5,8 @@ "origin": { "kind": "recorded", "base_url": "https://dfo-dev-apis-zms5lj4zhq-nn.a.run.app/api", - "dfo_commit": "0ba344270784ae9929a369da8acd00b399dfced8", - "recorded_at": "2026-10-24T16:31:32Z" + "dfo_commit": "99e62038ceb4b459c2ac699549076ff123c166aa", + "recorded_at": "2026-10-25T17:36:53Z" }, "call": [ { @@ -36,7 +36,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "a49188b7f477461e9942a92b389f8671" + "x-dfo-trace-id": "76714f7f2e6c422cb6ed291c6100849e" }, "json": { "schema_version": 1, @@ -47,8 +47,8 @@ "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "a49188b7f477461e9942a92b389f8671", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "76714f7f2e6c422cb6ed291c6100849e", "warnings": [], "timing_ms": { "total": 1, @@ -72,8 +72,8 @@ "timing_ms": { "total": 1, "by_step": { - "recall": 1, - "phase_resolve_places": 0, + "recall": 0, + "phase_resolve_places": 1, "phase_check_entities": 0 } }, @@ -92,6 +92,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [] }, @@ -199,7 +200,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 }, { "mentions": [ @@ -232,7 +234,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 } ] } @@ -263,6 +266,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [] }, @@ -370,7 +374,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 }, { "mentions": [ @@ -403,7 +408,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 } ] } @@ -424,6 +430,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [] }, @@ -503,7 +510,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "e4482a207d27410a9a03cb6f915ae3df" + "x-dfo-trace-id": "538d2ec3169d4007a41b9969bb6d11ae" }, "json": { "schema_version": 1, @@ -512,11 +519,11 @@ "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "e4482a207d27410a9a03cb6f915ae3df", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "538d2ec3169d4007a41b9969bb6d11ae", "warnings": [], "timing_ms": { - "total": 984, + "total": 1883, "by_step": { "coverage": 0 } @@ -542,9 +549,9 @@ } ], "timing_ms": { - "total": 1, + "total": 2, "by_step": { - "recall": 1, + "recall": 2, "phase_resolve_places": 0, "phase_check_entities": 0 } @@ -564,6 +571,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [] }, @@ -671,7 +679,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 }, { "mentions": [ @@ -704,7 +713,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 } ] } @@ -724,30 +734,30 @@ } ], "timing_ms": { - "total": 980, + "total": 1878, "by_step": { - "recall": 1, + "recall": 2, "phase_resolve_places": 0, "phase_check_entities": 0, "shape_arcs": 1, - "shape_probe_coverage": 6, - "shape_probe": 84, - "shape_groups": 40, + "shape_probe_coverage": 8, + "shape_probe": 828, + "shape_groups": 58, "shape_labels": 1, "shape_admission": 0, "phase_derive_shapes": 0, - "shape": 402, + "shape": 1252, "phase_prune_and_rank": 0, - "bind": 106, - "phase_bind": 230, + "bind": 92, + "phase_bind": 235, "phase_settle": 9, - "phase_place_bindings": 83, + "phase_place_bindings": 88, "phase_facet_requests": 0, - "materialise": 13, - "phase_materialise": 0, - "answer": 7, - "options": 6, - "phase_outcome": 123 + "materialise": 16, + "phase_materialise": 6, + "answer": 10, + "options": 7, + "phase_outcome": 161 } }, "restatement": { @@ -1160,7 +1170,7 @@ "label": "OECD Terms and Conditions" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -1633,7 +1643,7 @@ "selected": [] } ], - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -3788,6 +3798,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [], "part_index": 0 diff --git a/python/client-contract/src/dfo_client_contract/scenarios/choose-posts-unsupported-placeholder.json b/python/client-contract/src/dfo_client_contract/scenarios/choose-posts-unsupported-placeholder.json index 0c8ad89..7c2274c 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/choose-posts-unsupported-placeholder.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/choose-posts-unsupported-placeholder.json @@ -35,7 +35,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "009afd1dc09e44299c2004e111d17991" + "x-dfo-trace-id": "1af94637ff7043abb23f65b60e28d604" }, "json": { "schema_version": 1, @@ -46,14 +46,14 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "009afd1dc09e44299c2004e111d17991", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "1af94637ff7043abb23f65b60e28d604", "warnings": [], "timing_ms": { - "total": 2627, + "total": 2578, "by_step": { "coverage": 0, - "extract": 1263, + "extract": 1025, "cache_lookup": 0 } }, @@ -61,7 +61,7 @@ "input_tokens": 2239, "output_tokens": 164, "cached_tokens": 842, - "jev_input_tokens": 17402, + "jev_input_tokens": 17398, "jev_output_tokens": 3500 }, "timed_out": false @@ -72,30 +72,30 @@ "variable_text": "GDP", "warnings": [], "timing_ms": { - "total": 1129, + "total": 1276, "by_step": { - "recall": 2, - "phase_resolve_places": 0, + "recall": 1, + "phase_resolve_places": 1, "phase_check_entities": 0, "shape_arcs": 4, - "shape_probe_coverage": 4, - "shape_probe": 151, - "shape_groups": 45, - "shape_labels": 10, - "shape_admission": 1, + "shape_probe_coverage": 17, + "shape_probe": 266, + "shape_groups": 61, + "shape_labels": 12, + "shape_admission": 2, "phase_derive_shapes": 0, - "shape": 407, + "shape": 538, "phase_prune_and_rank": 0, - "bind": 127, - "phase_bind": 10, - "phase_settle": 24, - "phase_place_bindings": 8, + "bind": 153, + "phase_bind": 12, + "phase_settle": 6, + "phase_place_bindings": 12, "phase_facet_requests": 0, - "materialise": 144, - "phase_materialise": 0, - "answer": 185, - "options": 98, - "phase_outcome": 124 + "materialise": 120, + "phase_materialise": 19, + "answer": 172, + "options": 115, + "phase_outcome": 127 } }, "entity_refs": [ @@ -157,24 +157,24 @@ "variable_text": "ODA", "warnings": [], "timing_ms": { - "total": 619, + "total": 487, "by_step": { - "recall": 315, + "recall": 1, "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 1, - "shape_probe_coverage": 5, - "shape_probe": 107, + "shape_arcs": 3, + "shape_probe_coverage": 10, + "shape_probe": 108, "shape_groups": 3, "shape_labels": 0, "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 196, + "shape": 253, "phase_prune_and_rank": 0, - "bind": 97, + "bind": 218, "phase_bind": 2, - "phase_settle": 9, - "phase_place_bindings": 0 + "phase_settle": 8, + "phase_place_bindings": 5 } }, "rendered_sentence": "Could not tell who is giving and who is receiving among \"G20\", \"Germany\", and \"India\". Put \"from\" or \"to\" before a name.", @@ -660,7 +660,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "6a837108e9cb4b74b197a33c82a6e92f" + "x-dfo-trace-id": "9296d6d509bb4007ab9b828b29f773db" }, "json": { "schema_version": 1, @@ -669,11 +669,11 @@ "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "6a837108e9cb4b74b197a33c82a6e92f", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "9296d6d509bb4007ab9b828b29f773db", "warnings": [], "timing_ms": { - "total": 953, + "total": 1192, "by_step": { "coverage": 0 } @@ -693,19 +693,19 @@ "variable_text": "GDP", "warnings": [], "timing_ms": { - "total": 847, + "total": 1069, "by_step": { "validate": 0, - "walk": 1, - "reread_arcs": 0, + "walk": 0, + "reread_arcs": 1, "detect_edits": 0, "resolve_survivors": 0, - "shape": 638, + "shape": 829, "bind": 0, - "where_places": 0, - "materialise": 110, + "where_places": 1, + "materialise": 123, "answer": 4, - "options": 94 + "options": 111 } }, "entity_refs": [], @@ -1460,7 +1460,7 @@ "value": { "ref": { "ref": "FinancialActivities", - "label": "FinancialActivities" + "label": "Financial activities" }, "value_kind": "enum_value" } @@ -2220,7 +2220,7 @@ "start_year": 2015, "end_year": 2015 }, - "capability_version": "cap_9deef72763b45f40" + "capability_version": "cap_88defe77cc79e0c0" }, "confidence": "high", "available_at_place": true, @@ -2295,30 +2295,30 @@ "variable_text": "ODA", "warnings": [], "timing_ms": { - "total": 339, + "total": 382, "by_step": { - "recall": 1, - "phase_resolve_places": 1, + "recall": 2, + "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 1, - "shape_probe_coverage": 6, - "shape_probe": 95, + "shape_arcs": 2, + "shape_probe_coverage": 7, + "shape_probe": 84, "shape_groups": 3, "shape_labels": 0, - "shape_admission": 1, + "shape_admission": 0, "phase_derive_shapes": 0, - "shape": 169, + "shape": 162, "phase_prune_and_rank": 0, - "bind": 84, - "phase_bind": 9, + "bind": 99, + "phase_bind": 11, "phase_settle": 8, "phase_place_bindings": 1, "phase_facet_requests": 0, - "materialise": 17, - "phase_materialise": 0, - "answer": 9, - "options": 6, - "phase_outcome": 34 + "materialise": 21, + "phase_materialise": 5, + "answer": 11, + "options": 12, + "phase_outcome": 50 } }, "restatement": { @@ -2894,7 +2894,7 @@ "label": "OECD Terms and Conditions" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -3361,7 +3361,7 @@ "label": "disbursement" } ], - "provenance": "measure_elected" + "provenance": "binder" }, { "key": { @@ -3432,7 +3432,7 @@ "start_year": 2015, "end_year": 2015 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-answered-part.json b/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-answered-part.json index 17760cf..4c62233 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-answered-part.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-answered-part.json @@ -35,7 +35,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "1e95940d311043d0b63bd27a87996439" + "x-dfo-trace-id": "38ca03326c514418af8164d5740ec677" }, "json": { "schema_version": 1, @@ -46,21 +46,21 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "1e95940d311043d0b63bd27a87996439", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "38ca03326c514418af8164d5740ec677", "warnings": [], "timing_ms": { - "total": 2200, + "total": 492, "by_step": { "coverage": 0, - "extract": 1432, + "extract": 1, "cache_lookup": 0 } }, "llm_usage": { - "input_tokens": 2232, - "output_tokens": 103, - "cached_tokens": 841, + "input_tokens": 0, + "output_tokens": 0, + "cached_tokens": 0, "jev_input_tokens": 5250, "jev_output_tokens": 1104 }, @@ -72,30 +72,30 @@ "variable_text": "debt service", "warnings": [], "timing_ms": { - "total": 757, + "total": 486, "by_step": { - "recall": 316, + "recall": 0, "phase_resolve_places": 0, "phase_check_entities": 0, "shape_arcs": 2, - "shape_probe_coverage": 8, - "shape_probe": 72, - "shape_groups": 5, - "shape_labels": 10, + "shape_probe_coverage": 15, + "shape_probe": 105, + "shape_groups": 7, + "shape_labels": 11, "shape_admission": 0, "phase_derive_shapes": 0, - "shape": 179, + "shape": 219, "phase_prune_and_rank": 0, - "bind": 89, - "phase_bind": 10, - "phase_settle": 13, + "bind": 112, + "phase_bind": 14, + "phase_settle": 5, "phase_place_bindings": 12, "phase_facet_requests": 0, - "materialise": 9, - "phase_materialise": 0, - "answer": 1, - "options": 79, - "phase_outcome": 49 + "materialise": 11, + "phase_materialise": 23, + "answer": 2, + "options": 8, + "phase_outcome": 80 } }, "restatement": { @@ -570,7 +570,7 @@ "label": "Creative Commons Attribution License" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -1288,7 +1288,7 @@ } ], "query_qualifiers": [], - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -3273,18 +3273,18 @@ "variable_text": "price of tea", "warnings": [], "timing_ms": { - "total": 330, + "total": 100, "by_step": { - "recall": 216, - "phase_resolve_places": 1, + "recall": 0, + "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 1, - "shape_probe": 108, - "shape_groups": 2, + "shape_arcs": 2, + "shape_probe": 91, + "shape_groups": 1, "shape_labels": 0, - "shape_admission": 0, + "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 113, + "shape": 100, "phase_prune_and_rank": 0 } }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-mention-names-two-parts.json b/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-mention-names-two-parts.json index e8343b6..3925160 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-mention-names-two-parts.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-mention-names-two-parts.json @@ -35,7 +35,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "4b576ea3cd364ddeb664b3b219dffb19" + "x-dfo-trace-id": "4fae4e9b2aac46e181137e1a5933cad9" }, "json": { "schema_version": 1, @@ -46,14 +46,14 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "4b576ea3cd364ddeb664b3b219dffb19", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "4fae4e9b2aac46e181137e1a5933cad9", "warnings": [], "timing_ms": { - "total": 1260, + "total": 1079, "by_step": { "coverage": 0, - "extract": 1255, + "extract": 1073, "cache_lookup": 0 } }, @@ -72,8 +72,8 @@ "timing_ms": { "total": 1, "by_step": { - "recall": 1, - "phase_resolve_places": 0, + "recall": 0, + "phase_resolve_places": 1, "phase_check_entities": 0 } }, @@ -92,6 +92,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [] }, @@ -199,7 +200,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 }, { "mentions": [ @@ -232,7 +234,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 } ] } @@ -263,6 +266,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [] }, @@ -370,7 +374,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 }, { "mentions": [ @@ -403,7 +408,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 } ] } @@ -424,6 +430,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [] }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-no-choice.json b/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-no-choice.json index f77a9d9..faca1e0 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-no-choice.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-no-choice.json @@ -34,7 +34,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "bf6613bf82be4bddb4d60879aaf907d9" + "x-dfo-trace-id": "7abc6f06215b4187a4280d87d6f8a51a" }, "json": { "schema_version": 1, @@ -42,26 +42,23 @@ "entry_path": "raw_text", "raw_query": "ODA disbursements from Germany to Nigeria for basic health care", "normalized_query": "ODA disbursements from Germany to Nigeria for basic health care", - "extract_skipped": false + "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "bf6613bf82be4bddb4d60879aaf907d9", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "7abc6f06215b4187a4280d87d6f8a51a", "warnings": [], "timing_ms": { - "total": 2620, + "total": 3, "by_step": { "coverage": 0, - "extract": 1068, - "cache_lookup": 0 + "response_cache_layer1": 1 } }, "llm_usage": { - "input_tokens": 2231, - "output_tokens": 102, - "cached_tokens": 841, - "jev_input_tokens": 6586, - "jev_output_tokens": 2060 + "input_tokens": 0, + "output_tokens": 0, + "cached_tokens": 0 }, "timed_out": false }, @@ -71,30 +68,30 @@ "variable_text": "ODA disbursements for basic health care", "warnings": [], "timing_ms": { - "total": 1548, + "total": 1669, "by_step": { - "recall": 437, + "recall": 397, "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 2, + "shape_arcs": 1, "shape_probe_coverage": 4, - "shape_probe": 161, - "shape_groups": 45, + "shape_probe": 115, + "shape_groups": 53, "shape_labels": 1, - "shape_admission": 3, + "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 326, + "shape": 276, "phase_prune_and_rank": 0, - "bind": 225, - "phase_bind": 158, - "phase_settle": 56, - "phase_place_bindings": 18, + "bind": 214, + "phase_bind": 203, + "phase_settle": 45, + "phase_place_bindings": 20, "phase_facet_requests": 0, - "materialise": 41, - "phase_materialise": 0, - "answer": 186, - "options": 40, - "phase_outcome": 61 + "materialise": 28, + "phase_materialise": 196, + "answer": 145, + "options": 50, + "phase_outcome": 95 } }, "restatement": { @@ -541,7 +538,7 @@ "label": "OECD Terms and Conditions" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -1194,7 +1191,7 @@ "selected": [] } ], - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-no-options.json b/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-no-options.json index 1ec2f9f..65fbbea 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-no-options.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-no-options.json @@ -34,7 +34,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "304fe92b998b45849ff11a547aadc3e8" + "x-dfo-trace-id": "7fd4a5b5b50648999f5ead8966bcc02c" }, "json": { "schema_version": 1, @@ -45,14 +45,14 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "304fe92b998b45849ff11a547aadc3e8", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "7fd4a5b5b50648999f5ead8966bcc02c", "warnings": [], "timing_ms": { - "total": 1416, + "total": 1054, "by_step": { "coverage": 0, - "extract": 1297, + "extract": 1050, "cache_lookup": 0 } }, @@ -69,9 +69,9 @@ "variable_text": "ODA disbursements", "warnings": [], "timing_ms": { - "total": 115, + "total": 0, "by_step": { - "recall": 115, + "recall": 0, "phase_resolve_places": 0, "phase_check_entities": 0 } @@ -91,6 +91,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [] }, @@ -178,6 +179,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [], "part_index": 0 diff --git a/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-option-out-of-range.json b/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-option-out-of-range.json index ac800b2..0e8b742 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-option-out-of-range.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-option-out-of-range.json @@ -34,7 +34,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "21bb19c92c824a70b2eb378e85a9cfd0" + "x-dfo-trace-id": "962188ce8826466e8510fb819d5dc26d" }, "json": { "schema_version": 1, @@ -45,21 +45,21 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "21bb19c92c824a70b2eb378e85a9cfd0", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "962188ce8826466e8510fb819d5dc26d", "warnings": [], "timing_ms": { - "total": 8287, + "total": 1710, "by_step": { "coverage": 0, - "extract": 1330, - "cache_lookup": 2 + "extract": 0, + "cache_lookup": 0 } }, "llm_usage": { - "input_tokens": 2237, - "output_tokens": 143, - "cached_tokens": 842, + "input_tokens": 0, + "output_tokens": 0, + "cached_tokens": 0, "jev_input_tokens": 13358, "jev_output_tokens": 2855 }, @@ -71,28 +71,28 @@ "variable_text": "mortality", "warnings": [], "timing_ms": { - "total": 6951, + "total": 1705, "by_step": { - "recall": 261, + "recall": 1, "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 7, - "shape_probe": 122, + "shape_arcs": 4, + "shape_probe": 2, "shape_groups": 6, "shape_labels": 1, "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 241, + "shape": 119, "phase_prune_and_rank": 0, - "bind": 142, - "phase_bind": 17, - "phase_settle": 6, - "phase_place_bindings": 490, + "bind": 146, + "phase_bind": 19, + "phase_settle": 2, + "phase_place_bindings": 30, "phase_facet_requests": 0, - "materialise": 115, - "phase_materialise": 1, - "answer": 243, - "phase_outcome": 5435 + "materialise": 21, + "phase_materialise": 25, + "answer": 30, + "phase_outcome": 1312 } }, "rendered_sentence": "2 readings. Kenya's deaths rate per capita. World Development Indicators · 2013 to 2022. Kenya's number of deaths. Kenya Census · 2018 to 2022.", @@ -814,7 +814,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -2348,7 +2348,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-part-without-variable-text.json b/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-part-without-variable-text.json index 07027a2..e2e8436 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-part-without-variable-text.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-part-without-variable-text.json @@ -35,7 +35,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "009afd1dc09e44299c2004e111d17991" + "x-dfo-trace-id": "1af94637ff7043abb23f65b60e28d604" }, "json": { "schema_version": 1, @@ -46,14 +46,14 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "009afd1dc09e44299c2004e111d17991", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "1af94637ff7043abb23f65b60e28d604", "warnings": [], "timing_ms": { - "total": 2627, + "total": 2578, "by_step": { "coverage": 0, - "extract": 1263, + "extract": 1025, "cache_lookup": 0 } }, @@ -61,7 +61,7 @@ "input_tokens": 2239, "output_tokens": 164, "cached_tokens": 842, - "jev_input_tokens": 17402, + "jev_input_tokens": 17398, "jev_output_tokens": 3500 }, "timed_out": false @@ -71,30 +71,30 @@ { "warnings": [], "timing_ms": { - "total": 1129, + "total": 1276, "by_step": { - "recall": 2, - "phase_resolve_places": 0, + "recall": 1, + "phase_resolve_places": 1, "phase_check_entities": 0, "shape_arcs": 4, - "shape_probe_coverage": 4, - "shape_probe": 151, - "shape_groups": 45, - "shape_labels": 10, - "shape_admission": 1, + "shape_probe_coverage": 17, + "shape_probe": 266, + "shape_groups": 61, + "shape_labels": 12, + "shape_admission": 2, "phase_derive_shapes": 0, - "shape": 407, + "shape": 538, "phase_prune_and_rank": 0, - "bind": 127, - "phase_bind": 10, - "phase_settle": 24, - "phase_place_bindings": 8, + "bind": 153, + "phase_bind": 12, + "phase_settle": 6, + "phase_place_bindings": 12, "phase_facet_requests": 0, - "materialise": 144, - "phase_materialise": 0, - "answer": 185, - "options": 98, - "phase_outcome": 124 + "materialise": 120, + "phase_materialise": 19, + "answer": 172, + "options": 115, + "phase_outcome": 127 } }, "restatement": { @@ -986,7 +986,7 @@ "value": { "ref": { "ref": "FinancialActivities", - "label": "FinancialActivities" + "label": "Financial activities" }, "value_kind": "enum_value" } @@ -1958,7 +1958,7 @@ "start_year": 2015, "end_year": 2015 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [ @@ -2877,7 +2877,7 @@ "start_year": 2015, "end_year": 2015 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [ @@ -2980,24 +2980,24 @@ "variable_text": "ODA", "warnings": [], "timing_ms": { - "total": 619, + "total": 487, "by_step": { - "recall": 315, + "recall": 1, "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 1, - "shape_probe_coverage": 5, - "shape_probe": 107, + "shape_arcs": 3, + "shape_probe_coverage": 10, + "shape_probe": 108, "shape_groups": 3, "shape_labels": 0, "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 196, + "shape": 253, "phase_prune_and_rank": 0, - "bind": 97, + "bind": 218, "phase_bind": 2, - "phase_settle": 9, - "phase_place_bindings": 0 + "phase_settle": 8, + "phase_place_bindings": 5 } }, "rendered_sentence": "Could not tell who is giving and who is receiving among \"G20\", \"Germany\", and \"India\". Put \"from\" or \"to\" before a name.", diff --git a/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-shared-candidate-label.json b/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-shared-candidate-label.json index 91e3f40..4766cec 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-shared-candidate-label.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-shared-candidate-label.json @@ -34,7 +34,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "21bb19c92c824a70b2eb378e85a9cfd0" + "x-dfo-trace-id": "962188ce8826466e8510fb819d5dc26d" }, "json": { "schema_version": 1, @@ -45,21 +45,21 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "21bb19c92c824a70b2eb378e85a9cfd0", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "962188ce8826466e8510fb819d5dc26d", "warnings": [], "timing_ms": { - "total": 8287, + "total": 1710, "by_step": { "coverage": 0, - "extract": 1330, - "cache_lookup": 2 + "extract": 0, + "cache_lookup": 0 } }, "llm_usage": { - "input_tokens": 2237, - "output_tokens": 143, - "cached_tokens": 842, + "input_tokens": 0, + "output_tokens": 0, + "cached_tokens": 0, "jev_input_tokens": 13358, "jev_output_tokens": 2855 }, @@ -71,28 +71,28 @@ "variable_text": "mortality", "warnings": [], "timing_ms": { - "total": 6951, + "total": 1705, "by_step": { - "recall": 261, + "recall": 1, "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 7, - "shape_probe": 122, + "shape_arcs": 4, + "shape_probe": 2, "shape_groups": 6, "shape_labels": 1, "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 241, + "shape": 119, "phase_prune_and_rank": 0, - "bind": 142, - "phase_bind": 17, - "phase_settle": 6, - "phase_place_bindings": 490, + "bind": 146, + "phase_bind": 19, + "phase_settle": 2, + "phase_place_bindings": 30, "phase_facet_requests": 0, - "materialise": 115, - "phase_materialise": 1, - "answer": 243, - "phase_outcome": 5435 + "materialise": 21, + "phase_materialise": 25, + "answer": 30, + "phase_outcome": 1312 } }, "rendered_sentence": "2 readings. Kenya's deaths rate per capita. World Development Indicators · 2013 to 2022. Kenya's number of deaths. Kenya Census · 2018 to 2022.", @@ -814,7 +814,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -2293,7 +2293,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-shared-label.json b/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-shared-label.json index fad67ba..6476e13 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-shared-label.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-shared-label.json @@ -45,8 +45,8 @@ "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "6c90259bc5dc43649740c2e47cb555bc", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "355b1d08f8b442af87e20ecc65522a53", "warnings": [], "timing_ms": { "total": 1, @@ -68,9 +68,9 @@ "variable_text": "ODA disbursements", "warnings": [], "timing_ms": { - "total": 115, + "total": 0, "by_step": { - "recall": 115, + "recall": 0, "phase_resolve_places": 0, "phase_check_entities": 0 } @@ -90,6 +90,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [] }, @@ -186,7 +187,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 }, { "mentions": [ @@ -215,7 +217,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 } ] } @@ -237,6 +240,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [], "part_index": 0 diff --git a/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-two-choices.json b/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-two-choices.json index ae28288..cf1c0b2 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-two-choices.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-two-choices.json @@ -34,7 +34,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "4b576ea3cd364ddeb664b3b219dffb19" + "x-dfo-trace-id": "4fae4e9b2aac46e181137e1a5933cad9" }, "json": { "schema_version": 1, @@ -45,14 +45,14 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "4b576ea3cd364ddeb664b3b219dffb19", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "4fae4e9b2aac46e181137e1a5933cad9", "warnings": [], "timing_ms": { - "total": 1260, + "total": 1079, "by_step": { "coverage": 0, - "extract": 1255, + "extract": 1073, "cache_lookup": 0 } }, @@ -71,8 +71,8 @@ "timing_ms": { "total": 1, "by_step": { - "recall": 1, - "phase_resolve_places": 0, + "recall": 0, + "phase_resolve_places": 1, "phase_check_entities": 0 } }, @@ -91,6 +91,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [] }, @@ -198,7 +199,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 }, { "mentions": [ @@ -231,7 +233,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 } ] } @@ -262,6 +265,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [] }, @@ -369,7 +373,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 }, { "mentions": [ @@ -402,7 +407,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 } ] } @@ -423,6 +429,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [] }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-unknown-candidate-label.json b/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-unknown-candidate-label.json index 8a9eadc..3fa6c94 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-unknown-candidate-label.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-unknown-candidate-label.json @@ -34,7 +34,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "21bb19c92c824a70b2eb378e85a9cfd0" + "x-dfo-trace-id": "962188ce8826466e8510fb819d5dc26d" }, "json": { "schema_version": 1, @@ -45,21 +45,21 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "21bb19c92c824a70b2eb378e85a9cfd0", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "962188ce8826466e8510fb819d5dc26d", "warnings": [], "timing_ms": { - "total": 8287, + "total": 1710, "by_step": { "coverage": 0, - "extract": 1330, - "cache_lookup": 2 + "extract": 0, + "cache_lookup": 0 } }, "llm_usage": { - "input_tokens": 2237, - "output_tokens": 143, - "cached_tokens": 842, + "input_tokens": 0, + "output_tokens": 0, + "cached_tokens": 0, "jev_input_tokens": 13358, "jev_output_tokens": 2855 }, @@ -71,28 +71,28 @@ "variable_text": "mortality", "warnings": [], "timing_ms": { - "total": 6951, + "total": 1705, "by_step": { - "recall": 261, + "recall": 1, "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 7, - "shape_probe": 122, + "shape_arcs": 4, + "shape_probe": 2, "shape_groups": 6, "shape_labels": 1, "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 241, + "shape": 119, "phase_prune_and_rank": 0, - "bind": 142, - "phase_bind": 17, - "phase_settle": 6, - "phase_place_bindings": 490, + "bind": 146, + "phase_bind": 19, + "phase_settle": 2, + "phase_place_bindings": 30, "phase_facet_requests": 0, - "materialise": 115, - "phase_materialise": 1, - "answer": 243, - "phase_outcome": 5435 + "materialise": 21, + "phase_materialise": 25, + "answer": 30, + "phase_outcome": 1312 } }, "rendered_sentence": "2 readings. Kenya's deaths rate per capita. World Development Indicators · 2013 to 2022. Kenya's number of deaths. Kenya Census · 2018 to 2022.", @@ -814,7 +814,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -2348,7 +2348,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-unknown-label.json b/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-unknown-label.json index e99807c..168b063 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-unknown-label.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-unknown-label.json @@ -34,7 +34,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "304fe92b998b45849ff11a547aadc3e8" + "x-dfo-trace-id": "7fd4a5b5b50648999f5ead8966bcc02c" }, "json": { "schema_version": 1, @@ -45,14 +45,14 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "304fe92b998b45849ff11a547aadc3e8", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "7fd4a5b5b50648999f5ead8966bcc02c", "warnings": [], "timing_ms": { - "total": 1416, + "total": 1054, "by_step": { "coverage": 0, - "extract": 1297, + "extract": 1050, "cache_lookup": 0 } }, @@ -69,9 +69,9 @@ "variable_text": "ODA disbursements", "warnings": [], "timing_ms": { - "total": 115, + "total": 0, "by_step": { - "recall": 115, + "recall": 0, "phase_resolve_places": 0, "phase_check_entities": 0 } @@ -91,6 +91,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [] }, @@ -187,7 +188,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 }, { "mentions": [ @@ -216,7 +218,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 } ] } @@ -238,6 +241,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [], "part_index": 0 diff --git a/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-unknown-part.json b/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-unknown-part.json index 8442bcc..3698118 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-unknown-part.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-unknown-part.json @@ -35,7 +35,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "1e95940d311043d0b63bd27a87996439" + "x-dfo-trace-id": "38ca03326c514418af8164d5740ec677" }, "json": { "schema_version": 1, @@ -46,21 +46,21 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "1e95940d311043d0b63bd27a87996439", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "38ca03326c514418af8164d5740ec677", "warnings": [], "timing_ms": { - "total": 2200, + "total": 492, "by_step": { "coverage": 0, - "extract": 1432, + "extract": 1, "cache_lookup": 0 } }, "llm_usage": { - "input_tokens": 2232, - "output_tokens": 103, - "cached_tokens": 841, + "input_tokens": 0, + "output_tokens": 0, + "cached_tokens": 0, "jev_input_tokens": 5250, "jev_output_tokens": 1104 }, @@ -72,30 +72,30 @@ "variable_text": "debt service", "warnings": [], "timing_ms": { - "total": 757, + "total": 486, "by_step": { - "recall": 316, + "recall": 0, "phase_resolve_places": 0, "phase_check_entities": 0, "shape_arcs": 2, - "shape_probe_coverage": 8, - "shape_probe": 72, - "shape_groups": 5, - "shape_labels": 10, + "shape_probe_coverage": 15, + "shape_probe": 105, + "shape_groups": 7, + "shape_labels": 11, "shape_admission": 0, "phase_derive_shapes": 0, - "shape": 179, + "shape": 219, "phase_prune_and_rank": 0, - "bind": 89, - "phase_bind": 10, - "phase_settle": 13, + "bind": 112, + "phase_bind": 14, + "phase_settle": 5, "phase_place_bindings": 12, "phase_facet_requests": 0, - "materialise": 9, - "phase_materialise": 0, - "answer": 1, - "options": 79, - "phase_outcome": 49 + "materialise": 11, + "phase_materialise": 23, + "answer": 2, + "options": 8, + "phase_outcome": 80 } }, "restatement": { @@ -570,7 +570,7 @@ "label": "Creative Commons Attribution License" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -1288,7 +1288,7 @@ } ], "query_qualifiers": [], - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -3273,18 +3273,18 @@ "variable_text": "price of tea", "warnings": [], "timing_ms": { - "total": 330, + "total": 100, "by_step": { - "recall": 216, - "phase_resolve_places": 1, + "recall": 0, + "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 1, - "shape_probe": 108, - "shape_groups": 2, + "shape_arcs": 2, + "shape_probe": 91, + "shape_groups": 1, "shape_labels": 0, - "shape_admission": 0, + "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 113, + "shape": 100, "phase_prune_and_rank": 0 } }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-unknown-status.json b/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-unknown-status.json index f6404bf..984fd09 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-unknown-status.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/choose-refused-unknown-status.json @@ -35,7 +35,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "009afd1dc09e44299c2004e111d17991" + "x-dfo-trace-id": "1af94637ff7043abb23f65b60e28d604" }, "json": { "schema_version": 1, @@ -46,14 +46,14 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "009afd1dc09e44299c2004e111d17991", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "1af94637ff7043abb23f65b60e28d604", "warnings": [], "timing_ms": { - "total": 2627, + "total": 2578, "by_step": { "coverage": 0, - "extract": 1263, + "extract": 1025, "cache_lookup": 0 } }, @@ -61,7 +61,7 @@ "input_tokens": 2239, "output_tokens": 164, "cached_tokens": 842, - "jev_input_tokens": 17402, + "jev_input_tokens": 17398, "jev_output_tokens": 3500 }, "timed_out": false @@ -72,30 +72,30 @@ "variable_text": "GDP", "warnings": [], "timing_ms": { - "total": 1129, + "total": 1276, "by_step": { - "recall": 2, - "phase_resolve_places": 0, + "recall": 1, + "phase_resolve_places": 1, "phase_check_entities": 0, "shape_arcs": 4, - "shape_probe_coverage": 4, - "shape_probe": 151, - "shape_groups": 45, - "shape_labels": 10, - "shape_admission": 1, + "shape_probe_coverage": 17, + "shape_probe": 266, + "shape_groups": 61, + "shape_labels": 12, + "shape_admission": 2, "phase_derive_shapes": 0, - "shape": 407, + "shape": 538, "phase_prune_and_rank": 0, - "bind": 127, - "phase_bind": 10, - "phase_settle": 24, - "phase_place_bindings": 8, + "bind": 153, + "phase_bind": 12, + "phase_settle": 6, + "phase_place_bindings": 12, "phase_facet_requests": 0, - "materialise": 144, - "phase_materialise": 0, - "answer": 185, - "options": 98, - "phase_outcome": 124 + "materialise": 120, + "phase_materialise": 19, + "answer": 172, + "options": 115, + "phase_outcome": 127 } }, "entity_refs": [ @@ -970,7 +970,7 @@ "value": { "ref": { "ref": "FinancialActivities", - "label": "FinancialActivities" + "label": "Financial activities" }, "value_kind": "enum_value" } @@ -1942,7 +1942,7 @@ "start_year": 2015, "end_year": 2015 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [ @@ -2861,7 +2861,7 @@ "start_year": 2015, "end_year": 2015 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [ @@ -2964,24 +2964,24 @@ "variable_text": "ODA", "warnings": [], "timing_ms": { - "total": 619, + "total": 487, "by_step": { - "recall": 315, + "recall": 1, "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 1, - "shape_probe_coverage": 5, - "shape_probe": 107, + "shape_arcs": 3, + "shape_probe_coverage": 10, + "shape_probe": 108, "shape_groups": 3, "shape_labels": 0, "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 196, + "shape": 253, "phase_prune_and_rank": 0, - "bind": 97, + "bind": 218, "phase_bind": 2, - "phase_settle": 9, - "phase_place_bindings": 0 + "phase_settle": 8, + "phase_place_bindings": 5 } }, "rendered_sentence": "Could not tell who is giving and who is receiving among \"G20\", \"Germany\", and \"India\". Put \"from\" or \"to\" before a name.", diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-frame-several-readings.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-frame-several-readings.json index a526083..31d2f68 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-frame-several-readings.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-frame-several-readings.json @@ -34,7 +34,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "74e9acc99aff40f7a653093976c55e3b" + "x-dfo-trace-id": "7c7e42dd77f94ee08a15cef4438ee7ad" }, "json": { "schema_version": 1, @@ -42,26 +42,23 @@ "entry_path": "raw_text", "raw_query": "ODA disbursements for health and for education from Germany to Kenya, and GDP of Kenya", "normalized_query": "ODA disbursements for health and for education from Germany to Kenya, and GDP of Kenya", - "extract_skipped": false + "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "74e9acc99aff40f7a653093976c55e3b", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "7c7e42dd77f94ee08a15cef4438ee7ad", "warnings": [], "timing_ms": { - "total": 4632, + "total": 7, "by_step": { "coverage": 0, - "extract": 1209, - "cache_lookup": 0 + "response_cache_layer1": 1 } }, "llm_usage": { - "input_tokens": 2237, - "output_tokens": 215, - "cached_tokens": 842, - "jev_input_tokens": 25612, - "jev_output_tokens": 5740 + "input_tokens": 0, + "output_tokens": 0, + "cached_tokens": 0 }, "timed_out": false }, @@ -71,30 +68,30 @@ "variable_text": "health ODA disbursements", "warnings": [], "timing_ms": { - "total": 3118, + "total": 2889, "by_step": { - "recall": 753, + "recall": 411, "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 75, - "shape_probe_coverage": 3, - "shape_probe": 164, - "shape_groups": 44, - "shape_labels": 9, - "shape_admission": 0, + "shape_arcs": 3, + "shape_probe_coverage": 32, + "shape_probe": 148, + "shape_groups": 58, + "shape_labels": 11, + "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 695, + "shape": 364, "phase_prune_and_rank": 0, - "bind": 275, - "phase_bind": 190, - "phase_settle": 91, - "phase_place_bindings": 19, + "bind": 440, + "phase_bind": 315, + "phase_settle": 55, + "phase_place_bindings": 25, "phase_facet_requests": 0, - "materialise": 616, - "phase_materialise": 0, - "answer": 20, - "options": 307, - "phase_outcome": 152 + "materialise": 471, + "phase_materialise": 208, + "answer": 45, + "options": 348, + "phase_outcome": 207 } }, "restatement": { @@ -1438,7 +1435,7 @@ "selected": [] } ], - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -3766,30 +3763,30 @@ } ], "timing_ms": { - "total": 3017, + "total": 3494, "by_step": { - "recall": 704, - "phase_resolve_places": 1, + "recall": 445, + "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 82, - "shape_probe_coverage": 2, - "shape_probe": 99, - "shape_groups": 47, - "shape_labels": 10, + "shape_arcs": 1, + "shape_probe_coverage": 6, + "shape_probe": 380, + "shape_groups": 80, + "shape_labels": 12, "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 365, + "shape": 785, "phase_prune_and_rank": 0, - "bind": 402, - "phase_bind": 196, - "phase_settle": 88, - "phase_place_bindings": 44, + "bind": 385, + "phase_bind": 179, + "phase_settle": 56, + "phase_place_bindings": 45, "phase_facet_requests": 0, - "materialise": 512, - "phase_materialise": 0, - "answer": 58, - "options": 511, - "phase_outcome": 136 + "materialise": 1028, + "phase_materialise": 194, + "answer": 42, + "options": 209, + "phase_outcome": 126 } }, "restatement": { @@ -5133,7 +5130,7 @@ "selected": [] } ], - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -7466,30 +7463,30 @@ } ], "timing_ms": { - "total": 1849, + "total": 1747, "by_step": { - "recall": 391, + "recall": 2, "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 4, - "shape_probe_coverage": 2, - "shape_probe": 126, - "shape_groups": 55, - "shape_labels": 10, + "shape_arcs": 5, + "shape_probe_coverage": 5, + "shape_probe": 124, + "shape_groups": 68, + "shape_labels": 13, "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 311, + "shape": 405, "phase_prune_and_rank": 0, - "bind": 139, - "phase_bind": 15, - "phase_settle": 27, - "phase_place_bindings": 426, + "bind": 687, + "phase_bind": 24, + "phase_settle": 6, + "phase_place_bindings": 10, "phase_facet_requests": 0, - "materialise": 93, - "phase_materialise": 0, - "answer": 244, - "options": 193, - "phase_outcome": 10 + "materialise": 296, + "phase_materialise": 17, + "answer": 7, + "options": 256, + "phase_outcome": 37 } }, "restatement": { @@ -8103,7 +8100,7 @@ "value": { "ref": { "ref": "FinancialActivities", - "label": "FinancialActivities" + "label": "Financial activities" }, "value_kind": "enum_value" } @@ -8926,7 +8923,7 @@ } ], "query_qualifiers": [], - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [ @@ -9459,7 +9456,7 @@ } ], "query_qualifiers": [], - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [ diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-null-member.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-null-member.json index e1916ab..f11d0d5 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-null-member.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-null-member.json @@ -33,7 +33,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "bf6613bf82be4bddb4d60879aaf907d9" + "x-dfo-trace-id": "7abc6f06215b4187a4280d87d6f8a51a" }, "json": { "schema_version": 1, @@ -41,26 +41,23 @@ "entry_path": "raw_text", "raw_query": "ODA disbursements from Germany to Nigeria for basic health care", "normalized_query": "ODA disbursements from Germany to Nigeria for basic health care", - "extract_skipped": false + "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "bf6613bf82be4bddb4d60879aaf907d9", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "7abc6f06215b4187a4280d87d6f8a51a", "warnings": [], "timing_ms": { - "total": 2620, + "total": 3, "by_step": { "coverage": 0, - "extract": 1068, - "cache_lookup": 0 + "response_cache_layer1": 1 } }, "llm_usage": { - "input_tokens": 2231, - "output_tokens": 102, - "cached_tokens": 841, - "jev_input_tokens": 6586, - "jev_output_tokens": 2060 + "input_tokens": 0, + "output_tokens": 0, + "cached_tokens": 0 }, "timed_out": false }, @@ -70,30 +67,30 @@ "variable_text": "ODA disbursements for basic health care", "warnings": [], "timing_ms": { - "total": 1548, + "total": 1669, "by_step": { - "recall": 437, + "recall": 397, "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 2, + "shape_arcs": 1, "shape_probe_coverage": 4, - "shape_probe": 161, - "shape_groups": 45, + "shape_probe": 115, + "shape_groups": 53, "shape_labels": 1, - "shape_admission": 3, + "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 326, + "shape": 276, "phase_prune_and_rank": 0, - "bind": 225, - "phase_bind": 158, - "phase_settle": 56, - "phase_place_bindings": 18, + "bind": 214, + "phase_bind": 203, + "phase_settle": 45, + "phase_place_bindings": 20, "phase_facet_requests": 0, - "materialise": 41, - "phase_materialise": 0, - "answer": 186, - "options": 40, - "phase_outcome": 61 + "materialise": 28, + "phase_materialise": 196, + "answer": 145, + "options": 50, + "phase_outcome": 95 } }, "restatement": { @@ -540,7 +537,7 @@ "label": "OECD Terms and Conditions" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -1193,7 +1190,7 @@ "selected": [] } ], - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -3791,7 +3788,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "42460c90e7274dd19ecba24a6a0377e9" + "x-dfo-trace-id": "70ac3c153571497dab413643b6537466" }, "json": { "schema_version": 1, @@ -4192,7 +4189,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261011T194155Z-80081f08", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:05.017544+00:00" + "confirmed_at": "2026-10-25T17:22:10.027136+00:00" }, "warnings": [ { @@ -4237,7 +4234,7 @@ ], "series_count": 5, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -4521,7 +4518,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": true } @@ -4538,7 +4535,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A421efacc2dc010af38112a087b0b49ff5539f61d2afd12a88272b27e99b5f5db?X-Goog-Signature=redacted", - "x-dfo-trace-id": "b9b4b3a90d6546e09cc738a29bbbb1d6" + "x-dfo-trace-id": "d2d4306f79d2411ebcd110cc1e26f49d" } } }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-partial-nothing-answered.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-partial-nothing-answered.json index 86968a3..ea94e6f 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-partial-nothing-answered.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-partial-nothing-answered.json @@ -34,7 +34,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "304fe92b998b45849ff11a547aadc3e8" + "x-dfo-trace-id": "7fd4a5b5b50648999f5ead8966bcc02c" }, "json": { "schema_version": 1, @@ -45,14 +45,14 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "304fe92b998b45849ff11a547aadc3e8", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "7fd4a5b5b50648999f5ead8966bcc02c", "warnings": [], "timing_ms": { - "total": 1416, + "total": 1054, "by_step": { "coverage": 0, - "extract": 1297, + "extract": 1050, "cache_lookup": 0 } }, @@ -69,9 +69,9 @@ "variable_text": "ODA disbursements", "warnings": [], "timing_ms": { - "total": 115, + "total": 0, "by_step": { - "recall": 115, + "recall": 0, "phase_resolve_places": 0, "phase_check_entities": 0 } @@ -91,6 +91,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [] }, @@ -187,7 +188,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 }, { "mentions": [ @@ -216,7 +218,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 } ] } @@ -238,6 +241,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [], "part_index": 0 @@ -277,7 +281,7 @@ "error": { "class": "IncompleteAnswerError", "code": "answer_incomplete", - "trace_id": "304fe92b998b45849ff11a547aadc3e8" + "trace_id": "7fd4a5b5b50648999f5ead8966bcc02c" } } ] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-artifact-unlisted.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-artifact-unlisted.json index 44e3548..8498cc6 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-artifact-unlisted.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-artifact-unlisted.json @@ -111,7 +111,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "6a9a38fa39014e7282da94b82d6ba3ee" + "x-dfo-trace-id": "4a5d0c28ab9544b2a8eabefdcaba5eb9" }, "json": { "schema_version": 1, @@ -527,6 +527,20 @@ } ], "artifacts": [ + { + "artifact_digest": "sha256:f4026e80af4b8683d3bb86645ab3aca83dff75cd03fdd4c73ec54ba638922104", + "rendering": { + "bundle": false, + "format": "parquet", + "layout": "frame", + "without_party_totals": true + }, + "bytes": 5627, + "media_type": "application/vnd.apache.parquet", + "created_at": "2026-10-20T20:44:10.228016+00:00", + "tier": "working", + "url": "/api/datasets/spec_774d6c001a6250aa67ca676ab067895e/cv_b92d94774702c7f05f2075d0b03dd756/files/sha256:f4026e80af4b8683d3bb86645ab3aca83dff75cd03fdd4c73ec54ba638922104" + }, { "artifact_digest": "sha256:f4026e80af4b8683d3bb86645ab3aca83dff75cd03fdd4c73ec54ba638922104", "rendering": { @@ -643,7 +657,7 @@ ], "series_count": 5, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -943,7 +957,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A421efacc2dc010af38112a087b0b49ff5539f61d2afd12a88272b27e99b5f5db?X-Goog-Signature=redacted", - "x-dfo-trace-id": "7e3ff4f01985498db43aebbf83d13839" + "x-dfo-trace-id": "27db1ff9243247c2b620f137120283ba" } } }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-expired-file-selector.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-expired-file-selector.json index dff0cc7..fc5383d 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-expired-file-selector.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-expired-file-selector.json @@ -111,7 +111,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "6a9a38fa39014e7282da94b82d6ba3ee" + "x-dfo-trace-id": "4a5d0c28ab9544b2a8eabefdcaba5eb9" }, "json": { "schema_version": 1, @@ -527,6 +527,21 @@ } ], "artifacts": [ + { + "artifact_digest": "sha256:421efacc2dc010af38112a087b0b49ff5539f61d2afd12a88272b27e99b5f5db", + "rendering": { + "bundle": false, + "format": "parquet", + "layout": 4, + "without_party_totals": true + }, + "bytes": 9842, + "media_type": "application/vnd.apache.parquet", + "created_at": "2026-10-23T16:56:32.058938+00:00", + "tier": "working", + "url": "/api/datasets/spec_774d6c001a6250aa67ca676ab067895e/cv_b92d94774702c7f05f2075d0b03dd756/files/sha256:421efacc2dc010af38112a087b0b49ff5539f61d2afd12a88272b27e99b5f5db", + "enrichment_stamp": "08ed6c734fc69ea2204a21f4e1dd8b963f14dd1e03a2484c618049ac2e2d93d8" + }, { "artifact_digest": "sha256:421efacc2dc010af38112a087b0b49ff5539f61d2afd12a88272b27e99b5f5db", "rendering": { @@ -541,6 +556,20 @@ "url": "/api/datasets/spec_774d6c001a6250aa67ca676ab067895e/cv_b92d94774702c7f05f2075d0b03dd756/files/sha256:421efacc2dc010af38112a087b0b49ff5539f61d2afd12a88272b27e99b5f5db", "enrichment_stamp": "08ed6c734fc69ea2204a21f4e1dd8b963f14dd1e03a2484c618049ac2e2d93d8" }, + { + "artifact_digest": "sha256:f4026e80af4b8683d3bb86645ab3aca83dff75cd03fdd4c73ec54ba638922104", + "rendering": { + "bundle": false, + "format": "parquet", + "layout": "frame", + "without_party_totals": true + }, + "bytes": 5627, + "media_type": "application/vnd.apache.parquet", + "created_at": "2026-10-20T20:44:10.228016+00:00", + "tier": "working", + "url": "/api/datasets/spec_774d6c001a6250aa67ca676ab067895e/cv_b92d94774702c7f05f2075d0b03dd756/files/sha256:f4026e80af4b8683d3bb86645ab3aca83dff75cd03fdd4c73ec54ba638922104" + }, { "artifact_digest": "sha256:f4026e80af4b8683d3bb86645ab3aca83dff75cd03fdd4c73ec54ba638922104", "rendering": { @@ -657,7 +686,7 @@ ], "series_count": 5, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -979,7 +1008,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A421efacc2dc010af38112a087b0b49ff5539f61d2afd12a88272b27e99b5f5db?X-Goog-Signature=redacted", - "x-dfo-trace-id": "7e3ff4f01985498db43aebbf83d13839" + "x-dfo-trace-id": "27db1ff9243247c2b620f137120283ba" } } }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-expired-newer-version.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-expired-newer-version.json index 35c65cb..a00aec1 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-expired-newer-version.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-expired-newer-version.json @@ -211,7 +211,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "42460c90e7274dd19ecba24a6a0377e9" + "x-dfo-trace-id": "70ac3c153571497dab413643b6537466" }, "json": { "schema_version": 1, @@ -612,7 +612,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261011T194155Z-80081f08", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:05.017544+00:00" + "confirmed_at": "2026-10-25T17:22:10.027136+00:00" }, "warnings": [ { @@ -657,7 +657,7 @@ ], "series_count": 5, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -940,7 +940,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": true } diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-expired-not-reproducible.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-expired-not-reproducible.json index 517e8c4..b81f1a0 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-expired-not-reproducible.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-expired-not-reproducible.json @@ -231,7 +231,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "6f93d15300c8413191296f90fbc4b8b0" + "x-dfo-trace-id": "ee36259b6d664e7cb028a433fd51bf38" }, "json": { "schema_version": 1, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-expired-rebuild-other-spec.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-expired-rebuild-other-spec.json index d8e8c73..6f73b47 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-expired-rebuild-other-spec.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-expired-rebuild-other-spec.json @@ -211,7 +211,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "42460c90e7274dd19ecba24a6a0377e9" + "x-dfo-trace-id": "70ac3c153571497dab413643b6537466" }, "json": { "schema_version": 1, @@ -612,7 +612,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261011T194155Z-80081f08", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:05.017544+00:00" + "confirmed_at": "2026-10-25T17:22:10.027136+00:00" }, "warnings": [ { @@ -657,7 +657,7 @@ ], "series_count": 5, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -940,7 +940,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": true } @@ -953,7 +953,7 @@ "error": { "class": "ContractError", "code": "contract_violation", - "trace_id": "42460c90e7274dd19ecba24a6a0377e9" + "trace_id": "70ac3c153571497dab413643b6537466" } } ] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-expired-rebuild-same-version.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-expired-rebuild-same-version.json index 87efd88..0fd8c35 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-expired-rebuild-same-version.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-expired-rebuild-same-version.json @@ -211,7 +211,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "42460c90e7274dd19ecba24a6a0377e9" + "x-dfo-trace-id": "70ac3c153571497dab413643b6537466" }, "json": { "schema_version": 1, @@ -612,7 +612,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261011T194155Z-80081f08", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:05.017544+00:00" + "confirmed_at": "2026-10-25T17:22:10.027136+00:00" }, "warnings": [ { @@ -657,7 +657,7 @@ ], "series_count": 5, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -940,7 +940,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": true } @@ -957,7 +957,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A421efacc2dc010af38112a087b0b49ff5539f61d2afd12a88272b27e99b5f5db?X-Goog-Signature=redacted", - "x-dfo-trace-id": "b9b4b3a90d6546e09cc738a29bbbb1d6" + "x-dfo-trace-id": "d2d4306f79d2411ebcd110cc1e26f49d" } } }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-newest-version.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-newest-version.json index 8916674..acb3daa 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-newest-version.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-newest-version.json @@ -5,8 +5,8 @@ "origin": { "kind": "recorded", "base_url": "https://dfo-dev-apis-zms5lj4zhq-nn.a.run.app/api", - "dfo_commit": "0ba344270784ae9929a369da8acd00b399dfced8", - "recorded_at": "2026-10-24T16:32:01Z" + "dfo_commit": "99e62038ceb4b459c2ac699549076ff123c166aa", + "recorded_at": "2026-10-25T17:37:25Z" }, "call": [ { @@ -94,7 +94,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "6f93d15300c8413191296f90fbc4b8b0" + "x-dfo-trace-id": "ee36259b6d664e7cb028a433fd51bf38" }, "json": { "schema_version": 1, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-signed-url-refused-twice.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-signed-url-refused-twice.json index 85a980e..46e5a2b 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-signed-url-refused-twice.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-signed-url-refused-twice.json @@ -111,7 +111,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "6a9a38fa39014e7282da94b82d6ba3ee" + "x-dfo-trace-id": "4a5d0c28ab9544b2a8eabefdcaba5eb9" }, "json": { "schema_version": 1, @@ -527,6 +527,21 @@ } ], "artifacts": [ + { + "artifact_digest": "sha256:421efacc2dc010af38112a087b0b49ff5539f61d2afd12a88272b27e99b5f5db", + "rendering": { + "bundle": false, + "format": "parquet", + "layout": 4, + "without_party_totals": true + }, + "bytes": 9842, + "media_type": "application/vnd.apache.parquet", + "created_at": "2026-10-23T16:56:32.058938+00:00", + "tier": "working", + "url": "/api/datasets/spec_774d6c001a6250aa67ca676ab067895e/cv_b92d94774702c7f05f2075d0b03dd756/files/sha256:421efacc2dc010af38112a087b0b49ff5539f61d2afd12a88272b27e99b5f5db", + "enrichment_stamp": "08ed6c734fc69ea2204a21f4e1dd8b963f14dd1e03a2484c618049ac2e2d93d8" + }, { "artifact_digest": "sha256:421efacc2dc010af38112a087b0b49ff5539f61d2afd12a88272b27e99b5f5db", "rendering": { @@ -541,6 +556,20 @@ "url": "/api/datasets/spec_774d6c001a6250aa67ca676ab067895e/cv_b92d94774702c7f05f2075d0b03dd756/files/sha256:421efacc2dc010af38112a087b0b49ff5539f61d2afd12a88272b27e99b5f5db", "enrichment_stamp": "08ed6c734fc69ea2204a21f4e1dd8b963f14dd1e03a2484c618049ac2e2d93d8" }, + { + "artifact_digest": "sha256:f4026e80af4b8683d3bb86645ab3aca83dff75cd03fdd4c73ec54ba638922104", + "rendering": { + "bundle": false, + "format": "parquet", + "layout": "frame", + "without_party_totals": true + }, + "bytes": 5627, + "media_type": "application/vnd.apache.parquet", + "created_at": "2026-10-20T20:44:10.228016+00:00", + "tier": "working", + "url": "/api/datasets/spec_774d6c001a6250aa67ca676ab067895e/cv_b92d94774702c7f05f2075d0b03dd756/files/sha256:f4026e80af4b8683d3bb86645ab3aca83dff75cd03fdd4c73ec54ba638922104" + }, { "artifact_digest": "sha256:f4026e80af4b8683d3bb86645ab3aca83dff75cd03fdd4c73ec54ba638922104", "rendering": { @@ -657,7 +686,7 @@ ], "series_count": 5, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -957,7 +986,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A421efacc2dc010af38112a087b0b49ff5539f61d2afd12a88272b27e99b5f5db?X-Goog-Signature=redacted", - "x-dfo-trace-id": "7e3ff4f01985498db43aebbf83d13839" + "x-dfo-trace-id": "27db1ff9243247c2b620f137120283ba" } } }, @@ -983,7 +1012,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A421efacc2dc010af38112a087b0b49ff5539f61d2afd12a88272b27e99b5f5db?X-Goog-Signature=redacted", - "x-dfo-trace-id": "7e3ff4f01985498db43aebbf83d13839" + "x-dfo-trace-id": "27db1ff9243247c2b620f137120283ba" } } }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-signed-url-refused.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-signed-url-refused.json index 23646db..7937d99 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-signed-url-refused.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-signed-url-refused.json @@ -111,7 +111,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "6a9a38fa39014e7282da94b82d6ba3ee" + "x-dfo-trace-id": "4a5d0c28ab9544b2a8eabefdcaba5eb9" }, "json": { "schema_version": 1, @@ -527,6 +527,21 @@ } ], "artifacts": [ + { + "artifact_digest": "sha256:421efacc2dc010af38112a087b0b49ff5539f61d2afd12a88272b27e99b5f5db", + "rendering": { + "bundle": false, + "format": "parquet", + "layout": 4, + "without_party_totals": true + }, + "bytes": 9842, + "media_type": "application/vnd.apache.parquet", + "created_at": "2026-10-23T16:56:32.058938+00:00", + "tier": "working", + "url": "/api/datasets/spec_774d6c001a6250aa67ca676ab067895e/cv_b92d94774702c7f05f2075d0b03dd756/files/sha256:421efacc2dc010af38112a087b0b49ff5539f61d2afd12a88272b27e99b5f5db", + "enrichment_stamp": "08ed6c734fc69ea2204a21f4e1dd8b963f14dd1e03a2484c618049ac2e2d93d8" + }, { "artifact_digest": "sha256:421efacc2dc010af38112a087b0b49ff5539f61d2afd12a88272b27e99b5f5db", "rendering": { @@ -541,6 +556,20 @@ "url": "/api/datasets/spec_774d6c001a6250aa67ca676ab067895e/cv_b92d94774702c7f05f2075d0b03dd756/files/sha256:421efacc2dc010af38112a087b0b49ff5539f61d2afd12a88272b27e99b5f5db", "enrichment_stamp": "08ed6c734fc69ea2204a21f4e1dd8b963f14dd1e03a2484c618049ac2e2d93d8" }, + { + "artifact_digest": "sha256:f4026e80af4b8683d3bb86645ab3aca83dff75cd03fdd4c73ec54ba638922104", + "rendering": { + "bundle": false, + "format": "parquet", + "layout": "frame", + "without_party_totals": true + }, + "bytes": 5627, + "media_type": "application/vnd.apache.parquet", + "created_at": "2026-10-20T20:44:10.228016+00:00", + "tier": "working", + "url": "/api/datasets/spec_774d6c001a6250aa67ca676ab067895e/cv_b92d94774702c7f05f2075d0b03dd756/files/sha256:f4026e80af4b8683d3bb86645ab3aca83dff75cd03fdd4c73ec54ba638922104" + }, { "artifact_digest": "sha256:f4026e80af4b8683d3bb86645ab3aca83dff75cd03fdd4c73ec54ba638922104", "rendering": { @@ -657,7 +686,7 @@ ], "series_count": 5, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -957,7 +986,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A421efacc2dc010af38112a087b0b49ff5539f61d2afd12a88272b27e99b5f5db?X-Goog-Signature=redacted", - "x-dfo-trace-id": "7e3ff4f01985498db43aebbf83d13839" + "x-dfo-trace-id": "27db1ff9243247c2b620f137120283ba" } } }, @@ -983,7 +1012,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A421efacc2dc010af38112a087b0b49ff5539f61d2afd12a88272b27e99b5f5db?X-Goog-Signature=redacted", - "x-dfo-trace-id": "7e3ff4f01985498db43aebbf83d13839" + "x-dfo-trace-id": "27db1ff9243247c2b620f137120283ba" } } }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-unknown-version.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-unknown-version.json index 50d58fe..f4cad5f 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-unknown-version.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref-unknown-version.json @@ -5,8 +5,8 @@ "origin": { "kind": "recorded", "base_url": "https://dfo-dev-apis-zms5lj4zhq-nn.a.run.app/api", - "dfo_commit": "0ba344270784ae9929a369da8acd00b399dfced8", - "recorded_at": "2026-10-24T16:30:53Z" + "dfo_commit": "99e62038ceb4b459c2ac699549076ff123c166aa", + "recorded_at": "2026-10-25T17:35:18Z" }, "call": [ { @@ -112,7 +112,7 @@ "status": 404, "headers": { "content-type": "application/problem+json", - "x-dfo-trace-id": "5228b20a07a147e9861e20170e7363f1" + "x-dfo-trace-id": "4b703f6e6e1f4d13b433c758319f2705" }, "json": { "type": "/codes/snapshot_not_found", @@ -120,8 +120,8 @@ "status": 404, "detail": "'spec_774d6c001a6250aa67ca676ab067895e' has no version at content_version 'cv_00000000000000000000000000000000'", "code": "snapshot_not_found", - "trace_id": "5228b20a07a147e9861e20170e7363f1", - "capability_version": "dset_cc753cefa9199881", + "trace_id": "4b703f6e6e1f4d13b433c758319f2705", + "capability_version": "dset_76f5fa7244511c58", "retryable": false } } @@ -132,7 +132,7 @@ "error": { "class": "NotFoundError", "code": "snapshot_not_found", - "trace_id": "5228b20a07a147e9861e20170e7363f1" + "trace_id": "4b703f6e6e1f4d13b433c758319f2705" } } ] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref.json index 856d5c5..96db317 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-ref.json @@ -5,8 +5,8 @@ "origin": { "kind": "recorded", "base_url": "https://dfo-dev-apis-zms5lj4zhq-nn.a.run.app/api", - "dfo_commit": "0ba344270784ae9929a369da8acd00b399dfced8", - "recorded_at": "2026-10-24T16:30:51Z" + "dfo_commit": "99e62038ceb4b459c2ac699549076ff123c166aa", + "recorded_at": "2026-10-25T17:35:16Z" }, "call": [ { @@ -112,7 +112,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "6a9a38fa39014e7282da94b82d6ba3ee" + "x-dfo-trace-id": "4a5d0c28ab9544b2a8eabefdcaba5eb9" }, "json": { "schema_version": 1, @@ -528,6 +528,21 @@ } ], "artifacts": [ + { + "artifact_digest": "sha256:421efacc2dc010af38112a087b0b49ff5539f61d2afd12a88272b27e99b5f5db", + "rendering": { + "bundle": false, + "format": "parquet", + "layout": 4, + "without_party_totals": true + }, + "bytes": 9842, + "media_type": "application/vnd.apache.parquet", + "created_at": "2026-10-23T16:56:32.058938+00:00", + "tier": "working", + "url": "/api/datasets/spec_774d6c001a6250aa67ca676ab067895e/cv_b92d94774702c7f05f2075d0b03dd756/files/sha256:421efacc2dc010af38112a087b0b49ff5539f61d2afd12a88272b27e99b5f5db", + "enrichment_stamp": "08ed6c734fc69ea2204a21f4e1dd8b963f14dd1e03a2484c618049ac2e2d93d8" + }, { "artifact_digest": "sha256:421efacc2dc010af38112a087b0b49ff5539f61d2afd12a88272b27e99b5f5db", "rendering": { @@ -542,6 +557,20 @@ "url": "/api/datasets/spec_774d6c001a6250aa67ca676ab067895e/cv_b92d94774702c7f05f2075d0b03dd756/files/sha256:421efacc2dc010af38112a087b0b49ff5539f61d2afd12a88272b27e99b5f5db", "enrichment_stamp": "08ed6c734fc69ea2204a21f4e1dd8b963f14dd1e03a2484c618049ac2e2d93d8" }, + { + "artifact_digest": "sha256:f4026e80af4b8683d3bb86645ab3aca83dff75cd03fdd4c73ec54ba638922104", + "rendering": { + "bundle": false, + "format": "parquet", + "layout": "frame", + "without_party_totals": true + }, + "bytes": 5627, + "media_type": "application/vnd.apache.parquet", + "created_at": "2026-10-20T20:44:10.228016+00:00", + "tier": "working", + "url": "/api/datasets/spec_774d6c001a6250aa67ca676ab067895e/cv_b92d94774702c7f05f2075d0b03dd756/files/sha256:f4026e80af4b8683d3bb86645ab3aca83dff75cd03fdd4c73ec54ba638922104" + }, { "artifact_digest": "sha256:f4026e80af4b8683d3bb86645ab3aca83dff75cd03fdd4c73ec54ba638922104", "rendering": { @@ -658,7 +687,7 @@ ], "series_count": 5, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -958,7 +987,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A421efacc2dc010af38112a087b0b49ff5539f61d2afd12a88272b27e99b5f5db?X-Goog-Signature=redacted", - "x-dfo-trace-id": "7e3ff4f01985498db43aebbf83d13839" + "x-dfo-trace-id": "27db1ff9243247c2b620f137120283ba" } } }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-renamed-strict-field.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-renamed-strict-field.json index 5e6acb1..ca3527d 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-renamed-strict-field.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-renamed-strict-field.json @@ -33,7 +33,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "bf6613bf82be4bddb4d60879aaf907d9" + "x-dfo-trace-id": "7abc6f06215b4187a4280d87d6f8a51a" }, "json": { "schema_version": 1, @@ -41,26 +41,23 @@ "entry_path": "raw_text", "raw_query": "ODA disbursements from Germany to Nigeria for basic health care", "normalized_query": "ODA disbursements from Germany to Nigeria for basic health care", - "extract_skipped": false + "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "bf6613bf82be4bddb4d60879aaf907d9", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "7abc6f06215b4187a4280d87d6f8a51a", "warnings": [], "timing_ms": { - "total": 2620, + "total": 3, "by_step": { "coverage": 0, - "extract": 1068, - "cache_lookup": 0 + "response_cache_layer1": 1 } }, "llm_usage": { - "input_tokens": 2231, - "output_tokens": 102, - "cached_tokens": 841, - "jev_input_tokens": 6586, - "jev_output_tokens": 2060 + "input_tokens": 0, + "output_tokens": 0, + "cached_tokens": 0 }, "timed_out": false }, @@ -70,30 +67,30 @@ "variable_text": "ODA disbursements for basic health care", "warnings": [], "timing_ms": { - "total": 1548, + "total": 1669, "by_step": { - "recall": 437, + "recall": 397, "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 2, + "shape_arcs": 1, "shape_probe_coverage": 4, - "shape_probe": 161, - "shape_groups": 45, + "shape_probe": 115, + "shape_groups": 53, "shape_labels": 1, - "shape_admission": 3, + "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 326, + "shape": 276, "phase_prune_and_rank": 0, - "bind": 225, - "phase_bind": 158, - "phase_settle": 56, - "phase_place_bindings": 18, + "bind": 214, + "phase_bind": 203, + "phase_settle": 45, + "phase_place_bindings": 20, "phase_facet_requests": 0, - "materialise": 41, - "phase_materialise": 0, - "answer": 186, - "options": 40, - "phase_outcome": 61 + "materialise": 28, + "phase_materialise": 196, + "answer": 145, + "options": 50, + "phase_outcome": 95 } }, "restatement": { @@ -540,7 +537,7 @@ "label": "OECD Terms and Conditions" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -1193,7 +1190,7 @@ "selected": [] } ], - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -3791,7 +3788,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "42460c90e7274dd19ecba24a6a0377e9" + "x-dfo-trace-id": "70ac3c153571497dab413643b6537466" }, "json": { "schema_version": 1, @@ -4191,7 +4188,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261011T194155Z-80081f08", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:05.017544+00:00" + "confirmed_at": "2026-10-25T17:22:10.027136+00:00" }, "warnings": [ { @@ -4236,7 +4233,7 @@ ], "series_count": 5, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -4519,7 +4516,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": true }, @@ -4545,7 +4542,7 @@ "error": { "class": "ContractError", "code": "contract_violation", - "trace_id": "42460c90e7274dd19ecba24a6a0377e9" + "trace_id": "70ac3c153571497dab413643b6537466" } } ] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-retry-after-504.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-retry-after-504.json index 6e10641..bc3d8a2 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-retry-after-504.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-retry-after-504.json @@ -33,7 +33,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "bf6613bf82be4bddb4d60879aaf907d9" + "x-dfo-trace-id": "7abc6f06215b4187a4280d87d6f8a51a" }, "json": { "schema_version": 1, @@ -41,26 +41,23 @@ "entry_path": "raw_text", "raw_query": "ODA disbursements from Germany to Nigeria for basic health care", "normalized_query": "ODA disbursements from Germany to Nigeria for basic health care", - "extract_skipped": false + "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "bf6613bf82be4bddb4d60879aaf907d9", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "7abc6f06215b4187a4280d87d6f8a51a", "warnings": [], "timing_ms": { - "total": 2620, + "total": 3, "by_step": { "coverage": 0, - "extract": 1068, - "cache_lookup": 0 + "response_cache_layer1": 1 } }, "llm_usage": { - "input_tokens": 2231, - "output_tokens": 102, - "cached_tokens": 841, - "jev_input_tokens": 6586, - "jev_output_tokens": 2060 + "input_tokens": 0, + "output_tokens": 0, + "cached_tokens": 0 }, "timed_out": false }, @@ -70,30 +67,30 @@ "variable_text": "ODA disbursements for basic health care", "warnings": [], "timing_ms": { - "total": 1548, + "total": 1669, "by_step": { - "recall": 437, + "recall": 397, "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 2, + "shape_arcs": 1, "shape_probe_coverage": 4, - "shape_probe": 161, - "shape_groups": 45, + "shape_probe": 115, + "shape_groups": 53, "shape_labels": 1, - "shape_admission": 3, + "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 326, + "shape": 276, "phase_prune_and_rank": 0, - "bind": 225, - "phase_bind": 158, - "phase_settle": 56, - "phase_place_bindings": 18, + "bind": 214, + "phase_bind": 203, + "phase_settle": 45, + "phase_place_bindings": 20, "phase_facet_requests": 0, - "materialise": 41, - "phase_materialise": 0, - "answer": 186, - "options": 40, - "phase_outcome": 61 + "materialise": 28, + "phase_materialise": 196, + "answer": 145, + "options": 50, + "phase_outcome": 95 } }, "restatement": { @@ -540,7 +537,7 @@ "label": "OECD Terms and Conditions" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -1193,7 +1190,7 @@ "selected": [] } ], - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -3891,7 +3888,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "42460c90e7274dd19ecba24a6a0377e9" + "x-dfo-trace-id": "70ac3c153571497dab413643b6537466" }, "json": { "schema_version": 1, @@ -4292,7 +4289,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261011T194155Z-80081f08", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:05.017544+00:00" + "confirmed_at": "2026-10-25T17:22:10.027136+00:00" }, "warnings": [ { @@ -4337,7 +4334,7 @@ ], "series_count": 5, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -4620,7 +4617,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": true } @@ -4637,7 +4634,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A421efacc2dc010af38112a087b0b49ff5539f61d2afd12a88272b27e99b5f5db?X-Goog-Signature=redacted", - "x-dfo-trace-id": "b9b4b3a90d6546e09cc738a29bbbb1d6" + "x-dfo-trace-id": "d2d4306f79d2411ebcd110cc1e26f49d" } } }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-503-then-504.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-503-then-504.json index b3db0e5..74a7778 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-503-then-504.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-503-then-504.json @@ -379,7 +379,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "bfc5cc090c4347f489fffcc62fc3d2bf" + "x-dfo-trace-id": "cdb2d56286eb4d468f447309c3bd06d9" }, "json": { "schema_version": 1, @@ -786,7 +786,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261019T174519Z-2e5e8cfd", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:31.570035+00:00" + "confirmed_at": "2026-10-25T17:30:48.703616+00:00" }, "warnings": [ { @@ -831,7 +831,7 @@ ], "series_count": 1, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -1099,7 +1099,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, "held_until": "2026-11-19T13:59:18.051742Z" @@ -1117,7 +1117,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3Ac44200969f19d73104d1bc24ebca905e59f749c2939234cdde10ba6f5a131170?X-Goog-Signature=redacted", - "x-dfo-trace-id": "8261c9be5a7c406a80692fac6b28ee05" + "x-dfo-trace-id": "114f3d3a1c78408c92fd29cc76887fdc" } } }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-504-retry-after.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-504-retry-after.json index 05c7be4..796db99 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-504-retry-after.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-504-retry-after.json @@ -278,7 +278,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "bfc5cc090c4347f489fffcc62fc3d2bf" + "x-dfo-trace-id": "cdb2d56286eb4d468f447309c3bd06d9" }, "json": { "schema_version": 1, @@ -685,7 +685,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261019T174519Z-2e5e8cfd", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:31.570035+00:00" + "confirmed_at": "2026-10-25T17:30:48.703616+00:00" }, "warnings": [ { @@ -730,7 +730,7 @@ ], "series_count": 1, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -998,7 +998,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, "held_until": "2026-11-19T13:59:18.051742Z" @@ -1016,7 +1016,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3Ac44200969f19d73104d1bc24ebca905e59f749c2939234cdde10ba6f5a131170?X-Goog-Signature=redacted", - "x-dfo-trace-id": "8261c9be5a7c406a80692fac6b28ee05" + "x-dfo-trace-id": "114f3d3a1c78408c92fd29cc76887fdc" } } }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-accepted-running.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-accepted-running.json index 8f0d10e..abd557e 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-accepted-running.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-accepted-running.json @@ -11,10 +11,10 @@ { "op": "fetch", "spec": { - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "definition": { "schema_version": 1, - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "identity": { "identity_version": "spec1", "shape": { @@ -226,12 +226,12 @@ }, "requested_window": { "kind": "range", - "start_year": 1963, + "start_year": 1964, "end_year": 2024 } } }, - "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1963 to 2024. Current US dollars · OECD DAC2a.", + "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1964 to 2024. Current US dollars · OECD DAC2a.", "entity_groups": { "destination": { "label": "G77 countries", @@ -254,10 +254,10 @@ "schema_version": 1, "input": { "kind": "spec_id", - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "definition": { "schema_version": 1, - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "identity": { "identity_version": "spec1", "shape": { @@ -469,7 +469,7 @@ }, "requested_window": { "kind": "range", - "start_year": 1963, + "start_year": 1964, "end_year": 2024 } } @@ -485,15 +485,15 @@ "status": 202, "headers": { "content-type": "application/json", - "location": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "location": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry-after": "2", - "x-dfo-trace-id": "a6d5bb2eff5a48578dce7fbf91715755" + "x-dfo-trace-id": "5541c591450f479485c421e20fe4d81d" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "running", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 1500 } } @@ -502,24 +502,24 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", "retry-after": "2", - "x-dfo-trace-id": "71ecc596c6034e27b8ba5dd0a5d2c744" + "x-dfo-trace-id": "3416612a1b3f4a2ebbcf8ddeff74b96a" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "running", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 1500, "progress": { "rows_written": 0, - "estimate_rows": 109318 + "estimate_rows": 108935 } } } @@ -528,24 +528,24 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", "retry-after": "2", - "x-dfo-trace-id": "760a3bb2de5e430fb316b3f6a4059c67" + "x-dfo-trace-id": "65394508d86f443db7528ac38066b9e3" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "running", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 1500, "progress": { - "rows_written": 0, - "estimate_rows": 109318 + "rows_written": 64600, + "estimate_rows": 108935 } } } @@ -554,24 +554,76 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", "retry-after": "2", - "x-dfo-trace-id": "15f9386c84484af983d33c6d183e5349" + "x-dfo-trace-id": "7a2d07cfe29b4993a374ee71104d461a" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "running", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 1500, "progress": { - "rows_written": 0, - "estimate_rows": 109318 + "rows_written": 108935, + "estimate_rows": 108935 + } + } + } + } + }, + { + "request": { + "method": "GET", + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" + }, + "response": { + "status": 200, + "headers": { + "content-type": "application/json", + "retry-after": "2", + "x-dfo-trace-id": "7c7c516f463a471583976147759c6250" + }, + "json": { + "operation": { + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "status": "running", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "retry_after_ms": 1786, + "progress": { + "rows_written": 108935, + "estimate_rows": 108935 + } + } + } + } + }, + { + "request": { + "method": "GET", + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" + }, + "response": { + "status": 200, + "headers": { + "content-type": "application/json", + "retry-after": "3", + "x-dfo-trace-id": "9ddce1ae50fd4187abeb32c45a0f03ba" + }, + "json": { + "operation": { + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "status": "running", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "retry_after_ms": 2268, + "progress": { + "rows_written": 108935, + "estimate_rows": 108935 } } } @@ -580,24 +632,50 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "2cc73cd4fbaa4a28a350025111f70a79" + "retry-after": "3", + "x-dfo-trace-id": "1ce68951ada64961b3710bb73127c9d8" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "status": "running", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "retry_after_ms": 2869, + "progress": { + "rows_written": 108935, + "estimate_rows": 108935 + } + } + } + } + }, + { + "request": { + "method": "GET", + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" + }, + "response": { + "status": 200, + "headers": { + "content-type": "application/json", + "x-dfo-trace-id": "37207f1ea4574e4e8485e8cebd4f4edc" + }, + "json": { + "operation": { + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "done" }, "manifest": { "schema_version": 1, "definition": { "schema_version": 1, - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "identity": { "shape": { "kind": "statvar_schema", @@ -810,14 +888,14 @@ "requested_window": { "kind": "range", "end_year": 2024, - "start_year": 1963 + "start_year": 1964 } } }, - "content_version": "cv_3d58d26a874dc30b1bba7d5ad6dd90ee", - "prepared_at": "2026-10-23T18:38:28Z", + "content_version": "cv_ed2cc83eb28d4e6883cde079f05844ed", + "prepared_at": "2026-10-25T17:38:14Z", "coverage": { - "rows": 109318, + "rows": 108935, "dimensions": [ { "label": "financingProvider", @@ -839,14 +917,14 @@ }, { "label": "years", - "count": 62 + "count": 61 } ], "window": { "kind": "range", "origin": "query", "end_year": 2024, - "start_year": 1963 + "start_year": 1964 } }, "citation": { @@ -965,13 +1043,13 @@ "kind": "range", "origin": "query", "end_year": 2024, - "start_year": 1963 + "start_year": 1964 }, - "graph_revision": "dfo-dev-dc-datacommons-service-00264-2s9", + "graph_revision": "dfo-dev-dc-datacommons-service-00273-mmh", "normalisations": [], "code_index_stamp": { - "exported_at": "2026-10-23T18:14:12Z", - "content_hash": "29eb81d7b6c88641b1d4e8eb5e850ca36de66b99d6e9e09680aac020507a6392", + "exported_at": "2026-10-24T19:20:27Z", + "content_hash": "3d946d8f4986dbbe0fa3e5c4c917200381f529d89ce417c11daeb22df56eed99", "graph_endpoint": "graph_release" }, "source_revisions": [ @@ -980,8 +1058,8 @@ "revision": "2026-10-15" } ], - "capability_version": "dset_cc753cefa9199881", - "materialiser_build": "035d29cd05fb31d7cb47cfb33197d4002f773df6", + "capability_version": "dset_76f5fa7244511c58", + "materialiser_build": "99e62038ceb4b459c2ac699549076ff123c166aa", "resolved_stat_vars": [ { "ref": "dcid:Amount_FinancialFlow_Gross_Disbursement_DAC2aAidType206_Nominal", @@ -989,15 +1067,15 @@ "financingProvider", "financingRecipient" ], - "observation_count": 109318 + "observation_count": 108935 } ], "family_member_count": 1, "family_member_digest": "1a36e1a7292b1bfff95a5415de0be74cac7bb033217ed50e79faa8ce51a224c0", "frame_grammar_version": "1.1.0", - "origin_catalogue_build_id": "20261023T061534Z-06fa7b89", + "origin_catalogue_build_id": "20261024T193016Z-775d36a9", "served_from": "materialise", - "confirmed_at": "2026-10-24T16:30:59.952146+00:00" + "confirmed_at": "2026-10-25T17:38:17.505656+00:00" }, "warnings": [], "diagnostics": [ @@ -1009,34 +1087,34 @@ ], "artifacts": [ { - "artifact_digest": "sha256:9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65", + "artifact_digest": "sha256:4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2", "rendering": { "bundle": false, "format": "parquet", "layout": 4 }, - "bytes": 473679, + "bytes": 472796, "media_type": "application/vnd.apache.parquet", - "created_at": "2026-10-23T18:38:31.580044+00:00", + "created_at": "2026-10-25T17:38:17.426404+00:00", "tier": "working", - "url": "/api/datasets/spec_fbca0f29755230d84729c1243b1d9b45/cv_3d58d26a874dc30b1bba7d5ad6dd90ee/files/sha256:9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65", + "url": "/api/datasets/spec_7f538f4f65ac124f47918468b4d2eea7/cv_ed2cc83eb28d4e6883cde079f05844ed/files/sha256:4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2", "enrichment_stamp": "08ed6c734fc69ea2204a21f4e1dd8b963f14dd1e03a2484c618049ac2e2d93d8" }, { - "artifact_digest": "sha256:099d1ce36b440868b72174fb9cdff503cc4c7a0f0ef902e66484c5bfbd270f39", + "artifact_digest": "sha256:4e3ed758ad1a33cf9d150ee5fa71adf7f5bd40e4d342d839633d8386239babe1", "rendering": { "statistics": "series" }, - "bytes": 144274, + "bytes": 144449, "media_type": "application/vnd.apache.parquet", - "created_at": "2026-10-23T18:38:31.580044+00:00", + "created_at": "2026-10-25T17:38:17.426404+00:00", "tier": "working", - "url": "/api/datasets/spec_fbca0f29755230d84729c1243b1d9b45/cv_3d58d26a874dc30b1bba7d5ad6dd90ee/files/sha256:099d1ce36b440868b72174fb9cdff503cc4c7a0f0ef902e66484c5bfbd270f39" + "url": "/api/datasets/spec_7f538f4f65ac124f47918468b4d2eea7/cv_ed2cc83eb28d4e6883cde079f05844ed/files/sha256:4e3ed758ad1a33cf9d150ee5fa71adf7f5bd40e4d342d839633d8386239babe1" } ], "series_count": 3656, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -1060,7 +1138,7 @@ "name": "time_period", "kind": "grain", "droppable": false, - "distinct": 62 + "distinct": 61 }, { "name": "value", @@ -1300,7 +1378,7 @@ "varying": [ { "column": "time_period", - "distinct": 62 + "distinct": 61 } ] }, @@ -1324,7 +1402,7 @@ "varying": [ { "column": "time_period", - "distinct": 62 + "distinct": 61 } ] }, @@ -1383,10 +1461,10 @@ ] } }, - "series_coverage_stamp": "0b8c9a18fcc5af19013b21e865c64481503b6a6542f7d2e6628999e6559a47de", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, - "held_until": "2026-11-22T18:38:31.579178Z" + "held_until": "2026-11-24T17:38:17.425152Z" } } } @@ -1395,21 +1473,21 @@ { "request": { "method": "GET", - "origin_path": "/api/datasets/spec_fbca0f29755230d84729c1243b1d9b45/cv_3d58d26a874dc30b1bba7d5ad6dd90ee/files/sha256:9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65" + "origin_path": "/api/datasets/spec_7f538f4f65ac124f47918468b4d2eea7/cv_ed2cc83eb28d4e6883cde079f05844ed/files/sha256:4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2" }, "response": { "status": 302, "headers": { "content-type": "text/html", - "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65?X-Goog-Signature=redacted", - "x-dfo-trace-id": "fb09161c837d4874970eaf5a188845da" + "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2?X-Goog-Signature=redacted", + "x-dfo-trace-id": "919c1e572d914a608b166556417714c9" } } }, { "request": { "method": "GET", - "url": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65?X-Goog-Signature=redacted" + "url": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2?X-Goog-Signature=redacted" }, "response": { "status": 200, @@ -1423,7 +1501,7 @@ "expect": [ { "dataset": { - "rows": 109318, + "rows": 108935, "columns": [ "stat_var", "financingProvider", @@ -1450,20 +1528,23 @@ "members": [ { "parts": [], - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", - "content_version": "cv_3d58d26a874dc30b1bba7d5ad6dd90ee", - "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1963 to 2024. Current US dollars · OECD DAC2a." + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", + "content_version": "cv_ed2cc83eb28d4e6883cde079f05844ed", + "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1964 to 2024. Current US dollars · OECD DAC2a." } ], "missing": [], "long_builds": [ { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "poll_waits": [ 1.5, 1.5, 1.5, - 1.5 + 1.5, + 1.786, + 2.268, + 2.869 ], "resubmissions": 0 } diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-async-build.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-async-build.json index ecdf113..3faa47f 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-async-build.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-async-build.json @@ -11,10 +11,10 @@ { "op": "fetch", "spec": { - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "definition": { "schema_version": 1, - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "identity": { "identity_version": "spec1", "shape": { @@ -226,12 +226,12 @@ }, "requested_window": { "kind": "range", - "start_year": 1963, + "start_year": 1964, "end_year": 2024 } } }, - "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1963 to 2024. Current US dollars · OECD DAC2a.", + "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1964 to 2024. Current US dollars · OECD DAC2a.", "entity_groups": { "destination": { "label": "G77 countries", @@ -254,10 +254,10 @@ "schema_version": 1, "input": { "kind": "spec_id", - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "definition": { "schema_version": 1, - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "identity": { "identity_version": "spec1", "shape": { @@ -469,7 +469,7 @@ }, "requested_window": { "kind": "range", - "start_year": 1963, + "start_year": 1964, "end_year": 2024 } } @@ -485,15 +485,15 @@ "status": 202, "headers": { "content-type": "application/json", - "location": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "location": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry-after": "2", - "x-dfo-trace-id": "a6d5bb2eff5a48578dce7fbf91715755" + "x-dfo-trace-id": "5541c591450f479485c421e20fe4d81d" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "pending", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 1500 } } @@ -502,24 +502,24 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", "retry-after": "2", - "x-dfo-trace-id": "71ecc596c6034e27b8ba5dd0a5d2c744" + "x-dfo-trace-id": "3416612a1b3f4a2ebbcf8ddeff74b96a" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "running", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 1500, "progress": { "rows_written": 0, - "estimate_rows": 109318 + "estimate_rows": 108935 } } } @@ -528,24 +528,24 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", "retry-after": "2", - "x-dfo-trace-id": "760a3bb2de5e430fb316b3f6a4059c67" + "x-dfo-trace-id": "65394508d86f443db7528ac38066b9e3" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "running", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 1500, "progress": { - "rows_written": 0, - "estimate_rows": 109318 + "rows_written": 64600, + "estimate_rows": 108935 } } } @@ -554,24 +554,76 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", "retry-after": "2", - "x-dfo-trace-id": "15f9386c84484af983d33c6d183e5349" + "x-dfo-trace-id": "7a2d07cfe29b4993a374ee71104d461a" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "running", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 1500, "progress": { - "rows_written": 0, - "estimate_rows": 109318 + "rows_written": 108935, + "estimate_rows": 108935 + } + } + } + } + }, + { + "request": { + "method": "GET", + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" + }, + "response": { + "status": 200, + "headers": { + "content-type": "application/json", + "retry-after": "2", + "x-dfo-trace-id": "7c7c516f463a471583976147759c6250" + }, + "json": { + "operation": { + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "status": "running", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "retry_after_ms": 1786, + "progress": { + "rows_written": 108935, + "estimate_rows": 108935 + } + } + } + } + }, + { + "request": { + "method": "GET", + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" + }, + "response": { + "status": 200, + "headers": { + "content-type": "application/json", + "retry-after": "3", + "x-dfo-trace-id": "9ddce1ae50fd4187abeb32c45a0f03ba" + }, + "json": { + "operation": { + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "status": "running", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "retry_after_ms": 2268, + "progress": { + "rows_written": 108935, + "estimate_rows": 108935 } } } @@ -580,24 +632,50 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "2cc73cd4fbaa4a28a350025111f70a79" + "retry-after": "3", + "x-dfo-trace-id": "1ce68951ada64961b3710bb73127c9d8" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "status": "running", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "retry_after_ms": 2869, + "progress": { + "rows_written": 108935, + "estimate_rows": 108935 + } + } + } + } + }, + { + "request": { + "method": "GET", + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" + }, + "response": { + "status": 200, + "headers": { + "content-type": "application/json", + "x-dfo-trace-id": "37207f1ea4574e4e8485e8cebd4f4edc" + }, + "json": { + "operation": { + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "done" }, "manifest": { "schema_version": 1, "definition": { "schema_version": 1, - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "identity": { "shape": { "kind": "statvar_schema", @@ -810,14 +888,14 @@ "requested_window": { "kind": "range", "end_year": 2024, - "start_year": 1963 + "start_year": 1964 } } }, - "content_version": "cv_3d58d26a874dc30b1bba7d5ad6dd90ee", - "prepared_at": "2026-10-23T18:38:28Z", + "content_version": "cv_ed2cc83eb28d4e6883cde079f05844ed", + "prepared_at": "2026-10-25T17:38:14Z", "coverage": { - "rows": 109318, + "rows": 108935, "dimensions": [ { "label": "financingProvider", @@ -839,14 +917,14 @@ }, { "label": "years", - "count": 62 + "count": 61 } ], "window": { "kind": "range", "origin": "query", "end_year": 2024, - "start_year": 1963 + "start_year": 1964 } }, "citation": { @@ -965,13 +1043,13 @@ "kind": "range", "origin": "query", "end_year": 2024, - "start_year": 1963 + "start_year": 1964 }, - "graph_revision": "dfo-dev-dc-datacommons-service-00264-2s9", + "graph_revision": "dfo-dev-dc-datacommons-service-00273-mmh", "normalisations": [], "code_index_stamp": { - "exported_at": "2026-10-23T18:14:12Z", - "content_hash": "29eb81d7b6c88641b1d4e8eb5e850ca36de66b99d6e9e09680aac020507a6392", + "exported_at": "2026-10-24T19:20:27Z", + "content_hash": "3d946d8f4986dbbe0fa3e5c4c917200381f529d89ce417c11daeb22df56eed99", "graph_endpoint": "graph_release" }, "source_revisions": [ @@ -980,8 +1058,8 @@ "revision": "2026-10-15" } ], - "capability_version": "dset_cc753cefa9199881", - "materialiser_build": "035d29cd05fb31d7cb47cfb33197d4002f773df6", + "capability_version": "dset_76f5fa7244511c58", + "materialiser_build": "99e62038ceb4b459c2ac699549076ff123c166aa", "resolved_stat_vars": [ { "ref": "dcid:Amount_FinancialFlow_Gross_Disbursement_DAC2aAidType206_Nominal", @@ -989,15 +1067,15 @@ "financingProvider", "financingRecipient" ], - "observation_count": 109318 + "observation_count": 108935 } ], "family_member_count": 1, "family_member_digest": "1a36e1a7292b1bfff95a5415de0be74cac7bb033217ed50e79faa8ce51a224c0", "frame_grammar_version": "1.1.0", - "origin_catalogue_build_id": "20261023T061534Z-06fa7b89", + "origin_catalogue_build_id": "20261024T193016Z-775d36a9", "served_from": "materialise", - "confirmed_at": "2026-10-24T16:30:59.952146+00:00" + "confirmed_at": "2026-10-25T17:38:17.505656+00:00" }, "warnings": [], "diagnostics": [ @@ -1009,34 +1087,34 @@ ], "artifacts": [ { - "artifact_digest": "sha256:9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65", + "artifact_digest": "sha256:4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2", "rendering": { "bundle": false, "format": "parquet", "layout": 4 }, - "bytes": 473679, + "bytes": 472796, "media_type": "application/vnd.apache.parquet", - "created_at": "2026-10-23T18:38:31.580044+00:00", + "created_at": "2026-10-25T17:38:17.426404+00:00", "tier": "working", - "url": "/api/datasets/spec_fbca0f29755230d84729c1243b1d9b45/cv_3d58d26a874dc30b1bba7d5ad6dd90ee/files/sha256:9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65", + "url": "/api/datasets/spec_7f538f4f65ac124f47918468b4d2eea7/cv_ed2cc83eb28d4e6883cde079f05844ed/files/sha256:4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2", "enrichment_stamp": "08ed6c734fc69ea2204a21f4e1dd8b963f14dd1e03a2484c618049ac2e2d93d8" }, { - "artifact_digest": "sha256:099d1ce36b440868b72174fb9cdff503cc4c7a0f0ef902e66484c5bfbd270f39", + "artifact_digest": "sha256:4e3ed758ad1a33cf9d150ee5fa71adf7f5bd40e4d342d839633d8386239babe1", "rendering": { "statistics": "series" }, - "bytes": 144274, + "bytes": 144449, "media_type": "application/vnd.apache.parquet", - "created_at": "2026-10-23T18:38:31.580044+00:00", + "created_at": "2026-10-25T17:38:17.426404+00:00", "tier": "working", - "url": "/api/datasets/spec_fbca0f29755230d84729c1243b1d9b45/cv_3d58d26a874dc30b1bba7d5ad6dd90ee/files/sha256:099d1ce36b440868b72174fb9cdff503cc4c7a0f0ef902e66484c5bfbd270f39" + "url": "/api/datasets/spec_7f538f4f65ac124f47918468b4d2eea7/cv_ed2cc83eb28d4e6883cde079f05844ed/files/sha256:4e3ed758ad1a33cf9d150ee5fa71adf7f5bd40e4d342d839633d8386239babe1" } ], "series_count": 3656, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -1060,7 +1138,7 @@ "name": "time_period", "kind": "grain", "droppable": false, - "distinct": 62 + "distinct": 61 }, { "name": "value", @@ -1300,7 +1378,7 @@ "varying": [ { "column": "time_period", - "distinct": 62 + "distinct": 61 } ] }, @@ -1324,7 +1402,7 @@ "varying": [ { "column": "time_period", - "distinct": 62 + "distinct": 61 } ] }, @@ -1383,10 +1461,10 @@ ] } }, - "series_coverage_stamp": "0b8c9a18fcc5af19013b21e865c64481503b6a6542f7d2e6628999e6559a47de", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, - "held_until": "2026-11-22T18:38:31.579178Z" + "held_until": "2026-11-24T17:38:17.425152Z" } } } @@ -1395,21 +1473,21 @@ { "request": { "method": "GET", - "origin_path": "/api/datasets/spec_fbca0f29755230d84729c1243b1d9b45/cv_3d58d26a874dc30b1bba7d5ad6dd90ee/files/sha256:9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65" + "origin_path": "/api/datasets/spec_7f538f4f65ac124f47918468b4d2eea7/cv_ed2cc83eb28d4e6883cde079f05844ed/files/sha256:4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2" }, "response": { "status": 302, "headers": { "content-type": "text/html", - "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65?X-Goog-Signature=redacted", - "x-dfo-trace-id": "fb09161c837d4874970eaf5a188845da" + "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2?X-Goog-Signature=redacted", + "x-dfo-trace-id": "919c1e572d914a608b166556417714c9" } } }, { "request": { "method": "GET", - "url": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65?X-Goog-Signature=redacted" + "url": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2?X-Goog-Signature=redacted" }, "response": { "status": 200, @@ -1423,7 +1501,7 @@ "expect": [ { "dataset": { - "rows": 109318, + "rows": 108935, "columns": [ "stat_var", "financingProvider", @@ -1450,20 +1528,23 @@ "members": [ { "parts": [], - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", - "content_version": "cv_3d58d26a874dc30b1bba7d5ad6dd90ee", - "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1963 to 2024. Current US dollars · OECD DAC2a." + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", + "content_version": "cv_ed2cc83eb28d4e6883cde079f05844ed", + "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1964 to 2024. Current US dollars · OECD DAC2a." } ], "missing": [], "long_builds": [ { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "poll_waits": [ 1.5, 1.5, 1.5, - 1.5 + 1.5, + 1.786, + 2.268, + 2.869 ], "resubmissions": 0 } diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-digest-mismatch.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-digest-mismatch.json index ab4e913..780bf09 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-digest-mismatch.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-digest-mismatch.json @@ -175,7 +175,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "bfc5cc090c4347f489fffcc62fc3d2bf" + "x-dfo-trace-id": "cdb2d56286eb4d468f447309c3bd06d9" }, "json": { "schema_version": 1, @@ -582,7 +582,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261019T174519Z-2e5e8cfd", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:31.570035+00:00" + "confirmed_at": "2026-10-25T17:30:48.703616+00:00" }, "warnings": [ { @@ -627,7 +627,7 @@ ], "series_count": 1, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -895,7 +895,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, "held_until": "2026-11-19T13:59:18.051742Z" @@ -913,7 +913,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3Ac44200969f19d73104d1bc24ebca905e59f749c2939234cdde10ba6f5a131170?X-Goog-Signature=redacted", - "x-dfo-trace-id": "8261c9be5a7c406a80692fac6b28ee05" + "x-dfo-trace-id": "114f3d3a1c78408c92fd29cc76887fdc" } } }, @@ -940,7 +940,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3Ac44200969f19d73104d1bc24ebca905e59f749c2939234cdde10ba6f5a131170?X-Goog-Signature=redacted", - "x-dfo-trace-id": "8261c9be5a7c406a80692fac6b28ee05" + "x-dfo-trace-id": "114f3d3a1c78408c92fd29cc76887fdc" } } }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-empty-narrowing.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-empty-narrowing.json index 38256c0..909da4f 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-empty-narrowing.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-empty-narrowing.json @@ -177,7 +177,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "bfc5cc090c4347f489fffcc62fc3d2bf" + "x-dfo-trace-id": "cdb2d56286eb4d468f447309c3bd06d9" }, "json": { "schema_version": 1, @@ -584,7 +584,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261019T174519Z-2e5e8cfd", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:31.570035+00:00" + "confirmed_at": "2026-10-25T17:30:48.703616+00:00" }, "warnings": [ { @@ -629,7 +629,7 @@ ], "series_count": 1, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -897,7 +897,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, "held_until": "2026-11-19T13:59:18.051742Z" @@ -915,7 +915,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3Ac44200969f19d73104d1bc24ebca905e59f749c2939234cdde10ba6f5a131170?X-Goog-Signature=redacted", - "x-dfo-trace-id": "8261c9be5a7c406a80692fac6b28ee05" + "x-dfo-trace-id": "114f3d3a1c78408c92fd29cc76887fdc" } } }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-entity-dropped.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-entity-dropped.json index 6d1c279..3996aa5 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-entity-dropped.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-entity-dropped.json @@ -5,8 +5,8 @@ "origin": { "kind": "recorded", "base_url": "https://dfo-dev-apis-zms5lj4zhq-nn.a.run.app/api", - "dfo_commit": "0ba344270784ae9929a369da8acd00b399dfced8", - "recorded_at": "2026-10-24T16:30:35Z" + "dfo_commit": "99e62038ceb4b459c2ac699549076ff123c166aa", + "recorded_at": "2026-10-25T17:35:08Z" }, "call": [ { @@ -182,7 +182,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "1855a065f7494cd6ba7eecd9fd790858" + "x-dfo-trace-id": "6f43e68b9aeb46b4bc564fc277f0dd5e" }, "json": { "schema_version": 1, @@ -584,7 +584,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261020T170016Z-691bf0da", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:35.784659+00:00" + "confirmed_at": "2026-10-25T17:32:57.004736+00:00" }, "warnings": [], "diagnostics": [ @@ -623,7 +623,7 @@ ], "series_count": 58, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -1024,7 +1024,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, "held_until": "2026-11-20T06:50:59.874372Z" @@ -1113,7 +1113,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "37247e5873b241a7aee7ac321de35814" + "x-dfo-trace-id": "0692c2d1a7bd4f6eaea00d7d3ebbf320" }, "json": { "schema_version": 1, @@ -1122,11 +1122,11 @@ "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "37247e5873b241a7aee7ac321de35814", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "0692c2d1a7bd4f6eaea00d7d3ebbf320", "warnings": [], "timing_ms": { - "total": 442, + "total": 2, "by_step": { "coverage": 0 } @@ -1145,19 +1145,9 @@ } ], "timing_ms": { - "total": 321, + "total": 0, "by_step": { - "validate": 3, - "walk": 227, - "reread_arcs": 1, - "detect_edits": 0, - "resolve_survivors": 0, - "shape": 4, - "bind": 0, - "where_places": 0, - "materialise": 33, - "answer": 42, - "options": 11 + "response_cache_part_memo": 0 } }, "entity_refs": [], @@ -1572,7 +1562,7 @@ "label": "OECD Terms and Conditions" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -2301,7 +2291,7 @@ } ], "query_qualifiers": [], - "capability_version": "cap_9deef72763b45f40" + "capability_version": "cap_88defe77cc79e0c0" }, "confidence": "high", "available_at_place": true, @@ -2554,43 +2544,44 @@ ], "open_axis_facts": [ { - "property": "crsCooperationModality", + "property": "crsTypeOfFinance", "varies": true, - "distinct_count": 14, - "undeclared_count": 2, + "distinct_count": 2, + "undeclared_count": 0, "values": [ { "value": { - "ref": "CRSCooperationModalityC01", - "label": "project-type intervention" - }, - "count": 5 - }, - { - "value": { - "ref": "CRSCooperationModalityA02", - "label": "sector budget support" + "ref": "CRSTypeOfFinance110", + "label": "standard grant" }, - "count": 2 + "count": 9 }, { "value": { - "ref": "CRSCooperationModalityB04", - "label": "basket fund and pooled funding" + "ref": "CRSTypeOfFinance421", + "label": "standard loan" }, "count": 1 - }, + } + ] + }, + { + "property": "crsCooperationModality", + "varies": true, + "distinct_count": 8, + "undeclared_count": 1, + "values": [ { "value": { - "ref": "CRSCooperationModalityB031", - "label": "contribution to multi-donor and multi-entity funding mechanism" + "ref": "CRSCooperationModalityC01", + "label": "project-type intervention" }, - "count": 1 + "count": 2 }, { "value": { - "ref": "CRSCooperationModalityB032", - "label": "contribution to multi-donor and single-entity funding mechanism" + "ref": "CRSCooperationModalityB04", + "label": "basket fund and pooled funding" }, "count": 1 }, @@ -2622,27 +2613,6 @@ }, "count": 1 }, - { - "value": { - "ref": "CRSCooperationModalityA01", - "label": "general budget support" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSCooperationModalityE02", - "label": "imputed student cost" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSCooperationModalityG01", - "label": "other administrative cost" - }, - "count": 1 - }, { "value": { "ref": "CRSCooperationModalityD02", @@ -2658,49 +2628,6 @@ "count": 1 } ] - }, - { - "property": "crsTypeOfFinance", - "varies": true, - "distinct_count": 5, - "undeclared_count": 0, - "values": [ - { - "value": { - "ref": "CRSTypeOfFinance110", - "label": "standard grant" - }, - "count": 14 - }, - { - "value": { - "ref": "CRSTypeOfFinance421", - "label": "standard loan" - }, - "count": 4 - }, - { - "value": { - "ref": "CRSTypeOfFinance510", - "label": "common equity" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSTypeOfFinance210", - "label": "interest subsidy" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSTypeOfFinance520", - "label": "share in collective investment vehicle" - }, - "count": 1 - } - ] } ], "role_axis_facts": [ @@ -4933,7 +4860,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A582f586bcb05d6807c91e6b5d88779c13c5c0962cd42e793184e8c6c8c90d2d9?X-Goog-Signature=redacted", - "x-dfo-trace-id": "c76ebbf49c774bb7acee93d8877f450d" + "x-dfo-trace-id": "87314d01b1d242878c925123dd2c645e" } } }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-entity-rebound.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-entity-rebound.json index 9cf73b6..16617f3 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-entity-rebound.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-entity-rebound.json @@ -5,8 +5,8 @@ "origin": { "kind": "recorded", "base_url": "https://dfo-dev-apis-zms5lj4zhq-nn.a.run.app/api", - "dfo_commit": "0ba344270784ae9929a369da8acd00b399dfced8", - "recorded_at": "2026-10-24T16:30:33Z" + "dfo_commit": "99e62038ceb4b459c2ac699549076ff123c166aa", + "recorded_at": "2026-10-25T17:35:07Z" }, "call": [ { @@ -187,7 +187,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "102dc8c602004615becaa7905509e259" + "x-dfo-trace-id": "c300bd110ab946ca8d84150069c17dca" }, "json": { "schema_version": 1, @@ -592,7 +592,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261020T170016Z-691bf0da", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:33.522693+00:00" + "confirmed_at": "2026-10-25T17:32:54.857057+00:00" }, "warnings": [], "diagnostics": [ @@ -631,7 +631,7 @@ ], "series_count": 2, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -914,7 +914,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, "held_until": "2026-11-20T06:50:59.083841Z" @@ -1006,7 +1006,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "c379d5c730dc4f85b1a5630c2a8b85f8" + "x-dfo-trace-id": "cda5e03a69994294aafeced4e9f7c863" }, "json": { "schema_version": 1, @@ -1015,11 +1015,11 @@ "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "c379d5c730dc4f85b1a5630c2a8b85f8", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "cda5e03a69994294aafeced4e9f7c863", "warnings": [], "timing_ms": { - "total": 461, + "total": 1, "by_step": { "coverage": 0 } @@ -1032,19 +1032,9 @@ "variable_text": "dataset", "warnings": [], "timing_ms": { - "total": 405, + "total": 0, "by_step": { - "validate": 4, - "walk": 190, - "reread_arcs": 2, - "detect_edits": 0, - "resolve_survivors": 0, - "shape": 4, - "bind": 0, - "where_places": 93, - "materialise": 14, - "answer": 95, - "options": 3 + "response_cache_part_memo": 0 } }, "entity_refs": [], @@ -1124,7 +1114,7 @@ "resolved": { "shape": { "shape_id": "financialflow_amount_measuredvalue_nominal", - "label": "gross disbursements (basic health care, official development assistance)", + "label": "gross disbursements (basic health care, official development assistance, standard grant)", "population_type": { "ref": "FinancialFlow", "label": "financial flow" @@ -1458,7 +1448,7 @@ "label": "OECD Terms and Conditions" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -1732,6 +1722,7 @@ "segment": "heading", "entity_refs": [], "states": [ + "how:crsTypeOfFinance", "how:crsTypeOfFlow", "how:financialFlowType", "how:nettingBasis", @@ -2057,7 +2048,7 @@ } ], "query_qualifiers": [], - "capability_version": "cap_9deef72763b45f40" + "capability_version": "cap_88defe77cc79e0c0" }, "confidence": "high", "available_at_place": true, @@ -2318,65 +2309,9 @@ { "property": "crsCooperationModality", "varies": true, - "distinct_count": 14, - "undeclared_count": 2, + "distinct_count": 2, + "undeclared_count": 0, "values": [ - { - "value": { - "ref": "CRSCooperationModalityC01", - "label": "project-type intervention" - }, - "count": 5 - }, - { - "value": { - "ref": "CRSCooperationModalityA02", - "label": "sector budget support" - }, - "count": 2 - }, - { - "value": { - "ref": "CRSCooperationModalityB04", - "label": "basket fund and pooled funding" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSCooperationModalityB031", - "label": "contribution to multi-donor and multi-entity funding mechanism" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSCooperationModalityB032", - "label": "contribution to multi-donor and single-entity funding mechanism" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSCooperationModalityB033", - "label": "contribution to single-donor funding mechanism or earmarked contribution to a specific funding window or geographical location" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSCooperationModalityB03", - "label": "contribution to specific-purpose programme and fund managed by an international organisation" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSCooperationModalityB01", - "label": "core support to non-governmental organisations, other private bodies, public-private partnerships, and research institutes" - }, - "count": 1 - }, { "value": { "ref": "CRSCooperationModalityD01", @@ -2386,36 +2321,8 @@ }, { "value": { - "ref": "CRSCooperationModalityA01", - "label": "general budget support" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSCooperationModalityE02", - "label": "imputed student cost" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSCooperationModalityG01", - "label": "other administrative cost" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSCooperationModalityD02", - "label": "other technical assistance" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSCooperationModalityE01", - "label": "scholarship and training in donor country" + "ref": "CRSCooperationModalityC01", + "label": "project-type intervention" }, "count": 1 } @@ -2423,8 +2330,12 @@ }, { "property": "crsTypeOfFinance", - "varies": true, - "distinct_count": 5, + "varies": false, + "value": { + "ref": "CRSTypeOfFinance110", + "label": "standard grant" + }, + "distinct_count": 1, "undeclared_count": 0, "values": [ { @@ -2432,35 +2343,7 @@ "ref": "CRSTypeOfFinance110", "label": "standard grant" }, - "count": 14 - }, - { - "value": { - "ref": "CRSTypeOfFinance421", - "label": "standard loan" - }, - "count": 4 - }, - { - "value": { - "ref": "CRSTypeOfFinance510", - "label": "common equity" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSTypeOfFinance210", - "label": "interest subsidy" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSTypeOfFinance520", - "label": "share in collective investment vehicle" - }, - "count": 1 + "count": 2 } ] } @@ -4474,6 +4357,7 @@ "segment": "heading", "entity_refs": [], "states": [ + "how:crsTypeOfFinance", "how:crsTypeOfFlow", "how:financialFlowType", "how:nettingBasis", @@ -4664,7 +4548,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A13a775f3b4811a104717ac226f173d614d685e533def09482b83c55e06505c4c?X-Goog-Signature=redacted", - "x-dfo-trace-id": "9e24d0570f8f4988a32209d5670538c9" + "x-dfo-trace-id": "6e619a68dbf24322b376474542adb146" } } }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-files-route-no-content.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-files-route-no-content.json index 4130d61..6d9cca9 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-files-route-no-content.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-files-route-no-content.json @@ -175,7 +175,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "bfc5cc090c4347f489fffcc62fc3d2bf" + "x-dfo-trace-id": "cdb2d56286eb4d468f447309c3bd06d9" }, "json": { "schema_version": 1, @@ -582,7 +582,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261019T174519Z-2e5e8cfd", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:31.570035+00:00" + "confirmed_at": "2026-10-25T17:30:48.703616+00:00" }, "warnings": [ { @@ -627,7 +627,7 @@ ], "series_count": 1, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -895,7 +895,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, "held_until": "2026-11-19T13:59:18.051742Z" @@ -911,7 +911,7 @@ "response": { "status": 204, "headers": { - "x-dfo-trace-id": "8261c9be5a7c406a80692fac6b28ee05" + "x-dfo-trace-id": "114f3d3a1c78408c92fd29cc76887fdc" } } } @@ -921,7 +921,7 @@ "error": { "class": "ContractError", "code": "unexpected_response", - "trace_id": "8261c9be5a7c406a80692fac6b28ee05" + "trace_id": "114f3d3a1c78408c92fd29cc76887fdc" } } ] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-files-route-serves-file.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-files-route-serves-file.json index 818ed05..6b6f585 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-files-route-serves-file.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-files-route-serves-file.json @@ -175,7 +175,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "bfc5cc090c4347f489fffcc62fc3d2bf" + "x-dfo-trace-id": "cdb2d56286eb4d468f447309c3bd06d9" }, "json": { "schema_version": 1, @@ -582,7 +582,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261019T174519Z-2e5e8cfd", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:31.570035+00:00" + "confirmed_at": "2026-10-25T17:30:48.703616+00:00" }, "warnings": [ { @@ -627,7 +627,7 @@ ], "series_count": 1, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -895,7 +895,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, "held_until": "2026-11-19T13:59:18.051742Z" @@ -912,7 +912,7 @@ "status": 200, "headers": { "content-type": "application/vnd.apache.parquet", - "x-dfo-trace-id": "8261c9be5a7c406a80692fac6b28ee05" + "x-dfo-trace-id": "114f3d3a1c78408c92fd29cc76887fdc" }, "body_file": "fetch-spec-known-sentence.parquet" } diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-files-route-temporary-redirect.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-files-route-temporary-redirect.json index c24d0d2..9415cf0 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-files-route-temporary-redirect.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-files-route-temporary-redirect.json @@ -175,7 +175,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "bfc5cc090c4347f489fffcc62fc3d2bf" + "x-dfo-trace-id": "cdb2d56286eb4d468f447309c3bd06d9" }, "json": { "schema_version": 1, @@ -582,7 +582,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261019T174519Z-2e5e8cfd", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:31.570035+00:00" + "confirmed_at": "2026-10-25T17:30:48.703616+00:00" }, "warnings": [ { @@ -627,7 +627,7 @@ ], "series_count": 1, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -895,7 +895,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, "held_until": "2026-11-19T13:59:18.051742Z" @@ -912,7 +912,7 @@ "status": 307, "headers": { "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3Ac44200969f19d73104d1bc24ebca905e59f749c2939234cdde10ba6f5a131170?X-Goog-Signature=redacted", - "x-dfo-trace-id": "8261c9be5a7c406a80692fac6b28ee05" + "x-dfo-trace-id": "114f3d3a1c78408c92fd29cc76887fdc" } } } @@ -922,7 +922,7 @@ "error": { "class": "ContractError", "code": "unexpected_response", - "trace_id": "8261c9be5a7c406a80692fac6b28ee05" + "trace_id": "114f3d3a1c78408c92fd29cc76887fdc" } } ] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-foreign-artifact-url.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-foreign-artifact-url.json index 6e83998..b28d40b 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-foreign-artifact-url.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-foreign-artifact-url.json @@ -175,7 +175,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "bfc5cc090c4347f489fffcc62fc3d2bf" + "x-dfo-trace-id": "cdb2d56286eb4d468f447309c3bd06d9" }, "json": { "schema_version": 1, @@ -582,7 +582,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261019T174519Z-2e5e8cfd", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:31.570035+00:00" + "confirmed_at": "2026-10-25T17:30:48.703616+00:00" }, "warnings": [ { @@ -627,7 +627,7 @@ ], "series_count": 1, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -895,7 +895,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, "held_until": "2026-11-19T13:59:18.051742Z" @@ -909,7 +909,7 @@ "error": { "class": "ContractError", "code": "contract_violation", - "trace_id": "bfc5cc090c4347f489fffcc62fc3d2bf" + "trace_id": "cdb2d56286eb4d468f447309c3bd06d9" } } ] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-frame-layout.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-frame-layout.json index 728a173..c92644e 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-frame-layout.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-frame-layout.json @@ -5,8 +5,8 @@ "origin": { "kind": "recorded", "base_url": "https://dfo-dev-apis-zms5lj4zhq-nn.a.run.app/api", - "dfo_commit": "0ba344270784ae9929a369da8acd00b399dfced8", - "recorded_at": "2026-10-24T16:31:23Z" + "dfo_commit": "99e62038ceb4b459c2ac699549076ff123c166aa", + "recorded_at": "2026-10-25T17:36:43Z" }, "call": [ { @@ -174,7 +174,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "bb332867f3894a6291e202e0b4666901" + "x-dfo-trace-id": "02d03065ffb242dbb868f3f7b8d63608" }, "json": { "schema_version": 1, @@ -575,7 +575,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261011T194155Z-80081f08", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:05.017544+00:00" + "confirmed_at": "2026-10-25T17:22:10.027136+00:00" }, "warnings": [ { @@ -619,7 +619,7 @@ ], "series_count": 5, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -902,7 +902,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": true } @@ -919,7 +919,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3Af4026e80af4b8683d3bb86645ab3aca83dff75cd03fdd4c73ec54ba638922104?X-Goog-Signature=redacted", - "x-dfo-trace-id": "1621b753678947a1ab313a52be193785" + "x-dfo-trace-id": "3b2bd09c3ba0491596f2ff115a040356" } } }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-group-narrowed.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-group-narrowed.json index 9a5b59c..5211725 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-group-narrowed.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-group-narrowed.json @@ -5,8 +5,8 @@ "origin": { "kind": "recorded", "base_url": "https://dfo-dev-apis-zms5lj4zhq-nn.a.run.app/api", - "dfo_commit": "0ba344270784ae9929a369da8acd00b399dfced8", - "recorded_at": "2026-10-24T16:30:37Z" + "dfo_commit": "99e62038ceb4b459c2ac699549076ff123c166aa", + "recorded_at": "2026-10-25T17:35:10Z" }, "call": [ { @@ -249,7 +249,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "031e93c3d83b4ef9bbead5c617599dee" + "x-dfo-trace-id": "2c5831471ed840c29a3775450547ab35" }, "json": { "schema_version": 1, @@ -535,7 +535,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261021T070020Z-7262111e", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:41.604527+00:00" + "confirmed_at": "2026-10-25T17:33:02.255719+00:00" }, "warnings": [ { @@ -580,7 +580,7 @@ ], "series_count": 43, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -869,7 +869,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, "held_until": "2026-11-20T07:08:48.808348Z" @@ -999,7 +999,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "11177bfa56c249feaec154d376c0e318" + "x-dfo-trace-id": "134afaa6b00f4af9aca4184c7e3b3da3" }, "json": { "schema_version": 1, @@ -1008,11 +1008,11 @@ "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "11177bfa56c249feaec154d376c0e318", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "134afaa6b00f4af9aca4184c7e3b3da3", "warnings": [], "timing_ms": { - "total": 1198, + "total": 2, "by_step": { "coverage": 0 } @@ -1025,19 +1025,9 @@ "variable_text": "dataset", "warnings": [], "timing_ms": { - "total": 1118, + "total": 0, "by_step": { - "validate": 0, - "walk": 11, - "reread_arcs": 0, - "detect_edits": 0, - "resolve_survivors": 0, - "shape": 1069, - "bind": 0, - "where_places": 1, - "materialise": 24, - "answer": 11, - "options": 2 + "response_cache_part_memo": 0 } }, "entity_refs": [], @@ -2030,7 +2020,7 @@ "label": "OECD Terms and Conditions" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -2872,7 +2862,7 @@ "start_year": 2020, "end_year": 2023 }, - "capability_version": "cap_9deef72763b45f40" + "capability_version": "cap_88defe77cc79e0c0" }, "confidence": "high", "available_at_place": true, @@ -5312,7 +5302,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3Aa5198249a7b16b895b1b7e8127605c644edaf2cda240201e391fc377aaf4dafd?X-Goog-Signature=redacted", - "x-dfo-trace-id": "f34686e7f0454a87b31b8f3a23ee43a4" + "x-dfo-trace-id": "b41ac53e34ed4270be2c55a3276a92dd" } } }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-group-origin-rebound.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-group-origin-rebound.json index e961827..f6a6faf 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-group-origin-rebound.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-group-origin-rebound.json @@ -5,8 +5,8 @@ "origin": { "kind": "recorded", "base_url": "https://dfo-dev-apis-zms5lj4zhq-nn.a.run.app/api", - "dfo_commit": "0ba344270784ae9929a369da8acd00b399dfced8", - "recorded_at": "2026-10-24T16:30:44Z" + "dfo_commit": "99e62038ceb4b459c2ac699549076ff123c166aa", + "recorded_at": "2026-10-25T17:35:12Z" }, "call": [ { @@ -296,7 +296,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "be9bb0e6abf54384a9226f44f6f09902" + "x-dfo-trace-id": "1db6e6a9c94644ec858a7a31d195930a" }, "json": { "schema_version": 1, @@ -580,7 +580,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261021T070020Z-7262111e", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:44.568363+00:00" + "confirmed_at": "2026-10-25T17:33:05.340244+00:00" }, "warnings": [], "diagnostics": [ @@ -619,7 +619,7 @@ ], "series_count": 44, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -908,7 +908,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, "held_until": "2026-11-20T07:08:52.858156Z" @@ -1036,7 +1036,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "de81189cf3d441c69f9bc70f4786a3d4" + "x-dfo-trace-id": "c64c8515eff046ba82eaa03c3c51f486" }, "json": { "schema_version": 1, @@ -1045,11 +1045,11 @@ "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "de81189cf3d441c69f9bc70f4786a3d4", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "c64c8515eff046ba82eaa03c3c51f486", "warnings": [], "timing_ms": { - "total": 2566, + "total": 2, "by_step": { "coverage": 0 } @@ -1062,19 +1062,9 @@ "variable_text": "dataset", "warnings": [], "timing_ms": { - "total": 2493, + "total": 0, "by_step": { - "validate": 1, - "walk": 10, - "reread_arcs": 1, - "detect_edits": 0, - "resolve_survivors": 0, - "shape": 1756, - "bind": 1, - "where_places": 0, - "materialise": 20, - "answer": 702, - "options": 2 + "response_cache_part_memo": 0 } }, "entity_refs": [], @@ -2045,7 +2035,7 @@ "label": "OECD Terms and Conditions" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -2883,7 +2873,7 @@ } ], "query_qualifiers": [], - "capability_version": "cap_9deef72763b45f40" + "capability_version": "cap_88defe77cc79e0c0" }, "confidence": "high", "available_at_place": true, @@ -5311,7 +5301,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3Aa382b8f9e3ba634c150c6588e21f79413722d53f7bcdcb9dfd4e929aa4f80993?X-Goog-Signature=redacted", - "x-dfo-trace-id": "d62572e0146a43f89d89c138493238e1" + "x-dfo-trace-id": "c4da26b179f04d4c8b5df81740f01830" } } }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-known-sentence.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-known-sentence.json index f58acdc..499fb18 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-known-sentence.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-known-sentence.json @@ -5,8 +5,8 @@ "origin": { "kind": "recorded", "base_url": "https://dfo-dev-apis-zms5lj4zhq-nn.a.run.app/api", - "dfo_commit": "0ba344270784ae9929a369da8acd00b399dfced8", - "recorded_at": "2026-10-24T16:30:48Z" + "dfo_commit": "99e62038ceb4b459c2ac699549076ff123c166aa", + "recorded_at": "2026-10-25T17:35:13Z" }, "call": [ { @@ -176,7 +176,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "bfc5cc090c4347f489fffcc62fc3d2bf" + "x-dfo-trace-id": "cdb2d56286eb4d468f447309c3bd06d9" }, "json": { "schema_version": 1, @@ -583,7 +583,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261019T174519Z-2e5e8cfd", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:31.570035+00:00" + "confirmed_at": "2026-10-25T17:30:48.703616+00:00" }, "warnings": [ { @@ -628,7 +628,7 @@ ], "series_count": 1, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -896,7 +896,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, "held_until": "2026-11-19T13:59:18.051742Z" @@ -914,7 +914,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3Ac44200969f19d73104d1bc24ebca905e59f749c2939234cdde10ba6f5a131170?X-Goog-Signature=redacted", - "x-dfo-trace-id": "8261c9be5a7c406a80692fac6b28ee05" + "x-dfo-trace-id": "114f3d3a1c78408c92fd29cc76887fdc" } } }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-manifest-without-identity.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-manifest-without-identity.json index 5f174b5..a1656d2 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-manifest-without-identity.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-manifest-without-identity.json @@ -175,7 +175,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "bfc5cc090c4347f489fffcc62fc3d2bf" + "x-dfo-trace-id": "cdb2d56286eb4d468f447309c3bd06d9" }, "json": { "schema_version": 1, @@ -517,7 +517,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261019T174519Z-2e5e8cfd", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:31.570035+00:00" + "confirmed_at": "2026-10-25T17:30:48.703616+00:00" }, "warnings": [ { @@ -562,7 +562,7 @@ ], "series_count": 1, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -830,7 +830,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, "held_until": "2026-11-19T13:59:18.051742Z" @@ -844,7 +844,7 @@ "error": { "class": "ContractError", "code": "contract_violation", - "trace_id": "bfc5cc090c4347f489fffcc62fc3d2bf" + "trace_id": "cdb2d56286eb4d468f447309c3bd06d9" } } ] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-manifest-without-schema-version.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-manifest-without-schema-version.json index 40803a3..7312f8f 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-manifest-without-schema-version.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-manifest-without-schema-version.json @@ -175,7 +175,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "bfc5cc090c4347f489fffcc62fc3d2bf" + "x-dfo-trace-id": "cdb2d56286eb4d468f447309c3bd06d9" }, "json": { "schema_version": 1, @@ -581,7 +581,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261019T174519Z-2e5e8cfd", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:31.570035+00:00" + "confirmed_at": "2026-10-25T17:30:48.703616+00:00" }, "warnings": [ { @@ -626,7 +626,7 @@ ], "series_count": 1, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -894,7 +894,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, "held_until": "2026-11-19T13:59:18.051742Z" @@ -908,7 +908,7 @@ "error": { "class": "ContractError", "code": "contract_violation", - "trace_id": "bfc5cc090c4347f489fffcc62fc3d2bf" + "trace_id": "cdb2d56286eb4d468f447309c3bd06d9" } } ] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-narrowed.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-narrowed.json index 3e6c833..14be33c 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-narrowed.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-narrowed.json @@ -5,8 +5,8 @@ "origin": { "kind": "recorded", "base_url": "https://dfo-dev-apis-zms5lj4zhq-nn.a.run.app/api", - "dfo_commit": "0ba344270784ae9929a369da8acd00b399dfced8", - "recorded_at": "2026-10-24T16:30:30Z" + "dfo_commit": "99e62038ceb4b459c2ac699549076ff123c166aa", + "recorded_at": "2026-10-25T17:35:05Z" }, "call": [ { @@ -183,7 +183,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "a1fe53d87b784d23bcc55926b9530dec" + "x-dfo-trace-id": "dbd045d5a84b4818a273bafc3e808e9c" }, "json": { "schema_version": 1, @@ -590,7 +590,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261019T174519Z-2e5e8cfd", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:31.570035+00:00" + "confirmed_at": "2026-10-25T17:30:48.703616+00:00" }, "warnings": [ { @@ -635,7 +635,7 @@ ], "series_count": 1, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -903,7 +903,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, "held_until": "2026-11-19T13:59:18.051742Z" @@ -997,7 +997,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "c4313642ac68484fb1d13d6f7b206d66" + "x-dfo-trace-id": "10b2cc32955e4dd1bdbb44ea217a46a1" }, "json": { "schema_version": 1, @@ -1006,11 +1006,11 @@ "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "c4313642ac68484fb1d13d6f7b206d66", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "10b2cc32955e4dd1bdbb44ea217a46a1", "warnings": [], "timing_ms": { - "total": 340, + "total": 2, "by_step": { "coverage": 0 } @@ -1023,19 +1023,9 @@ "variable_text": "dataset", "warnings": [], "timing_ms": { - "total": 256, + "total": 0, "by_step": { - "validate": 4, - "walk": 219, - "reread_arcs": 1, - "detect_edits": 0, - "resolve_survivors": 0, - "shape": 3, - "bind": 1, - "where_places": 0, - "materialise": 12, - "answer": 14, - "options": 2 + "response_cache_part_memo": 0 } }, "entity_refs": [], @@ -1117,7 +1107,7 @@ "resolved": { "shape": { "shape_id": "financialflow_amount_measuredvalue_nominal", - "label": "gross disbursements (basic health care, official development assistance)", + "label": "gross disbursements (basic health care, official development assistance, core support to non-governmental organisations, other private bodies, public-private partnerships, and research institutes, standard grant)", "population_type": { "ref": "FinancialFlow", "label": "financial flow" @@ -1469,7 +1459,7 @@ "label": "OECD Terms and Conditions" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -1703,6 +1693,8 @@ "segment": "heading", "entity_refs": [], "states": [ + "how:crsCooperationModality", + "how:crsTypeOfFinance", "how:crsTypeOfFlow", "how:financialFlowType", "how:nettingBasis", @@ -2032,7 +2024,7 @@ "start_year": 2020, "end_year": 2023 }, - "capability_version": "cap_9deef72763b45f40" + "capability_version": "cap_88defe77cc79e0c0" }, "confidence": "high", "available_at_place": true, @@ -2296,114 +2288,31 @@ "open_axis_facts": [ { "property": "crsCooperationModality", - "varies": true, - "distinct_count": 14, - "undeclared_count": 2, + "varies": false, + "value": { + "ref": "CRSCooperationModalityB01", + "label": "core support to non-governmental organisations, other private bodies, public-private partnerships, and research institutes" + }, + "distinct_count": 1, + "undeclared_count": 0, "values": [ - { - "value": { - "ref": "CRSCooperationModalityC01", - "label": "project-type intervention" - }, - "count": 5 - }, - { - "value": { - "ref": "CRSCooperationModalityA02", - "label": "sector budget support" - }, - "count": 2 - }, - { - "value": { - "ref": "CRSCooperationModalityB04", - "label": "basket fund and pooled funding" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSCooperationModalityB031", - "label": "contribution to multi-donor and multi-entity funding mechanism" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSCooperationModalityB032", - "label": "contribution to multi-donor and single-entity funding mechanism" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSCooperationModalityB033", - "label": "contribution to single-donor funding mechanism or earmarked contribution to a specific funding window or geographical location" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSCooperationModalityB03", - "label": "contribution to specific-purpose programme and fund managed by an international organisation" - }, - "count": 1 - }, { "value": { "ref": "CRSCooperationModalityB01", "label": "core support to non-governmental organisations, other private bodies, public-private partnerships, and research institutes" }, "count": 1 - }, - { - "value": { - "ref": "CRSCooperationModalityD01", - "label": "donor country personnel" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSCooperationModalityA01", - "label": "general budget support" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSCooperationModalityE02", - "label": "imputed student cost" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSCooperationModalityG01", - "label": "other administrative cost" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSCooperationModalityD02", - "label": "other technical assistance" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSCooperationModalityE01", - "label": "scholarship and training in donor country" - }, - "count": 1 } ] }, { "property": "crsTypeOfFinance", - "varies": true, - "distinct_count": 5, + "varies": false, + "value": { + "ref": "CRSTypeOfFinance110", + "label": "standard grant" + }, + "distinct_count": 1, "undeclared_count": 0, "values": [ { @@ -2411,34 +2320,6 @@ "ref": "CRSTypeOfFinance110", "label": "standard grant" }, - "count": 14 - }, - { - "value": { - "ref": "CRSTypeOfFinance421", - "label": "standard loan" - }, - "count": 4 - }, - { - "value": { - "ref": "CRSTypeOfFinance510", - "label": "common equity" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSTypeOfFinance210", - "label": "interest subsidy" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSTypeOfFinance520", - "label": "share in collective investment vehicle" - }, "count": 1 } ] @@ -4450,6 +4331,8 @@ "segment": "heading", "entity_refs": [], "states": [ + "how:crsCooperationModality", + "how:crsTypeOfFinance", "how:crsTypeOfFlow", "how:financialFlowType", "how:nettingBasis", @@ -4640,7 +4523,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3Ac44200969f19d73104d1bc24ebca905e59f749c2939234cdde10ba6f5a131170?X-Goog-Signature=redacted", - "x-dfo-trace-id": "2f0c6beb58394dd390dc7e490b5e6c00" + "x-dfo-trace-id": "3eb8e8c056854f268dff17ba392f1890" } } }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-operation-failed-resubmitted.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-operation-failed-resubmitted.json index 1fec5d0..dc288e2 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-operation-failed-resubmitted.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-operation-failed-resubmitted.json @@ -11,10 +11,10 @@ { "op": "fetch", "spec": { - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "definition": { "schema_version": 1, - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "identity": { "identity_version": "spec1", "shape": { @@ -226,12 +226,12 @@ }, "requested_window": { "kind": "range", - "start_year": 1963, + "start_year": 1964, "end_year": 2024 } } }, - "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1963 to 2024. Current US dollars · OECD DAC2a.", + "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1964 to 2024. Current US dollars · OECD DAC2a.", "entity_groups": { "destination": { "label": "G77 countries", @@ -254,10 +254,10 @@ "schema_version": 1, "input": { "kind": "spec_id", - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "definition": { "schema_version": 1, - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "identity": { "identity_version": "spec1", "shape": { @@ -469,7 +469,7 @@ }, "requested_window": { "kind": "range", - "start_year": 1963, + "start_year": 1964, "end_year": 2024 } } @@ -485,15 +485,15 @@ "status": 202, "headers": { "content-type": "application/json", - "location": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "location": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry-after": "2", - "x-dfo-trace-id": "a6d5bb2eff5a48578dce7fbf91715755" + "x-dfo-trace-id": "5541c591450f479485c421e20fe4d81d" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "pending", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 1500 } } @@ -502,20 +502,20 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", "retry-after": "2", - "x-dfo-trace-id": "71ecc596c6034e27b8ba5dd0a5d2c744" + "x-dfo-trace-id": "3416612a1b3f4a2ebbcf8ddeff74b96a" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "failed", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 1500 }, "error": { @@ -539,10 +539,10 @@ "schema_version": 1, "input": { "kind": "spec_id", - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "definition": { "schema_version": 1, - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "identity": { "identity_version": "spec1", "shape": { @@ -754,7 +754,7 @@ }, "requested_window": { "kind": "range", - "start_year": 1963, + "start_year": 1964, "end_year": 2024 } } @@ -770,15 +770,15 @@ "status": 202, "headers": { "content-type": "application/json", - "location": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "location": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry-after": "2", - "x-dfo-trace-id": "a6d5bb2eff5a48578dce7fbf91715755" + "x-dfo-trace-id": "5541c591450f479485c421e20fe4d81d" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "pending", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 1500 } } @@ -787,24 +787,24 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", "retry-after": "2", - "x-dfo-trace-id": "71ecc596c6034e27b8ba5dd0a5d2c744" + "x-dfo-trace-id": "3416612a1b3f4a2ebbcf8ddeff74b96a" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "running", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 1500, "progress": { "rows_written": 0, - "estimate_rows": 109318 + "estimate_rows": 108935 } } } @@ -813,24 +813,24 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", "retry-after": "2", - "x-dfo-trace-id": "760a3bb2de5e430fb316b3f6a4059c67" + "x-dfo-trace-id": "65394508d86f443db7528ac38066b9e3" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "running", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 1500, "progress": { - "rows_written": 0, - "estimate_rows": 109318 + "rows_written": 64600, + "estimate_rows": 108935 } } } @@ -839,24 +839,76 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", "retry-after": "2", - "x-dfo-trace-id": "15f9386c84484af983d33c6d183e5349" + "x-dfo-trace-id": "7a2d07cfe29b4993a374ee71104d461a" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "running", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 1500, "progress": { - "rows_written": 0, - "estimate_rows": 109318 + "rows_written": 108935, + "estimate_rows": 108935 + } + } + } + } + }, + { + "request": { + "method": "GET", + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" + }, + "response": { + "status": 200, + "headers": { + "content-type": "application/json", + "retry-after": "2", + "x-dfo-trace-id": "7c7c516f463a471583976147759c6250" + }, + "json": { + "operation": { + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "status": "running", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "retry_after_ms": 1786, + "progress": { + "rows_written": 108935, + "estimate_rows": 108935 + } + } + } + } + }, + { + "request": { + "method": "GET", + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" + }, + "response": { + "status": 200, + "headers": { + "content-type": "application/json", + "retry-after": "3", + "x-dfo-trace-id": "9ddce1ae50fd4187abeb32c45a0f03ba" + }, + "json": { + "operation": { + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "status": "running", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "retry_after_ms": 2268, + "progress": { + "rows_written": 108935, + "estimate_rows": 108935 } } } @@ -865,24 +917,50 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "2cc73cd4fbaa4a28a350025111f70a79" + "retry-after": "3", + "x-dfo-trace-id": "1ce68951ada64961b3710bb73127c9d8" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "status": "running", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "retry_after_ms": 2869, + "progress": { + "rows_written": 108935, + "estimate_rows": 108935 + } + } + } + } + }, + { + "request": { + "method": "GET", + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" + }, + "response": { + "status": 200, + "headers": { + "content-type": "application/json", + "x-dfo-trace-id": "37207f1ea4574e4e8485e8cebd4f4edc" + }, + "json": { + "operation": { + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "done" }, "manifest": { "schema_version": 1, "definition": { "schema_version": 1, - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "identity": { "shape": { "kind": "statvar_schema", @@ -1095,14 +1173,14 @@ "requested_window": { "kind": "range", "end_year": 2024, - "start_year": 1963 + "start_year": 1964 } } }, - "content_version": "cv_3d58d26a874dc30b1bba7d5ad6dd90ee", - "prepared_at": "2026-10-23T18:38:28Z", + "content_version": "cv_ed2cc83eb28d4e6883cde079f05844ed", + "prepared_at": "2026-10-25T17:38:14Z", "coverage": { - "rows": 109318, + "rows": 108935, "dimensions": [ { "label": "financingProvider", @@ -1124,14 +1202,14 @@ }, { "label": "years", - "count": 62 + "count": 61 } ], "window": { "kind": "range", "origin": "query", "end_year": 2024, - "start_year": 1963 + "start_year": 1964 } }, "citation": { @@ -1250,13 +1328,13 @@ "kind": "range", "origin": "query", "end_year": 2024, - "start_year": 1963 + "start_year": 1964 }, - "graph_revision": "dfo-dev-dc-datacommons-service-00264-2s9", + "graph_revision": "dfo-dev-dc-datacommons-service-00273-mmh", "normalisations": [], "code_index_stamp": { - "exported_at": "2026-10-23T18:14:12Z", - "content_hash": "29eb81d7b6c88641b1d4e8eb5e850ca36de66b99d6e9e09680aac020507a6392", + "exported_at": "2026-10-24T19:20:27Z", + "content_hash": "3d946d8f4986dbbe0fa3e5c4c917200381f529d89ce417c11daeb22df56eed99", "graph_endpoint": "graph_release" }, "source_revisions": [ @@ -1265,8 +1343,8 @@ "revision": "2026-10-15" } ], - "capability_version": "dset_cc753cefa9199881", - "materialiser_build": "035d29cd05fb31d7cb47cfb33197d4002f773df6", + "capability_version": "dset_76f5fa7244511c58", + "materialiser_build": "99e62038ceb4b459c2ac699549076ff123c166aa", "resolved_stat_vars": [ { "ref": "dcid:Amount_FinancialFlow_Gross_Disbursement_DAC2aAidType206_Nominal", @@ -1274,15 +1352,15 @@ "financingProvider", "financingRecipient" ], - "observation_count": 109318 + "observation_count": 108935 } ], "family_member_count": 1, "family_member_digest": "1a36e1a7292b1bfff95a5415de0be74cac7bb033217ed50e79faa8ce51a224c0", "frame_grammar_version": "1.1.0", - "origin_catalogue_build_id": "20261023T061534Z-06fa7b89", + "origin_catalogue_build_id": "20261024T193016Z-775d36a9", "served_from": "materialise", - "confirmed_at": "2026-10-24T16:30:59.952146+00:00" + "confirmed_at": "2026-10-25T17:38:17.505656+00:00" }, "warnings": [], "diagnostics": [ @@ -1294,34 +1372,34 @@ ], "artifacts": [ { - "artifact_digest": "sha256:9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65", + "artifact_digest": "sha256:4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2", "rendering": { "bundle": false, "format": "parquet", "layout": 4 }, - "bytes": 473679, + "bytes": 472796, "media_type": "application/vnd.apache.parquet", - "created_at": "2026-10-23T18:38:31.580044+00:00", + "created_at": "2026-10-25T17:38:17.426404+00:00", "tier": "working", - "url": "/api/datasets/spec_fbca0f29755230d84729c1243b1d9b45/cv_3d58d26a874dc30b1bba7d5ad6dd90ee/files/sha256:9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65", + "url": "/api/datasets/spec_7f538f4f65ac124f47918468b4d2eea7/cv_ed2cc83eb28d4e6883cde079f05844ed/files/sha256:4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2", "enrichment_stamp": "08ed6c734fc69ea2204a21f4e1dd8b963f14dd1e03a2484c618049ac2e2d93d8" }, { - "artifact_digest": "sha256:099d1ce36b440868b72174fb9cdff503cc4c7a0f0ef902e66484c5bfbd270f39", + "artifact_digest": "sha256:4e3ed758ad1a33cf9d150ee5fa71adf7f5bd40e4d342d839633d8386239babe1", "rendering": { "statistics": "series" }, - "bytes": 144274, + "bytes": 144449, "media_type": "application/vnd.apache.parquet", - "created_at": "2026-10-23T18:38:31.580044+00:00", + "created_at": "2026-10-25T17:38:17.426404+00:00", "tier": "working", - "url": "/api/datasets/spec_fbca0f29755230d84729c1243b1d9b45/cv_3d58d26a874dc30b1bba7d5ad6dd90ee/files/sha256:099d1ce36b440868b72174fb9cdff503cc4c7a0f0ef902e66484c5bfbd270f39" + "url": "/api/datasets/spec_7f538f4f65ac124f47918468b4d2eea7/cv_ed2cc83eb28d4e6883cde079f05844ed/files/sha256:4e3ed758ad1a33cf9d150ee5fa71adf7f5bd40e4d342d839633d8386239babe1" } ], "series_count": 3656, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -1345,7 +1423,7 @@ "name": "time_period", "kind": "grain", "droppable": false, - "distinct": 62 + "distinct": 61 }, { "name": "value", @@ -1585,7 +1663,7 @@ "varying": [ { "column": "time_period", - "distinct": 62 + "distinct": 61 } ] }, @@ -1609,7 +1687,7 @@ "varying": [ { "column": "time_period", - "distinct": 62 + "distinct": 61 } ] }, @@ -1668,10 +1746,10 @@ ] } }, - "series_coverage_stamp": "0b8c9a18fcc5af19013b21e865c64481503b6a6542f7d2e6628999e6559a47de", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, - "held_until": "2026-11-22T18:38:31.579178Z" + "held_until": "2026-11-24T17:38:17.425152Z" } } } @@ -1680,21 +1758,21 @@ { "request": { "method": "GET", - "origin_path": "/api/datasets/spec_fbca0f29755230d84729c1243b1d9b45/cv_3d58d26a874dc30b1bba7d5ad6dd90ee/files/sha256:9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65" + "origin_path": "/api/datasets/spec_7f538f4f65ac124f47918468b4d2eea7/cv_ed2cc83eb28d4e6883cde079f05844ed/files/sha256:4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2" }, "response": { "status": 302, "headers": { "content-type": "text/html", - "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65?X-Goog-Signature=redacted", - "x-dfo-trace-id": "fb09161c837d4874970eaf5a188845da" + "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2?X-Goog-Signature=redacted", + "x-dfo-trace-id": "919c1e572d914a608b166556417714c9" } } }, { "request": { "method": "GET", - "url": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65?X-Goog-Signature=redacted" + "url": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2?X-Goog-Signature=redacted" }, "response": { "status": 200, @@ -1708,7 +1786,7 @@ "expect": [ { "dataset": { - "rows": 109318, + "rows": 108935, "columns": [ "stat_var", "financingProvider", @@ -1735,21 +1813,24 @@ "members": [ { "parts": [], - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", - "content_version": "cv_3d58d26a874dc30b1bba7d5ad6dd90ee", - "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1963 to 2024. Current US dollars · OECD DAC2a." + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", + "content_version": "cv_ed2cc83eb28d4e6883cde079f05844ed", + "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1964 to 2024. Current US dollars · OECD DAC2a." } ], "missing": [], "long_builds": [ { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "poll_waits": [ 1.5, 1.5, 1.5, 1.5, - 1.5 + 1.5, + 1.786, + 2.268, + 2.869 ], "resubmissions": 1 } diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-poll-not-found.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-poll-not-found.json index 96921e6..e4390ab 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-poll-not-found.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-poll-not-found.json @@ -11,10 +11,10 @@ { "op": "fetch", "spec": { - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "definition": { "schema_version": 1, - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "identity": { "identity_version": "spec1", "shape": { @@ -226,12 +226,12 @@ }, "requested_window": { "kind": "range", - "start_year": 1963, + "start_year": 1964, "end_year": 2024 } } }, - "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1963 to 2024. Current US dollars · OECD DAC2a.", + "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1964 to 2024. Current US dollars · OECD DAC2a.", "entity_groups": { "destination": { "label": "G77 countries", @@ -254,10 +254,10 @@ "schema_version": 1, "input": { "kind": "spec_id", - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "definition": { "schema_version": 1, - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "identity": { "identity_version": "spec1", "shape": { @@ -469,7 +469,7 @@ }, "requested_window": { "kind": "range", - "start_year": 1963, + "start_year": 1964, "end_year": 2024 } } @@ -485,15 +485,15 @@ "status": 202, "headers": { "content-type": "application/json", - "location": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "location": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry-after": "2", - "x-dfo-trace-id": "a6d5bb2eff5a48578dce7fbf91715755" + "x-dfo-trace-id": "5541c591450f479485c421e20fe4d81d" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "pending", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 1500 } } @@ -502,7 +502,7 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 404, @@ -530,7 +530,7 @@ "trace_id": "00000000000000000000000000000000", "long_builds": [ { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "poll_waits": [ 1.5 ], diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-poll-pacing-changes.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-poll-pacing-changes.json index 099416b..3d315b2 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-poll-pacing-changes.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-poll-pacing-changes.json @@ -11,10 +11,10 @@ { "op": "fetch", "spec": { - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "definition": { "schema_version": 1, - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "identity": { "identity_version": "spec1", "shape": { @@ -226,12 +226,12 @@ }, "requested_window": { "kind": "range", - "start_year": 1963, + "start_year": 1964, "end_year": 2024 } } }, - "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1963 to 2024. Current US dollars · OECD DAC2a.", + "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1964 to 2024. Current US dollars · OECD DAC2a.", "entity_groups": { "destination": { "label": "G77 countries", @@ -254,10 +254,10 @@ "schema_version": 1, "input": { "kind": "spec_id", - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "definition": { "schema_version": 1, - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "identity": { "identity_version": "spec1", "shape": { @@ -469,7 +469,7 @@ }, "requested_window": { "kind": "range", - "start_year": 1963, + "start_year": 1964, "end_year": 2024 } } @@ -485,15 +485,15 @@ "status": 202, "headers": { "content-type": "application/json", - "location": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "location": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry-after": "2", - "x-dfo-trace-id": "a6d5bb2eff5a48578dce7fbf91715755" + "x-dfo-trace-id": "5541c591450f479485c421e20fe4d81d" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "pending", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 1500 } } @@ -502,24 +502,24 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", "retry-after": "2", - "x-dfo-trace-id": "71ecc596c6034e27b8ba5dd0a5d2c744" + "x-dfo-trace-id": "3416612a1b3f4a2ebbcf8ddeff74b96a" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "running", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 2500, "progress": { "rows_written": 0, - "estimate_rows": 109318 + "estimate_rows": 108935 } } } @@ -528,24 +528,24 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", "retry-after": "2", - "x-dfo-trace-id": "760a3bb2de5e430fb316b3f6a4059c67" + "x-dfo-trace-id": "65394508d86f443db7528ac38066b9e3" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "running", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 4000, "progress": { - "rows_written": 0, - "estimate_rows": 109318 + "rows_written": 64600, + "estimate_rows": 108935 } } } @@ -554,24 +554,76 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", "retry-after": "2", - "x-dfo-trace-id": "15f9386c84484af983d33c6d183e5349" + "x-dfo-trace-id": "7a2d07cfe29b4993a374ee71104d461a" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "running", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 1000, "progress": { - "rows_written": 0, - "estimate_rows": 109318 + "rows_written": 108935, + "estimate_rows": 108935 + } + } + } + } + }, + { + "request": { + "method": "GET", + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" + }, + "response": { + "status": 200, + "headers": { + "content-type": "application/json", + "retry-after": "2", + "x-dfo-trace-id": "7c7c516f463a471583976147759c6250" + }, + "json": { + "operation": { + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "status": "running", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "retry_after_ms": 2500, + "progress": { + "rows_written": 108935, + "estimate_rows": 108935 + } + } + } + } + }, + { + "request": { + "method": "GET", + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" + }, + "response": { + "status": 200, + "headers": { + "content-type": "application/json", + "retry-after": "3", + "x-dfo-trace-id": "9ddce1ae50fd4187abeb32c45a0f03ba" + }, + "json": { + "operation": { + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "status": "running", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "retry_after_ms": 4000, + "progress": { + "rows_written": 108935, + "estimate_rows": 108935 } } } @@ -580,24 +632,50 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "2cc73cd4fbaa4a28a350025111f70a79" + "retry-after": "3", + "x-dfo-trace-id": "1ce68951ada64961b3710bb73127c9d8" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "status": "running", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "retry_after_ms": 1000, + "progress": { + "rows_written": 108935, + "estimate_rows": 108935 + } + } + } + } + }, + { + "request": { + "method": "GET", + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" + }, + "response": { + "status": 200, + "headers": { + "content-type": "application/json", + "x-dfo-trace-id": "37207f1ea4574e4e8485e8cebd4f4edc" + }, + "json": { + "operation": { + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "done" }, "manifest": { "schema_version": 1, "definition": { "schema_version": 1, - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "identity": { "shape": { "kind": "statvar_schema", @@ -810,14 +888,14 @@ "requested_window": { "kind": "range", "end_year": 2024, - "start_year": 1963 + "start_year": 1964 } } }, - "content_version": "cv_3d58d26a874dc30b1bba7d5ad6dd90ee", - "prepared_at": "2026-10-23T18:38:28Z", + "content_version": "cv_ed2cc83eb28d4e6883cde079f05844ed", + "prepared_at": "2026-10-25T17:38:14Z", "coverage": { - "rows": 109318, + "rows": 108935, "dimensions": [ { "label": "financingProvider", @@ -839,14 +917,14 @@ }, { "label": "years", - "count": 62 + "count": 61 } ], "window": { "kind": "range", "origin": "query", "end_year": 2024, - "start_year": 1963 + "start_year": 1964 } }, "citation": { @@ -965,13 +1043,13 @@ "kind": "range", "origin": "query", "end_year": 2024, - "start_year": 1963 + "start_year": 1964 }, - "graph_revision": "dfo-dev-dc-datacommons-service-00264-2s9", + "graph_revision": "dfo-dev-dc-datacommons-service-00273-mmh", "normalisations": [], "code_index_stamp": { - "exported_at": "2026-10-23T18:14:12Z", - "content_hash": "29eb81d7b6c88641b1d4e8eb5e850ca36de66b99d6e9e09680aac020507a6392", + "exported_at": "2026-10-24T19:20:27Z", + "content_hash": "3d946d8f4986dbbe0fa3e5c4c917200381f529d89ce417c11daeb22df56eed99", "graph_endpoint": "graph_release" }, "source_revisions": [ @@ -980,8 +1058,8 @@ "revision": "2026-10-15" } ], - "capability_version": "dset_cc753cefa9199881", - "materialiser_build": "035d29cd05fb31d7cb47cfb33197d4002f773df6", + "capability_version": "dset_76f5fa7244511c58", + "materialiser_build": "99e62038ceb4b459c2ac699549076ff123c166aa", "resolved_stat_vars": [ { "ref": "dcid:Amount_FinancialFlow_Gross_Disbursement_DAC2aAidType206_Nominal", @@ -989,15 +1067,15 @@ "financingProvider", "financingRecipient" ], - "observation_count": 109318 + "observation_count": 108935 } ], "family_member_count": 1, "family_member_digest": "1a36e1a7292b1bfff95a5415de0be74cac7bb033217ed50e79faa8ce51a224c0", "frame_grammar_version": "1.1.0", - "origin_catalogue_build_id": "20261023T061534Z-06fa7b89", + "origin_catalogue_build_id": "20261024T193016Z-775d36a9", "served_from": "materialise", - "confirmed_at": "2026-10-24T16:30:59.952146+00:00" + "confirmed_at": "2026-10-25T17:38:17.505656+00:00" }, "warnings": [], "diagnostics": [ @@ -1009,34 +1087,34 @@ ], "artifacts": [ { - "artifact_digest": "sha256:9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65", + "artifact_digest": "sha256:4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2", "rendering": { "bundle": false, "format": "parquet", "layout": 4 }, - "bytes": 473679, + "bytes": 472796, "media_type": "application/vnd.apache.parquet", - "created_at": "2026-10-23T18:38:31.580044+00:00", + "created_at": "2026-10-25T17:38:17.426404+00:00", "tier": "working", - "url": "/api/datasets/spec_fbca0f29755230d84729c1243b1d9b45/cv_3d58d26a874dc30b1bba7d5ad6dd90ee/files/sha256:9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65", + "url": "/api/datasets/spec_7f538f4f65ac124f47918468b4d2eea7/cv_ed2cc83eb28d4e6883cde079f05844ed/files/sha256:4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2", "enrichment_stamp": "08ed6c734fc69ea2204a21f4e1dd8b963f14dd1e03a2484c618049ac2e2d93d8" }, { - "artifact_digest": "sha256:099d1ce36b440868b72174fb9cdff503cc4c7a0f0ef902e66484c5bfbd270f39", + "artifact_digest": "sha256:4e3ed758ad1a33cf9d150ee5fa71adf7f5bd40e4d342d839633d8386239babe1", "rendering": { "statistics": "series" }, - "bytes": 144274, + "bytes": 144449, "media_type": "application/vnd.apache.parquet", - "created_at": "2026-10-23T18:38:31.580044+00:00", + "created_at": "2026-10-25T17:38:17.426404+00:00", "tier": "working", - "url": "/api/datasets/spec_fbca0f29755230d84729c1243b1d9b45/cv_3d58d26a874dc30b1bba7d5ad6dd90ee/files/sha256:099d1ce36b440868b72174fb9cdff503cc4c7a0f0ef902e66484c5bfbd270f39" + "url": "/api/datasets/spec_7f538f4f65ac124f47918468b4d2eea7/cv_ed2cc83eb28d4e6883cde079f05844ed/files/sha256:4e3ed758ad1a33cf9d150ee5fa71adf7f5bd40e4d342d839633d8386239babe1" } ], "series_count": 3656, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -1060,7 +1138,7 @@ "name": "time_period", "kind": "grain", "droppable": false, - "distinct": 62 + "distinct": 61 }, { "name": "value", @@ -1300,7 +1378,7 @@ "varying": [ { "column": "time_period", - "distinct": 62 + "distinct": 61 } ] }, @@ -1324,7 +1402,7 @@ "varying": [ { "column": "time_period", - "distinct": 62 + "distinct": 61 } ] }, @@ -1383,10 +1461,10 @@ ] } }, - "series_coverage_stamp": "0b8c9a18fcc5af19013b21e865c64481503b6a6542f7d2e6628999e6559a47de", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, - "held_until": "2026-11-22T18:38:31.579178Z" + "held_until": "2026-11-24T17:38:17.425152Z" } } } @@ -1395,21 +1473,21 @@ { "request": { "method": "GET", - "origin_path": "/api/datasets/spec_fbca0f29755230d84729c1243b1d9b45/cv_3d58d26a874dc30b1bba7d5ad6dd90ee/files/sha256:9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65" + "origin_path": "/api/datasets/spec_7f538f4f65ac124f47918468b4d2eea7/cv_ed2cc83eb28d4e6883cde079f05844ed/files/sha256:4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2" }, "response": { "status": 302, "headers": { "content-type": "text/html", - "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65?X-Goog-Signature=redacted", - "x-dfo-trace-id": "fb09161c837d4874970eaf5a188845da" + "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2?X-Goog-Signature=redacted", + "x-dfo-trace-id": "919c1e572d914a608b166556417714c9" } } }, { "request": { "method": "GET", - "url": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65?X-Goog-Signature=redacted" + "url": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2?X-Goog-Signature=redacted" }, "response": { "status": 200, @@ -1423,7 +1501,7 @@ "expect": [ { "dataset": { - "rows": 109318, + "rows": 108935, "columns": [ "stat_var", "financingProvider", @@ -1450,19 +1528,22 @@ "members": [ { "parts": [], - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", - "content_version": "cv_3d58d26a874dc30b1bba7d5ad6dd90ee", - "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1963 to 2024. Current US dollars · OECD DAC2a." + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", + "content_version": "cv_ed2cc83eb28d4e6883cde079f05844ed", + "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1964 to 2024. Current US dollars · OECD DAC2a." } ], "missing": [], "long_builds": [ { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "poll_waits": [ 1.5, 2.5, 4.0, + 1.0, + 2.5, + 4.0, 1.0 ], "resubmissions": 0 diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-poll-rate-limited-not-retryable.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-poll-rate-limited-not-retryable.json index eb3fdc5..342444b 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-poll-rate-limited-not-retryable.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-poll-rate-limited-not-retryable.json @@ -11,10 +11,10 @@ { "op": "fetch", "spec": { - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "definition": { "schema_version": 1, - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "identity": { "identity_version": "spec1", "shape": { @@ -226,12 +226,12 @@ }, "requested_window": { "kind": "range", - "start_year": 1963, + "start_year": 1964, "end_year": 2024 } } }, - "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1963 to 2024. Current US dollars · OECD DAC2a.", + "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1964 to 2024. Current US dollars · OECD DAC2a.", "entity_groups": { "destination": { "label": "G77 countries", @@ -254,10 +254,10 @@ "schema_version": 1, "input": { "kind": "spec_id", - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "definition": { "schema_version": 1, - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "identity": { "identity_version": "spec1", "shape": { @@ -469,7 +469,7 @@ }, "requested_window": { "kind": "range", - "start_year": 1963, + "start_year": 1964, "end_year": 2024 } } @@ -485,15 +485,15 @@ "status": 202, "headers": { "content-type": "application/json", - "location": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "location": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry-after": "2", - "x-dfo-trace-id": "a6d5bb2eff5a48578dce7fbf91715755" + "x-dfo-trace-id": "5541c591450f479485c421e20fe4d81d" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "pending", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 1500 } } @@ -502,7 +502,7 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 429, @@ -527,7 +527,7 @@ "trace_id": "00000000000000000000000000000000", "long_builds": [ { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "poll_waits": [ 1.5 ], diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-poll-rate-limited.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-poll-rate-limited.json index 5dc6d95..a2e9fb7 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-poll-rate-limited.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-poll-rate-limited.json @@ -11,10 +11,10 @@ { "op": "fetch", "spec": { - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "definition": { "schema_version": 1, - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "identity": { "identity_version": "spec1", "shape": { @@ -226,12 +226,12 @@ }, "requested_window": { "kind": "range", - "start_year": 1963, + "start_year": 1964, "end_year": 2024 } } }, - "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1963 to 2024. Current US dollars · OECD DAC2a.", + "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1964 to 2024. Current US dollars · OECD DAC2a.", "entity_groups": { "destination": { "label": "G77 countries", @@ -254,10 +254,10 @@ "schema_version": 1, "input": { "kind": "spec_id", - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "definition": { "schema_version": 1, - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "identity": { "identity_version": "spec1", "shape": { @@ -469,7 +469,7 @@ }, "requested_window": { "kind": "range", - "start_year": 1963, + "start_year": 1964, "end_year": 2024 } } @@ -485,15 +485,15 @@ "status": 202, "headers": { "content-type": "application/json", - "location": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "location": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry-after": "2", - "x-dfo-trace-id": "a6d5bb2eff5a48578dce7fbf91715755" + "x-dfo-trace-id": "5541c591450f479485c421e20fe4d81d" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "pending", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 1500 } } @@ -502,7 +502,7 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 429, @@ -514,24 +514,24 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", "retry-after": "2", - "x-dfo-trace-id": "71ecc596c6034e27b8ba5dd0a5d2c744" + "x-dfo-trace-id": "3416612a1b3f4a2ebbcf8ddeff74b96a" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "running", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 1500, "progress": { "rows_written": 0, - "estimate_rows": 109318 + "estimate_rows": 108935 } } } @@ -540,24 +540,24 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", "retry-after": "2", - "x-dfo-trace-id": "760a3bb2de5e430fb316b3f6a4059c67" + "x-dfo-trace-id": "65394508d86f443db7528ac38066b9e3" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "running", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 1500, "progress": { - "rows_written": 0, - "estimate_rows": 109318 + "rows_written": 64600, + "estimate_rows": 108935 } } } @@ -566,24 +566,76 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", "retry-after": "2", - "x-dfo-trace-id": "15f9386c84484af983d33c6d183e5349" + "x-dfo-trace-id": "7a2d07cfe29b4993a374ee71104d461a" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "running", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 1500, "progress": { - "rows_written": 0, - "estimate_rows": 109318 + "rows_written": 108935, + "estimate_rows": 108935 + } + } + } + } + }, + { + "request": { + "method": "GET", + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" + }, + "response": { + "status": 200, + "headers": { + "content-type": "application/json", + "retry-after": "2", + "x-dfo-trace-id": "7c7c516f463a471583976147759c6250" + }, + "json": { + "operation": { + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "status": "running", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "retry_after_ms": 1786, + "progress": { + "rows_written": 108935, + "estimate_rows": 108935 + } + } + } + } + }, + { + "request": { + "method": "GET", + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" + }, + "response": { + "status": 200, + "headers": { + "content-type": "application/json", + "retry-after": "3", + "x-dfo-trace-id": "9ddce1ae50fd4187abeb32c45a0f03ba" + }, + "json": { + "operation": { + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "status": "running", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "retry_after_ms": 2268, + "progress": { + "rows_written": 108935, + "estimate_rows": 108935 } } } @@ -592,24 +644,50 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "2cc73cd4fbaa4a28a350025111f70a79" + "retry-after": "3", + "x-dfo-trace-id": "1ce68951ada64961b3710bb73127c9d8" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "status": "running", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "retry_after_ms": 2869, + "progress": { + "rows_written": 108935, + "estimate_rows": 108935 + } + } + } + } + }, + { + "request": { + "method": "GET", + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" + }, + "response": { + "status": 200, + "headers": { + "content-type": "application/json", + "x-dfo-trace-id": "37207f1ea4574e4e8485e8cebd4f4edc" + }, + "json": { + "operation": { + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "done" }, "manifest": { "schema_version": 1, "definition": { "schema_version": 1, - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "identity": { "shape": { "kind": "statvar_schema", @@ -822,14 +900,14 @@ "requested_window": { "kind": "range", "end_year": 2024, - "start_year": 1963 + "start_year": 1964 } } }, - "content_version": "cv_3d58d26a874dc30b1bba7d5ad6dd90ee", - "prepared_at": "2026-10-23T18:38:28Z", + "content_version": "cv_ed2cc83eb28d4e6883cde079f05844ed", + "prepared_at": "2026-10-25T17:38:14Z", "coverage": { - "rows": 109318, + "rows": 108935, "dimensions": [ { "label": "financingProvider", @@ -851,14 +929,14 @@ }, { "label": "years", - "count": 62 + "count": 61 } ], "window": { "kind": "range", "origin": "query", "end_year": 2024, - "start_year": 1963 + "start_year": 1964 } }, "citation": { @@ -977,13 +1055,13 @@ "kind": "range", "origin": "query", "end_year": 2024, - "start_year": 1963 + "start_year": 1964 }, - "graph_revision": "dfo-dev-dc-datacommons-service-00264-2s9", + "graph_revision": "dfo-dev-dc-datacommons-service-00273-mmh", "normalisations": [], "code_index_stamp": { - "exported_at": "2026-10-23T18:14:12Z", - "content_hash": "29eb81d7b6c88641b1d4e8eb5e850ca36de66b99d6e9e09680aac020507a6392", + "exported_at": "2026-10-24T19:20:27Z", + "content_hash": "3d946d8f4986dbbe0fa3e5c4c917200381f529d89ce417c11daeb22df56eed99", "graph_endpoint": "graph_release" }, "source_revisions": [ @@ -992,8 +1070,8 @@ "revision": "2026-10-15" } ], - "capability_version": "dset_cc753cefa9199881", - "materialiser_build": "035d29cd05fb31d7cb47cfb33197d4002f773df6", + "capability_version": "dset_76f5fa7244511c58", + "materialiser_build": "99e62038ceb4b459c2ac699549076ff123c166aa", "resolved_stat_vars": [ { "ref": "dcid:Amount_FinancialFlow_Gross_Disbursement_DAC2aAidType206_Nominal", @@ -1001,15 +1079,15 @@ "financingProvider", "financingRecipient" ], - "observation_count": 109318 + "observation_count": 108935 } ], "family_member_count": 1, "family_member_digest": "1a36e1a7292b1bfff95a5415de0be74cac7bb033217ed50e79faa8ce51a224c0", "frame_grammar_version": "1.1.0", - "origin_catalogue_build_id": "20261023T061534Z-06fa7b89", + "origin_catalogue_build_id": "20261024T193016Z-775d36a9", "served_from": "materialise", - "confirmed_at": "2026-10-24T16:30:59.952146+00:00" + "confirmed_at": "2026-10-25T17:38:17.505656+00:00" }, "warnings": [], "diagnostics": [ @@ -1021,34 +1099,34 @@ ], "artifacts": [ { - "artifact_digest": "sha256:9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65", + "artifact_digest": "sha256:4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2", "rendering": { "bundle": false, "format": "parquet", "layout": 4 }, - "bytes": 473679, + "bytes": 472796, "media_type": "application/vnd.apache.parquet", - "created_at": "2026-10-23T18:38:31.580044+00:00", + "created_at": "2026-10-25T17:38:17.426404+00:00", "tier": "working", - "url": "/api/datasets/spec_fbca0f29755230d84729c1243b1d9b45/cv_3d58d26a874dc30b1bba7d5ad6dd90ee/files/sha256:9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65", + "url": "/api/datasets/spec_7f538f4f65ac124f47918468b4d2eea7/cv_ed2cc83eb28d4e6883cde079f05844ed/files/sha256:4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2", "enrichment_stamp": "08ed6c734fc69ea2204a21f4e1dd8b963f14dd1e03a2484c618049ac2e2d93d8" }, { - "artifact_digest": "sha256:099d1ce36b440868b72174fb9cdff503cc4c7a0f0ef902e66484c5bfbd270f39", + "artifact_digest": "sha256:4e3ed758ad1a33cf9d150ee5fa71adf7f5bd40e4d342d839633d8386239babe1", "rendering": { "statistics": "series" }, - "bytes": 144274, + "bytes": 144449, "media_type": "application/vnd.apache.parquet", - "created_at": "2026-10-23T18:38:31.580044+00:00", + "created_at": "2026-10-25T17:38:17.426404+00:00", "tier": "working", - "url": "/api/datasets/spec_fbca0f29755230d84729c1243b1d9b45/cv_3d58d26a874dc30b1bba7d5ad6dd90ee/files/sha256:099d1ce36b440868b72174fb9cdff503cc4c7a0f0ef902e66484c5bfbd270f39" + "url": "/api/datasets/spec_7f538f4f65ac124f47918468b4d2eea7/cv_ed2cc83eb28d4e6883cde079f05844ed/files/sha256:4e3ed758ad1a33cf9d150ee5fa71adf7f5bd40e4d342d839633d8386239babe1" } ], "series_count": 3656, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -1072,7 +1150,7 @@ "name": "time_period", "kind": "grain", "droppable": false, - "distinct": 62 + "distinct": 61 }, { "name": "value", @@ -1312,7 +1390,7 @@ "varying": [ { "column": "time_period", - "distinct": 62 + "distinct": 61 } ] }, @@ -1336,7 +1414,7 @@ "varying": [ { "column": "time_period", - "distinct": 62 + "distinct": 61 } ] }, @@ -1395,10 +1473,10 @@ ] } }, - "series_coverage_stamp": "0b8c9a18fcc5af19013b21e865c64481503b6a6542f7d2e6628999e6559a47de", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, - "held_until": "2026-11-22T18:38:31.579178Z" + "held_until": "2026-11-24T17:38:17.425152Z" } } } @@ -1407,21 +1485,21 @@ { "request": { "method": "GET", - "origin_path": "/api/datasets/spec_fbca0f29755230d84729c1243b1d9b45/cv_3d58d26a874dc30b1bba7d5ad6dd90ee/files/sha256:9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65" + "origin_path": "/api/datasets/spec_7f538f4f65ac124f47918468b4d2eea7/cv_ed2cc83eb28d4e6883cde079f05844ed/files/sha256:4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2" }, "response": { "status": 302, "headers": { "content-type": "text/html", - "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65?X-Goog-Signature=redacted", - "x-dfo-trace-id": "fb09161c837d4874970eaf5a188845da" + "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2?X-Goog-Signature=redacted", + "x-dfo-trace-id": "919c1e572d914a608b166556417714c9" } } }, { "request": { "method": "GET", - "url": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65?X-Goog-Signature=redacted" + "url": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2?X-Goog-Signature=redacted" }, "response": { "status": 200, @@ -1435,7 +1513,7 @@ "expect": [ { "dataset": { - "rows": 109318, + "rows": 108935, "columns": [ "stat_var", "financingProvider", @@ -1462,21 +1540,24 @@ "members": [ { "parts": [], - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", - "content_version": "cv_3d58d26a874dc30b1bba7d5ad6dd90ee", - "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1963 to 2024. Current US dollars · OECD DAC2a." + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", + "content_version": "cv_ed2cc83eb28d4e6883cde079f05844ed", + "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1964 to 2024. Current US dollars · OECD DAC2a." } ], "missing": [], "long_builds": [ { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "poll_waits": [ 1.5, 3.0, 1.5, 1.5, - 1.5 + 1.5, + 1.786, + 2.268, + 2.869 ], "resubmissions": 0 } diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-poll-refused-backoff.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-poll-refused-backoff.json index ed5514f..c2912af 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-poll-refused-backoff.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-poll-refused-backoff.json @@ -11,10 +11,10 @@ { "op": "fetch", "spec": { - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "definition": { "schema_version": 1, - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "identity": { "identity_version": "spec1", "shape": { @@ -226,12 +226,12 @@ }, "requested_window": { "kind": "range", - "start_year": 1963, + "start_year": 1964, "end_year": 2024 } } }, - "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1963 to 2024. Current US dollars · OECD DAC2a.", + "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1964 to 2024. Current US dollars · OECD DAC2a.", "entity_groups": { "destination": { "label": "G77 countries", @@ -254,10 +254,10 @@ "schema_version": 1, "input": { "kind": "spec_id", - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "definition": { "schema_version": 1, - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "identity": { "identity_version": "spec1", "shape": { @@ -469,7 +469,7 @@ }, "requested_window": { "kind": "range", - "start_year": 1963, + "start_year": 1964, "end_year": 2024 } } @@ -485,14 +485,14 @@ "status": 202, "headers": { "content-type": "application/json", - "location": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", - "x-dfo-trace-id": "a6d5bb2eff5a48578dce7fbf91715755" + "location": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "x-dfo-trace-id": "5541c591450f479485c421e20fe4d81d" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "pending", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" } } } @@ -500,22 +500,22 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "71ecc596c6034e27b8ba5dd0a5d2c744" + "x-dfo-trace-id": "3416612a1b3f4a2ebbcf8ddeff74b96a" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "running", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "progress": { "rows_written": 0, - "estimate_rows": 109318 + "estimate_rows": 108935 } } } @@ -524,7 +524,7 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 503, @@ -546,22 +546,22 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "760a3bb2de5e430fb316b3f6a4059c67" + "x-dfo-trace-id": "65394508d86f443db7528ac38066b9e3" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "running", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "progress": { - "rows_written": 0, - "estimate_rows": 109318 + "rows_written": 64600, + "estimate_rows": 108935 } } } @@ -570,22 +570,46 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "15f9386c84484af983d33c6d183e5349" + "x-dfo-trace-id": "7a2d07cfe29b4993a374ee71104d461a" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "running", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "progress": { - "rows_written": 0, - "estimate_rows": 109318 + "rows_written": 108935, + "estimate_rows": 108935 + } + } + } + } + }, + { + "request": { + "method": "GET", + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" + }, + "response": { + "status": 200, + "headers": { + "content-type": "application/json", + "x-dfo-trace-id": "7c7c516f463a471583976147759c6250" + }, + "json": { + "operation": { + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "status": "running", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "progress": { + "rows_written": 108935, + "estimate_rows": 108935 } } } @@ -594,24 +618,72 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "2cc73cd4fbaa4a28a350025111f70a79" + "x-dfo-trace-id": "9ddce1ae50fd4187abeb32c45a0f03ba" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "status": "running", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "progress": { + "rows_written": 108935, + "estimate_rows": 108935 + } + } + } + } + }, + { + "request": { + "method": "GET", + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" + }, + "response": { + "status": 200, + "headers": { + "content-type": "application/json", + "x-dfo-trace-id": "1ce68951ada64961b3710bb73127c9d8" + }, + "json": { + "operation": { + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "status": "running", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "progress": { + "rows_written": 108935, + "estimate_rows": 108935 + } + } + } + } + }, + { + "request": { + "method": "GET", + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" + }, + "response": { + "status": 200, + "headers": { + "content-type": "application/json", + "x-dfo-trace-id": "37207f1ea4574e4e8485e8cebd4f4edc" + }, + "json": { + "operation": { + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "done" }, "manifest": { "schema_version": 1, "definition": { "schema_version": 1, - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "identity": { "shape": { "kind": "statvar_schema", @@ -824,14 +896,14 @@ "requested_window": { "kind": "range", "end_year": 2024, - "start_year": 1963 + "start_year": 1964 } } }, - "content_version": "cv_3d58d26a874dc30b1bba7d5ad6dd90ee", - "prepared_at": "2026-10-23T18:38:28Z", + "content_version": "cv_ed2cc83eb28d4e6883cde079f05844ed", + "prepared_at": "2026-10-25T17:38:14Z", "coverage": { - "rows": 109318, + "rows": 108935, "dimensions": [ { "label": "financingProvider", @@ -853,14 +925,14 @@ }, { "label": "years", - "count": 62 + "count": 61 } ], "window": { "kind": "range", "origin": "query", "end_year": 2024, - "start_year": 1963 + "start_year": 1964 } }, "citation": { @@ -979,13 +1051,13 @@ "kind": "range", "origin": "query", "end_year": 2024, - "start_year": 1963 + "start_year": 1964 }, - "graph_revision": "dfo-dev-dc-datacommons-service-00264-2s9", + "graph_revision": "dfo-dev-dc-datacommons-service-00273-mmh", "normalisations": [], "code_index_stamp": { - "exported_at": "2026-10-23T18:14:12Z", - "content_hash": "29eb81d7b6c88641b1d4e8eb5e850ca36de66b99d6e9e09680aac020507a6392", + "exported_at": "2026-10-24T19:20:27Z", + "content_hash": "3d946d8f4986dbbe0fa3e5c4c917200381f529d89ce417c11daeb22df56eed99", "graph_endpoint": "graph_release" }, "source_revisions": [ @@ -994,8 +1066,8 @@ "revision": "2026-10-15" } ], - "capability_version": "dset_cc753cefa9199881", - "materialiser_build": "035d29cd05fb31d7cb47cfb33197d4002f773df6", + "capability_version": "dset_76f5fa7244511c58", + "materialiser_build": "99e62038ceb4b459c2ac699549076ff123c166aa", "resolved_stat_vars": [ { "ref": "dcid:Amount_FinancialFlow_Gross_Disbursement_DAC2aAidType206_Nominal", @@ -1003,15 +1075,15 @@ "financingProvider", "financingRecipient" ], - "observation_count": 109318 + "observation_count": 108935 } ], "family_member_count": 1, "family_member_digest": "1a36e1a7292b1bfff95a5415de0be74cac7bb033217ed50e79faa8ce51a224c0", "frame_grammar_version": "1.1.0", - "origin_catalogue_build_id": "20261023T061534Z-06fa7b89", + "origin_catalogue_build_id": "20261024T193016Z-775d36a9", "served_from": "materialise", - "confirmed_at": "2026-10-24T16:30:59.952146+00:00" + "confirmed_at": "2026-10-25T17:38:17.505656+00:00" }, "warnings": [], "diagnostics": [ @@ -1023,34 +1095,34 @@ ], "artifacts": [ { - "artifact_digest": "sha256:9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65", + "artifact_digest": "sha256:4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2", "rendering": { "bundle": false, "format": "parquet", "layout": 4 }, - "bytes": 473679, + "bytes": 472796, "media_type": "application/vnd.apache.parquet", - "created_at": "2026-10-23T18:38:31.580044+00:00", + "created_at": "2026-10-25T17:38:17.426404+00:00", "tier": "working", - "url": "/api/datasets/spec_fbca0f29755230d84729c1243b1d9b45/cv_3d58d26a874dc30b1bba7d5ad6dd90ee/files/sha256:9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65", + "url": "/api/datasets/spec_7f538f4f65ac124f47918468b4d2eea7/cv_ed2cc83eb28d4e6883cde079f05844ed/files/sha256:4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2", "enrichment_stamp": "08ed6c734fc69ea2204a21f4e1dd8b963f14dd1e03a2484c618049ac2e2d93d8" }, { - "artifact_digest": "sha256:099d1ce36b440868b72174fb9cdff503cc4c7a0f0ef902e66484c5bfbd270f39", + "artifact_digest": "sha256:4e3ed758ad1a33cf9d150ee5fa71adf7f5bd40e4d342d839633d8386239babe1", "rendering": { "statistics": "series" }, - "bytes": 144274, + "bytes": 144449, "media_type": "application/vnd.apache.parquet", - "created_at": "2026-10-23T18:38:31.580044+00:00", + "created_at": "2026-10-25T17:38:17.426404+00:00", "tier": "working", - "url": "/api/datasets/spec_fbca0f29755230d84729c1243b1d9b45/cv_3d58d26a874dc30b1bba7d5ad6dd90ee/files/sha256:099d1ce36b440868b72174fb9cdff503cc4c7a0f0ef902e66484c5bfbd270f39" + "url": "/api/datasets/spec_7f538f4f65ac124f47918468b4d2eea7/cv_ed2cc83eb28d4e6883cde079f05844ed/files/sha256:4e3ed758ad1a33cf9d150ee5fa71adf7f5bd40e4d342d839633d8386239babe1" } ], "series_count": 3656, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -1074,7 +1146,7 @@ "name": "time_period", "kind": "grain", "droppable": false, - "distinct": 62 + "distinct": 61 }, { "name": "value", @@ -1314,7 +1386,7 @@ "varying": [ { "column": "time_period", - "distinct": 62 + "distinct": 61 } ] }, @@ -1338,7 +1410,7 @@ "varying": [ { "column": "time_period", - "distinct": 62 + "distinct": 61 } ] }, @@ -1397,10 +1469,10 @@ ] } }, - "series_coverage_stamp": "0b8c9a18fcc5af19013b21e865c64481503b6a6542f7d2e6628999e6559a47de", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, - "held_until": "2026-11-22T18:38:31.579178Z" + "held_until": "2026-11-24T17:38:17.425152Z" } } } @@ -1409,21 +1481,21 @@ { "request": { "method": "GET", - "origin_path": "/api/datasets/spec_fbca0f29755230d84729c1243b1d9b45/cv_3d58d26a874dc30b1bba7d5ad6dd90ee/files/sha256:9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65" + "origin_path": "/api/datasets/spec_7f538f4f65ac124f47918468b4d2eea7/cv_ed2cc83eb28d4e6883cde079f05844ed/files/sha256:4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2" }, "response": { "status": 302, "headers": { "content-type": "text/html", - "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65?X-Goog-Signature=redacted", - "x-dfo-trace-id": "fb09161c837d4874970eaf5a188845da" + "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2?X-Goog-Signature=redacted", + "x-dfo-trace-id": "919c1e572d914a608b166556417714c9" } } }, { "request": { "method": "GET", - "url": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65?X-Goog-Signature=redacted" + "url": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2?X-Goog-Signature=redacted" }, "response": { "status": 200, @@ -1437,7 +1509,7 @@ "expect": [ { "dataset": { - "rows": 109318, + "rows": 108935, "columns": [ "stat_var", "financingProvider", @@ -1464,20 +1536,23 @@ "members": [ { "parts": [], - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", - "content_version": "cv_3d58d26a874dc30b1bba7d5ad6dd90ee", - "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1963 to 2024. Current US dollars · OECD DAC2a." + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", + "content_version": "cv_ed2cc83eb28d4e6883cde079f05844ed", + "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1964 to 2024. Current US dollars · OECD DAC2a." } ], "missing": [], "long_builds": [ { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "poll_waits": [ 1.0, 2.0, 4.0, 8.0, + 8.0, + 8.0, + 8.0, 8.0 ], "resubmissions": 0 diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-poll-refused-retry-after.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-poll-refused-retry-after.json index 02becd9..18daf7d 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-poll-refused-retry-after.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-poll-refused-retry-after.json @@ -11,10 +11,10 @@ { "op": "fetch", "spec": { - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "definition": { "schema_version": 1, - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "identity": { "identity_version": "spec1", "shape": { @@ -226,12 +226,12 @@ }, "requested_window": { "kind": "range", - "start_year": 1963, + "start_year": 1964, "end_year": 2024 } } }, - "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1963 to 2024. Current US dollars · OECD DAC2a.", + "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1964 to 2024. Current US dollars · OECD DAC2a.", "entity_groups": { "destination": { "label": "G77 countries", @@ -254,10 +254,10 @@ "schema_version": 1, "input": { "kind": "spec_id", - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "definition": { "schema_version": 1, - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "identity": { "identity_version": "spec1", "shape": { @@ -469,7 +469,7 @@ }, "requested_window": { "kind": "range", - "start_year": 1963, + "start_year": 1964, "end_year": 2024 } } @@ -485,15 +485,15 @@ "status": 202, "headers": { "content-type": "application/json", - "location": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "location": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry-after": "2", - "x-dfo-trace-id": "a6d5bb2eff5a48578dce7fbf91715755" + "x-dfo-trace-id": "5541c591450f479485c421e20fe4d81d" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "pending", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 1500 } } @@ -502,7 +502,7 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 503, @@ -525,24 +525,24 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", "retry-after": "2", - "x-dfo-trace-id": "71ecc596c6034e27b8ba5dd0a5d2c744" + "x-dfo-trace-id": "3416612a1b3f4a2ebbcf8ddeff74b96a" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "running", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 1500, "progress": { "rows_written": 0, - "estimate_rows": 109318 + "estimate_rows": 108935 } } } @@ -551,24 +551,24 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", "retry-after": "2", - "x-dfo-trace-id": "760a3bb2de5e430fb316b3f6a4059c67" + "x-dfo-trace-id": "65394508d86f443db7528ac38066b9e3" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "running", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 1500, "progress": { - "rows_written": 0, - "estimate_rows": 109318 + "rows_written": 64600, + "estimate_rows": 108935 } } } @@ -577,24 +577,76 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", "retry-after": "2", - "x-dfo-trace-id": "15f9386c84484af983d33c6d183e5349" + "x-dfo-trace-id": "7a2d07cfe29b4993a374ee71104d461a" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "running", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 1500, "progress": { - "rows_written": 0, - "estimate_rows": 109318 + "rows_written": 108935, + "estimate_rows": 108935 + } + } + } + } + }, + { + "request": { + "method": "GET", + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" + }, + "response": { + "status": 200, + "headers": { + "content-type": "application/json", + "retry-after": "2", + "x-dfo-trace-id": "7c7c516f463a471583976147759c6250" + }, + "json": { + "operation": { + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "status": "running", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "retry_after_ms": 1786, + "progress": { + "rows_written": 108935, + "estimate_rows": 108935 + } + } + } + } + }, + { + "request": { + "method": "GET", + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" + }, + "response": { + "status": 200, + "headers": { + "content-type": "application/json", + "retry-after": "3", + "x-dfo-trace-id": "9ddce1ae50fd4187abeb32c45a0f03ba" + }, + "json": { + "operation": { + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "status": "running", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "retry_after_ms": 2268, + "progress": { + "rows_written": 108935, + "estimate_rows": 108935 } } } @@ -603,24 +655,50 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "2cc73cd4fbaa4a28a350025111f70a79" + "retry-after": "3", + "x-dfo-trace-id": "1ce68951ada64961b3710bb73127c9d8" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "status": "running", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "retry_after_ms": 2869, + "progress": { + "rows_written": 108935, + "estimate_rows": 108935 + } + } + } + } + }, + { + "request": { + "method": "GET", + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" + }, + "response": { + "status": 200, + "headers": { + "content-type": "application/json", + "x-dfo-trace-id": "37207f1ea4574e4e8485e8cebd4f4edc" + }, + "json": { + "operation": { + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "done" }, "manifest": { "schema_version": 1, "definition": { "schema_version": 1, - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "identity": { "shape": { "kind": "statvar_schema", @@ -833,14 +911,14 @@ "requested_window": { "kind": "range", "end_year": 2024, - "start_year": 1963 + "start_year": 1964 } } }, - "content_version": "cv_3d58d26a874dc30b1bba7d5ad6dd90ee", - "prepared_at": "2026-10-23T18:38:28Z", + "content_version": "cv_ed2cc83eb28d4e6883cde079f05844ed", + "prepared_at": "2026-10-25T17:38:14Z", "coverage": { - "rows": 109318, + "rows": 108935, "dimensions": [ { "label": "financingProvider", @@ -862,14 +940,14 @@ }, { "label": "years", - "count": 62 + "count": 61 } ], "window": { "kind": "range", "origin": "query", "end_year": 2024, - "start_year": 1963 + "start_year": 1964 } }, "citation": { @@ -988,13 +1066,13 @@ "kind": "range", "origin": "query", "end_year": 2024, - "start_year": 1963 + "start_year": 1964 }, - "graph_revision": "dfo-dev-dc-datacommons-service-00264-2s9", + "graph_revision": "dfo-dev-dc-datacommons-service-00273-mmh", "normalisations": [], "code_index_stamp": { - "exported_at": "2026-10-23T18:14:12Z", - "content_hash": "29eb81d7b6c88641b1d4e8eb5e850ca36de66b99d6e9e09680aac020507a6392", + "exported_at": "2026-10-24T19:20:27Z", + "content_hash": "3d946d8f4986dbbe0fa3e5c4c917200381f529d89ce417c11daeb22df56eed99", "graph_endpoint": "graph_release" }, "source_revisions": [ @@ -1003,8 +1081,8 @@ "revision": "2026-10-15" } ], - "capability_version": "dset_cc753cefa9199881", - "materialiser_build": "035d29cd05fb31d7cb47cfb33197d4002f773df6", + "capability_version": "dset_76f5fa7244511c58", + "materialiser_build": "99e62038ceb4b459c2ac699549076ff123c166aa", "resolved_stat_vars": [ { "ref": "dcid:Amount_FinancialFlow_Gross_Disbursement_DAC2aAidType206_Nominal", @@ -1012,15 +1090,15 @@ "financingProvider", "financingRecipient" ], - "observation_count": 109318 + "observation_count": 108935 } ], "family_member_count": 1, "family_member_digest": "1a36e1a7292b1bfff95a5415de0be74cac7bb033217ed50e79faa8ce51a224c0", "frame_grammar_version": "1.1.0", - "origin_catalogue_build_id": "20261023T061534Z-06fa7b89", + "origin_catalogue_build_id": "20261024T193016Z-775d36a9", "served_from": "materialise", - "confirmed_at": "2026-10-24T16:30:59.952146+00:00" + "confirmed_at": "2026-10-25T17:38:17.505656+00:00" }, "warnings": [], "diagnostics": [ @@ -1032,34 +1110,34 @@ ], "artifacts": [ { - "artifact_digest": "sha256:9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65", + "artifact_digest": "sha256:4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2", "rendering": { "bundle": false, "format": "parquet", "layout": 4 }, - "bytes": 473679, + "bytes": 472796, "media_type": "application/vnd.apache.parquet", - "created_at": "2026-10-23T18:38:31.580044+00:00", + "created_at": "2026-10-25T17:38:17.426404+00:00", "tier": "working", - "url": "/api/datasets/spec_fbca0f29755230d84729c1243b1d9b45/cv_3d58d26a874dc30b1bba7d5ad6dd90ee/files/sha256:9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65", + "url": "/api/datasets/spec_7f538f4f65ac124f47918468b4d2eea7/cv_ed2cc83eb28d4e6883cde079f05844ed/files/sha256:4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2", "enrichment_stamp": "08ed6c734fc69ea2204a21f4e1dd8b963f14dd1e03a2484c618049ac2e2d93d8" }, { - "artifact_digest": "sha256:099d1ce36b440868b72174fb9cdff503cc4c7a0f0ef902e66484c5bfbd270f39", + "artifact_digest": "sha256:4e3ed758ad1a33cf9d150ee5fa71adf7f5bd40e4d342d839633d8386239babe1", "rendering": { "statistics": "series" }, - "bytes": 144274, + "bytes": 144449, "media_type": "application/vnd.apache.parquet", - "created_at": "2026-10-23T18:38:31.580044+00:00", + "created_at": "2026-10-25T17:38:17.426404+00:00", "tier": "working", - "url": "/api/datasets/spec_fbca0f29755230d84729c1243b1d9b45/cv_3d58d26a874dc30b1bba7d5ad6dd90ee/files/sha256:099d1ce36b440868b72174fb9cdff503cc4c7a0f0ef902e66484c5bfbd270f39" + "url": "/api/datasets/spec_7f538f4f65ac124f47918468b4d2eea7/cv_ed2cc83eb28d4e6883cde079f05844ed/files/sha256:4e3ed758ad1a33cf9d150ee5fa71adf7f5bd40e4d342d839633d8386239babe1" } ], "series_count": 3656, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -1083,7 +1161,7 @@ "name": "time_period", "kind": "grain", "droppable": false, - "distinct": 62 + "distinct": 61 }, { "name": "value", @@ -1323,7 +1401,7 @@ "varying": [ { "column": "time_period", - "distinct": 62 + "distinct": 61 } ] }, @@ -1347,7 +1425,7 @@ "varying": [ { "column": "time_period", - "distinct": 62 + "distinct": 61 } ] }, @@ -1406,10 +1484,10 @@ ] } }, - "series_coverage_stamp": "0b8c9a18fcc5af19013b21e865c64481503b6a6542f7d2e6628999e6559a47de", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, - "held_until": "2026-11-22T18:38:31.579178Z" + "held_until": "2026-11-24T17:38:17.425152Z" } } } @@ -1418,21 +1496,21 @@ { "request": { "method": "GET", - "origin_path": "/api/datasets/spec_fbca0f29755230d84729c1243b1d9b45/cv_3d58d26a874dc30b1bba7d5ad6dd90ee/files/sha256:9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65" + "origin_path": "/api/datasets/spec_7f538f4f65ac124f47918468b4d2eea7/cv_ed2cc83eb28d4e6883cde079f05844ed/files/sha256:4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2" }, "response": { "status": 302, "headers": { "content-type": "text/html", - "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65?X-Goog-Signature=redacted", - "x-dfo-trace-id": "fb09161c837d4874970eaf5a188845da" + "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2?X-Goog-Signature=redacted", + "x-dfo-trace-id": "919c1e572d914a608b166556417714c9" } } }, { "request": { "method": "GET", - "url": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65?X-Goog-Signature=redacted" + "url": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2?X-Goog-Signature=redacted" }, "response": { "status": 200, @@ -1446,7 +1524,7 @@ "expect": [ { "dataset": { - "rows": 109318, + "rows": 108935, "columns": [ "stat_var", "financingProvider", @@ -1473,21 +1551,24 @@ "members": [ { "parts": [], - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", - "content_version": "cv_3d58d26a874dc30b1bba7d5ad6dd90ee", - "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1963 to 2024. Current US dollars · OECD DAC2a." + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", + "content_version": "cv_ed2cc83eb28d4e6883cde079f05844ed", + "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1964 to 2024. Current US dollars · OECD DAC2a." } ], "missing": [], "long_builds": [ { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "poll_waits": [ 1.5, 5.0, 1.5, 1.5, - 1.5 + 1.5, + 1.786, + 2.268, + 2.869 ], "resubmissions": 0 } diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-poll-refused.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-poll-refused.json index b1f3dcf..15a5881 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-poll-refused.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-poll-refused.json @@ -11,10 +11,10 @@ { "op": "fetch", "spec": { - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "definition": { "schema_version": 1, - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "identity": { "identity_version": "spec1", "shape": { @@ -226,12 +226,12 @@ }, "requested_window": { "kind": "range", - "start_year": 1963, + "start_year": 1964, "end_year": 2024 } } }, - "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1963 to 2024. Current US dollars · OECD DAC2a.", + "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1964 to 2024. Current US dollars · OECD DAC2a.", "entity_groups": { "destination": { "label": "G77 countries", @@ -254,10 +254,10 @@ "schema_version": 1, "input": { "kind": "spec_id", - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "definition": { "schema_version": 1, - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "identity": { "identity_version": "spec1", "shape": { @@ -469,7 +469,7 @@ }, "requested_window": { "kind": "range", - "start_year": 1963, + "start_year": 1964, "end_year": 2024 } } @@ -485,15 +485,15 @@ "status": 202, "headers": { "content-type": "application/json", - "location": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "location": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry-after": "2", - "x-dfo-trace-id": "a6d5bb2eff5a48578dce7fbf91715755" + "x-dfo-trace-id": "5541c591450f479485c421e20fe4d81d" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "pending", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 1500 } } @@ -502,7 +502,7 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 503, @@ -524,24 +524,24 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", "retry-after": "2", - "x-dfo-trace-id": "71ecc596c6034e27b8ba5dd0a5d2c744" + "x-dfo-trace-id": "3416612a1b3f4a2ebbcf8ddeff74b96a" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "running", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 1500, "progress": { "rows_written": 0, - "estimate_rows": 109318 + "estimate_rows": 108935 } } } @@ -550,24 +550,24 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", "retry-after": "2", - "x-dfo-trace-id": "760a3bb2de5e430fb316b3f6a4059c67" + "x-dfo-trace-id": "65394508d86f443db7528ac38066b9e3" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "running", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 1500, "progress": { - "rows_written": 0, - "estimate_rows": 109318 + "rows_written": 64600, + "estimate_rows": 108935 } } } @@ -576,7 +576,7 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 503, @@ -598,7 +598,7 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 503, @@ -620,24 +620,76 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", "retry-after": "2", - "x-dfo-trace-id": "15f9386c84484af983d33c6d183e5349" + "x-dfo-trace-id": "7a2d07cfe29b4993a374ee71104d461a" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "running", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 1500, "progress": { - "rows_written": 0, - "estimate_rows": 109318 + "rows_written": 108935, + "estimate_rows": 108935 + } + } + } + } + }, + { + "request": { + "method": "GET", + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" + }, + "response": { + "status": 200, + "headers": { + "content-type": "application/json", + "retry-after": "2", + "x-dfo-trace-id": "7c7c516f463a471583976147759c6250" + }, + "json": { + "operation": { + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "status": "running", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "retry_after_ms": 1786, + "progress": { + "rows_written": 108935, + "estimate_rows": 108935 + } + } + } + } + }, + { + "request": { + "method": "GET", + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" + }, + "response": { + "status": 200, + "headers": { + "content-type": "application/json", + "retry-after": "3", + "x-dfo-trace-id": "9ddce1ae50fd4187abeb32c45a0f03ba" + }, + "json": { + "operation": { + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "status": "running", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "retry_after_ms": 2268, + "progress": { + "rows_written": 108935, + "estimate_rows": 108935 } } } @@ -646,24 +698,50 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "2cc73cd4fbaa4a28a350025111f70a79" + "retry-after": "3", + "x-dfo-trace-id": "1ce68951ada64961b3710bb73127c9d8" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "status": "running", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "retry_after_ms": 2869, + "progress": { + "rows_written": 108935, + "estimate_rows": 108935 + } + } + } + } + }, + { + "request": { + "method": "GET", + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" + }, + "response": { + "status": 200, + "headers": { + "content-type": "application/json", + "x-dfo-trace-id": "37207f1ea4574e4e8485e8cebd4f4edc" + }, + "json": { + "operation": { + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "done" }, "manifest": { "schema_version": 1, "definition": { "schema_version": 1, - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "identity": { "shape": { "kind": "statvar_schema", @@ -876,14 +954,14 @@ "requested_window": { "kind": "range", "end_year": 2024, - "start_year": 1963 + "start_year": 1964 } } }, - "content_version": "cv_3d58d26a874dc30b1bba7d5ad6dd90ee", - "prepared_at": "2026-10-23T18:38:28Z", + "content_version": "cv_ed2cc83eb28d4e6883cde079f05844ed", + "prepared_at": "2026-10-25T17:38:14Z", "coverage": { - "rows": 109318, + "rows": 108935, "dimensions": [ { "label": "financingProvider", @@ -905,14 +983,14 @@ }, { "label": "years", - "count": 62 + "count": 61 } ], "window": { "kind": "range", "origin": "query", "end_year": 2024, - "start_year": 1963 + "start_year": 1964 } }, "citation": { @@ -1031,13 +1109,13 @@ "kind": "range", "origin": "query", "end_year": 2024, - "start_year": 1963 + "start_year": 1964 }, - "graph_revision": "dfo-dev-dc-datacommons-service-00264-2s9", + "graph_revision": "dfo-dev-dc-datacommons-service-00273-mmh", "normalisations": [], "code_index_stamp": { - "exported_at": "2026-10-23T18:14:12Z", - "content_hash": "29eb81d7b6c88641b1d4e8eb5e850ca36de66b99d6e9e09680aac020507a6392", + "exported_at": "2026-10-24T19:20:27Z", + "content_hash": "3d946d8f4986dbbe0fa3e5c4c917200381f529d89ce417c11daeb22df56eed99", "graph_endpoint": "graph_release" }, "source_revisions": [ @@ -1046,8 +1124,8 @@ "revision": "2026-10-15" } ], - "capability_version": "dset_cc753cefa9199881", - "materialiser_build": "035d29cd05fb31d7cb47cfb33197d4002f773df6", + "capability_version": "dset_76f5fa7244511c58", + "materialiser_build": "99e62038ceb4b459c2ac699549076ff123c166aa", "resolved_stat_vars": [ { "ref": "dcid:Amount_FinancialFlow_Gross_Disbursement_DAC2aAidType206_Nominal", @@ -1055,15 +1133,15 @@ "financingProvider", "financingRecipient" ], - "observation_count": 109318 + "observation_count": 108935 } ], "family_member_count": 1, "family_member_digest": "1a36e1a7292b1bfff95a5415de0be74cac7bb033217ed50e79faa8ce51a224c0", "frame_grammar_version": "1.1.0", - "origin_catalogue_build_id": "20261023T061534Z-06fa7b89", + "origin_catalogue_build_id": "20261024T193016Z-775d36a9", "served_from": "materialise", - "confirmed_at": "2026-10-24T16:30:59.952146+00:00" + "confirmed_at": "2026-10-25T17:38:17.505656+00:00" }, "warnings": [], "diagnostics": [ @@ -1075,34 +1153,34 @@ ], "artifacts": [ { - "artifact_digest": "sha256:9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65", + "artifact_digest": "sha256:4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2", "rendering": { "bundle": false, "format": "parquet", "layout": 4 }, - "bytes": 473679, + "bytes": 472796, "media_type": "application/vnd.apache.parquet", - "created_at": "2026-10-23T18:38:31.580044+00:00", + "created_at": "2026-10-25T17:38:17.426404+00:00", "tier": "working", - "url": "/api/datasets/spec_fbca0f29755230d84729c1243b1d9b45/cv_3d58d26a874dc30b1bba7d5ad6dd90ee/files/sha256:9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65", + "url": "/api/datasets/spec_7f538f4f65ac124f47918468b4d2eea7/cv_ed2cc83eb28d4e6883cde079f05844ed/files/sha256:4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2", "enrichment_stamp": "08ed6c734fc69ea2204a21f4e1dd8b963f14dd1e03a2484c618049ac2e2d93d8" }, { - "artifact_digest": "sha256:099d1ce36b440868b72174fb9cdff503cc4c7a0f0ef902e66484c5bfbd270f39", + "artifact_digest": "sha256:4e3ed758ad1a33cf9d150ee5fa71adf7f5bd40e4d342d839633d8386239babe1", "rendering": { "statistics": "series" }, - "bytes": 144274, + "bytes": 144449, "media_type": "application/vnd.apache.parquet", - "created_at": "2026-10-23T18:38:31.580044+00:00", + "created_at": "2026-10-25T17:38:17.426404+00:00", "tier": "working", - "url": "/api/datasets/spec_fbca0f29755230d84729c1243b1d9b45/cv_3d58d26a874dc30b1bba7d5ad6dd90ee/files/sha256:099d1ce36b440868b72174fb9cdff503cc4c7a0f0ef902e66484c5bfbd270f39" + "url": "/api/datasets/spec_7f538f4f65ac124f47918468b4d2eea7/cv_ed2cc83eb28d4e6883cde079f05844ed/files/sha256:4e3ed758ad1a33cf9d150ee5fa71adf7f5bd40e4d342d839633d8386239babe1" } ], "series_count": 3656, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -1126,7 +1204,7 @@ "name": "time_period", "kind": "grain", "droppable": false, - "distinct": 62 + "distinct": 61 }, { "name": "value", @@ -1366,7 +1444,7 @@ "varying": [ { "column": "time_period", - "distinct": 62 + "distinct": 61 } ] }, @@ -1390,7 +1468,7 @@ "varying": [ { "column": "time_period", - "distinct": 62 + "distinct": 61 } ] }, @@ -1449,10 +1527,10 @@ ] } }, - "series_coverage_stamp": "0b8c9a18fcc5af19013b21e865c64481503b6a6542f7d2e6628999e6559a47de", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, - "held_until": "2026-11-22T18:38:31.579178Z" + "held_until": "2026-11-24T17:38:17.425152Z" } } } @@ -1461,21 +1539,21 @@ { "request": { "method": "GET", - "origin_path": "/api/datasets/spec_fbca0f29755230d84729c1243b1d9b45/cv_3d58d26a874dc30b1bba7d5ad6dd90ee/files/sha256:9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65" + "origin_path": "/api/datasets/spec_7f538f4f65ac124f47918468b4d2eea7/cv_ed2cc83eb28d4e6883cde079f05844ed/files/sha256:4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2" }, "response": { "status": 302, "headers": { "content-type": "text/html", - "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65?X-Goog-Signature=redacted", - "x-dfo-trace-id": "fb09161c837d4874970eaf5a188845da" + "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2?X-Goog-Signature=redacted", + "x-dfo-trace-id": "919c1e572d914a608b166556417714c9" } } }, { "request": { "method": "GET", - "url": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65?X-Goog-Signature=redacted" + "url": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2?X-Goog-Signature=redacted" }, "response": { "status": 200, @@ -1489,7 +1567,7 @@ "expect": [ { "dataset": { - "rows": 109318, + "rows": 108935, "columns": [ "stat_var", "financingProvider", @@ -1516,15 +1594,15 @@ "members": [ { "parts": [], - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", - "content_version": "cv_3d58d26a874dc30b1bba7d5ad6dd90ee", - "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1963 to 2024. Current US dollars · OECD DAC2a." + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", + "content_version": "cv_ed2cc83eb28d4e6883cde079f05844ed", + "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1964 to 2024. Current US dollars · OECD DAC2a." } ], "missing": [], "long_builds": [ { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "poll_waits": [ 1.5, 1.5, @@ -1532,7 +1610,10 @@ 1.5, 1.5, 1.5, - 1.5 + 1.5, + 1.786, + 2.268, + 2.869 ], "resubmissions": 0 } diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-relative-location.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-relative-location.json index 1b2da24..39556c4 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-relative-location.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-relative-location.json @@ -175,7 +175,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "bfc5cc090c4347f489fffcc62fc3d2bf" + "x-dfo-trace-id": "cdb2d56286eb4d468f447309c3bd06d9" }, "json": { "schema_version": 1, @@ -582,7 +582,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261019T174519Z-2e5e8cfd", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:31.570035+00:00" + "confirmed_at": "2026-10-25T17:30:48.703616+00:00" }, "warnings": [ { @@ -627,7 +627,7 @@ ], "series_count": 1, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -895,7 +895,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, "held_until": "2026-11-19T13:59:18.051742Z" @@ -913,7 +913,7 @@ "headers": { "content-type": "text/html", "location": "bytes", - "x-dfo-trace-id": "8261c9be5a7c406a80692fac6b28ee05" + "x-dfo-trace-id": "114f3d3a1c78408c92fd29cc76887fdc" } } }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-request-invalid.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-request-invalid.json index 29a3f26..4b656df 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-request-invalid.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-request-invalid.json @@ -5,8 +5,8 @@ "origin": { "kind": "recorded", "base_url": "https://dfo-dev-apis-zms5lj4zhq-nn.a.run.app/api", - "dfo_commit": "0ba344270784ae9929a369da8acd00b399dfced8", - "recorded_at": "2026-10-24T16:30:51Z" + "dfo_commit": "99e62038ceb4b459c2ac699549076ff123c166aa", + "recorded_at": "2026-10-25T17:35:16Z" }, "call": [ { @@ -182,7 +182,7 @@ "status": 400, "headers": { "content-type": "application/problem+json", - "x-dfo-trace-id": "e229106e38d04e07af32b2895e017913" + "x-dfo-trace-id": "2e9e43a5095e4b10b1589c58cb4f8ecd" }, "json": { "type": "/codes/request_invalid", @@ -191,8 +191,8 @@ "detail": "Value error, unknown facet axis/axes: colour", "code": "request_invalid", "pointer": "/input/scope", - "trace_id": "e229106e38d04e07af32b2895e017913", - "capability_version": "dset_cc753cefa9199881", + "trace_id": "2e9e43a5095e4b10b1589c58cb4f8ecd", + "capability_version": "dset_76f5fa7244511c58", "retryable": false } } @@ -203,7 +203,7 @@ "error": { "class": "InvalidRequestError", "code": "request_invalid", - "trace_id": "e229106e38d04e07af32b2895e017913" + "trace_id": "2e9e43a5095e4b10b1589c58cb4f8ecd" } } ] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-resubmit-other-spec.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-resubmit-other-spec.json index e3b2dfb..ef73afb 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-resubmit-other-spec.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-resubmit-other-spec.json @@ -182,7 +182,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "a1fe53d87b784d23bcc55926b9530dec" + "x-dfo-trace-id": "dbd045d5a84b4818a273bafc3e808e9c" }, "json": { "schema_version": 1, @@ -589,7 +589,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261019T174519Z-2e5e8cfd", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:31.570035+00:00" + "confirmed_at": "2026-10-25T17:30:48.703616+00:00" }, "warnings": [ { @@ -634,7 +634,7 @@ ], "series_count": 1, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -902,7 +902,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, "held_until": "2026-11-19T13:59:18.051742Z" @@ -996,7 +996,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "c4313642ac68484fb1d13d6f7b206d66" + "x-dfo-trace-id": "10b2cc32955e4dd1bdbb44ea217a46a1" }, "json": { "schema_version": 1, @@ -1005,11 +1005,11 @@ "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "c4313642ac68484fb1d13d6f7b206d66", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "10b2cc32955e4dd1bdbb44ea217a46a1", "warnings": [], "timing_ms": { - "total": 340, + "total": 2, "by_step": { "coverage": 0 } @@ -1022,19 +1022,9 @@ "variable_text": "dataset", "warnings": [], "timing_ms": { - "total": 256, + "total": 0, "by_step": { - "validate": 4, - "walk": 219, - "reread_arcs": 1, - "detect_edits": 0, - "resolve_survivors": 0, - "shape": 3, - "bind": 1, - "where_places": 0, - "materialise": 12, - "answer": 14, - "options": 2 + "response_cache_part_memo": 0 } }, "entity_refs": [], @@ -1116,7 +1106,7 @@ "resolved": { "shape": { "shape_id": "financialflow_amount_measuredvalue_nominal", - "label": "gross disbursements (basic health care, official development assistance)", + "label": "gross disbursements (basic health care, official development assistance, core support to non-governmental organisations, other private bodies, public-private partnerships, and research institutes, standard grant)", "population_type": { "ref": "FinancialFlow", "label": "financial flow" @@ -1468,7 +1458,7 @@ "label": "OECD Terms and Conditions" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -1702,6 +1692,8 @@ "segment": "heading", "entity_refs": [], "states": [ + "how:crsCooperationModality", + "how:crsTypeOfFinance", "how:crsTypeOfFlow", "how:financialFlowType", "how:nettingBasis", @@ -2031,7 +2023,7 @@ "start_year": 2020, "end_year": 2023 }, - "capability_version": "cap_9deef72763b45f40" + "capability_version": "cap_88defe77cc79e0c0" }, "confidence": "high", "available_at_place": true, @@ -2295,114 +2287,31 @@ "open_axis_facts": [ { "property": "crsCooperationModality", - "varies": true, - "distinct_count": 14, - "undeclared_count": 2, + "varies": false, + "value": { + "ref": "CRSCooperationModalityB01", + "label": "core support to non-governmental organisations, other private bodies, public-private partnerships, and research institutes" + }, + "distinct_count": 1, + "undeclared_count": 0, "values": [ - { - "value": { - "ref": "CRSCooperationModalityC01", - "label": "project-type intervention" - }, - "count": 5 - }, - { - "value": { - "ref": "CRSCooperationModalityA02", - "label": "sector budget support" - }, - "count": 2 - }, - { - "value": { - "ref": "CRSCooperationModalityB04", - "label": "basket fund and pooled funding" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSCooperationModalityB031", - "label": "contribution to multi-donor and multi-entity funding mechanism" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSCooperationModalityB032", - "label": "contribution to multi-donor and single-entity funding mechanism" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSCooperationModalityB033", - "label": "contribution to single-donor funding mechanism or earmarked contribution to a specific funding window or geographical location" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSCooperationModalityB03", - "label": "contribution to specific-purpose programme and fund managed by an international organisation" - }, - "count": 1 - }, { "value": { "ref": "CRSCooperationModalityB01", "label": "core support to non-governmental organisations, other private bodies, public-private partnerships, and research institutes" }, "count": 1 - }, - { - "value": { - "ref": "CRSCooperationModalityD01", - "label": "donor country personnel" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSCooperationModalityA01", - "label": "general budget support" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSCooperationModalityE02", - "label": "imputed student cost" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSCooperationModalityG01", - "label": "other administrative cost" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSCooperationModalityD02", - "label": "other technical assistance" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSCooperationModalityE01", - "label": "scholarship and training in donor country" - }, - "count": 1 } ] }, { "property": "crsTypeOfFinance", - "varies": true, - "distinct_count": 5, + "varies": false, + "value": { + "ref": "CRSTypeOfFinance110", + "label": "standard grant" + }, + "distinct_count": 1, "undeclared_count": 0, "values": [ { @@ -2410,34 +2319,6 @@ "ref": "CRSTypeOfFinance110", "label": "standard grant" }, - "count": 14 - }, - { - "value": { - "ref": "CRSTypeOfFinance421", - "label": "standard loan" - }, - "count": 4 - }, - { - "value": { - "ref": "CRSTypeOfFinance510", - "label": "common equity" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSTypeOfFinance210", - "label": "interest subsidy" - }, - "count": 1 - }, - { - "value": { - "ref": "CRSTypeOfFinance520", - "label": "share in collective investment vehicle" - }, "count": 1 } ] @@ -4449,6 +4330,8 @@ "segment": "heading", "entity_refs": [], "states": [ + "how:crsCooperationModality", + "how:crsTypeOfFinance", "how:crsTypeOfFlow", "how:financialFlowType", "how:nettingBasis", @@ -4635,7 +4518,7 @@ "error": { "class": "ContractError", "code": "contract_violation", - "trace_id": "c4313642ac68484fb1d13d6f7b206d66" + "trace_id": "10b2cc32955e4dd1bdbb44ea217a46a1" } } ] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-same-origin-artifact-url.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-same-origin-artifact-url.json index 2878965..fce4fa5 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-same-origin-artifact-url.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-same-origin-artifact-url.json @@ -175,7 +175,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "bfc5cc090c4347f489fffcc62fc3d2bf" + "x-dfo-trace-id": "cdb2d56286eb4d468f447309c3bd06d9" }, "json": { "schema_version": 1, @@ -582,7 +582,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261019T174519Z-2e5e8cfd", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:31.570035+00:00" + "confirmed_at": "2026-10-25T17:30:48.703616+00:00" }, "warnings": [ { @@ -627,7 +627,7 @@ ], "series_count": 1, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -895,7 +895,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, "held_until": "2026-11-19T13:59:18.051742Z" @@ -913,7 +913,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3Ac44200969f19d73104d1bc24ebca905e59f749c2939234cdde10ba6f5a131170?X-Goog-Signature=redacted", - "x-dfo-trace-id": "8261c9be5a7c406a80692fac6b28ee05" + "x-dfo-trace-id": "114f3d3a1c78408c92fd29cc76887fdc" } } }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-signed-fetch-partial.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-signed-fetch-partial.json index dc97e7e..dc19b1a 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-signed-fetch-partial.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-signed-fetch-partial.json @@ -175,7 +175,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "bfc5cc090c4347f489fffcc62fc3d2bf" + "x-dfo-trace-id": "cdb2d56286eb4d468f447309c3bd06d9" }, "json": { "schema_version": 1, @@ -582,7 +582,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261019T174519Z-2e5e8cfd", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:31.570035+00:00" + "confirmed_at": "2026-10-25T17:30:48.703616+00:00" }, "warnings": [ { @@ -627,7 +627,7 @@ ], "series_count": 1, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -895,7 +895,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, "held_until": "2026-11-19T13:59:18.051742Z" @@ -913,7 +913,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3Ac44200969f19d73104d1bc24ebca905e59f749c2939234cdde10ba6f5a131170?X-Goog-Signature=redacted", - "x-dfo-trace-id": "8261c9be5a7c406a80692fac6b28ee05" + "x-dfo-trace-id": "114f3d3a1c78408c92fd29cc76887fdc" } } }, @@ -940,7 +940,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3Ac44200969f19d73104d1bc24ebca905e59f749c2939234cdde10ba6f5a131170?X-Goog-Signature=redacted", - "x-dfo-trace-id": "8261c9be5a7c406a80692fac6b28ee05" + "x-dfo-trace-id": "114f3d3a1c78408c92fd29cc76887fdc" } } }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-storage-artifact-url.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-storage-artifact-url.json index 29d6a08..51014a0 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-storage-artifact-url.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-storage-artifact-url.json @@ -175,7 +175,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "bfc5cc090c4347f489fffcc62fc3d2bf" + "x-dfo-trace-id": "cdb2d56286eb4d468f447309c3bd06d9" }, "json": { "schema_version": 1, @@ -582,7 +582,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261019T174519Z-2e5e8cfd", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:31.570035+00:00" + "confirmed_at": "2026-10-25T17:30:48.703616+00:00" }, "warnings": [ { @@ -627,7 +627,7 @@ ], "series_count": 1, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -895,7 +895,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, "held_until": "2026-11-19T13:59:18.051742Z" @@ -909,7 +909,7 @@ "error": { "class": "ContractError", "code": "contract_violation", - "trace_id": "bfc5cc090c4347f489fffcc62fc3d2bf" + "trace_id": "cdb2d56286eb4d468f447309c3bd06d9" } } ] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-strict-warning.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-strict-warning.json index f5755d2..63d9e87 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-strict-warning.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-spec-strict-warning.json @@ -583,7 +583,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261019T174519Z-2e5e8cfd", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:31.570035+00:00" + "confirmed_at": "2026-10-25T17:30:48.703616+00:00" }, "warnings": [ { @@ -628,7 +628,7 @@ ], "series_count": 1, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -896,7 +896,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, "held_until": "2026-11-19T13:59:18.051742Z" diff --git a/python/client-contract/src/dfo_client_contract/scenarios/fetch-strict-info-notice.json b/python/client-contract/src/dfo_client_contract/scenarios/fetch-strict-info-notice.json index 1463a62..9e3366f 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/fetch-strict-info-notice.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/fetch-strict-info-notice.json @@ -34,7 +34,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "bf6613bf82be4bddb4d60879aaf907d9" + "x-dfo-trace-id": "7abc6f06215b4187a4280d87d6f8a51a" }, "json": { "schema_version": 1, @@ -42,26 +42,23 @@ "entry_path": "raw_text", "raw_query": "ODA disbursements from Germany to Nigeria for basic health care", "normalized_query": "ODA disbursements from Germany to Nigeria for basic health care", - "extract_skipped": false + "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "bf6613bf82be4bddb4d60879aaf907d9", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "7abc6f06215b4187a4280d87d6f8a51a", "warnings": [], "timing_ms": { - "total": 2620, + "total": 3, "by_step": { "coverage": 0, - "extract": 1068, - "cache_lookup": 0 + "response_cache_layer1": 1 } }, "llm_usage": { - "input_tokens": 2231, - "output_tokens": 102, - "cached_tokens": 841, - "jev_input_tokens": 6586, - "jev_output_tokens": 2060 + "input_tokens": 0, + "output_tokens": 0, + "cached_tokens": 0 }, "timed_out": false }, @@ -77,30 +74,30 @@ } ], "timing_ms": { - "total": 1548, + "total": 1669, "by_step": { - "recall": 437, + "recall": 397, "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 2, + "shape_arcs": 1, "shape_probe_coverage": 4, - "shape_probe": 161, - "shape_groups": 45, + "shape_probe": 115, + "shape_groups": 53, "shape_labels": 1, - "shape_admission": 3, + "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 326, + "shape": 276, "phase_prune_and_rank": 0, - "bind": 225, - "phase_bind": 158, - "phase_settle": 56, - "phase_place_bindings": 18, + "bind": 214, + "phase_bind": 203, + "phase_settle": 45, + "phase_place_bindings": 20, "phase_facet_requests": 0, - "materialise": 41, - "phase_materialise": 0, - "answer": 186, - "options": 40, - "phase_outcome": 61 + "materialise": 28, + "phase_materialise": 196, + "answer": 145, + "options": 50, + "phase_outcome": 95 } }, "restatement": { @@ -547,7 +544,7 @@ "label": "OECD Terms and Conditions" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -1200,7 +1197,7 @@ "selected": [] } ], - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -3798,7 +3795,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "42460c90e7274dd19ecba24a6a0377e9" + "x-dfo-trace-id": "70ac3c153571497dab413643b6537466" }, "json": { "schema_version": 1, @@ -4199,7 +4196,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261011T194155Z-80081f08", "served_from": "head", - "confirmed_at": "2026-10-24T16:30:05.017544+00:00" + "confirmed_at": "2026-10-25T17:22:10.027136+00:00" }, "warnings": [ { @@ -4244,7 +4241,7 @@ ], "series_count": 5, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -4527,7 +4524,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": true } @@ -4544,7 +4541,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A421efacc2dc010af38112a087b0b49ff5539f61d2afd12a88272b27e99b5f5db?X-Goog-Signature=redacted", - "x-dfo-trace-id": "b9b4b3a90d6546e09cc738a29bbbb1d6" + "x-dfo-trace-id": "d2d4306f79d2411ebcd110cc1e26f49d" } } }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/mint-async-build.json b/python/client-contract/src/dfo_client_contract/scenarios/mint-async-build.json index 8fc7eea..2c53e3b 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/mint-async-build.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/mint-async-build.json @@ -5,17 +5,17 @@ "origin": { "kind": "recorded", "base_url": "https://dfo-dev-apis-zms5lj4zhq-nn.a.run.app/api", - "dfo_commit": "0ba344270784ae9929a369da8acd00b399dfced8", - "recorded_at": "2026-10-24T16:30:53Z" + "dfo_commit": "99e62038ceb4b459c2ac699549076ff123c166aa", + "recorded_at": "2026-10-25T17:38:05Z" }, "call": [ { "op": "mint", "spec": { - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "definition": { "schema_version": 1, - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "identity": { "identity_version": "spec1", "shape": { @@ -227,12 +227,12 @@ }, "requested_window": { "kind": "range", - "start_year": 1963, + "start_year": 1964, "end_year": 2024 } } }, - "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1963 to 2024. Current US dollars · OECD DAC2a.", + "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1964 to 2024. Current US dollars · OECD DAC2a.", "entity_groups": { "destination": { "label": "G77 countries", @@ -258,10 +258,10 @@ "schema_version": 1, "input": { "kind": "spec_id", - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "definition": { "schema_version": 1, - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "identity": { "identity_version": "spec1", "shape": { @@ -473,7 +473,7 @@ }, "requested_window": { "kind": "range", - "start_year": 1963, + "start_year": 1964, "end_year": 2024 } } @@ -489,15 +489,15 @@ "status": 202, "headers": { "content-type": "application/json", - "location": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "location": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry-after": "2", - "x-dfo-trace-id": "a6d5bb2eff5a48578dce7fbf91715755" + "x-dfo-trace-id": "5541c591450f479485c421e20fe4d81d" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "pending", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 1500 } } @@ -506,24 +506,24 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", "retry-after": "2", - "x-dfo-trace-id": "71ecc596c6034e27b8ba5dd0a5d2c744" + "x-dfo-trace-id": "3416612a1b3f4a2ebbcf8ddeff74b96a" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "running", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 1500, "progress": { "rows_written": 0, - "estimate_rows": 109318 + "estimate_rows": 108935 } } } @@ -532,24 +532,24 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", "retry-after": "2", - "x-dfo-trace-id": "760a3bb2de5e430fb316b3f6a4059c67" + "x-dfo-trace-id": "65394508d86f443db7528ac38066b9e3" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "running", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 1500, "progress": { - "rows_written": 0, - "estimate_rows": 109318 + "rows_written": 64600, + "estimate_rows": 108935 } } } @@ -558,24 +558,76 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", "retry-after": "2", - "x-dfo-trace-id": "15f9386c84484af983d33c6d183e5349" + "x-dfo-trace-id": "7a2d07cfe29b4993a374ee71104d461a" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "running", - "poll": "/api/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "retry_after_ms": 1500, "progress": { - "rows_written": 0, - "estimate_rows": 109318 + "rows_written": 108935, + "estimate_rows": 108935 + } + } + } + } + }, + { + "request": { + "method": "GET", + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" + }, + "response": { + "status": 200, + "headers": { + "content-type": "application/json", + "retry-after": "2", + "x-dfo-trace-id": "7c7c516f463a471583976147759c6250" + }, + "json": { + "operation": { + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "status": "running", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "retry_after_ms": 1786, + "progress": { + "rows_written": 108935, + "estimate_rows": 108935 + } + } + } + } + }, + { + "request": { + "method": "GET", + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" + }, + "response": { + "status": 200, + "headers": { + "content-type": "application/json", + "retry-after": "3", + "x-dfo-trace-id": "9ddce1ae50fd4187abeb32c45a0f03ba" + }, + "json": { + "operation": { + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "status": "running", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "retry_after_ms": 2268, + "progress": { + "rows_written": 108935, + "estimate_rows": 108935 } } } @@ -584,24 +636,50 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e" + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" }, "response": { "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "2cc73cd4fbaa4a28a350025111f70a79" + "retry-after": "3", + "x-dfo-trace-id": "1ce68951ada64961b3710bb73127c9d8" }, "json": { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "status": "running", + "poll": "/api/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", + "retry_after_ms": 2869, + "progress": { + "rows_written": 108935, + "estimate_rows": 108935 + } + } + } + } + }, + { + "request": { + "method": "GET", + "path": "/datasets/operations/op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef" + }, + "response": { + "status": 200, + "headers": { + "content-type": "application/json", + "x-dfo-trace-id": "37207f1ea4574e4e8485e8cebd4f4edc" + }, + "json": { + "operation": { + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "done" }, "manifest": { "schema_version": 1, "definition": { "schema_version": 1, - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", "identity": { "shape": { "kind": "statvar_schema", @@ -814,14 +892,14 @@ "requested_window": { "kind": "range", "end_year": 2024, - "start_year": 1963 + "start_year": 1964 } } }, - "content_version": "cv_3d58d26a874dc30b1bba7d5ad6dd90ee", - "prepared_at": "2026-10-23T18:38:28Z", + "content_version": "cv_ed2cc83eb28d4e6883cde079f05844ed", + "prepared_at": "2026-10-25T17:38:14Z", "coverage": { - "rows": 109318, + "rows": 108935, "dimensions": [ { "label": "financingProvider", @@ -843,14 +921,14 @@ }, { "label": "years", - "count": 62 + "count": 61 } ], "window": { "kind": "range", "origin": "query", "end_year": 2024, - "start_year": 1963 + "start_year": 1964 } }, "citation": { @@ -969,13 +1047,13 @@ "kind": "range", "origin": "query", "end_year": 2024, - "start_year": 1963 + "start_year": 1964 }, - "graph_revision": "dfo-dev-dc-datacommons-service-00264-2s9", + "graph_revision": "dfo-dev-dc-datacommons-service-00273-mmh", "normalisations": [], "code_index_stamp": { - "exported_at": "2026-10-23T18:14:12Z", - "content_hash": "29eb81d7b6c88641b1d4e8eb5e850ca36de66b99d6e9e09680aac020507a6392", + "exported_at": "2026-10-24T19:20:27Z", + "content_hash": "3d946d8f4986dbbe0fa3e5c4c917200381f529d89ce417c11daeb22df56eed99", "graph_endpoint": "graph_release" }, "source_revisions": [ @@ -984,8 +1062,8 @@ "revision": "2026-10-15" } ], - "capability_version": "dset_cc753cefa9199881", - "materialiser_build": "035d29cd05fb31d7cb47cfb33197d4002f773df6", + "capability_version": "dset_76f5fa7244511c58", + "materialiser_build": "99e62038ceb4b459c2ac699549076ff123c166aa", "resolved_stat_vars": [ { "ref": "dcid:Amount_FinancialFlow_Gross_Disbursement_DAC2aAidType206_Nominal", @@ -993,15 +1071,15 @@ "financingProvider", "financingRecipient" ], - "observation_count": 109318 + "observation_count": 108935 } ], "family_member_count": 1, "family_member_digest": "1a36e1a7292b1bfff95a5415de0be74cac7bb033217ed50e79faa8ce51a224c0", "frame_grammar_version": "1.1.0", - "origin_catalogue_build_id": "20261023T061534Z-06fa7b89", + "origin_catalogue_build_id": "20261024T193016Z-775d36a9", "served_from": "materialise", - "confirmed_at": "2026-10-24T16:30:59.952146+00:00" + "confirmed_at": "2026-10-25T17:38:17.505656+00:00" }, "warnings": [], "diagnostics": [ @@ -1013,34 +1091,34 @@ ], "artifacts": [ { - "artifact_digest": "sha256:9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65", + "artifact_digest": "sha256:4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2", "rendering": { "bundle": false, "format": "parquet", "layout": 4 }, - "bytes": 473679, + "bytes": 472796, "media_type": "application/vnd.apache.parquet", - "created_at": "2026-10-23T18:38:31.580044+00:00", + "created_at": "2026-10-25T17:38:17.426404+00:00", "tier": "working", - "url": "/api/datasets/spec_fbca0f29755230d84729c1243b1d9b45/cv_3d58d26a874dc30b1bba7d5ad6dd90ee/files/sha256:9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65", + "url": "/api/datasets/spec_7f538f4f65ac124f47918468b4d2eea7/cv_ed2cc83eb28d4e6883cde079f05844ed/files/sha256:4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2", "enrichment_stamp": "08ed6c734fc69ea2204a21f4e1dd8b963f14dd1e03a2484c618049ac2e2d93d8" }, { - "artifact_digest": "sha256:099d1ce36b440868b72174fb9cdff503cc4c7a0f0ef902e66484c5bfbd270f39", + "artifact_digest": "sha256:4e3ed758ad1a33cf9d150ee5fa71adf7f5bd40e4d342d839633d8386239babe1", "rendering": { "statistics": "series" }, - "bytes": 144274, + "bytes": 144449, "media_type": "application/vnd.apache.parquet", - "created_at": "2026-10-23T18:38:31.580044+00:00", + "created_at": "2026-10-25T17:38:17.426404+00:00", "tier": "working", - "url": "/api/datasets/spec_fbca0f29755230d84729c1243b1d9b45/cv_3d58d26a874dc30b1bba7d5ad6dd90ee/files/sha256:099d1ce36b440868b72174fb9cdff503cc4c7a0f0ef902e66484c5bfbd270f39" + "url": "/api/datasets/spec_7f538f4f65ac124f47918468b4d2eea7/cv_ed2cc83eb28d4e6883cde079f05844ed/files/sha256:4e3ed758ad1a33cf9d150ee5fa71adf7f5bd40e4d342d839633d8386239babe1" } ], "series_count": 3656, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -1064,7 +1142,7 @@ "name": "time_period", "kind": "grain", "droppable": false, - "distinct": 62 + "distinct": 61 }, { "name": "value", @@ -1304,7 +1382,7 @@ "varying": [ { "column": "time_period", - "distinct": 62 + "distinct": 61 } ] }, @@ -1328,7 +1406,7 @@ "varying": [ { "column": "time_period", - "distinct": 62 + "distinct": 61 } ] }, @@ -1387,10 +1465,10 @@ ] } }, - "series_coverage_stamp": "0b8c9a18fcc5af19013b21e865c64481503b6a6542f7d2e6628999e6559a47de", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, - "held_until": "2026-11-22T18:38:31.579178Z" + "held_until": "2026-11-24T17:38:17.425152Z" } } } @@ -1399,21 +1477,21 @@ { "request": { "method": "GET", - "origin_path": "/api/datasets/spec_fbca0f29755230d84729c1243b1d9b45/cv_3d58d26a874dc30b1bba7d5ad6dd90ee/files/sha256:9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65" + "origin_path": "/api/datasets/spec_7f538f4f65ac124f47918468b4d2eea7/cv_ed2cc83eb28d4e6883cde079f05844ed/files/sha256:4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2" }, "response": { "status": 302, "headers": { "content-type": "text/html", - "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65?X-Goog-Signature=redacted", - "x-dfo-trace-id": "fb09161c837d4874970eaf5a188845da" + "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2?X-Goog-Signature=redacted", + "x-dfo-trace-id": "919c1e572d914a608b166556417714c9" } } }, { "request": { "method": "GET", - "url": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A9242d69bedb460996f21f782b1a85ee5cd7eb967174e3b64a4ec5ade5bebab65?X-Goog-Signature=redacted" + "url": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A4d80e30e27b5a64706113d54946e3a387e422b1115d1437594ac4b1d4307ffd2?X-Goog-Signature=redacted" }, "response": { "status": 200, @@ -1427,13 +1505,13 @@ "expect": [ { "operation": { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "status": "pending" } }, { "dataset": { - "rows": 109318, + "rows": 108935, "columns": [ "stat_var", "financingProvider", @@ -1460,20 +1538,23 @@ "members": [ { "parts": [], - "spec_id": "spec_fbca0f29755230d84729c1243b1d9b45", - "content_version": "cv_3d58d26a874dc30b1bba7d5ad6dd90ee", - "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1963 to 2024. Current US dollars · OECD DAC2a." + "spec_id": "spec_7f538f4f65ac124f47918468b4d2eea7", + "content_version": "cv_ed2cc83eb28d4e6883cde079f05844ed", + "sentence": "Gross disbursements to the 133 G77 countries from the 32 DAC countries for official development assistance, 1964 to 2024. Current US dollars · OECD DAC2a." } ], "missing": [], "long_builds": [ { - "operation_id": "op_cc325e96d3ac6fdb6721c2468fd261f221bc87ee5eb9d8e82cf4d1f3720bdf6e", + "operation_id": "op_fd0d8669859445256b111f73468a96f51525dc1712aeda8b27bd8c28c3f5e5ef", "poll_waits": [ 1.5, 1.5, 1.5, - 1.5 + 1.5, + 1.786, + 2.268, + 2.869 ], "resubmissions": 0 } diff --git a/python/client-contract/src/dfo_client_contract/scenarios/mint-async-build.parquet b/python/client-contract/src/dfo_client_contract/scenarios/mint-async-build.parquet index 212b05d..a555723 100644 Binary files a/python/client-contract/src/dfo_client_contract/scenarios/mint-async-build.parquet and b/python/client-contract/src/dfo_client_contract/scenarios/mint-async-build.parquet differ diff --git a/python/client-contract/src/dfo_client_contract/scenarios/newest-version-unreadable-page.json b/python/client-contract/src/dfo_client_contract/scenarios/newest-version-unreadable-page.json index 7226186..f724213 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/newest-version-unreadable-page.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/newest-version-unreadable-page.json @@ -93,7 +93,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "6f93d15300c8413191296f90fbc4b8b0" + "x-dfo-trace-id": "ee36259b6d664e7cb028a433fd51bf38" }, "json": { "schema_version": 1, @@ -145,7 +145,7 @@ "error": { "class": "ContractError", "code": "contract_violation", - "trace_id": "6f93d15300c8413191296f90fbc4b8b0" + "trace_id": "ee36259b6d664e7cb028a433fd51bf38" } } ] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/operation-failed-without-error.json b/python/client-contract/src/dfo_client_contract/scenarios/operation-failed-without-error.json index b716c5c..d3844c3 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/operation-failed-without-error.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/operation-failed-without-error.json @@ -10,7 +10,7 @@ "call": [ { "op": "operation", - "operation_id": "op_d3596ce124b0257af0dfded6707dc8179b5e046e67080dd6995f7e0de23f7fe5" + "operation_id": "op_4be3387671a61839e73ac0e35fbe9daae30a038eb2943751ab2bed086542e7a7" }, { "op": "result" @@ -20,24 +20,24 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_d3596ce124b0257af0dfded6707dc8179b5e046e67080dd6995f7e0de23f7fe5" + "path": "/datasets/operations/op_4be3387671a61839e73ac0e35fbe9daae30a038eb2943751ab2bed086542e7a7" }, "response": { "status": 200, "headers": { "content-type": "application/json", "retry-after": "2", - "x-dfo-trace-id": "7a8fcbad75fa4232a0fd7b55729da907" + "x-dfo-trace-id": "a7e4df1e6481482f915c35791ae30787" }, "json": { "operation": { - "operation_id": "op_d3596ce124b0257af0dfded6707dc8179b5e046e67080dd6995f7e0de23f7fe5", + "operation_id": "op_4be3387671a61839e73ac0e35fbe9daae30a038eb2943751ab2bed086542e7a7", "status": "running", - "poll": "/api/datasets/operations/op_d3596ce124b0257af0dfded6707dc8179b5e046e67080dd6995f7e0de23f7fe5", + "poll": "/api/datasets/operations/op_4be3387671a61839e73ac0e35fbe9daae30a038eb2943751ab2bed086542e7a7", "retry_after_ms": 1500, "progress": { "rows_written": 0, - "estimate_rows": 112203 + "estimate_rows": 112798 } } } @@ -46,20 +46,20 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_d3596ce124b0257af0dfded6707dc8179b5e046e67080dd6995f7e0de23f7fe5" + "path": "/datasets/operations/op_4be3387671a61839e73ac0e35fbe9daae30a038eb2943751ab2bed086542e7a7" }, "response": { "status": 200, "headers": { "content-type": "application/json", "retry-after": "2", - "x-dfo-trace-id": "09873539d7e1412baa820fb5f7421322" + "x-dfo-trace-id": "c8a0887100974e679bf749541fe7880d" }, "json": { "operation": { - "operation_id": "op_d3596ce124b0257af0dfded6707dc8179b5e046e67080dd6995f7e0de23f7fe5", + "operation_id": "op_4be3387671a61839e73ac0e35fbe9daae30a038eb2943751ab2bed086542e7a7", "status": "failed", - "poll": "/api/datasets/operations/op_d3596ce124b0257af0dfded6707dc8179b5e046e67080dd6995f7e0de23f7fe5", + "poll": "/api/datasets/operations/op_4be3387671a61839e73ac0e35fbe9daae30a038eb2943751ab2bed086542e7a7", "retry_after_ms": 1500 } } @@ -69,7 +69,7 @@ "expect": [ { "operation": { - "operation_id": "op_d3596ce124b0257af0dfded6707dc8179b5e046e67080dd6995f7e0de23f7fe5", + "operation_id": "op_4be3387671a61839e73ac0e35fbe9daae30a038eb2943751ab2bed086542e7a7", "status": "running" } }, @@ -77,10 +77,10 @@ "error": { "class": "ServerError", "code": "operation_failed", - "trace_id": "09873539d7e1412baa820fb5f7421322", + "trace_id": "c8a0887100974e679bf749541fe7880d", "long_builds": [ { - "operation_id": "op_d3596ce124b0257af0dfded6707dc8179b5e046e67080dd6995f7e0de23f7fe5", + "operation_id": "op_4be3387671a61839e73ac0e35fbe9daae30a038eb2943751ab2bed086542e7a7", "poll_waits": [ 1.5 ], diff --git a/python/client-contract/src/dfo_client_contract/scenarios/operation-resume.json b/python/client-contract/src/dfo_client_contract/scenarios/operation-resume.json index b34c17c..5ceede1 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/operation-resume.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/operation-resume.json @@ -5,13 +5,13 @@ "origin": { "kind": "recorded", "base_url": "https://dfo-dev-apis-zms5lj4zhq-nn.a.run.app/api", - "dfo_commit": "0ba344270784ae9929a369da8acd00b399dfced8", - "recorded_at": "2026-10-24T16:31:08Z" + "dfo_commit": "99e62038ceb4b459c2ac699549076ff123c166aa", + "recorded_at": "2026-10-25T17:36:22Z" }, "call": [ { "op": "operation", - "operation_id": "op_d3596ce124b0257af0dfded6707dc8179b5e046e67080dd6995f7e0de23f7fe5" + "operation_id": "op_4be3387671a61839e73ac0e35fbe9daae30a038eb2943751ab2bed086542e7a7" }, { "op": "result" @@ -21,24 +21,24 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_d3596ce124b0257af0dfded6707dc8179b5e046e67080dd6995f7e0de23f7fe5" + "path": "/datasets/operations/op_4be3387671a61839e73ac0e35fbe9daae30a038eb2943751ab2bed086542e7a7" }, "response": { "status": 200, "headers": { "content-type": "application/json", "retry-after": "2", - "x-dfo-trace-id": "7a8fcbad75fa4232a0fd7b55729da907" + "x-dfo-trace-id": "a7e4df1e6481482f915c35791ae30787" }, "json": { "operation": { - "operation_id": "op_d3596ce124b0257af0dfded6707dc8179b5e046e67080dd6995f7e0de23f7fe5", + "operation_id": "op_4be3387671a61839e73ac0e35fbe9daae30a038eb2943751ab2bed086542e7a7", "status": "running", - "poll": "/api/datasets/operations/op_d3596ce124b0257af0dfded6707dc8179b5e046e67080dd6995f7e0de23f7fe5", + "poll": "/api/datasets/operations/op_4be3387671a61839e73ac0e35fbe9daae30a038eb2943751ab2bed086542e7a7", "retry_after_ms": 1500, "progress": { "rows_written": 0, - "estimate_rows": 112203 + "estimate_rows": 112798 } } } @@ -47,24 +47,24 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_d3596ce124b0257af0dfded6707dc8179b5e046e67080dd6995f7e0de23f7fe5" + "path": "/datasets/operations/op_4be3387671a61839e73ac0e35fbe9daae30a038eb2943751ab2bed086542e7a7" }, "response": { "status": 200, "headers": { "content-type": "application/json", "retry-after": "2", - "x-dfo-trace-id": "09873539d7e1412baa820fb5f7421322" + "x-dfo-trace-id": "c8a0887100974e679bf749541fe7880d" }, "json": { "operation": { - "operation_id": "op_d3596ce124b0257af0dfded6707dc8179b5e046e67080dd6995f7e0de23f7fe5", + "operation_id": "op_4be3387671a61839e73ac0e35fbe9daae30a038eb2943751ab2bed086542e7a7", "status": "running", - "poll": "/api/datasets/operations/op_d3596ce124b0257af0dfded6707dc8179b5e046e67080dd6995f7e0de23f7fe5", + "poll": "/api/datasets/operations/op_4be3387671a61839e73ac0e35fbe9daae30a038eb2943751ab2bed086542e7a7", "retry_after_ms": 1500, "progress": { "rows_written": 0, - "estimate_rows": 112203 + "estimate_rows": 112798 } } } @@ -73,24 +73,154 @@ { "request": { "method": "GET", - "path": "/datasets/operations/op_d3596ce124b0257af0dfded6707dc8179b5e046e67080dd6995f7e0de23f7fe5" + "path": "/datasets/operations/op_4be3387671a61839e73ac0e35fbe9daae30a038eb2943751ab2bed086542e7a7" }, "response": { "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "c5978ef07c5340e0ae21c8881deb8130" + "retry-after": "2", + "x-dfo-trace-id": "eeee9bc62cc84cc18a32ec31995456fc" + }, + "json": { + "operation": { + "operation_id": "op_4be3387671a61839e73ac0e35fbe9daae30a038eb2943751ab2bed086542e7a7", + "status": "running", + "poll": "/api/datasets/operations/op_4be3387671a61839e73ac0e35fbe9daae30a038eb2943751ab2bed086542e7a7", + "retry_after_ms": 1500, + "progress": { + "rows_written": 6791, + "estimate_rows": 112798 + } + } + } + } + }, + { + "request": { + "method": "GET", + "path": "/datasets/operations/op_4be3387671a61839e73ac0e35fbe9daae30a038eb2943751ab2bed086542e7a7" + }, + "response": { + "status": 200, + "headers": { + "content-type": "application/json", + "retry-after": "2", + "x-dfo-trace-id": "58022655f3874bad921fc5f998ae90db" + }, + "json": { + "operation": { + "operation_id": "op_4be3387671a61839e73ac0e35fbe9daae30a038eb2943751ab2bed086542e7a7", + "status": "running", + "poll": "/api/datasets/operations/op_4be3387671a61839e73ac0e35fbe9daae30a038eb2943751ab2bed086542e7a7", + "retry_after_ms": 1500, + "progress": { + "rows_written": 78218, + "estimate_rows": 112798 + } + } + } + } + }, + { + "request": { + "method": "GET", + "path": "/datasets/operations/op_4be3387671a61839e73ac0e35fbe9daae30a038eb2943751ab2bed086542e7a7" + }, + "response": { + "status": 200, + "headers": { + "content-type": "application/json", + "retry-after": "2", + "x-dfo-trace-id": "032d2a0727d24cde8efef07b07bc6250" + }, + "json": { + "operation": { + "operation_id": "op_4be3387671a61839e73ac0e35fbe9daae30a038eb2943751ab2bed086542e7a7", + "status": "running", + "poll": "/api/datasets/operations/op_4be3387671a61839e73ac0e35fbe9daae30a038eb2943751ab2bed086542e7a7", + "retry_after_ms": 1808, + "progress": { + "rows_written": 112798, + "estimate_rows": 112798 + } + } + } + } + }, + { + "request": { + "method": "GET", + "path": "/datasets/operations/op_4be3387671a61839e73ac0e35fbe9daae30a038eb2943751ab2bed086542e7a7" + }, + "response": { + "status": 200, + "headers": { + "content-type": "application/json", + "retry-after": "3", + "x-dfo-trace-id": "6ab2666b3d304158ba3044223be013e7" + }, + "json": { + "operation": { + "operation_id": "op_4be3387671a61839e73ac0e35fbe9daae30a038eb2943751ab2bed086542e7a7", + "status": "running", + "poll": "/api/datasets/operations/op_4be3387671a61839e73ac0e35fbe9daae30a038eb2943751ab2bed086542e7a7", + "retry_after_ms": 2328, + "progress": { + "rows_written": 112798, + "estimate_rows": 112798 + } + } + } + } + }, + { + "request": { + "method": "GET", + "path": "/datasets/operations/op_4be3387671a61839e73ac0e35fbe9daae30a038eb2943751ab2bed086542e7a7" + }, + "response": { + "status": 200, + "headers": { + "content-type": "application/json", + "retry-after": "3", + "x-dfo-trace-id": "3592604e35c344329ea6716fe023c3b4" }, "json": { "operation": { - "operation_id": "op_d3596ce124b0257af0dfded6707dc8179b5e046e67080dd6995f7e0de23f7fe5", + "operation_id": "op_4be3387671a61839e73ac0e35fbe9daae30a038eb2943751ab2bed086542e7a7", + "status": "running", + "poll": "/api/datasets/operations/op_4be3387671a61839e73ac0e35fbe9daae30a038eb2943751ab2bed086542e7a7", + "retry_after_ms": 2989, + "progress": { + "rows_written": 112798, + "estimate_rows": 112798 + } + } + } + } + }, + { + "request": { + "method": "GET", + "path": "/datasets/operations/op_4be3387671a61839e73ac0e35fbe9daae30a038eb2943751ab2bed086542e7a7" + }, + "response": { + "status": 200, + "headers": { + "content-type": "application/json", + "x-dfo-trace-id": "5f79a0f236c741b6adc7fbece2ad874a" + }, + "json": { + "operation": { + "operation_id": "op_4be3387671a61839e73ac0e35fbe9daae30a038eb2943751ab2bed086542e7a7", "status": "done" }, "manifest": { "schema_version": 1, "definition": { "schema_version": 1, - "spec_id": "spec_8150d26a25222b2043e8c12b250b764d", + "spec_id": "spec_afa305d4c2ea8a14b7502ae6add29150", "identity": { "shape": { "kind": "statvar_schema", @@ -309,14 +439,14 @@ "requested_window": { "kind": "range", "end_year": 2024, - "start_year": 1966 + "start_year": 1965 } } }, - "content_version": "cv_fe2e676a79899730eac6110f58213472", - "prepared_at": "2026-10-23T18:38:59Z", + "content_version": "cv_e5cf1688f2e3ca168a199237ca2a8a62", + "prepared_at": "2026-10-25T17:36:35Z", "coverage": { - "rows": 112203, + "rows": 112798, "dimensions": [ { "label": "financingProvider", @@ -338,14 +468,14 @@ }, { "label": "years", - "count": 59 + "count": 60 } ], "window": { "kind": "range", "origin": "query", "end_year": 2024, - "start_year": 1966 + "start_year": 1965 } }, "citation": { @@ -464,13 +594,13 @@ "kind": "range", "origin": "query", "end_year": 2024, - "start_year": 1966 + "start_year": 1965 }, - "graph_revision": "dfo-dev-dc-datacommons-service-00264-2s9", + "graph_revision": "dfo-dev-dc-datacommons-service-00273-mmh", "normalisations": [], "code_index_stamp": { - "exported_at": "2026-10-23T18:14:12Z", - "content_hash": "29eb81d7b6c88641b1d4e8eb5e850ca36de66b99d6e9e09680aac020507a6392", + "exported_at": "2026-10-24T19:20:27Z", + "content_hash": "3d946d8f4986dbbe0fa3e5c4c917200381f529d89ce417c11daeb22df56eed99", "graph_endpoint": "graph_release" }, "source_revisions": [ @@ -479,8 +609,8 @@ "revision": "2026-10-15" } ], - "capability_version": "dset_cc753cefa9199881", - "materialiser_build": "035d29cd05fb31d7cb47cfb33197d4002f773df6", + "capability_version": "dset_76f5fa7244511c58", + "materialiser_build": "99e62038ceb4b459c2ac699549076ff123c166aa", "resolved_stat_vars": [ { "ref": "dcid:Amount_FinancialFlow_Gross_Disbursement_DAC2aAidType206_Nominal", @@ -488,21 +618,30 @@ "financingProvider", "financingRecipient" ], - "observation_count": 112203 + "observation_count": 112798 } ], "family_member_count": 1, "family_member_digest": "1a36e1a7292b1bfff95a5415de0be74cac7bb033217ed50e79faa8ce51a224c0", "frame_grammar_version": "1.1.0", - "origin_catalogue_build_id": "20261023T061534Z-06fa7b89", + "origin_catalogue_build_id": "20261024T193016Z-775d36a9", "served_from": "materialise", - "confirmed_at": "2026-10-24T16:31:14.752129+00:00" + "confirmed_at": "2026-10-25T17:36:38.103885+00:00" }, "warnings": [ { "code": "coverage_below_scope", "severity": "warn", - "message": "The served coverage falls short of the requested scope. No observations were served for country/CHL, country/COL, country/CRI, country/MEX." + "message": "The served coverage falls short of the requested scope. No observations were served for 4 requested entities.", + "unserved_entities": { + "count": 4, + "refs": [ + "dcid:country/CHL", + "dcid:country/COL", + "dcid:country/CRI", + "dcid:country/MEX" + ] + } } ], "diagnostics": [ @@ -514,34 +653,34 @@ ], "artifacts": [ { - "artifact_digest": "sha256:55f95f11ffe010e99407d279d159e956d4dfa6a6ba89f6d73aa32fb952fccd1d", + "artifact_digest": "sha256:c8c92ee6fd4b6f393a341cab7b74e3632caa4fdca1f27a3de55c4fbc8fb3521d", "rendering": { "bundle": false, "format": "parquet", "layout": 4 }, - "bytes": 489647, + "bytes": 490836, "media_type": "application/vnd.apache.parquet", - "created_at": "2026-10-23T18:39:02.714887+00:00", + "created_at": "2026-10-25T17:36:38.047534+00:00", "tier": "working", - "url": "/api/datasets/spec_8150d26a25222b2043e8c12b250b764d/cv_fe2e676a79899730eac6110f58213472/files/sha256:55f95f11ffe010e99407d279d159e956d4dfa6a6ba89f6d73aa32fb952fccd1d", + "url": "/api/datasets/spec_afa305d4c2ea8a14b7502ae6add29150/cv_e5cf1688f2e3ca168a199237ca2a8a62/files/sha256:c8c92ee6fd4b6f393a341cab7b74e3632caa4fdca1f27a3de55c4fbc8fb3521d", "enrichment_stamp": "08ed6c734fc69ea2204a21f4e1dd8b963f14dd1e03a2484c618049ac2e2d93d8" }, { - "artifact_digest": "sha256:39345f0fc420a15e6262bf58781d46ebda6e7e9a0f11fc0c7540826b151a1d0e", + "artifact_digest": "sha256:b6d3b2335306c70ae0da6717fd03af72362fc94026aea7cd722ea24e9ebb56f6", "rendering": { "statistics": "series" }, - "bytes": 153622, + "bytes": 153509, "media_type": "application/vnd.apache.parquet", - "created_at": "2026-10-23T18:39:02.714887+00:00", + "created_at": "2026-10-25T17:36:38.047534+00:00", "tier": "working", - "url": "/api/datasets/spec_8150d26a25222b2043e8c12b250b764d/cv_fe2e676a79899730eac6110f58213472/files/sha256:39345f0fc420a15e6262bf58781d46ebda6e7e9a0f11fc0c7540826b151a1d0e" + "url": "/api/datasets/spec_afa305d4c2ea8a14b7502ae6add29150/cv_e5cf1688f2e3ca168a199237ca2a8a62/files/sha256:b6d3b2335306c70ae0da6717fd03af72362fc94026aea7cd722ea24e9ebb56f6" } ], "series_count": 3907, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -565,7 +704,7 @@ "name": "time_period", "kind": "grain", "droppable": false, - "distinct": 59 + "distinct": 60 }, { "name": "value", @@ -805,7 +944,7 @@ "varying": [ { "column": "time_period", - "distinct": 59 + "distinct": 60 } ] }, @@ -829,7 +968,7 @@ "varying": [ { "column": "time_period", - "distinct": 59 + "distinct": 60 } ] }, @@ -888,10 +1027,10 @@ ] } }, - "series_coverage_stamp": "0b8c9a18fcc5af19013b21e865c64481503b6a6542f7d2e6628999e6559a47de", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, - "held_until": "2026-11-22T18:39:02.713360Z" + "held_until": "2026-11-24T17:36:38.046628Z" } } } @@ -1127,7 +1266,7 @@ "requested_window": { "kind": "range", "end_year": 2024, - "start_year": 1966 + "start_year": 1965 } } } @@ -1139,7 +1278,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "0a02312a9fba4338a5c67e61e4f0c8fd" + "x-dfo-trace-id": "849b0bfe758f4d2fb7d97b3fd393db83" }, "json": { "schema_version": 1, @@ -1148,11 +1287,11 @@ "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "0a02312a9fba4338a5c67e61e4f0c8fd", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "849b0bfe758f4d2fb7d97b3fd393db83", "warnings": [], "timing_ms": { - "total": 2806, + "total": 2937, "by_step": { "coverage": 0 } @@ -1165,19 +1304,19 @@ "variable_text": "dataset", "warnings": [], "timing_ms": { - "total": 2075, + "total": 2669, "by_step": { - "validate": 1, - "walk": 10, - "reread_arcs": 0, + "validate": 0, + "walk": 15, + "reread_arcs": 1, "detect_edits": 0, "resolve_survivors": 0, - "shape": 1995, + "shape": 2596, "bind": 0, "where_places": 1, - "materialise": 24, - "answer": 11, - "options": 33 + "materialise": 33, + "answer": 13, + "options": 10 } }, "entity_refs": [], @@ -1192,10 +1331,10 @@ "assumptions": [], "status": "definite", "spec": { - "spec_id": "spec_8150d26a25222b2043e8c12b250b764d", + "spec_id": "spec_afa305d4c2ea8a14b7502ae6add29150", "definition": { "schema_version": 1, - "spec_id": "spec_8150d26a25222b2043e8c12b250b764d", + "spec_id": "spec_afa305d4c2ea8a14b7502ae6add29150", "identity": { "identity_version": "spec1", "shape": { @@ -1413,7 +1552,7 @@ }, "requested_window": { "kind": "range", - "start_year": 1966, + "start_year": 1965, "end_year": 2024 } } @@ -2526,7 +2665,7 @@ "value": { "value_kind": "time_window", "time_window": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 } } @@ -2553,7 +2692,7 @@ "member_count_exact": true, "served_count": 1, "data_date_range": { - "start": "1966", + "start": "1965", "end": "2024" } }, @@ -3588,7 +3727,7 @@ "coverage": { "kind": "exact", "has_data": true, - "observation_count": 112203, + "observation_count": 112798, "evidence": "facet_metadata", "dimensions": [ { @@ -3597,7 +3736,7 @@ }, { "label": "observations", - "count": 59 + "count": 60 }, { "label": "variables", @@ -3605,7 +3744,7 @@ } ], "window": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 } }, @@ -3613,7 +3752,7 @@ "year": 2024, "year_named": true, "named_window": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "observations": 2629, @@ -3653,18 +3792,18 @@ ] }, "download": { - "rows": 112203, + "rows": 112798, "rows_exact": true, "series": 3907, "window": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "licence": { "label": "OECD Terms and Conditions" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -3710,7 +3849,7 @@ "relation": "child", "parent": "DAC2aAidType206", "member_count": 2, - "served_rows": 18000, + "served_rows": 18234, "served_rows_exact": true }, { @@ -3724,7 +3863,7 @@ "relation": "child", "parent": "DAC2aAidType206", "member_count": 1, - "served_rows": 111362, + "served_rows": 111914, "served_rows_exact": true }, { @@ -3806,7 +3945,7 @@ "source": "observed" } ], - "rendered_sentence": "Gross disbursements to 133 recipients from 38 providers for official development assistance, 1966 to 2024. Current US dollars · OECD DAC2a.", + "rendered_sentence": "Gross disbursements to 133 recipients from 38 providers for official development assistance, 1965 to 2024. Current US dollars · OECD DAC2a.", "sentence_plan": [ { "kind": "slot", @@ -4089,7 +4228,7 @@ }, { "kind": "slot", - "text": "1966 to 2024", + "text": "1965 to 2024", "axis": "when", "segment": "heading", "binding_ref": "when:", @@ -5482,10 +5621,10 @@ ], "query_qualifiers": [], "requested_window": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, - "capability_version": "cap_9deef72763b45f40" + "capability_version": "cap_88defe77cc79e0c0" }, "confidence": "high", "available_at_place": true, @@ -5493,7 +5632,7 @@ { "definition": { "schema_version": 1, - "spec_id": "spec_52f77b1b2faab0669b4e550e53379c22", + "spec_id": "spec_721eaf4bd95202b5cda14c33d8b443ee", "identity": { "identity_version": "spec1", "shape": { @@ -5711,7 +5850,7 @@ }, "requested_window": { "kind": "range", - "start_year": 1966, + "start_year": 1965, "end_year": 2024 } } @@ -5755,7 +5894,7 @@ } } ], - "served_rows": 112830, + "served_rows": 113428, "served_rows_exact": true } ], @@ -5814,7 +5953,7 @@ "end_year": 2021 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 2023, @@ -5828,7 +5967,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 2002, @@ -5842,7 +5981,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -5856,7 +5995,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1992, @@ -5870,7 +6009,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1991, @@ -5884,7 +6023,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -5894,11 +6033,11 @@ "code": "AUD", "noun": "Australian dollars", "current_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1960, @@ -5912,7 +6051,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1995, @@ -5926,7 +6065,7 @@ "end_year": 2019 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 2023, @@ -5940,7 +6079,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1996, @@ -5954,7 +6093,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -5968,7 +6107,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -5982,7 +6121,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -5996,7 +6135,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6010,7 +6149,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1985, @@ -6024,7 +6163,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6038,7 +6177,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1986, @@ -6052,7 +6191,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6066,7 +6205,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6080,7 +6219,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6094,7 +6233,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1992, @@ -6108,7 +6247,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6118,11 +6257,11 @@ "code": "CAD", "noun": "Canadian dollars", "current_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1960, @@ -6136,7 +6275,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1991, @@ -6146,11 +6285,11 @@ "code": "CHF", "noun": "Swiss francs", "current_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1960, @@ -6164,7 +6303,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6178,7 +6317,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6192,7 +6331,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6206,7 +6345,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6220,7 +6359,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6234,7 +6373,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1998, @@ -6248,7 +6387,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1990, @@ -6258,11 +6397,11 @@ "code": "DKK", "noun": "Danish kroner", "current_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1960, @@ -6276,7 +6415,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6290,7 +6429,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6304,7 +6443,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6318,7 +6457,7 @@ "end_year": 2019 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1992, @@ -6332,7 +6471,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6346,7 +6485,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1973, @@ -6360,7 +6499,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6370,11 +6509,11 @@ "code": "GBP", "noun": "British pounds", "current_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1960, @@ -6388,7 +6527,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1994, @@ -6402,7 +6541,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6416,7 +6555,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6430,7 +6569,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6444,7 +6583,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6458,7 +6597,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6472,7 +6611,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6486,7 +6625,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6500,7 +6639,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6514,7 +6653,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 2003, @@ -6528,7 +6667,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6542,7 +6681,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1997, @@ -6556,7 +6695,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6570,7 +6709,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 2000, @@ -6584,7 +6723,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6598,7 +6737,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1997, @@ -6612,7 +6751,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6626,7 +6765,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6636,11 +6775,11 @@ "code": "JPY", "noun": "Japanese yen", "current_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1960, @@ -6654,7 +6793,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6668,7 +6807,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1992, @@ -6682,7 +6821,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1986, @@ -6696,7 +6835,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6710,7 +6849,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1987, @@ -6724,7 +6863,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1995, @@ -6738,7 +6877,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 2013, @@ -6752,7 +6891,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6766,7 +6905,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6780,7 +6919,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6794,7 +6933,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6808,7 +6947,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6822,7 +6961,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6836,7 +6975,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1992, @@ -6850,7 +6989,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6864,7 +7003,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1992, @@ -6878,7 +7017,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1998, @@ -6892,7 +7031,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6906,7 +7045,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 2001, @@ -6920,7 +7059,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1990, @@ -6934,7 +7073,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6948,7 +7087,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6962,7 +7101,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6976,7 +7115,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -6990,7 +7129,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -7004,7 +7143,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -7018,7 +7157,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1989, @@ -7032,7 +7171,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1990, @@ -7046,7 +7185,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1987, @@ -7056,11 +7195,11 @@ "code": "NOK", "noun": "Norwegian kroner", "current_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1960, @@ -7074,7 +7213,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -7084,11 +7223,11 @@ "code": "NZD", "noun": "New Zealand dollars", "current_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1961, @@ -7102,7 +7241,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -7116,7 +7255,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -7130,7 +7269,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -7144,7 +7283,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -7158,7 +7297,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -7172,7 +7311,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1998, @@ -7186,7 +7325,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -7200,7 +7339,7 @@ "end_year": 1990 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 2023, @@ -7214,7 +7353,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 2013, @@ -7228,7 +7367,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1997, @@ -7242,7 +7381,7 @@ "end_year": 2020 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 2010, @@ -7256,7 +7395,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -7270,7 +7409,7 @@ "end_year": 2023 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 2000, @@ -7284,7 +7423,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -7298,7 +7437,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -7312,7 +7451,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -7322,11 +7461,11 @@ "code": "SEK", "noun": "Swedish kronor", "current_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1960, @@ -7340,7 +7479,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -7354,7 +7493,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -7368,7 +7507,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -7382,7 +7521,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 2011, @@ -7396,7 +7535,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -7410,7 +7549,7 @@ "end_year": 2010 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -7424,7 +7563,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -7438,7 +7577,7 @@ "end_year": 2016 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 2018, @@ -7452,7 +7591,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1992, @@ -7466,7 +7605,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1992, @@ -7480,7 +7619,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -7494,7 +7633,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -7508,7 +7647,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1990, @@ -7522,7 +7661,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -7536,7 +7675,7 @@ "end_year": 2016 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 2023, @@ -7550,7 +7689,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -7564,7 +7703,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1991, @@ -7578,7 +7717,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -7588,11 +7727,11 @@ "code": "USD", "noun": "US dollars", "current_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1960, @@ -7606,7 +7745,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -7620,7 +7759,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1992, @@ -7634,7 +7773,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 2017, @@ -7648,7 +7787,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -7662,7 +7801,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -7676,7 +7815,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -7690,7 +7829,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -7704,7 +7843,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -7718,7 +7857,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -7732,7 +7871,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 2014, @@ -7746,7 +7885,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -7760,7 +7899,7 @@ "end_year": 2024 }, "constant_years": { - "start_year": 1966, + "start_year": 1965, "end_year": 2024 }, "base_year_min": 1980, @@ -7774,7 +7913,7 @@ } } ], - "rendered_sentence": "Gross disbursements to 133 recipients from 38 providers for official development assistance, 1966 to 2024. Current US dollars · OECD DAC2a. You asked for Chile, Colombia, Costa Rica, and Mexico. The data holds no values for them.", + "rendered_sentence": "Gross disbursements to 133 recipients from 38 providers for official development assistance, 1965 to 2024. Current US dollars · OECD DAC2a. You asked for Chile, Colombia, Costa Rica, and Mexico. The data holds no values for them.", "sentence_plan": [ { "kind": "slot", @@ -8067,7 +8206,7 @@ }, { "kind": "slot", - "text": "1966 to 2024", + "text": "1965 to 2024", "axis": "when", "segment": "heading", "binding_ref": "when:", @@ -8150,21 +8289,21 @@ { "request": { "method": "GET", - "origin_path": "/api/datasets/spec_8150d26a25222b2043e8c12b250b764d/cv_fe2e676a79899730eac6110f58213472/files/sha256:55f95f11ffe010e99407d279d159e956d4dfa6a6ba89f6d73aa32fb952fccd1d" + "origin_path": "/api/datasets/spec_afa305d4c2ea8a14b7502ae6add29150/cv_e5cf1688f2e3ca168a199237ca2a8a62/files/sha256:c8c92ee6fd4b6f393a341cab7b74e3632caa4fdca1f27a3de55c4fbc8fb3521d" }, "response": { "status": 302, "headers": { "content-type": "text/html", - "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A55f95f11ffe010e99407d279d159e956d4dfa6a6ba89f6d73aa32fb952fccd1d?X-Goog-Signature=redacted", - "x-dfo-trace-id": "51314836477547c6aff574e07f6b19ab" + "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3Ac8c92ee6fd4b6f393a341cab7b74e3632caa4fdca1f27a3de55c4fbc8fb3521d?X-Goog-Signature=redacted", + "x-dfo-trace-id": "cb161d2235e34b58bab93dec5adc8c66" } } }, { "request": { "method": "GET", - "url": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3A55f95f11ffe010e99407d279d159e956d4dfa6a6ba89f6d73aa32fb952fccd1d?X-Goog-Signature=redacted" + "url": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3Ac8c92ee6fd4b6f393a341cab7b74e3632caa4fdca1f27a3de55c4fbc8fb3521d?X-Goog-Signature=redacted" }, "response": { "status": 200, @@ -8178,13 +8317,13 @@ "expect": [ { "operation": { - "operation_id": "op_d3596ce124b0257af0dfded6707dc8179b5e046e67080dd6995f7e0de23f7fe5", + "operation_id": "op_4be3387671a61839e73ac0e35fbe9daae30a038eb2943751ab2bed086542e7a7", "status": "running" } }, { "dataset": { - "rows": 112203, + "rows": 112798, "columns": [ "stat_var", "financingProvider", @@ -8211,18 +8350,23 @@ "members": [ { "parts": [], - "spec_id": "spec_8150d26a25222b2043e8c12b250b764d", - "content_version": "cv_fe2e676a79899730eac6110f58213472", - "sentence": "Gross disbursements to 133 recipients from 38 providers for official development assistance, 1966 to 2024. Current US dollars · OECD DAC2a." + "spec_id": "spec_afa305d4c2ea8a14b7502ae6add29150", + "content_version": "cv_e5cf1688f2e3ca168a199237ca2a8a62", + "sentence": "Gross disbursements to 133 recipients from 38 providers for official development assistance, 1965 to 2024. Current US dollars · OECD DAC2a." } ], "missing": [], "long_builds": [ { - "operation_id": "op_d3596ce124b0257af0dfded6707dc8179b5e046e67080dd6995f7e0de23f7fe5", + "operation_id": "op_4be3387671a61839e73ac0e35fbe9daae30a038eb2943751ab2bed086542e7a7", "poll_waits": [ 1.5, - 1.5 + 1.5, + 1.5, + 1.5, + 1.808, + 2.328, + 2.989 ], "resubmissions": 0 } diff --git a/python/client-contract/src/dfo_client_contract/scenarios/operation-resume.parquet b/python/client-contract/src/dfo_client_contract/scenarios/operation-resume.parquet index b39d4a8..ccb81e1 100644 Binary files a/python/client-contract/src/dfo_client_contract/scenarios/operation-resume.parquet and b/python/client-contract/src/dfo_client_contract/scenarios/operation-resume.parquet differ diff --git a/python/client-contract/src/dfo_client_contract/scenarios/resubmit-candidates-sibling.json b/python/client-contract/src/dfo_client_contract/scenarios/resubmit-candidates-sibling.json index 7854333..1959d74 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/resubmit-candidates-sibling.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/resubmit-candidates-sibling.json @@ -5,8 +5,8 @@ "origin": { "kind": "recorded", "base_url": "https://dfo-dev-apis-zms5lj4zhq-nn.a.run.app/api", - "dfo_commit": "0ba344270784ae9929a369da8acd00b399dfced8", - "recorded_at": "2026-10-24T16:31:50Z" + "dfo_commit": "99e62038ceb4b459c2ac699549076ff123c166aa", + "recorded_at": "2026-10-25T17:37:13Z" }, "call": [ { @@ -36,7 +36,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "a42078d26ea943a488b4cb642719e808" + "x-dfo-trace-id": "af1bc4ea7c8d4fc3a2c7700c683b0a50" }, "json": { "schema_version": 1, @@ -47,14 +47,14 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "a42078d26ea943a488b4cb642719e808", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "af1bc4ea7c8d4fc3a2c7700c683b0a50", "warnings": [], "timing_ms": { - "total": 4608, + "total": 5338, "by_step": { "coverage": 0, - "extract": 1312, + "extract": 1068, "cache_lookup": 0 } }, @@ -62,7 +62,7 @@ "input_tokens": 2241, "output_tokens": 197, "cached_tokens": 843, - "jev_input_tokens": 26474, + "jev_input_tokens": 26477, "jev_output_tokens": 5727 }, "timed_out": false @@ -73,28 +73,28 @@ "variable_text": "mortality", "warnings": [], "timing_ms": { - "total": 2048, + "total": 2825, "by_step": { "recall": 1, - "phase_resolve_places": 0, + "phase_resolve_places": 1, "phase_check_entities": 0, "shape_arcs": 4, - "shape_probe": 96, - "shape_groups": 5, + "shape_probe": 100, + "shape_groups": 6, "shape_labels": 1, "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 246, + "shape": 209, "phase_prune_and_rank": 0, - "bind": 131, - "phase_bind": 11, - "phase_settle": 7, - "phase_place_bindings": 29, + "bind": 134, + "phase_bind": 16, + "phase_settle": 1, + "phase_place_bindings": 33, "phase_facet_requests": 0, - "materialise": 113, - "phase_materialise": 0, - "answer": 106, - "phase_outcome": 1404 + "materialise": 735, + "phase_materialise": 56, + "answer": 54, + "phase_outcome": 1585 } }, "rendered_sentence": "2 readings. Kenya's deaths rate per capita. World Development Indicators · 2013 to 2022. Kenya's number of deaths. Kenya Census · 2018 to 2022.", @@ -816,7 +816,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -2350,7 +2350,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -2388,29 +2388,29 @@ } ], "timing_ms": { - "total": 3238, + "total": 4195, "by_step": { - "recall": 321, + "recall": 256, "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 86, - "shape_probe_coverage": 32, - "shape_probe": 102, - "shape_groups": 22, + "shape_arcs": 160, + "shape_probe_coverage": 1, + "shape_probe": 678, + "shape_groups": 59, "shape_labels": 1, - "shape_admission": 1, + "shape_admission": 0, "phase_derive_shapes": 0, - "shape": 316, + "shape": 1043, "phase_prune_and_rank": 0, - "bind": 125, - "phase_bind": 26, - "phase_settle": 56, - "phase_place_bindings": 1829, + "bind": 144, + "phase_bind": 29, + "phase_settle": 20, + "phase_place_bindings": 2077, "phase_facet_requests": 0, - "materialise": 162, - "phase_materialise": 0, - "answer": 104, - "phase_outcome": 299 + "materialise": 164, + "phase_materialise": 120, + "answer": 95, + "phase_outcome": 247 } }, "rendered_sentence": "2 readings. Kenya's annual amount of emissions: carbon dioxide. Air and GHG emissions · 2013 to 2020. Kenya's annual amount of emissions: carbon dioxide. Air and GHG emissions · 2013 to 2020.", @@ -3048,7 +3048,7 @@ "value": { "ref": { "ref": "CarbonDioxide", - "label": "CarbonDioxide" + "label": "Carbon Dioxide (CO2)" }, "value_kind": "enum_value" }, @@ -3289,7 +3289,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -3305,7 +3305,7 @@ "varies": false, "value": { "ref": "CarbonDioxide", - "label": "Carbon Dioxide" + "label": "Carbon Dioxide (CO2)" }, "distinct_count": 1, "undeclared_count": 0, @@ -3313,7 +3313,7 @@ { "value": { "ref": "CarbonDioxide", - "label": "Carbon Dioxide" + "label": "Carbon Dioxide (CO2)" }, "count": 1 } @@ -3570,7 +3570,7 @@ "value": { "ref": { "ref": "CarbonDioxide", - "label": "CarbonDioxide" + "label": "Carbon Dioxide (CO2)" }, "value_kind": "enum_value" }, @@ -3788,7 +3788,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -3805,7 +3805,7 @@ "varies": false, "value": { "ref": "CarbonDioxide", - "label": "Carbon Dioxide" + "label": "Carbon Dioxide (CO2)" }, "distinct_count": 1, "undeclared_count": 0, @@ -3813,7 +3813,7 @@ { "value": { "ref": "CarbonDioxide", - "label": "Carbon Dioxide" + "label": "Carbon Dioxide (CO2)" }, "count": 1 } @@ -4375,7 +4375,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "775b92aeffce4d859d3170a45daccd25" + "x-dfo-trace-id": "4836483df98c43069fa37974421a91c9" }, "json": { "schema_version": 1, @@ -4384,11 +4384,11 @@ "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "775b92aeffce4d859d3170a45daccd25", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "4836483df98c43069fa37974421a91c9", "warnings": [], "timing_ms": { - "total": 811, + "total": 852, "by_step": { "coverage": 0 } @@ -4401,18 +4401,18 @@ "variable_text": "mortality", "warnings": [], "timing_ms": { - "total": 397, + "total": 320, "by_step": { - "validate": 0, + "validate": 1, "walk": 0, - "reread_arcs": 1, + "reread_arcs": 0, "detect_edits": 0, "resolve_survivors": 0, - "shape": 274, + "shape": 171, "bind": 0, "where_places": 0, - "materialise": 121, - "answer": 1, + "materialise": 146, + "answer": 2, "options": 0 } }, @@ -4932,7 +4932,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40" + "capability_version": "cap_88defe77cc79e0c0" }, "confidence": "high", "available_at_place": true, @@ -4994,19 +4994,19 @@ } ], "timing_ms": { - "total": 1120, + "total": 1243, "by_step": { "validate": 0, - "walk": 797, - "reread_arcs": 2, + "walk": 930, + "reread_arcs": 0, "detect_edits": 0, "resolve_survivors": 0, - "shape": 9, + "shape": 11, "bind": 0, "where_places": 0, - "materialise": 168, + "materialise": 195, "answer": 8, - "options": 136 + "options": 99 } }, "rendered_sentence": "2 readings. Kenya's annual amount of emissions: carbon dioxide. Air and GHG emissions · 2013 to 2020. Kenya's annual amount of emissions: carbon dioxide. Air and GHG emissions · 2013 to 2020.", @@ -5606,7 +5606,7 @@ "value": { "ref": { "ref": "CarbonDioxide", - "label": "CarbonDioxide" + "label": "Carbon Dioxide (CO2)" }, "value_kind": "enum_value" }, @@ -5686,7 +5686,9 @@ "axis": "what", "segment": "heading", "entity_refs": [], - "states": [] + "states": [ + "how:emittedThing" + ] }, { "kind": "slot", @@ -5845,178 +5847,27 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40" + "capability_version": "cap_88defe77cc79e0c0" }, "confidence": "high", "available_at_place": true, "measure_label_axes": [], "measure_axis_values": [], "open_axis_facts": [ - { - "property": "emissionSource", - "varies": true, - "distinct_count": 16, - "undeclared_count": 6, - "values": [ - { - "value": { - "ref": "Agriculture", - "label": "Agriculture" - }, - "count": 1 - }, - { - "value": { - "ref": "EPA_SCC/4", - "label": "Chemical Evaporation (SCC 4)" - }, - "count": 1 - }, - { - "value": { - "ref": "EPA_SCC/1", - "label": "External Combustion (SCC 1)" - }, - "count": 1 - }, - { - "value": { - "ref": "EPA_SCC/23", - "label": "Industrial Processes - NonPoint Source (SCC 23)" - }, - "count": 1 - }, - { - "value": { - "ref": "EPA_SCC/3", - "label": "Industrial Processes - Point Source (SCC 3)" - }, - "count": 1 - }, - { - "value": { - "ref": "EPA_SCC/2", - "label": "Internal Combustion Engines (SCC 2)" - }, - "count": 1 - }, - { - "value": { - "ref": "EPA_SCC/6", - "label": "MACT Source Categories (SCC 6)" - }, - "count": 1 - }, - { - "value": { - "ref": "EPA_SCC/28", - "label": "Miscellaneous Area Sources (SCC 28)" - }, - "count": 1 - }, - { - "value": { - "ref": "EPA_SCC/22", - "label": "Mobile Sources (SCC 22)" - }, - "count": 1 - }, - { - "value": { - "ref": "EPA_SCC/27", - "label": "Natural Sources (SCC 27)" - }, - "count": 1 - }, - { - "value": { - "ref": "ClimateTrace_OtherAgriculturalSoilEmissions", - "label": "Other Agricultural Soil Emissions" - }, - "count": 1 - }, - { - "value": { - "ref": "EPA_SCC/24", - "label": "Solvent Utilization (SCC 24)" - }, - "count": 1 - }, - { - "value": { - "ref": "EPA_SCC/21", - "label": "Stationary Source Fuel Combustion (SCC 21)" - }, - "count": 1 - }, - { - "value": { - "ref": "EPA_SCC/25", - "label": "Storage and Transport (SCC 25)" - }, - "count": 1 - }, - { - "value": { - "ref": "EPA_SCC/5", - "label": "Waste Disposal (SCC 5)" - }, - "count": 1 - }, - { - "value": { - "ref": "EPA_SCC/26", - "label": "Waste Disposal, Treatment, and Recovery (SCC 26)" - }, - "count": 1 - } - ] - }, { "property": "emittedThing", - "varies": true, - "distinct_count": 6, - "undeclared_count": 16, + "varies": false, + "value": { + "ref": "CarbonDioxide", + "label": "Carbon Dioxide (CO2)" + }, + "distinct_count": 1, + "undeclared_count": 0, "values": [ { "value": { "ref": "CarbonDioxide", - "label": "Carbon Dioxide" - }, - "count": 1 - }, - { - "value": { - "ref": "CarbonMonoxide", - "label": "CarbonMonoxide" - }, - "count": 1 - }, - { - "value": { - "ref": "GreenhouseGas", - "label": "GreenhouseGas" - }, - "count": 1 - }, - { - "value": { - "ref": "OxidesOfNitrogen", - "label": "Oxides Of Nitrogen (NOX)" - }, - "count": 1 - }, - { - "value": { - "ref": "OxidesOfSulfur", - "label": "OxidesOfSulfur" - }, - "count": 1 - }, - { - "value": { - "ref": "VolatileOrganicCompound", - "label": "Volatile Organic Compound (VOC)" + "label": "Carbon Dioxide (CO2)" }, "count": 1 } @@ -6273,7 +6124,7 @@ "value": { "ref": { "ref": "CarbonDioxide", - "label": "CarbonDioxide" + "label": "Carbon Dioxide (CO2)" }, "value_kind": "enum_value" }, @@ -6353,7 +6204,9 @@ "axis": "what", "segment": "heading", "entity_refs": [], - "states": [] + "states": [ + "how:emittedThing" + ] }, { "kind": "slot", @@ -6489,7 +6342,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40" + "capability_version": "cap_88defe77cc79e0c0" }, "confidence": "high", "available_at_place": true, @@ -6498,49 +6351,18 @@ "open_axis_facts": [ { "property": "emittedThing", - "varies": true, - "distinct_count": 6, + "varies": false, + "value": { + "ref": "CarbonDioxide", + "label": "Carbon Dioxide (CO2)" + }, + "distinct_count": 1, "undeclared_count": 0, "values": [ { "value": { "ref": "CarbonDioxide", - "label": "Carbon Dioxide" - }, - "count": 1 - }, - { - "value": { - "ref": "CarbonMonoxide", - "label": "CarbonMonoxide" - }, - "count": 1 - }, - { - "value": { - "ref": "GreenhouseGas", - "label": "GreenhouseGas" - }, - "count": 1 - }, - { - "value": { - "ref": "OxidesOfNitrogen", - "label": "Oxides Of Nitrogen (NOX)" - }, - "count": 1 - }, - { - "value": { - "ref": "OxidesOfSulfur", - "label": "OxidesOfSulfur" - }, - "count": 1 - }, - { - "value": { - "ref": "VolatileOrganicCompound", - "label": "Volatile Organic Compound (VOC)" + "label": "Carbon Dioxide (CO2)" }, "count": 1 } diff --git a/python/client-contract/src/dfo_client_contract/scenarios/resubmit-placeholder-without-restatement.json b/python/client-contract/src/dfo_client_contract/scenarios/resubmit-placeholder-without-restatement.json index eb14cf3..2d4947e 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/resubmit-placeholder-without-restatement.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/resubmit-placeholder-without-restatement.json @@ -5,8 +5,8 @@ "origin": { "kind": "recorded", "base_url": "https://dfo-dev-apis-zms5lj4zhq-nn.a.run.app/api", - "dfo_commit": "0ba344270784ae9929a369da8acd00b399dfced8", - "recorded_at": "2026-10-24T16:32:06Z" + "dfo_commit": "99e62038ceb4b459c2ac699549076ff123c166aa", + "recorded_at": "2026-10-25T17:37:32Z" }, "call": [ { @@ -36,7 +36,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "8419a37e166c4f1c99132fe35dbe31ce" + "x-dfo-trace-id": "7d1c4e7cda8741809e23ad442314943f" }, "json": { "schema_version": 1, @@ -47,14 +47,14 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "8419a37e166c4f1c99132fe35dbe31ce", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "7d1c4e7cda8741809e23ad442314943f", "warnings": [], "timing_ms": { - "total": 3120, + "total": 3037, "by_step": { "coverage": 0, - "extract": 1374, + "extract": 1160, "cache_lookup": 0 } }, @@ -73,28 +73,28 @@ "variable_text": "mortality", "warnings": [], "timing_ms": { - "total": 1744, + "total": 1872, "by_step": { - "recall": 2, - "phase_resolve_places": 0, + "recall": 1, + "phase_resolve_places": 1, "phase_check_entities": 0, - "shape_arcs": 3, - "shape_probe": 80, - "shape_groups": 5, + "shape_arcs": 5, + "shape_probe": 93, + "shape_groups": 7, "shape_labels": 1, "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 178, + "shape": 224, "phase_prune_and_rank": 0, - "bind": 126, - "phase_bind": 11, - "phase_settle": 7, - "phase_place_bindings": 17, + "bind": 242, + "phase_bind": 15, + "phase_settle": 1, + "phase_place_bindings": 36, "phase_facet_requests": 0, - "materialise": 26, - "phase_materialise": 0, - "answer": 30, - "phase_outcome": 1347 + "materialise": 35, + "phase_materialise": 28, + "answer": 53, + "phase_outcome": 1236 } }, "rendered_sentence": "2 readings. Kenya's deaths rate per capita. World Development Indicators · 2013 to 2022. Kenya's number of deaths. Kenya Census · 2018 to 2022.", @@ -816,7 +816,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -2350,7 +2350,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -2375,22 +2375,22 @@ "variable_text": "savings", "warnings": [], "timing_ms": { - "total": 1383, + "total": 691, "by_step": { - "recall": 222, + "recall": 251, "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 1, + "shape_arcs": 2, "shape_probe_coverage": 1, - "shape_probe": 181, - "shape_groups": 41, + "shape_probe": 109, + "shape_groups": 59, "shape_labels": 1, "shape_admission": 0, "phase_derive_shapes": 0, - "shape": 1000, + "shape": 291, "phase_prune_and_rank": 0, - "bind": 103, - "phase_bind": 58 + "bind": 143, + "phase_bind": 6 } }, "rendered_sentence": "Could not match \"savings\" to a supported indicator. Try a different wording or a related indicator.", @@ -2727,7 +2727,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "00de3c0cb919474893de7c4eb875f9be" + "x-dfo-trace-id": "749ca6333aa64edd9de3c8cb02bd693a" }, "json": { "schema_version": 1, @@ -2736,11 +2736,11 @@ "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "00de3c0cb919474893de7c4eb875f9be", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "749ca6333aa64edd9de3c8cb02bd693a", "warnings": [], "timing_ms": { - "total": 293, + "total": 312, "by_step": { "coverage": 0 } @@ -2760,12 +2760,12 @@ "reread_arcs": 0, "detect_edits": 0, "resolve_survivors": 0, - "shape": 149, + "shape": 159, "bind": 0, - "where_places": 1, - "materialise": 90, - "answer": 1, - "options": 1 + "where_places": 0, + "materialise": 81, + "answer": 2, + "options": 0 } }, "entity_refs": [], @@ -3284,7 +3284,7 @@ "start_year": 2013, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40" + "capability_version": "cap_88defe77cc79e0c0" }, "confidence": "high", "available_at_place": true, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/search-body-not-an-object.json b/python/client-contract/src/dfo_client_contract/scenarios/search-body-not-an-object.json index 54acd79..de173c2 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/search-body-not-an-object.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/search-body-not-an-object.json @@ -30,7 +30,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "304fe92b998b45849ff11a547aadc3e8" + "x-dfo-trace-id": "7fd4a5b5b50648999f5ead8966bcc02c" }, "json": [ { @@ -42,14 +42,14 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "304fe92b998b45849ff11a547aadc3e8", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "7fd4a5b5b50648999f5ead8966bcc02c", "warnings": [], "timing_ms": { - "total": 1416, + "total": 1054, "by_step": { "coverage": 0, - "extract": 1297, + "extract": 1050, "cache_lookup": 0 } }, @@ -66,9 +66,9 @@ "variable_text": "ODA disbursements", "warnings": [], "timing_ms": { - "total": 115, + "total": 0, "by_step": { - "recall": 115, + "recall": 0, "phase_resolve_places": 0, "phase_check_entities": 0 } @@ -88,6 +88,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [] }, @@ -184,7 +185,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 }, { "mentions": [ @@ -213,7 +215,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 } ] } @@ -235,6 +238,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [], "part_index": 0 @@ -259,7 +263,7 @@ "error": { "class": "ContractError", "code": "contract_violation", - "trace_id": "304fe92b998b45849ff11a547aadc3e8" + "trace_id": "7fd4a5b5b50648999f5ead8966bcc02c" } } ] diff --git a/python/client-contract/src/dfo_client_contract/scenarios/search-place-ambiguous-twice.json b/python/client-contract/src/dfo_client_contract/scenarios/search-place-ambiguous-twice.json new file mode 100644 index 0000000..c71b5dc --- /dev/null +++ b/python/client-contract/src/dfo_client_contract/scenarios/search-place-ambiguous-twice.json @@ -0,0 +1,384 @@ +{ + "format_version": 1, + "name": "search-place-ambiguous-twice", + "description": "A flow naming one ambiguous place at both ends answers one no_data part with two entity_ambiguous groups of the same text: each option and slot token names its group by entity_choice, so a menu groups options by entity_choice, never by mentions.", + "origin": { + "kind": "recorded", + "base_url": "https://dfo-dev-apis-zms5lj4zhq-nn.a.run.app/api", + "dfo_commit": "99e62038ceb4b459c2ac699549076ff123c166aa", + "recorded_at": "2026-10-25T17:36:49Z" + }, + "call": [ + { + "op": "search", + "question": "aid from Congo to Congo" + } + ], + "exchanges": [ + { + "request": { + "method": "POST", + "path": "/search/resolve", + "json": { + "schema_version": 1, + "input": { + "kind": "raw_text", + "query": "aid from Congo to Congo" + } + } + }, + "response": { + "status": 200, + "headers": { + "content-type": "application/json", + "x-dfo-trace-id": "8f5cab91863343b4965c34bb668c4168" + }, + "json": { + "schema_version": 1, + "query_echo": { + "entry_path": "raw_text", + "raw_query": "aid from Congo to Congo", + "normalized_query": "aid from Congo to Congo", + "extract_skipped": true + }, + "diagnostics": { + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "8f5cab91863343b4965c34bb668c4168", + "warnings": [], + "timing_ms": { + "total": 1, + "by_step": { + "coverage": 0, + "response_cache_layer1": 1 + } + }, + "llm_usage": { + "input_tokens": 0, + "output_tokens": 0, + "cached_tokens": 0 + }, + "timed_out": false + }, + "kind": "resolution", + "parts": [ + { + "variable_text": "aid", + "warnings": [], + "timing_ms": { + "total": 133, + "by_step": { + "recall": 133, + "phase_resolve_places": 0, + "phase_check_entities": 0 + } + }, + "rendered_sentence": "\"Congo\" (from) and \"Congo\" (to) each match more than one entity: \"Congo [DRC]\" and \"Congo [Republic]\". Be more specific.", + "sentence_plan": [ + { + "kind": "text", + "text": "\"", + "segment": "heading", + "entity_refs": [], + "states": [] + }, + { + "kind": "slot", + "text": "Congo", + "segment": "heading", + "role": "origin", + "entity_choice": 0, + "entity_refs": [], + "states": [] + }, + { + "kind": "text", + "text": "\" (from) and \"", + "segment": "heading", + "entity_refs": [], + "states": [] + }, + { + "kind": "slot", + "text": "Congo", + "axis": "where", + "segment": "heading", + "role": "destination", + "entity_choice": 1, + "entity_refs": [], + "states": [] + }, + { + "kind": "text", + "text": "\" (to) each match more than one entity: \"Congo [DRC]\" and \"Congo [Republic]\". Be more specific.", + "segment": "heading", + "entity_refs": [], + "states": [] + } + ], + "restatement": { + "variable_text": "aid", + "entities": [ + { + "text": "Congo", + "name": "Democratic Republic of the Congo", + "role_text": "from" + }, + { + "text": "Congo", + "name": "Republic of the Congo", + "role_text": "to" + } + ], + "sources": [], + "operations": [] + }, + "entity_refs": [ + { + "text": "Congo", + "refs": [] + }, + { + "text": "Congo", + "refs": [] + } + ], + "operations": [], + "departures": [], + "assumptions": [], + "status": "no_data", + "no_data": { + "reason": "entity_ambiguous", + "category": "unresolved", + "message": "\"Congo\" (from) and \"Congo\" (to) each match more than one entity: \"Congo [DRC]\" and \"Congo [Republic]\". Be more specific.", + "entity_terms": [ + "Congo", + "Congo" + ], + "ambiguous_entities": [ + { + "text": "Congo", + "candidates": [ + { + "ref": "country/COD", + "label": "Congo [DRC]", + "kind": "country" + }, + { + "ref": "country/COG", + "label": "Congo [Republic]", + "kind": "country" + } + ] + }, + { + "text": "Congo", + "candidates": [ + { + "ref": "country/COD", + "label": "Congo [DRC]", + "kind": "country" + }, + { + "ref": "country/COG", + "label": "Congo [Republic]", + "kind": "country" + } + ] + } + ], + "source_terms": [], + "ambiguous_sources": [], + "unbound_qualifiers": [], + "options": [ + { + "mentions": [ + "Congo" + ], + "label": "Congo [DRC]", + "data_query": { + "kind": "parsed", + "parts": [ + { + "variable_text": "aid", + "entities": [ + { + "text": "Congo", + "role_text": "from", + "dcid": "country/COD" + }, + { + "text": "Congo", + "name": "Republic of the Congo", + "role_text": "to" + } + ], + "sources": [], + "operations": [] + } + ] + }, + "entity_choice": 0 + }, + { + "mentions": [ + "Congo" + ], + "label": "Congo [Republic]", + "data_query": { + "kind": "parsed", + "parts": [ + { + "variable_text": "aid", + "entities": [ + { + "text": "Congo", + "role_text": "from", + "dcid": "country/COG" + }, + { + "text": "Congo", + "name": "Republic of the Congo", + "role_text": "to" + } + ], + "sources": [], + "operations": [] + } + ] + }, + "entity_choice": 0 + }, + { + "mentions": [ + "Congo" + ], + "label": "Congo [DRC]", + "data_query": { + "kind": "parsed", + "parts": [ + { + "variable_text": "aid", + "entities": [ + { + "text": "Congo", + "name": "Democratic Republic of the Congo", + "role_text": "from" + }, + { + "text": "Congo", + "role_text": "to", + "dcid": "country/COD" + } + ], + "sources": [], + "operations": [] + } + ] + }, + "entity_choice": 1 + }, + { + "mentions": [ + "Congo" + ], + "label": "Congo [Republic]", + "data_query": { + "kind": "parsed", + "parts": [ + { + "variable_text": "aid", + "entities": [ + { + "text": "Congo", + "name": "Democratic Republic of the Congo", + "role_text": "from" + }, + { + "text": "Congo", + "role_text": "to", + "dcid": "country/COG" + } + ], + "sources": [], + "operations": [] + } + ] + }, + "entity_choice": 1 + } + ] + } + } + ], + "rendered_sentence": "\"Congo\" (from) and \"Congo\" (to) each match more than one entity: \"Congo [DRC]\" and \"Congo [Republic]\". Be more specific.", + "sentence_plan": [ + { + "kind": "text", + "text": "\"", + "segment": "heading", + "entity_refs": [], + "states": [], + "part_index": 0 + }, + { + "kind": "slot", + "text": "Congo", + "segment": "heading", + "role": "origin", + "entity_choice": 0, + "entity_refs": [], + "states": [], + "part_index": 0 + }, + { + "kind": "text", + "text": "\" (from) and \"", + "segment": "heading", + "entity_refs": [], + "states": [], + "part_index": 0 + }, + { + "kind": "slot", + "text": "Congo", + "axis": "where", + "segment": "heading", + "role": "destination", + "entity_choice": 1, + "entity_refs": [], + "states": [], + "part_index": 0 + }, + { + "kind": "text", + "text": "\" (to) each match more than one entity: \"Congo [DRC]\" and \"Congo [Republic]\". Be more specific.", + "segment": "heading", + "entity_refs": [], + "states": [], + "part_index": 0 + } + ], + "status": "no_data" + } + } + } + ], + "expect": [ + { + "answer": { + "kind": "resolution", + "status": "no_data", + "sentence": "\"Congo\" (from) and \"Congo\" (to) each match more than one entity: \"Congo [DRC]\" and \"Congo [Republic]\". Be more specific.", + "complete": false, + "specs": [], + "gaps": [ + { + "part": 0, + "kind": "choice", + "options": 4 + } + ] + } + } + ] +} diff --git a/python/client-contract/src/dfo_client_contract/scenarios/search-place-ambiguous.json b/python/client-contract/src/dfo_client_contract/scenarios/search-place-ambiguous.json index 7763a30..37dd24d 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/search-place-ambiguous.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/search-place-ambiguous.json @@ -5,8 +5,8 @@ "origin": { "kind": "recorded", "base_url": "https://dfo-dev-apis-zms5lj4zhq-nn.a.run.app/api", - "dfo_commit": "0ba344270784ae9929a369da8acd00b399dfced8", - "recorded_at": "2026-10-24T16:31:27Z" + "dfo_commit": "99e62038ceb4b459c2ac699549076ff123c166aa", + "recorded_at": "2026-10-25T17:36:46Z" }, "call": [ { @@ -31,7 +31,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "304fe92b998b45849ff11a547aadc3e8" + "x-dfo-trace-id": "7fd4a5b5b50648999f5ead8966bcc02c" }, "json": { "schema_version": 1, @@ -42,14 +42,14 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "304fe92b998b45849ff11a547aadc3e8", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "7fd4a5b5b50648999f5ead8966bcc02c", "warnings": [], "timing_ms": { - "total": 1416, + "total": 1054, "by_step": { "coverage": 0, - "extract": 1297, + "extract": 1050, "cache_lookup": 0 } }, @@ -66,9 +66,9 @@ "variable_text": "ODA disbursements", "warnings": [], "timing_ms": { - "total": 115, + "total": 0, "by_step": { - "recall": 115, + "recall": 0, "phase_resolve_places": 0, "phase_check_entities": 0 } @@ -88,6 +88,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [] }, @@ -184,7 +185,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 }, { "mentions": [ @@ -213,7 +215,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 } ] } @@ -235,6 +238,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [], "part_index": 0 diff --git a/python/client-contract/src/dfo_client_contract/scenarios/search-proxy-rate-limited.json b/python/client-contract/src/dfo_client_contract/scenarios/search-proxy-rate-limited.json index f930fba..46d5e92 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/search-proxy-rate-limited.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/search-proxy-rate-limited.json @@ -61,7 +61,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "304fe92b998b45849ff11a547aadc3e8" + "x-dfo-trace-id": "7fd4a5b5b50648999f5ead8966bcc02c" }, "json": { "schema_version": 1, @@ -72,14 +72,14 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "304fe92b998b45849ff11a547aadc3e8", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "7fd4a5b5b50648999f5ead8966bcc02c", "warnings": [], "timing_ms": { - "total": 1416, + "total": 1054, "by_step": { "coverage": 0, - "extract": 1297, + "extract": 1050, "cache_lookup": 0 } }, @@ -96,9 +96,9 @@ "variable_text": "ODA disbursements", "warnings": [], "timing_ms": { - "total": 115, + "total": 0, "by_step": { - "recall": 115, + "recall": 0, "phase_resolve_places": 0, "phase_check_entities": 0 } @@ -118,6 +118,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [] }, @@ -214,7 +215,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 }, { "mentions": [ @@ -243,7 +245,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 } ] } @@ -265,6 +268,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [], "part_index": 0 diff --git a/python/client-contract/src/dfo_client_contract/scenarios/search-retry-after-503.json b/python/client-contract/src/dfo_client_contract/scenarios/search-retry-after-503.json index 9603c79..2070d99 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/search-retry-after-503.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/search-retry-after-503.json @@ -60,7 +60,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "304fe92b998b45849ff11a547aadc3e8" + "x-dfo-trace-id": "7fd4a5b5b50648999f5ead8966bcc02c" }, "json": { "schema_version": 1, @@ -71,14 +71,14 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "304fe92b998b45849ff11a547aadc3e8", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "7fd4a5b5b50648999f5ead8966bcc02c", "warnings": [], "timing_ms": { - "total": 1416, + "total": 1054, "by_step": { "coverage": 0, - "extract": 1297, + "extract": 1050, "cache_lookup": 0 } }, @@ -95,9 +95,9 @@ "variable_text": "ODA disbursements", "warnings": [], "timing_ms": { - "total": 115, + "total": 0, "by_step": { - "recall": 115, + "recall": 0, "phase_resolve_places": 0, "phase_check_entities": 0 } @@ -117,6 +117,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [] }, @@ -213,7 +214,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 }, { "mentions": [ @@ -242,7 +244,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 } ] } @@ -264,6 +267,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [], "part_index": 0 diff --git a/python/client-contract/src/dfo_client_contract/scenarios/search-server-warning.json b/python/client-contract/src/dfo_client_contract/scenarios/search-server-warning.json index 6424a89..2692829 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/search-server-warning.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/search-server-warning.json @@ -38,7 +38,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "304fe92b998b45849ff11a547aadc3e8", + "x-dfo-trace-id": "7fd4a5b5b50648999f5ead8966bcc02c", "x-dfo-warning": "Search runs on a reduced index while it is rebuilt." }, "json": { @@ -50,14 +50,14 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "304fe92b998b45849ff11a547aadc3e8", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "7fd4a5b5b50648999f5ead8966bcc02c", "warnings": [], "timing_ms": { - "total": 1416, + "total": 1054, "by_step": { "coverage": 0, - "extract": 1297, + "extract": 1050, "cache_lookup": 0 } }, @@ -74,9 +74,9 @@ "variable_text": "ODA disbursements", "warnings": [], "timing_ms": { - "total": 115, + "total": 0, "by_step": { - "recall": 115, + "recall": 0, "phase_resolve_places": 0, "phase_check_entities": 0 } @@ -96,6 +96,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [] }, @@ -192,7 +193,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 }, { "mentions": [ @@ -221,7 +223,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 } ] } @@ -243,6 +246,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [], "part_index": 0 @@ -276,7 +280,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "304fe92b998b45849ff11a547aadc3e8", + "x-dfo-trace-id": "7fd4a5b5b50648999f5ead8966bcc02c", "x-dfo-warning": "Search runs on a reduced index while it is rebuilt.", "sunset": "Sat, 01 May 2027 00:00:00 GMT" }, @@ -289,14 +293,14 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "304fe92b998b45849ff11a547aadc3e8", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "7fd4a5b5b50648999f5ead8966bcc02c", "warnings": [], "timing_ms": { - "total": 1416, + "total": 1054, "by_step": { "coverage": 0, - "extract": 1297, + "extract": 1050, "cache_lookup": 0 } }, @@ -313,9 +317,9 @@ "variable_text": "ODA disbursements", "warnings": [], "timing_ms": { - "total": 115, + "total": 0, "by_step": { - "recall": 115, + "recall": 0, "phase_resolve_places": 0, "phase_check_entities": 0 } @@ -335,6 +339,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [] }, @@ -431,7 +436,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 }, { "mentions": [ @@ -460,7 +466,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 } ] } @@ -482,6 +489,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [], "part_index": 0 @@ -515,7 +523,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "304fe92b998b45849ff11a547aadc3e8", + "x-dfo-trace-id": "7fd4a5b5b50648999f5ead8966bcc02c", "x-dfo-warning": "Search answers from a cached release.", "deprecation": "@1777593600", "sunset": "Sat, 01 May 2027 00:00:00 GMT" @@ -529,14 +537,14 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "304fe92b998b45849ff11a547aadc3e8", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "7fd4a5b5b50648999f5ead8966bcc02c", "warnings": [], "timing_ms": { - "total": 1416, + "total": 1054, "by_step": { "coverage": 0, - "extract": 1297, + "extract": 1050, "cache_lookup": 0 } }, @@ -553,9 +561,9 @@ "variable_text": "ODA disbursements", "warnings": [], "timing_ms": { - "total": 115, + "total": 0, "by_step": { - "recall": 115, + "recall": 0, "phase_resolve_places": 0, "phase_check_entities": 0 } @@ -575,6 +583,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [] }, @@ -671,7 +680,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 }, { "mentions": [ @@ -700,7 +710,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 } ] } @@ -722,6 +733,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [], "part_index": 0 diff --git a/python/client-contract/src/dfo_client_contract/scenarios/search-sunset-warning.json b/python/client-contract/src/dfo_client_contract/scenarios/search-sunset-warning.json index 8c3b97e..5ca56de 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/search-sunset-warning.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/search-sunset-warning.json @@ -34,7 +34,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "304fe92b998b45849ff11a547aadc3e8", + "x-dfo-trace-id": "7fd4a5b5b50648999f5ead8966bcc02c", "sunset": "Sat, 01 May 2027 00:00:00 GMT" }, "json": { @@ -46,14 +46,14 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "304fe92b998b45849ff11a547aadc3e8", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "7fd4a5b5b50648999f5ead8966bcc02c", "warnings": [], "timing_ms": { - "total": 1416, + "total": 1054, "by_step": { "coverage": 0, - "extract": 1297, + "extract": 1050, "cache_lookup": 0 } }, @@ -70,9 +70,9 @@ "variable_text": "ODA disbursements", "warnings": [], "timing_ms": { - "total": 115, + "total": 0, "by_step": { - "recall": 115, + "recall": 0, "phase_resolve_places": 0, "phase_check_entities": 0 } @@ -92,6 +92,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [] }, @@ -188,7 +189,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 }, { "mentions": [ @@ -217,7 +219,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 } ] } @@ -239,6 +242,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [], "part_index": 0 @@ -272,7 +276,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "304fe92b998b45849ff11a547aadc3e8", + "x-dfo-trace-id": "7fd4a5b5b50648999f5ead8966bcc02c", "sunset": "Sat, 01 May 2027 00:00:00 GMT" }, "json": { @@ -284,14 +288,14 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "304fe92b998b45849ff11a547aadc3e8", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "7fd4a5b5b50648999f5ead8966bcc02c", "warnings": [], "timing_ms": { - "total": 1416, + "total": 1054, "by_step": { "coverage": 0, - "extract": 1297, + "extract": 1050, "cache_lookup": 0 } }, @@ -308,9 +312,9 @@ "variable_text": "ODA disbursements", "warnings": [], "timing_ms": { - "total": 115, + "total": 0, "by_step": { - "recall": 115, + "recall": 0, "phase_resolve_places": 0, "phase_check_entities": 0 } @@ -330,6 +334,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [] }, @@ -426,7 +431,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 }, { "mentions": [ @@ -455,7 +461,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 } ] } @@ -477,6 +484,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [], "part_index": 0 diff --git a/python/client-contract/src/dfo_client_contract/scenarios/search-two-parts-place-ambiguous.json b/python/client-contract/src/dfo_client_contract/scenarios/search-two-parts-place-ambiguous.json index 36a4e81..bf34e7a 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/search-two-parts-place-ambiguous.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/search-two-parts-place-ambiguous.json @@ -5,8 +5,8 @@ "origin": { "kind": "recorded", "base_url": "https://dfo-dev-apis-zms5lj4zhq-nn.a.run.app/api", - "dfo_commit": "0ba344270784ae9929a369da8acd00b399dfced8", - "recorded_at": "2026-10-24T16:31:28Z" + "dfo_commit": "99e62038ceb4b459c2ac699549076ff123c166aa", + "recorded_at": "2026-10-25T17:36:48Z" }, "call": [ { @@ -31,7 +31,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "4b576ea3cd364ddeb664b3b219dffb19" + "x-dfo-trace-id": "4fae4e9b2aac46e181137e1a5933cad9" }, "json": { "schema_version": 1, @@ -42,14 +42,14 @@ "extract_skipped": false }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "4b576ea3cd364ddeb664b3b219dffb19", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "4fae4e9b2aac46e181137e1a5933cad9", "warnings": [], "timing_ms": { - "total": 1260, + "total": 1079, "by_step": { "coverage": 0, - "extract": 1255, + "extract": 1073, "cache_lookup": 0 } }, @@ -68,8 +68,8 @@ "timing_ms": { "total": 1, "by_step": { - "recall": 1, - "phase_resolve_places": 0, + "recall": 0, + "phase_resolve_places": 1, "phase_check_entities": 0 } }, @@ -88,6 +88,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [] }, @@ -195,7 +196,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 }, { "mentions": [ @@ -228,7 +230,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 } ] } @@ -259,6 +262,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [] }, @@ -366,7 +370,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 }, { "mentions": [ @@ -399,7 +404,8 @@ "operations": [] } ] - } + }, + "entity_choice": 0 } ] } @@ -420,6 +426,7 @@ "axis": "where", "segment": "heading", "role": "destination", + "entity_choice": 0, "entity_refs": [], "states": [] }, diff --git a/python/client-contract/src/dfo_client_contract/scenarios/search-warning-top5.json b/python/client-contract/src/dfo_client_contract/scenarios/search-warning-top5.json index e612f0d..ca600da 100644 --- a/python/client-contract/src/dfo_client_contract/scenarios/search-warning-top5.json +++ b/python/client-contract/src/dfo_client_contract/scenarios/search-warning-top5.json @@ -5,8 +5,8 @@ "origin": { "kind": "recorded", "base_url": "https://dfo-dev-apis-zms5lj4zhq-nn.a.run.app/api", - "dfo_commit": "0ba344270784ae9929a369da8acd00b399dfced8", - "recorded_at": "2026-10-24T16:31:33Z" + "dfo_commit": "99e62038ceb4b459c2ac699549076ff123c166aa", + "recorded_at": "2026-10-25T17:36:56Z" }, "call": [ { @@ -38,7 +38,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "50172d3089cd486e929895f6865985bb" + "x-dfo-trace-id": "8efbbbdde0c5461cb4b3bf1723d9895e" }, "json": { "schema_version": 1, @@ -46,26 +46,23 @@ "entry_path": "raw_text", "raw_query": "top 5 donors to Ethiopia in 2022", "normalized_query": "top 5 donors to Ethiopia in 2022", - "extract_skipped": false + "extract_skipped": true }, "diagnostics": { - "engine_build": "0ba344270784ae9929a369da8acd00b399dfced8", - "trace_id": "50172d3089cd486e929895f6865985bb", + "engine_build": "99e62038ceb4b459c2ac699549076ff123c166aa", + "trace_id": "8efbbbdde0c5461cb4b3bf1723d9895e", "warnings": [], "timing_ms": { - "total": 1979, + "total": 3, "by_step": { "coverage": 0, - "extract": 1147, - "cache_lookup": 1 + "response_cache_layer1": 1 } }, "llm_usage": { - "input_tokens": 2233, - "output_tokens": 188, - "cached_tokens": 841, - "jev_input_tokens": 4485, - "jev_output_tokens": 849 + "input_tokens": 0, + "output_tokens": 0, + "cached_tokens": 0 }, "timed_out": false }, @@ -97,30 +94,30 @@ } ], "timing_ms": { - "total": 829, + "total": 911, "by_step": { - "recall": 300, + "recall": 405, "phase_resolve_places": 0, "phase_check_entities": 0, - "shape_arcs": 3, - "shape_probe_coverage": 5, - "shape_probe": 152, - "shape_groups": 4, + "shape_arcs": 4, + "shape_probe_coverage": 7, + "shape_probe": 119, + "shape_groups": 6, "shape_labels": 0, "shape_admission": 1, "phase_derive_shapes": 0, - "shape": 264, + "shape": 220, "phase_prune_and_rank": 0, - "bind": 97, - "phase_bind": 14, - "phase_settle": 9, + "bind": 107, + "phase_bind": 17, + "phase_settle": 8, "phase_place_bindings": 1, "phase_facet_requests": 0, - "materialise": 34, - "phase_materialise": 0, - "answer": 16, - "options": 36, - "phase_outcome": 58 + "materialise": 40, + "phase_materialise": 5, + "answer": 26, + "options": 12, + "phase_outcome": 70 } }, "restatement": { @@ -533,7 +530,7 @@ "label": "OECD Terms and Conditions" } }, - "coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "facets": { "provenance": { "basis": "fallback", @@ -911,7 +908,7 @@ "label": "disbursement" } ], - "provenance": "measure_elected" + "provenance": "binder" }, { "key": { @@ -982,7 +979,7 @@ "start_year": 2022, "end_year": 2022 }, - "capability_version": "cap_9deef72763b45f40", + "capability_version": "cap_88defe77cc79e0c0", "default_reading": { "applied": true, "removed_stat_vars": [] @@ -3401,7 +3398,7 @@ "status": 200, "headers": { "content-type": "application/json", - "x-dfo-trace-id": "66eb538f1f7943f8a03a5c3500185e5a" + "x-dfo-trace-id": "a75708bb29f54f7990579c3103e25a2d" }, "json": { "schema_version": 1, @@ -3644,7 +3641,7 @@ "frame_grammar_version": "1.1.0", "origin_catalogue_build_id": "20261019T174519Z-2e5e8cfd", "served_from": "head", - "confirmed_at": "2026-10-24T16:31:36.102594+00:00" + "confirmed_at": "2026-10-25T17:36:57.924541+00:00" }, "warnings": [], "diagnostics": [ @@ -3683,7 +3680,7 @@ ], "series_count": 110, "output_options": { - "capability_version": "dset_cc753cefa9199881", + "capability_version": "dset_76f5fa7244511c58", "columns": [ { "name": "stat_var", @@ -4037,7 +4034,7 @@ ] } }, - "series_coverage_stamp": "45bdd65f2fd33ac77a897180047080d33ed9db812afe0cbb887bf22e2ac52690", + "series_coverage_stamp": "e6e717ab8c77e84d010915893ede5809e9ecec67929a07cfafbcc2210edfa1eb", "retention": { "pinned": false, "held_until": "2026-11-19T16:52:44.112184Z" @@ -4055,7 +4052,7 @@ "headers": { "content-type": "text/html", "location": "https://storage.googleapis.com/dev-fin-observatory-datasets-working/sha256%3Af0ac1a058c4addb59b1974b73706b12ddc112b409aac006d6a561279f61f0c6a?X-Goog-Signature=redacted", - "x-dfo-trace-id": "cf517ecd99ac4157ab7d54003b5771a5" + "x-dfo-trace-id": "bef8e4e89532481ab37c6143ca0b7689" } } }, @@ -4090,7 +4087,7 @@ "error": { "class": "SearchWarning", "code": null, - "trace_id": "50172d3089cd486e929895f6865985bb" + "trace_id": "8efbbbdde0c5461cb4b3bf1723d9895e" } }, { diff --git a/python/client-contract/src/dfo_client_contract/served/SOURCE.json b/python/client-contract/src/dfo_client_contract/served/SOURCE.json index 4e6aeef..bb4f7b2 100644 --- a/python/client-contract/src/dfo_client_contract/served/SOURCE.json +++ b/python/client-contract/src/dfo_client_contract/served/SOURCE.json @@ -1,6 +1,6 @@ { "format_version": 1, "repository": "DevelopmentFinanceObservatory/apis", - "commit": "0ba344270784ae9929a369da8acd00b399dfced8", + "commit": "99e62038ceb4b459c2ac699549076ff123c166aa", "captured_from": "dfo_apis.app.create_app() in process" } diff --git a/python/client-contract/src/dfo_client_contract/served/openapi.json b/python/client-contract/src/dfo_client_contract/served/openapi.json index e3ca7a2..31280af 100644 --- a/python/client-contract/src/dfo_client_contract/served/openapi.json +++ b/python/client-contract/src/dfo_client_contract/served/openapi.json @@ -4301,7 +4301,7 @@ }, "type": "array", "title": "Entity Refs", - "description": "the binding of each entity text of `restatement`, once per text in restatement order, so a client can tell which node a text such as 'G7' bound. A response field kept off `restatement`, which posts back unchanged. The binding is the one the answer reads: for a candidates part, the elected reading's; for a part folded into an earlier part's spec, its own. [] when `restatement` is null or names no entity" + "description": "the binding of each entity of `restatement`, one per restatement.entities row, in row order, so a client can tell which node a text such as 'G7' bound. A response field kept off `restatement`, which posts back unchanged. The binding is the one the answer reads: for a candidates part, the elected reading's; for a part folded into an earlier part's spec, its own. [] when `restatement` is null or names no entity" }, "operations": { "items": { @@ -6115,6 +6115,56 @@ "title": "ConvertedUnitModel", "description": "A converted unit, as the frame's `unit` cell states it." }, + "CountedEntityYearsModel": { + "properties": { + "count": { + "type": "integer", + "title": "Count", + "description": "how many entities there are" + }, + "entities": { + "items": { + "$ref": "#/components/schemas/EntityYearsModel" + }, + "type": "array", + "title": "Entities", + "description": "the first ten of them, sorted" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "count", + "entities" + ], + "title": "CountedEntityYearsModel", + "description": "The entities a conversion left rows out of, each with its years: how many, and the\nfirst ten, sorted (`materialise.codes.CountedEntityYears`). The message states the count\nand names none, so a reader labels the refs." + }, + "CountedRefsModel": { + "properties": { + "count": { + "type": "integer", + "title": "Count", + "description": "how many there are" + }, + "refs": { + "items": { + "type": "string" + }, + "type": "array", + "title": "Refs", + "description": "the `dcid:` refs of the first five of them, ten for omitted_entities: a group's members in request order, entities sorted" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "count", + "refs" + ], + "title": "CountedRefsModel", + "description": "The things of one kind a warning counts: how many, and the `dcid:` refs of the first\nfive, or ten for a conversion's left-out entities (`materialise.codes.CountedRefs`). The message states the count and names none, so a\nreader labels the refs." + }, "CountedStatVarModel": { "properties": { "stat_var": { @@ -7281,7 +7331,7 @@ }, "type": "array", "title": "Entity Refs", - "description": "the binding of each entity text of `restatement`, once per text in restatement order, so a client can tell which node a text such as 'G7' bound. A response field kept off `restatement`, which posts back unchanged. The binding is the one the answer reads: for a candidates part, the elected reading's; for a part folded into an earlier part's spec, its own. [] when `restatement` is null or names no entity" + "description": "the binding of each entity of `restatement`, one per restatement.entities row, in row order, so a client can tell which node a text such as 'G7' bound. A response field kept off `restatement`, which posts back unchanged. The binding is the one the answer reads: for a candidates part, the elected reading's; for a part folded into an earlier part's spec, its own. [] when `restatement` is null or names no entity" }, "operations": { "items": { @@ -8244,7 +8294,7 @@ "text": { "type": "string", "title": "Text", - "description": "the entity text, equal to some restatement.entities[i].text" + "description": "the entity text, equal to restatement.entities[i].text, where i is this entry's position in Part.entity_refs" }, "refs": { "items": { @@ -8262,7 +8312,32 @@ "refs" ], "title": "EntityRefs", - "description": "The graph nodes one entity text of a part's restatement binds in the answer." + "description": "The graph nodes one entity row of a part's restatement binds in the answer." + }, + "EntityYearsModel": { + "properties": { + "ref": { + "type": "string", + "title": "Ref", + "description": "the entity's `dcid:` ref" + }, + "years": { + "items": { + "type": "string" + }, + "type": "array", + "title": "Years", + "description": "the years left out, as runs of consecutive years, `1990-2001` or `2004`" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "ref", + "years" + ], + "title": "EntityYearsModel", + "description": "One entity a conversion left rows out of, and the years of those rows\n(`materialise.codes.EntityYears`)." }, "Exclusion": { "properties": { @@ -10799,6 +10874,19 @@ "data_query": { "$ref": "#/components/schemas/ParsedInput", "description": "a one-part parsed input settling this choice only. Post it unchanged as the input of /api/search/resolve; its one part is a dataset_resubmit parsed entry's part. A second ambiguous wording refuses again. Whether data exists for it is not checked" + }, + "entity_choice": { + "anyOf": [ + { + "type": "integer", + "minimum": 0.0 + }, + { + "type": "null" + } + ], + "title": "Entity Choice", + "description": "for an entity_ambiguous option, the index into NoData.ambiguous_entities of the group this option settles; null on every other option. Two groups can share one wording ('aid from Congo to Congo' asks 'Congo' for each end), so a client groups an entity menu by this index, never by mentions, and joins it to the sentence slot token with the same entity_choice" } }, "additionalProperties": false, @@ -10894,7 +10982,7 @@ }, "type": "array", "title": "Entity Refs", - "description": "the binding of each entity text of `restatement`, once per text in restatement order, so a client can tell which node a text such as 'G7' bound. A response field kept off `restatement`, which posts back unchanged. The binding is the one the answer reads: for a candidates part, the elected reading's; for a part folded into an earlier part's spec, its own. [] when `restatement` is null or names no entity" + "description": "the binding of each entity of `restatement`, one per restatement.entities row, in row order, so a client can tell which node a text such as 'G7' bound. A response field kept off `restatement`, which posts back unchanged. The binding is the one the answer reads: for a candidates part, the elected reading's; for a part folded into an earlier part's spec, its own. [] when `restatement` is null or names no entity" }, "operations": { "items": { @@ -12101,7 +12189,21 @@ "maxLength": 128, "minLength": 1, "title": "Text", - "description": "the entity's text as the caller identified it" + "description": "the entity's text as the caller identified it: the request's own words for it, which name resolution reads and a rendered sentence quotes" + }, + "name": { + "anyOf": [ + { + "type": "string", + "maxLength": 128, + "minLength": 1 + }, + { + "type": "null" + } + ], + "title": "Name", + "description": "the entity's name, when its words (`text`) could name more than one entity and no `dcid` pins it: the row's identity, which keys its role and members within the part. Name resolution reads `text` with `name` beside it, as the raw-text door reads a query's words beside the name extraction gave them, so two rows whose words are alike stay two entities. Words that differ from `name` only in case read as `name`, and one `name` posted with two texts that differ beyond case in a part refuses `request_invalid`. Without it, `text` is the identity; a `name` equal to `text` is the field left out, and a `name` beside a `dcid` is invalid. A row no dcid pins whose identity, its `name` or else its `text`, is a dcid another row of the part pins refuses `request_invalid` at the row" }, "role_text": { "anyOf": [ @@ -12128,7 +12230,7 @@ } ], "title": "Dcid", - "description": "an optional caller-pinned dcid for this entity, naming exactly which graph node `text` refers to -- the door a client with a candidate's dcid in hand (e.g. from NoData.ambiguous_entities) posts through, instead of relying on name resolution to disambiguate `text` on its own. When present, this entity's name resolution is skipped: the pinned dcid seeds the entry's pre_resolved map directly, still confirmed against the graph. An unconfirmable dcid (absent from the graph, or present but type-less) refuses invalid_role_ref (422). `text` stays required and is not re-derived from the dcid; it is still what a rendered sentence and any further restatement echo back." + "description": "an optional caller-pinned dcid for this entity, naming exactly which graph node `text` refers to -- the door a client with a candidate's dcid in hand (e.g. from NoData.ambiguous_entities) posts through, instead of relying on name resolution to disambiguate `text` on its own. When present, this entity's name resolution is skipped: the pinned dcid seeds the entry's pre_resolved map directly, still confirmed against the graph. An unconfirmable dcid (absent from the graph, or present but type-less) refuses invalid_role_ref (422). `text` stays required and is not re-derived from the dcid; it is still what a rendered sentence and any further restatement echo back. The dcid is the row's identity, so rows pinning one dcid under different texts are one entity, whose words are the first row's. A row no dcid pins whose `name`, or else `text`, is this dcid refuses request_invalid at that row." }, "members": { "anyOf": [ @@ -12140,7 +12242,7 @@ } ], "title": "Members", - "description": "true asks for the members of the set `text` names, each as its own series: the countries of a continent or UN subregion, or the members of a group. It has no effect on a single place. Text whose wording names members, such as 'EU member states', reads as true without the flag. With a pinned `dcid` it is honoured for a continent or subregion that the membership policy holds or omits, whatever the node's graph type, and refuses request_invalid for a group's own node, whose members a pin cannot supply. One part names a set once: the same `text` posted with both values refuses request_invalid" + "description": "true asks for the members of the set `text` names, each as its own series: the countries of a continent or UN subregion, or the members of a group. It has no effect on a single place. Text whose wording names members, such as 'EU member states', reads as true without the flag. With a pinned `dcid` it is honoured for a continent or subregion that the membership policy holds or omits, whatever the node's graph type, and refuses request_invalid for a group's own node, whose members a pin cannot supply. One part names a set once: the same entity posted with both values refuses request_invalid" } }, "additionalProperties": false, @@ -14421,7 +14523,7 @@ }, "type": "array", "title": "Named", - "description": "every code row the span names in the packaged index, any code system; empty when none did" + "description": "every code row the span names in the packaged index, any code system, and every measure value it names that the answer does not carry; empty when none did" }, "slot": { "anyOf": [ @@ -14443,7 +14545,7 @@ "no_vocabulary" ], "title": "Disposition", - "description": "\"bound\" when a final binding covers a named row (or a descendant of one); \"unbound\" when a row was named but no binding covers it; \"no_vocabulary\" when the term names no code at all" + "description": "\"bound\" when a final binding covers a named row (or a descendant of one); \"unbound\" when a code row was named but no binding covers it, or a measure value was named that the answer does not carry; \"no_vocabulary\" when the term names neither" }, "start": { "anyOf": [ @@ -14487,7 +14589,7 @@ } ], "title": "Evidence", - "description": "what read the term: a code label or synonym, the bind model, \"uncovered\" for words no reader covers on the elected shape, unbound beside a recognised code and no_vocabulary beside none when the binder rated them as not stated by its series, \"unavailable\" for a code no table holds, \"unsupported\" for a distinction no binding expresses" + "description": "what read the term: a code label or synonym, the bind model, \"uncovered\" for words no reader covers on the elected shape, unbound beside a recognised code or naming a measure value the answer does not carry, and no_vocabulary beside none when the binder rated them as not stated by its series, \"unavailable\" for a code no table holds, \"unsupported\" for a distinction no binding expresses" }, "operation": { "anyOf": [ @@ -14522,7 +14624,7 @@ "disposition" ], "title": "ResolvedQualifier", - "description": "One narrowing term the request's text named, and what became of it.\n\nThe term's text can come from the variable phrase, from the verbatim\n`query_text`, or from an admitted qualifier tie (see\n`_resolve_query_qualifiers`). `text` is the verbatim span of whichever\nsource named it. `named` is every code row -- any system -- that span\nnames in the packaged index;\nempty when the text names no code at all (a `no_vocabulary` term). `slot`\nis the constraint property dcid of the `slot_filters` entry whose\nbinding consumed the term, or, on an `\"unbound\"` value the answer's shape\nhas a slot for but leaves unmet, that slot's property; `None` otherwise.\n`disposition` is\n`\"bound\"` when some final binding on a named row's code system covers\nit (that row or a descendant), `\"unbound\"` when a row was named but no\nbinding covers it, and `\"no_vocabulary\"` when the term names no code at\nall: an LLM-reported phrase (`bind`'s own `unplaced` output) that no\ntaxonomy in this deployment's index can express, an exclusion or comparison\nphrase (`\"unsupported\"`), or words beside no code the binder rated as not\nstated on the elected shape (`\"uncovered\"`).\n\n`start` and `end` locate the term in the part's variable phrase. `evidence` says what\nread it, and `None` means a code's label or synonym matched the term as the query\nspelled it, the reading every recognised span records:\n\n- `\"label\"` and `\"synonym\"` name a match on a code's label or synonym; no record sets\n them, since a recognised span records `None`.\n- `\"model\"` marks a phrase the bind model read through a code it chose from the\n phrase's candidate menu, a lexical hit of the menu or a descendant of one\n (`phase_rank_bind._model_records`); `named` holds the chosen codes.\n- `\"uncovered\"` marks words no reader covers on the elected shape\n (`phase_rank_bind._coverage_records`). Beside a recognised code they are recorded\n `\"unbound\"` with that code's rows as `named`. Beside no code they are recorded\n `\"no_vocabulary\"` with `named` empty when the binder rates them below\n `SearchSettings.stated_word_bar` as not stated by the shape's series; a word it rates\n at the bar or above, or leaves unrated, reads as stated.\n- `\"unavailable\"` marks a code term the elected shape cannot apply: one naming only\n codes no shape can bind, or, on a part naming a dataset, one no row of that dataset\n holds (`phase_rank_bind._unavailable_qualifiers`), recorded `\"unbound\"`.\n- `\"unsupported\"` marks an exclusion or comparison phrase no binding expresses\n (`phase_rank_bind._unsupported_records`), recorded `\"no_vocabulary\"`.\n\n`operation` and `selected` describe how the term's codes combine with\nanother term's on one code system, and the codes it asked for before that\ncombination simplified." + "description": "One narrowing term the request's text named, and what became of it.\n\nThe term's text can come from the variable phrase, from the verbatim\n`query_text`, or from an admitted qualifier tie (see\n`_resolve_query_qualifiers`). `text` is the verbatim span of whichever\nsource named it. `named` is every code row -- any system -- that span\nnames in the packaged index, and every measure value it names that the\nanswer does not carry (a dcid of the index's measure values, such as\n`amountMobilised`);\nempty when the text names neither (a `no_vocabulary` term). `slot`\nis the constraint property dcid of the `slot_filters` entry whose\nbinding consumed the term, or, on an `\"unbound\"` value the answer's shape\nhas a slot for but leaves unmet, that slot's property; `None` otherwise.\n`disposition` is\n`\"bound\"` when some final binding on a named row's code system covers\nit (that row or a descendant), `\"unbound\"` when a code row was named but\nno binding covers it or a measure value was named that the answer does not\ncarry, and `\"no_vocabulary\"` when the term names neither: an LLM-reported\nphrase (`bind`'s own `unplaced` output) that no taxonomy in this\ndeployment's index can express, an exclusion or comparison phrase\n(`\"unsupported\"`), or words beside no code the binder rated as not stated\non the elected shape (`\"uncovered\"`).\n\n`start` and `end` locate the term in the part's variable phrase. `evidence` says what\nread it, and `None` means a code's label or synonym matched the term as the query\nspelled it, the reading every recognised span records:\n\n- `\"label\"` and `\"synonym\"` name a match on a code's label or synonym; no record sets\n them, since a recognised span records `None`.\n- `\"model\"` marks a phrase the bind model read through a code it chose from the\n phrase's candidate menu, a lexical hit of the menu or a descendant of one\n (`phase_rank_bind._model_records`); `named` holds the chosen codes.\n- `\"uncovered\"` marks words no reader covers on the elected shape\n (`phase_rank_bind._coverage_records`). Beside a recognised code they are recorded\n `\"unbound\"` with that code's rows as `named`. On a shape the measure index describes,\n a word that every name of a measure value's reading holds names that value when no\n span names it and the answer does not carry it, and its record adds the value to\n `named`. Beside no code such a word is recorded `\"unbound\"` naming the value, whatever\n the binder rates it; \"mobilised\" names `amountMobilised` on an amount series. Other\n words beside no code are recorded `\"no_vocabulary\"` with `named` empty when the\n binder rates them below `SearchSettings.stated_word_bar` as not stated by the shape's\n series; a word it rates at the bar or above, or leaves unrated, reads as stated.\n- `\"unavailable\"` marks a code term the elected shape cannot apply: one naming only\n codes no shape can bind, or, on a part naming a dataset, one no row of that dataset\n holds (`phase_rank_bind._unavailable_qualifiers`), recorded `\"unbound\"`.\n- `\"unsupported\"` marks an exclusion or comparison phrase no binding expresses\n (`phase_rank_bind._unsupported_records`), recorded `\"no_vocabulary\"`.\n\n`operation` and `selected` describe how the term's codes combine with\nanother term's on one code system, and the codes it asked for before that\ncombination simplified." }, "ResolvedScope": { "properties": { @@ -15725,7 +15827,20 @@ "type": "null" } ], - "description": "origin/destination when this token renders a directional entity role (the flow's two endpoints read back), or the directional scope an unbound where slot resolved to. entity_refs is the discriminator: non-empty on the entity read-back, empty on the unbound-where-slot fallback. binding_ref is not: an entity read-back carries binding_ref too whenever the shape declares a where slot backing the 'destination' axis (e.g. dev-finance), the same condition under which the unbound-where-slot fallback always carries it, so a present binding_ref value never separates the two. Both kinds join to the Spec.resolved.entity_options entry on the same role. A third token sits on an entity_ambiguous no_data plan, which has no Spec: the ambiguous wording, with the role the request gave it (null when it gave none), no entity_refs and no binding_ref, and text equal to one NoData.ambiguous_entities[i].text on the same part. The client titles that wording's candidate menu by this role and posts the pick's entry of NoData.options." + "description": "origin/destination when this token renders a directional entity role (the flow's two endpoints read back), or the directional scope an unbound where slot resolved to. entity_refs is the discriminator: non-empty on the entity read-back, empty on the unbound-where-slot fallback. binding_ref is not: an entity read-back carries binding_ref too whenever the shape declares a where slot backing the 'destination' axis (e.g. dev-finance), the same condition under which the unbound-where-slot fallback always carries it, so a present binding_ref value never separates the two. Both kinds join to the Spec.resolved.entity_options entry on the same role. A third token sits on an entity_ambiguous no_data plan, which has no Spec: the ambiguous wording, with the role the request gave it (null when it gave none), no entity_refs and no binding_ref, and text equal to one NoData.ambiguous_entities[i].text on the same part, the i its entity_choice names. The client titles that wording's candidate menu by this role and posts the pick's entry of NoData.options." + }, + "entity_choice": { + "anyOf": [ + { + "type": "integer", + "minimum": 0.0 + }, + { + "type": "null" + } + ], + "title": "Entity Choice", + "description": "on the slot token an entity_ambiguous no_data plan marks for an ambiguous wording, the index into NoData.ambiguous_entities of the group it asks, on the part its part_index names in an envelope plan. The NoData.options with the same entity_choice form that slot's menu. Null on every other token" }, "binding_ref": { "anyOf": [ @@ -18902,7 +19017,7 @@ }, "type": "array", "title": "Entity Refs", - "description": "the binding of each entity text of `restatement`, once per text in restatement order, so a client can tell which node a text such as 'G7' bound. A response field kept off `restatement`, which posts back unchanged. The binding is the one the answer reads: for a candidates part, the elected reading's; for a part folded into an earlier part's spec, its own. [] when `restatement` is null or names no entity" + "description": "the binding of each entity of `restatement`, one per restatement.entities row, in row order, so a client can tell which node a text such as 'G7' bound. A response field kept off `restatement`, which posts back unchanged. The binding is the one the answer reads: for a candidates part, the elected reading's; for a part folded into an earlier part's spec, its own. [] when `restatement` is null or names no entity" }, "operations": { "items": { @@ -19282,7 +19397,7 @@ } ], "title": "Params", - "description": "the counts and labels the message states, for a client to compose its own text. observations_series_truncated: {shown, total, order}, the series shown, the confirmed series behind them, and how the shown series were chosen: 'ranked' (the most recent and largest) or 'fixed' (a selection made before values were read, not ranked by value). elected_shape_no_data: {no_data, elected}, the labels of the readings with no data and of the readings answered instead. un_system_unavailable: {places, variables, variable_labels}, the place dcids the UN front door refused, the variables of the UN reads that failed, each empty when none, and each variable's graph name, in variables order, '' where the graph holds none; a warning without params says the UN search itself was unavailable. whole_total_available: {total, total_label, whole_of}, the dcid and label of the total the source publishes for the side the answer lists member by member, and the classes of party it covers, comma-joined (official, private, residual). Omitted for every other code" + "description": "the counts and labels the message states, for a client to compose its own text. observations_series_truncated: {shown, total, order}, the series shown, the confirmed series behind them, and how the shown series were chosen: 'ranked' (the most recent and largest) or 'fixed' (a selection made before values were read, not ranked by value). elected_shape_no_data: {no_data, elected}, the labels of the readings with no data and of the readings answered instead. un_system_unavailable: {places, variables, variable_labels}, the place dcids the UN front door refused, the variables of the UN reads that failed, each empty when none, and each variable's graph name, in variables order, '' where the graph holds none; a warning without params says the UN search itself was unavailable. whole_total_available: {total, total_label, whole_of}, the dcid and label of the total the source publishes for the side the answer lists member by member, and the classes of party it covers, comma-joined (official, private, residual). currency_unmapped_omitted: {count, entities, entity_labels}, how many entities the conversion left out, the dcids of the first ten, sorted, and each one's name, in entities order, '' where the conversion tables hold none, which is usual here, since an entity no currency names, such as a regional aggregate, is rarely in those tables; its dcid stays in entities. deflator_missing_omitted: the same with entity_years, the years each entity's rows were left out, as runs of consecutive years ('1990-2001, 2004'), in entities order; a warning without params says the loaded tables cannot tell which entities. Omitted for every other code" } }, "additionalProperties": false, @@ -19293,7 +19408,7 @@ "message" ], "title": "Warning", - "description": "A run-health signal. Note: this name shadows the Python builtin Warning.\n\nOnly `observations_series_truncated`, `elected_shape_no_data`, `un_system_unavailable`\nand `whole_total_available` set `params`. A `None` `params` is left out of every dump, so other codes' warnings stay\nexactly `{code, severity, message}` plus `spec_id` where one applies." + "description": "A run-health signal. Note: this name shadows the Python builtin Warning.\n\nOnly `observations_series_truncated`, `elected_shape_no_data`, `un_system_unavailable`,\n`whole_total_available`, `currency_unmapped_omitted` and `deflator_missing_omitted` set\n`params`. A `None` `params` is left out of every dump, so other codes' warnings stay\nexactly `{code, severity, message}` plus `spec_id` where one applies." }, "WarningModel": { "properties": { @@ -19344,6 +19459,73 @@ ], "title": "Stat Var Label", "description": "stat_vars_summed only: the family's label, the string the presentation door gives `stat_var_ref` on a chart (`code_index.labels.family_label` over the spec identity: its measure partition label, then its bound slots' labels); absent when neither has a label" + }, + "member_count": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Member Count", + "description": "coverage_below_scope only, when it names a group member: how many series the group requested" + }, + "off_cadence_members": { + "anyOf": [ + { + "$ref": "#/components/schemas/CountedRefsModel" + }, + { + "type": "null" + } + ], + "description": "coverage_below_scope only: the group members holding observations in the requested years at another frequency than the group serves, which the figures leave out; absent when there are none" + }, + "out_of_window_members": { + "anyOf": [ + { + "$ref": "#/components/schemas/CountedRefsModel" + }, + { + "type": "null" + } + ], + "description": "coverage_below_scope only: the group members holding no observation in the requested years; absent when there are none, and when the served provenance reads an absent member as zero" + }, + "unserved_entities": { + "anyOf": [ + { + "$ref": "#/components/schemas/CountedRefsModel" + }, + { + "type": "null" + } + ], + "description": "coverage_below_scope only: the entities the request binds that served no observation, sorted; absent when there are none" + }, + "omitted_entities": { + "anyOf": [ + { + "$ref": "#/components/schemas/CountedRefsModel" + }, + { + "type": "null" + } + ], + "description": "currency_unmapped_omitted only: the entities whose rows the conversion left out, sorted" + }, + "omitted_entity_years": { + "anyOf": [ + { + "$ref": "#/components/schemas/CountedEntityYearsModel" + }, + { + "type": "null" + } + ], + "description": "deflator_missing_omitted only: the entities whose rows the conversion left out for a missing deflator, sorted, each with the years of those rows" } }, "additionalProperties": false, @@ -19354,7 +19536,7 @@ "message" ], "title": "WarningModel", - "description": "One manifest warning. Only `stat_vars_summed` sets the three structured fields. A `None`\nfield is left out of every dump, so other codes' warnings, on the wire and in stored version\nbodies, stay exactly `{code, severity, message}`." + "description": "One manifest warning. Only `stat_vars_summed` sets its three structured fields, a\ngroup's `coverage_below_scope` its three member fields, `coverage_below_scope`\n`unserved_entities`, `currency_unmapped_omitted` `omitted_entities`, and\n`deflator_missing_omitted` `omitted_entity_years`. A `None` field is left out of every dump, so other codes' warnings, on\nthe wire and in stored version bodies, stay exactly `{code, severity, message}`." }, "WindowAll": { "properties": { diff --git a/tools/capture_client_contract.py b/tools/capture_client_contract.py index b232ab8..b94d4c2 100644 --- a/tools/capture_client_contract.py +++ b/tools/capture_client_contract.py @@ -1182,6 +1182,7 @@ def _build_body( FOLDED = "ODA disbursements for health and for education from Germany to Kenya, and GDP of Kenya" PLACE = "ODA disbursements from Germany to Congo in 2018" TWO_PLACES = "Kenya's GDP, and ODA disbursements from Germany to Congo" +PLACE_TWICE = "aid from Congo to Congo" DECLINED = "should donors give more aid to Kenya?" CATALOGUE = "what data do you have?" TOP5 = "top 5 donors to Ethiopia in 2022" @@ -1211,10 +1212,10 @@ def _build_body( # recipient pairs of one variable over 60 years. A variable broken down by # sector would list thousands of variables in the done manifest. ASYNC = ( - "ODA disbursements from the DAC countries to the G77 countries from 1963 to 2024" + "ODA disbursements from the DAC countries to the G77 countries from 1964 to 2024" ) ASYNC_RESUMED = ( - "ODA disbursements from the OECD countries to the G77 countries from 1966 to 2024" + "ODA disbursements from the OECD countries to the G77 countries from 1965 to 2024" ) NARROW_WINDOW = (2020, 2023) REBOUND_ORIGIN = "country/FRA" @@ -1482,6 +1483,35 @@ def _place_answer(s: Session, question: str, parts: int) -> Answer: return answer +def _search_place_twice(s: Session, ctx: Context) -> None: + """One entity_ambiguous part asking "Congo" for each end of the flow: two + groups with one text, each option and slot token naming its group.""" + answer = s.search(PLACE_TWICE) + require(len(answer.parts) == 1, "one part") + (part,) = answer.parts + no_data = part.get("no_data", {}) + require(no_data.get("reason") == "entity_ambiguous", "an entity_ambiguous part") + require( + [group["text"] for group in no_data.get("ambiguous_entities", [])] + == ["Congo", "Congo"], + 'two ambiguous groups, each "Congo"', + ) + require( + [(o["entity_choice"], o["label"]) for o in no_data.get("options", [])] + == [(choice, label) for choice in (0, 1) for label in PLACE_LABELS], + f"each group offers {PLACE_LABELS} under its own entity_choice", + ) + require( + [ + token["entity_choice"] + for token in part.get("sentence_plan") or [] + if token.get("entity_choice") is not None + ] + == [0, 1], + "one slot token per group", + ) + + def _search_place(question: str, parts: int) -> Callable[[Session, Context], None]: def run(s: Session, ctx: Context) -> None: _place_answer(s, question, parts) @@ -1770,6 +1800,13 @@ def _resubmit_placeholder(s: Session, ctx: Context) -> None: "parts, each an entity_ambiguous choice gap with one option per country.", _search_place(TWO_PLACES, 2), ), + Recorded( + "search-place-ambiguous-twice", + "A flow naming one ambiguous place at both ends answers one no_data part with two " + "entity_ambiguous groups of the same text: each option and slot token names its group " + "by entity_choice, so a menu groups options by entity_choice, never by mentions.", + _search_place_twice, + ), Recorded( "choose-place-one-part", 'Choosing "Congo [DRC]" by label in a one-part answer posts that option\'s data_query ' @@ -2399,15 +2436,16 @@ def _accepted_running(exchanges: list[dict[str, Any]], build: dict[str, Any]) -> exchanges[0]["response"]["json"]["operation"]["status"] = "running" -# The retry_after_ms each poll that finds the build running reads in -# fetch-spec-poll-pacing-changes. The values go up, up again, then down. +# The retry_after_ms the polls that find the build running read in +# fetch-spec-poll-pacing-changes, in turn. The values go up, up again, then down. _CHANGING_PACING_MS = (2500, 4000, 1000) def _pacing_changes(exchanges: list[dict[str, Any]], build: dict[str, Any]) -> None: - """Each poll that finds the build running reads its own retry_after_ms - from _CHANGING_PACING_MS, and the wait before the next poll is that - poll's value.""" + """Each poll that finds the build running reads its own retry_after_ms, + the next value of _CHANGING_PACING_MS in turn, and the wait before the + next poll is that poll's value. How many polls find it running depends on + how long the recorded build took.""" running = [ e["response"]["json"]["operation"] for e in exchanges[_poll_index(exchanges) :] @@ -2415,12 +2453,16 @@ def _pacing_changes(exchanges: list[dict[str, Any]], build: dict[str, Any]) -> N and e["response"]["json"]["operation"]["status"] == "running" ] require( - len(running) == len(_CHANGING_PACING_MS), - f"{len(_CHANGING_PACING_MS)} polls find the build running", + len(running) >= len(_CHANGING_PACING_MS), + f"at least {len(_CHANGING_PACING_MS)} polls find the build running", ) - for operation, ms in zip(running, _CHANGING_PACING_MS, strict=True): + pacing = [ + _CHANGING_PACING_MS[index % len(_CHANGING_PACING_MS)] + for index in range(len(running)) + ] + for operation, ms in zip(running, pacing, strict=True): operation["retry_after_ms"] = ms - build["poll_waits"][1:] = [ms / 1000 for ms in _CHANGING_PACING_MS] + build["poll_waits"][1:] = [ms / 1000 for ms in pacing] def _operation_failed(exchanges: list[dict[str, Any]], build: dict[str, Any]) -> None: