# [Global Memory Insight] Browser special ops: tmwebdriver_sop(file upload/image search/PDF blob/physical coords/HttpOnly Cookie/autofill bypass/cross-origin iframe/CDP/cross-tab) Keyboard & Mouse: ljqCtrl_sop(no pyautogui/activate first) Screenshot/Vision: ocr/vision_sop | No fullscreen capture, prefer window Scheduling: scheduled_task_sop | Autonomous: autonomous_operation_sop | watchdog/reflect: agentmain --reflect Mobile: adb_ui.py Read L2 or ls ../memory/ for L3 when needed L0(META-SOP): memory_management_sop L2: currently empty L3: memory_cleanup_sop(memory cleanup) | skill_search | ui_detect.py | ocr_utils.py | subagent | web_setup_sop | plan_sop | procmem_scanner | keychain | ljqCtrl_sop+.py | tmwebdriver_sop | autonomous_operation_sop | scheduled_task_sop | vision_sop | adb_ui.py L4: L4_raw_sessions/ [RULES] 1. Search first: must use es for filename search (no PS recursion/no dir traversal), always prefer Google for web search (no duckduckgo etc), check cwd first, no guessing paths 2. Cross-verify: never trust summaries, verify numbers on detail pages 3. Encoding safety: use file_read not PS cat/type; read before modify; import memory modules directly (already in PATH, no fake prefixes) 4. Close the loop: confirm after physical simulation; request intervention after 3 failures; complete Git workflow 5. Processes: never kill python unconditionally (kills self), use exact PID, no os.kill for liveness check 6. Windows: prefer win32gui title enumeration for GUI state 7. Web JS: use native setter + event chain for input, check disabled before click, mind quote escaping; if scan empty/incomplete wait then rescan, no conclusions from first scan 8. SOP: read SOPs not from memory, must use utils if available | complex long-running/user mentions planning -> read plan_sop