-- NONE means "no selected game", not "no executable query". -- Keep the boundary example scoped to its logical object role so it cannot -- be generalized to approved common-object questions. UPDATE sg_qa_vector_example SET object_role = 'GAME_USER_MASTER', answer_text = 'This boundary applies only to a game-scoped user-master operation. ' || 'When no game identifier is resolved, do not select a prefix-specific user-master object. ' || 'This does not prohibit an approved common-object query.', inspection_note = 'Canonical boundary for an unscoped game-user-master request. ' || 'It applies only to GAME_USER_MASTER and must not suppress common-object queries.' WHERE example_id = 5 AND reference_kind = 'NO_TARGET'; -- Populate logical roles from verified SQL. This is prompt metadata only; -- runtime physical-object selection remains governed by the query plan. UPDATE sg_qa_vector_example SET object_role = CASE WHEN REGEXP_LIKE(answer_sql, 'COMN_SALES_TXN', 'i') THEN 'SALES_TRANSACTION' WHEN REGEXP_LIKE(answer_sql, 'COMN_REFUND_TXN', 'i') THEN 'REFUND_TRANSACTION' WHEN REGEXP_LIKE(answer_sql, 'COMN_CHARACTER_MST', 'i') THEN 'GAME_CHARACTER_MASTER' WHEN REGEXP_LIKE(answer_sql, 'COMN_USER_MST', 'i') THEN 'GAME_USER_MASTER' ELSE object_role END WHERE reference_status = 'APPROVED' AND object_role IS NULL; COMMENT ON COLUMN sg_qa_vector_example.object_role IS 'Logical business object role used to bound Few-shot interpretation. It is not a runtime physical-object selector.'; COMMIT;