\set ON_ERROR_STOP on begin; do $$ declare inserted_nodes int; inserted_anchors int; begin if not exists ( select 1 from public.agents where id = '22222222-2222-2222-2222-222222222222'::uuid and handle = 'rio' ) then raise exception 'Rio strategy packet requires rio agent % to exist', '22222222-2222-2222-2222-222222222222'; end if; if ( select count(*) from public.claims where id in (select id from (values ('004195cc-ab62-526c-90fb-51cb0f826ec0'::uuid), ('67003e10-e1ee-5905-8b51-1b0cb263ec11'::uuid), ('e6ce4e36-15d2-53bc-8b74-dda0efc095c1'::uuid) ) as v(id)) ) <> 3 then raise exception 'Rio strategy packet requires mapped base claims A/C/D to exist before strategy context insert'; end if; if not exists (select 1 from public.shared_root where id = '6248818e-fe16-4d3b-8008-ef9752b80632'::uuid) then raise exception 'Rio strategy packet requires Back shared root % to exist', '6248818e-fe16-4d3b-8008-ef9752b80632'; end if; if exists (select 1 from public.strategy_nodes where id in (select id from (values ('4f3e3d77-50fa-520a-8c8b-5a4269d94a9b'::uuid), ('063528a6-a07c-5c14-abdf-dc12a0b10fcf'::uuid) ) as v(id))) then raise exception 'Rio strategy packet generated strategy node id already exists'; end if; if exists (select 1 from public.strategy_node_anchors where id in (select id from (values ('3a0e2228-a74f-5971-b467-fb527ccdfb37'::uuid), ('3f7a9f84-eb2e-5d94-9ca4-afc3bad47f96'::uuid), ('d18eaa71-d458-53cc-baac-e5306a1779e2'::uuid), ('33d9eb08-c9c2-5e2d-a9a7-3d7f1b5f0f0c'::uuid), ('3b2a8908-120d-59a5-bbd5-d2711a123aa3'::uuid) ) as v(id))) then raise exception 'Rio strategy packet generated strategy anchor id already exists'; end if; if exists ( select 1 from public.strategy_nodes where agent_id = '22222222-2222-2222-2222-222222222222'::uuid and title in ( 'Rio capital deployment layer', 'Rio internet-finance capital product' ) ) then raise exception 'Rio strategy packet refuses to create duplicate exact Rio strategy title'; end if; insert into public.strategy_nodes (id, agent_id, node_type, title, body, rank, status, horizon, measure, source_ref, metadata) values ('4f3e3d77-50fa-520a-8c8b-5a4269d94a9b'::uuid, '22222222-2222-2222-2222-222222222222'::uuid, 'policy', 'Rio capital deployment layer', 'Rio treats capital allocation as a civilizational steering layer: resources should back builders through review-gated, market-aware mechanisms that serve Teleo''s Back function.', 1, 'active', 'current strategy context', 'Capital-deployment analysis can name the claim evidence, review boundary, and Back shared root it serves before recommending resource allocation.', 'mapped-rich-proposal-14fa5ecc:rio-capital-deployment-layer', '{"base_packet_required_first": "production-apply-packet-mapped-20260709", "proposal_id": "14fa5ecc-ac7a-41c1-807d-a2e85b936617", "source_fragments": ["capital_allocation_is_civilizational_steering supports rio:capital-deployment-layer", "capital_allocation_is_civilizational_steering relates teleo telos / fund-build paths toward better attractors"]}'::jsonb), ('063528a6-a07c-5c14-abdf-dc12a0b10fcf'::uuid, '22222222-2222-2222-2222-222222222222'::uuid, 'objective', 'Rio internet-finance capital product', 'Rio may evaluate internet-finance mechanisms as capital-product candidates, but only as instrumental mechanisms. The product must stay subordinate to Teleo''s capital-allocation telos and cannot become the telos itself.', 2, 'active', 'current strategy context', 'Any internet-finance product thesis states its structural advantages, its mechanism-not-telos boundary, and how it serves the capital deployment layer.', 'mapped-rich-proposal-14fa5ecc:rio-active-strategy-v1-internet-finance-capital-product', '{"base_packet_required_first": "production-apply-packet-mapped-20260709", "proposal_id": "14fa5ecc-ac7a-41c1-807d-a2e85b936617", "source_fragments": ["internet_finance_structural_advantages_capital_allocation relates rio:active strategy v1 / internet-finance capital product", "internet_finance_is_mechanism_not_telos constrains rio:active strategy v1 / internet-finance capital product"]}'::jsonb); get diagnostics inserted_nodes = row_count; if inserted_nodes <> 2 then raise exception 'Rio strategy packet inserted % strategy node row(s), expected 2', inserted_nodes; end if; insert into public.strategy_node_anchors (id, from_node_id, anchor_role, to_node_id, to_shared_root_id, belief_id, claim_id, source_id, weight, note) values ('3a0e2228-a74f-5971-b467-fb527ccdfb37'::uuid, '4f3e3d77-50fa-520a-8c8b-5a4269d94a9b'::uuid, 'justified_by', null::uuid, null::uuid, null::uuid, '004195cc-ab62-526c-90fb-51cb0f826ec0'::uuid, null::uuid, 0.85, 'Mapped proposal 14fa5ecc: Claim A justifies the Rio capital deployment layer because capital allocation steers which futures receive resources.'), ('3f7a9f84-eb2e-5d94-9ca4-afc3bad47f96'::uuid, '4f3e3d77-50fa-520a-8c8b-5a4269d94a9b'::uuid, 'serves', null::uuid, '6248818e-fe16-4d3b-8008-ef9752b80632'::uuid, null::uuid, null::uuid, null::uuid, 0.8, 'Maps the fund-build / better-attractors fragment to the existing Back shared root instead of forcing it into public.claim_edges.'), ('d18eaa71-d458-53cc-baac-e5306a1779e2'::uuid, '063528a6-a07c-5c14-abdf-dc12a0b10fcf'::uuid, 'justified_by', null::uuid, null::uuid, null::uuid, '67003e10-e1ee-5905-8b51-1b0cb263ec11'::uuid, null::uuid, 0.7, 'Mapped proposal 14fa5ecc: the internet-finance capital product is justified by the structural-advantages claim, not by the old compressed claim.'), ('33d9eb08-c9c2-5e2d-a9a7-3d7f1b5f0f0c'::uuid, '063528a6-a07c-5c14-abdf-dc12a0b10fcf'::uuid, 'justified_by', null::uuid, null::uuid, null::uuid, 'e6ce4e36-15d2-53bc-8b74-dda0efc095c1'::uuid, null::uuid, 0.85, 'Represents the proposal''s constrains fragment within the current anchor-role enum: internet finance is a candidate mechanism, not Teleo''s telos.'), ('3b2a8908-120d-59a5-bbd5-d2711a123aa3'::uuid, '063528a6-a07c-5c14-abdf-dc12a0b10fcf'::uuid, 'serves', '4f3e3d77-50fa-520a-8c8b-5a4269d94a9b'::uuid, null::uuid, null::uuid, null::uuid, null::uuid, 0.75, 'The internet-finance product objective serves Rio''s capital deployment layer rather than standing as a standalone telos.'); get diagnostics inserted_anchors = row_count; if inserted_anchors <> 5 then raise exception 'Rio strategy packet inserted % strategy anchor row(s), expected 5', inserted_anchors; end if; end $$; rollback;