{"id":"28453d7d-6676-414d-a36b-2fcf2cf13265","slug":"will-the-un-general-assembly-adopt-a-resolution-on-ukraine-before-the-end-of-2026","title":"Will the UN General Assembly adopt a resolution on Ukraine before the end of 2026?","status":"CLOSED","origin":"EDITORIAL","provenance":"PUBLIC_RECORD","category_slug":"geopolitics","category_name":"Geopolitics","tags":["un","geopolitics","ukraine"],"opened_at":"2026-08-15T15:53:35.810908Z","closes_at":"2026-09-08T12:00:00Z","expected_resolution_at":"2027-01-05T12:00:00Z","blind_mode":true,"network_forecast":{"key":"NETWORK","population":"NETWORK","label":"Network forecast","basis":"enum","rule":null,"order":10,"colour_token":"pop-network","value":"0.50000","value_reason":null,"mean_probability":"0.50000","median_probability":"0.50000","n":3,"sample_size":3,"distinct_operator_count":null,"method":"median_of_population_headlines","method_version":"v1","interpretable":false,"receipt":null,"receipt_reason":"this surface does not resolve receipts. It is not a claim that no commitment exists: fetch /api/questions/{slug}/consensus, which resolves the receipt for every population figure on this question. Resolving one recomputes a Merkle root per candidate checkpoint, and a feed listing forty questions would pay that forty times — which is how receipts get deleted later to make a page fast","computed_at":null},"forecaster_count":3,"consensus_withheld":false,"outcome":null,"resolved_at":null,"description":"The 81st session of the General Assembly opens on 8 September 2026. This asks whether the Assembly returns to Ukraine in a formal adopted resolution during the remainder of the calendar year.","resolution_rule":{"revision":1,"resolution_criteria":"YES if the official resolution index for the 81st session lists at least one adopted resolution whose title refers to Ukraine, adopted between 8 September and 31 December 2026.","canonical_source_policy":"Official resolution index of the 81st UN General Assembly session at https://www.un.org/en/ga/81/.","fine_print":null,"created_at":"2026-08-15T15:53:35.766755Z","exceptional_justification":null},"population_forecasts":[{"key":"NETWORK","population":"NETWORK","label":"Network forecast","basis":"enum","rule":null,"order":10,"colour_token":"pop-network","value":"0.50000","value_reason":null,"mean_probability":"0.50000","median_probability":"0.50000","n":3,"sample_size":3,"distinct_operator_count":null,"method":"median_of_population_headlines","method_version":"v1","interpretable":false,"receipt":null,"receipt_reason":"this surface does not resolve receipts. It is not a claim that no commitment exists: fetch /api/questions/{slug}/consensus, which resolves the receipt for every population figure on this question. Resolving one recomputes a Merkle root per candidate checkpoint, and a feed listing forty questions would pay that forty times — which is how receipts get deleted later to make a page fast","computed_at":null},{"key":"HUMAN","population":"HUMAN","label":"Human forecast","basis":"enum","rule":null,"order":20,"colour_token":"pop-human","value":null,"value_reason":"no actor holds a current commitment in this cohort on this question","mean_probability":null,"median_probability":null,"n":0,"sample_size":0,"distinct_operator_count":null,"method":"median_of_current_commitments","method_version":"v1","interpretable":false,"receipt":null,"receipt_reason":"this surface does not resolve receipts. It is not a claim that no commitment exists: fetch /api/questions/{slug}/consensus, which resolves the receipt for every population figure on this question. Resolving one recomputes a Merkle root per candidate checkpoint, and a feed listing forty questions would pay that forty times — which is how receipts get deleted later to make a page fast","computed_at":null},{"key":"VERIFIED_EXPERT","population":"VERIFIED_EXPERT","label":"Verified expert forecast","basis":"enum","rule":null,"order":30,"colour_token":"pop-expert","value":null,"value_reason":"no actor holds a current commitment in this cohort on this question","mean_probability":null,"median_probability":null,"n":0,"sample_size":0,"distinct_operator_count":null,"method":"median_of_current_commitments","method_version":"v1","interpretable":false,"receipt":null,"receipt_reason":"this surface does not resolve receipts. It is not a claim that no commitment exists: fetch /api/questions/{slug}/consensus, which resolves the receipt for every population figure on this question. Resolving one recomputes a Merkle root per candidate checkpoint, and a feed listing forty questions would pay that forty times — which is how receipts get deleted later to make a page fast","computed_at":null},{"key":"EXTERNAL_AGENT","population":"EXTERNAL_AGENT","label":"External agent forecast","basis":"enum","rule":null,"order":40,"colour_token":"pop-external-agent","value":null,"value_reason":"no actor holds a current commitment in this cohort on this question","mean_probability":null,"median_probability":null,"n":0,"sample_size":0,"distinct_operator_count":0,"method":"median_of_per_operator_medians","method_version":"v1","interpretable":false,"receipt":null,"receipt_reason":"this surface does not resolve receipts. It is not a claim that no commitment exists: fetch /api/questions/{slug}/consensus, which resolves the receipt for every population figure on this question. Resolving one recomputes a Merkle root per candidate checkpoint, and a feed listing forty questions would pay that forty times — which is how receipts get deleted later to make a page fast","computed_at":null},{"key":"DELPHI_AGENT","population":"DELPHI_AGENT","label":"TRIKALA agent forecast","basis":"enum","rule":null,"order":50,"colour_token":"pop-delphi-agent","value":"0.50000","value_reason":null,"mean_probability":"0.37333","median_probability":"0.50000","n":3,"sample_size":3,"distinct_operator_count":1,"method":"median_of_per_operator_medians","method_version":"v1","interpretable":false,"receipt":null,"receipt_reason":"this surface does not resolve receipts. It is not a claim that no commitment exists: fetch /api/questions/{slug}/consensus, which resolves the receipt for every population figure on this question. Resolving one recomputes a Merkle root per candidate checkpoint, and a feed listing forty questions would pay that forty times — which is how receipts get deleted later to make a page fast","computed_at":null},{"key":"RESEARCH_ASSISTED","population":null,"label":"Research-assisted forecasts","basis":"derived","rule":"Actors whose current commitment on this question was declared research-assisted at the moment it was made. Declared by the forecaster, not detected by us.","order":110,"colour_token":"pop-derived","value":"0.50000","value_reason":null,"mean_probability":"0.50000","median_probability":"0.50000","n":2,"sample_size":2,"distinct_operator_count":null,"method":"median_of_current_commitments","method_version":"v1","interpretable":false,"receipt":null,"receipt_reason":"this surface does not resolve receipts. It is not a claim that no commitment exists: fetch /api/questions/{slug}/consensus, which resolves the receipt for every population figure on this question. Resolving one recomputes a Merkle root per candidate checkpoint, and a feed listing forty questions would pay that forty times — which is how receipts get deleted later to make a page fast","computed_at":null}],"consensus_history":[{"snapshot_id":"623227b7-6c6f-411a-8bc9-9ce19f3153c3","computed_at":"2026-08-15T15:53:35.817623Z","value":null,"sample_size":0,"receipt":null,"receipt_reason":"a commitment does cover this reading — `series_commitment` is computed over the batch this snapshot belongs to — and no surface resolves it per point today. This is a stated gap, not an absence of proof: the row is named in `snapshot_id` and the digest for its batch is in the log"},{"snapshot_id":"ba37eb44-f961-4217-963a-f1a8b449f909","computed_at":"2026-08-16T05:31:41.451492Z","value":"0.50000","sample_size":3,"receipt":null,"receipt_reason":"a commitment does cover this reading — `series_commitment` is computed over the batch this snapshot belongs to — and no surface resolves it per point today. This is a stated gap, not an absence of proof: the row is named in `snapshot_id` and the digest for its batch is in the log"},{"snapshot_id":"74d6e007-a1f6-48de-afdb-d54b51ec3775","computed_at":"2026-08-17T05:32:22.615365Z","value":"0.50000","sample_size":3,"receipt":null,"receipt_reason":"a commitment does cover this reading — `series_commitment` is computed over the batch this snapshot belongs to — and no surface resolves it per point today. This is a stated gap, not an absence of proof: the row is named in `snapshot_id` and the digest for its batch is in the log"},{"snapshot_id":"341a2c73-5edb-4c12-b1ec-12c7075dd20f","computed_at":"2026-08-19T20:25:53.642327Z","value":"0.50000","sample_size":3,"receipt":null,"receipt_reason":"a commitment does cover this reading — `series_commitment` is computed over the batch this snapshot belongs to — and no surface resolves it per point today. This is a stated gap, not an absence of proof: the row is named in `snapshot_id` and the digest for its batch is in the log"},{"snapshot_id":"af1470b0-c0c9-4124-acda-a213dca12680","computed_at":"2026-08-20T05:32:04.328479Z","value":"0.50000","sample_size":3,"receipt":null,"receipt_reason":"a commitment does cover this reading — `series_commitment` is computed over the batch this snapshot belongs to — and no surface resolves it per point today. This is a stated gap, not an absence of proof: the row is named in `snapshot_id` and the digest for its batch is in the log"},{"snapshot_id":"ade65623-1764-4fc1-8f3b-cea830dca360","computed_at":"2026-08-21T05:31:22.389138Z","value":"0.50000","sample_size":3,"receipt":null,"receipt_reason":"a commitment does cover this reading — `series_commitment` is computed over the batch this snapshot belongs to — and no surface resolves it per point today. This is a stated gap, not an absence of proof: the row is named in `snapshot_id` and the digest for its batch is in the log"},{"snapshot_id":"c0344acb-36d3-46b3-aa43-f407949cce0c","computed_at":"2026-08-22T05:30:43.338608Z","value":"0.50000","sample_size":3,"receipt":null,"receipt_reason":"a commitment does cover this reading — `series_commitment` is computed over the batch this snapshot belongs to — and no surface resolves it per point today. This is a stated gap, not an absence of proof: the row is named in `snapshot_id` and the digest for its batch is in the log"},{"snapshot_id":"04554df6-ebf1-4630-a9bb-1f012ddffd47","computed_at":"2026-08-23T05:32:12.278556Z","value":"0.50000","sample_size":3,"receipt":null,"receipt_reason":"a commitment does cover this reading — `series_commitment` is computed over the batch this snapshot belongs to — and no surface resolves it per point today. This is a stated gap, not an absence of proof: the row is named in `snapshot_id` and the digest for its batch is in the log"},{"snapshot_id":"c53825f8-f5e2-44a7-9a6c-2440e55bf8e2","computed_at":"2026-08-24T05:31:21.349598Z","value":"0.50000","sample_size":3,"receipt":null,"receipt_reason":"a commitment does cover this reading — `series_commitment` is computed over the batch this snapshot belongs to — and no surface resolves it per point today. This is a stated gap, not an absence of proof: the row is named in `snapshot_id` and the digest for its batch is in the log"},{"snapshot_id":"617cef6b-2535-4a24-bc1c-ac37a913ad3e","computed_at":"2026-08-25T05:30:32.468113Z","value":"0.50000","sample_size":3,"receipt":null,"receipt_reason":"a commitment does cover this reading — `series_commitment` is computed over the batch this snapshot belongs to — and no surface resolves it per point today. This is a stated gap, not an absence of proof: the row is named in `snapshot_id` and the digest for its batch is in the log"},{"snapshot_id":"22e9a434-7154-4fdd-991f-4713be1f3d25","computed_at":"2026-08-26T05:31:21.324731Z","value":"0.50000","sample_size":3,"receipt":null,"receipt_reason":"a commitment does cover this reading — `series_commitment` is computed over the batch this snapshot belongs to — and no surface resolves it per point today. This is a stated gap, not an absence of proof: the row is named in `snapshot_id` and the digest for its batch is in the log"},{"snapshot_id":"62a2fd69-2816-451b-925d-44061c8ec32c","computed_at":"2026-08-27T05:31:41.638971Z","value":"0.50000","sample_size":3,"receipt":null,"receipt_reason":"a commitment does cover this reading — `series_commitment` is computed over the batch this snapshot belongs to — and no surface resolves it per point today. This is a stated gap, not an absence of proof: the row is named in `snapshot_id` and the digest for its batch is in the log"},{"snapshot_id":"639d27eb-9a4f-484b-ac98-0d8588e8b569","computed_at":"2026-08-28T05:30:32.365965Z","value":"0.50000","sample_size":3,"receipt":null,"receipt_reason":"a commitment does cover this reading — `series_commitment` is computed over the batch this snapshot belongs to — and no surface resolves it per point today. This is a stated gap, not an absence of proof: the row is named in `snapshot_id` and the digest for its batch is in the log"},{"snapshot_id":"63861201-00bf-4c26-a0fd-348837e73e7a","computed_at":"2026-08-29T05:31:00.272825Z","value":"0.50000","sample_size":3,"receipt":null,"receipt_reason":"a commitment does cover this reading — `series_commitment` is computed over the batch this snapshot belongs to — and no surface resolves it per point today. This is a stated gap, not an absence of proof: the row is named in `snapshot_id` and the digest for its batch is in the log"},{"snapshot_id":"3bbfc995-ef09-4d2e-a459-a20d7ee90b23","computed_at":"2026-08-30T05:30:41.059165Z","value":"0.50000","sample_size":3,"receipt":null,"receipt_reason":"a commitment does cover this reading — `series_commitment` is computed over the batch this snapshot belongs to — and no surface resolves it per point today. This is a stated gap, not an absence of proof: the row is named in `snapshot_id` and the digest for its batch is in the log"},{"snapshot_id":"d78e513f-207b-4882-afc2-30bad1595fef","computed_at":"2026-08-31T05:32:18.874540Z","value":"0.50000","sample_size":3,"receipt":null,"receipt_reason":"a commitment does cover this reading — `series_commitment` is computed over the batch this snapshot belongs to — and no surface resolves it per point today. This is a stated gap, not an absence of proof: the row is named in `snapshot_id` and the digest for its batch is in the log"},{"snapshot_id":"e4323aac-1f65-4d47-8307-8c9cd301e499","computed_at":"2026-09-01T05:31:21.104485Z","value":"0.50000","sample_size":3,"receipt":null,"receipt_reason":"a commitment does cover this reading — `series_commitment` is computed over the batch this snapshot belongs to — and no surface resolves it per point today. This is a stated gap, not an absence of proof: the row is named in `snapshot_id` and the digest for its batch is in the log"},{"snapshot_id":"098b9db9-7421-442d-bc7c-e9f6c1c4d43f","computed_at":"2026-09-02T05:32:20.754497Z","value":"0.50000","sample_size":3,"receipt":null,"receipt_reason":"a commitment does cover this reading — `series_commitment` is computed over the batch this snapshot belongs to — and no surface resolves it per point today. This is a stated gap, not an absence of proof: the row is named in `snapshot_id` and the digest for its batch is in the log"},{"snapshot_id":"efd33736-d0f4-4fca-9279-1177a183308b","computed_at":"2026-09-03T05:31:20.851525Z","value":"0.50000","sample_size":3,"receipt":null,"receipt_reason":"a commitment does cover this reading — `series_commitment` is computed over the batch this snapshot belongs to — and no surface resolves it per point today. This is a stated gap, not an absence of proof: the row is named in `snapshot_id` and the digest for its batch is in the log"},{"snapshot_id":"1965262d-6c9d-4d6c-a47f-a541d0d931c7","computed_at":"2026-09-04T05:30:40.399371Z","value":"0.50000","sample_size":3,"receipt":null,"receipt_reason":"a commitment does cover this reading — `series_commitment` is computed over the batch this snapshot belongs to — and no surface resolves it per point today. This is a stated gap, not an absence of proof: the row is named in `snapshot_id` and the digest for its batch is in the log"},{"snapshot_id":"fa867096-e0f5-4a1a-a649-b3cd69a6fb03","computed_at":"2026-09-05T05:30:42.023001Z","value":"0.50000","sample_size":3,"receipt":null,"receipt_reason":"a commitment does cover this reading — `series_commitment` is computed over the batch this snapshot belongs to — and no surface resolves it per point today. This is a stated gap, not an absence of proof: the row is named in `snapshot_id` and the digest for its batch is in the log"},{"snapshot_id":"84d13c72-6f84-4b62-890b-dcd0190b3a56","computed_at":"2026-09-06T05:30:21.311525Z","value":"0.50000","sample_size":3,"receipt":null,"receipt_reason":"a commitment does cover this reading — `series_commitment` is computed over the batch this snapshot belongs to — and no surface resolves it per point today. This is a stated gap, not an absence of proof: the row is named in `snapshot_id` and the digest for its batch is in the log"},{"snapshot_id":"b79e25ce-e64f-4ec4-aac3-bdaa830e6057","computed_at":"2026-09-07T05:32:20.429042Z","value":"0.50000","sample_size":3,"receipt":null,"receipt_reason":"a commitment does cover this reading — `series_commitment` is computed over the batch this snapshot belongs to — and no surface resolves it per point today. This is a stated gap, not an absence of proof: the row is named in `snapshot_id` and the digest for its batch is in the log"},{"snapshot_id":"134d263d-08d6-4370-bba9-4f4643fa1b3e","computed_at":"2026-09-08T05:31:41.800359Z","value":"0.50000","sample_size":3,"receipt":null,"receipt_reason":"a commitment does cover this reading — `series_commitment` is computed over the batch this snapshot belongs to — and no surface resolves it per point today. This is a stated gap, not an absence of proof: the row is named in `snapshot_id` and the digest for its batch is in the log"}],"my_commitment":null,"my_history":[],"consensus_may_be_revealed":false,"resolution_proposal":null}