{
  "schema_version": "basekey_action_effects_v1",
  "description": "What each model action does, read by every model loop. A class may become stricter here, never weaker.",
  "classes": {
    "looks": {"saves_start": false, "closes_unknown": false},
    "changes_basekey": {"saves_start": false, "closes_unknown": false},
    "changes_outside": {"saves_start": true, "closes_unknown": true}
  },
  "outcome_unknown": {
    "message": "This call started, but the turn ended before its result was saved. It may have taken effect. Check whether it did before you call it again; if you cannot check, ask the user. Do not retry it blindly.",
    "recovery": ["re_read", "ask_person"]
  },
  "loops": {
    "workflow_assistant": {
      "outcome_unknown_code": "WORKFLOW_ASSISTANT_TOOL_OUTCOME_UNKNOWN",
      "unlisted": "changes_outside"
    },
    "computer": {
      "outcome_unknown_code": "computer_action_outcome_unknown",
      "unlisted": "changes_outside",
      "actions": {
        "screenshot": "looks",
        "zoom": "looks",
        "cursor_position": "looks",
        "wait": "looks",
        "done": "looks",
        "key": "changes_outside",
        "type": "changes_outside",
        "hold_key": "changes_outside",
        "mouse_move": "changes_outside",
        "left_click": "changes_outside",
        "right_click": "changes_outside",
        "middle_click": "changes_outside",
        "double_click": "changes_outside",
        "triple_click": "changes_outside",
        "left_click_drag": "changes_outside",
        "left_mouse_down": "changes_outside",
        "left_mouse_up": "changes_outside",
        "scroll": "changes_outside",
        "type_credential": "changes_outside",
        "request_help": "looks"
      }
    },
    "browser_session": {
      "outcome_unknown_code": "BROWSER_SESSION_ACTION_OUTCOME_UNKNOWN",
      "unlisted": "changes_outside",
      "actions": {
        "wait": "looks",
        "extract": "looks",
        "search_page": "looks",
        "find_elements": "looks",
        "screenshot": "looks",
        "dropdown_options": "looks",
        "read_file": "looks",
        "done": "looks",
        "search": "changes_outside",
        "navigate": "changes_outside",
        "go_back": "changes_outside",
        "click": "changes_outside",
        "input": "changes_outside",
        "upload_file": "changes_outside",
        "switch": "changes_outside",
        "close": "changes_outside",
        "scroll": "changes_outside",
        "send_keys": "changes_outside",
        "find_text": "changes_outside",
        "save_as_pdf": "changes_outside",
        "select_dropdown": "changes_outside",
        "write_file": "changes_outside",
        "replace_file": "changes_outside",
        "evaluate": "changes_outside",
        "run_cached_steps": "changes_outside",
        "run_action_chain_steps": "changes_outside",
        "execute_output_recipe": "changes_outside",
        "draft_browser_procedure": "changes_outside",
        "report_browser_runtime_intervention": "changes_outside",
        "report_login_prerequisite": "changes_outside",
        "report_totp_code_result": "changes_outside"
      }
    },
    "voice_call": {
      "outcome_unknown_code": "VOICE_CALL_ACTION_OUTCOME_UNKNOWN",
      "unlisted": "changes_outside"
    },
    "code_session": {
      "outcome_unknown_code": "CODE_SESSION_ACTION_OUTCOME_UNKNOWN",
      "unlisted": "changes_outside",
      "actions": {
        "command": "changes_outside",
        "test": "changes_outside",
        "action_script": "changes_outside"
      }
    }
  }
}
