After admin Eye init, verify that the sudo proxy works correctly: pipe file exists, UTF-8 encoding is set, and parallel...
Eye = always-on overlay + Slack daemon + MCP broker in one process. FSW hybrid dirty-check: event flags (~0ms) + 1s Fil...
T3 ref. OOM Guardian, spawn-storm circuit breaker, hot-swap stamp, MCP worker isolation details.
MFC owner-drawn controls have almost no UIA patterns -> Win32 PostMessage fallback required. CMaskEditEx: WM_CHAR only...
Run OCR entirely inside a Chrome tab using Tesseract.js injected via CDP Runtime.evaluate. No screenshot roundtrip to s...
CDP isolation scheme 2026-05-08: SHA256-based deterministic 4-port block per project, foreign Chrome rejection, CWD-has...
Reference: Chromium multi-process model (browser/renderer/GPU/utility), Chrome DevTools Protocol surface (HTTP discover...
When Claude Code and Codex run simultaneously in VS Code, AppBotPipe.Spawn uses DETACHED_PROCESS which breaks the Windo...
UIA Invoke/Value/Toggle/Select = truly focusless. WM_CHAR = focusless typing via PostMessage. SendInput/Hotkey = must E...
T3 ref. GAP history, GA_ROOTOWNER verified chain, multi-monitor debug, iconified caller design.
Find the real launcher caller window when running through Eye IPC pipe. ResolveCallerTerminalHwnd cascade (CURRENT, Eye...
Eye posts a single Slack thread as a live dashboard. All bots unified under 앱봇아이 username (no CWD suffix). Thread slot...
grap = glob/regex/OR/UIA-scope/JSON5 multi-field AND. Wildcards: *Button*. OR: *notepad*;*calc*. UIA scope: app#panel....
Named shortcuts for GRAP patterns. Save/expand @name aliases with self-healing stale hwnd. Use anywhere a grap is accep...
Two common silent CI failures: (1) budget exhausted runs fail under 10s, (2) GH_PAT missing causes sync 403. Both look...
Edit GH_PAT scopes (e.g. add secrets:write) without regenerating. Fine-grained PATs allow permission updates in-place —...
HangulImeRelay WH_KEYBOARD_LL hook: arch + bugs. KEY: daemon-only hook (Eye must NOT call Install), Global\WkImeRelay m...
Bootstrap PowerShell, cmd.exe, and Git Bash to start in UTF-8 on Windows. Use when console output or argv is misread be...
YAML playbook actions 'read' and 'shell'. 'read' extracts text from a UIA/OCR target via UiaLocator.GetText and optiona...
The public ***/wkappbot launcher must use WKAPPBOT_HOME env var or %USERPROFILE%/.wkappbot as the default data root ins...
Before making ***/wkappbot public, audit committed files for secrets/PII, strip hq data from tracking, scrub commit his...
How to interact with React SPAs that block isTrusted=false synthetic events. Use __reactProps onClick/onChange directly...
FEATURE: persist last N commands, AI query sessions (triad/ask results), and agent states across Eye restarts. Enables...
Core definition and caller-HWND rules for Standard AppBot Window. This is the shortest entrypoint for placement and IPC...
T2 domain tier. FindRectProviderHwnd, IPC __hwnd forwarding, ConPTY hidden-window rect, isBig check, downstream consume...
T3 reference tier. GAP fix history, DPI pipeline audit, regression notes, verified tests.
Complete reference for the Standard AppBot Window concept. Covers what it is, how to detect it via ancestor walk only,...
T2 domain tier. How-to: GetWindowForTarget, SetWindowBoundsAsync, multi-tab, non-active tab, minimized Chrome, coordina...
T3 reference tier. DPI audit, bug-fix history, triad-verified patterns, wkcodex lock note.
Chrome-side parallel to standard-appbot-window. How to correctly identify and move the Chrome browser window for CDP pl...
L1: ambiguous pattern matches multiple windows -> list + hwnd auto-heal. L2: modal alert blocking -> auto-find buttons...
Close action defaults: multi-match without narrower -> abort with candidate list (like a11y find); after WM_CLOSE if ta...
How wkappbot a11y find resolves windows and process trees, and how to keep its output aligned with the current # FOCUS...
HTS/MFC apps expose empty UIA tree below top frame; controls live 3-4 levels under custom container classes. FindChildB...
When grap pattern contains {hwnd:0x...} plus proc/title/cls hints, the hwnd is authoritative: IsWindow(hwnd) only, no A...
MFC/GDI owner-drawn grids (HTS realtime tables) have no UIA/MSAA cell nodes. a11y grid-read focuses target, clears clip...
Create and revise executable WKAppBot playbooks/scenarios for focusless desktop automation. Use when drafting or updati...
Gaps in a11y read/inspect on nfrunlite elevated MFC MDI and proposals
wkappbot a11y screenshot is fully focusless -- never steals keyboard focus or changes z-order. Supports multi-node comp...
wkappbot a11y screenshot <grap> captures a window image focuslessly. Supports --out <path> to save to custom path; defa...
Admin Eye currently has no FSW watcher. After normal Eye hot-swaps to a new wkappbot-core.exe, the admin Eye pipe (wkap...
cls ancestor path glob matching for a11y find
wkappbot file symlink <target> <linkname> creates a symbolic link for files or directories. wkappbot file link <target>...
hwnd returned by a11y find becomes invalid if the window is destroyed/recreated between find and use. When this happens...
Shell-safe output contract for a11y find. Use when you need a paste-ready grap target that survives shell copy/paste, r...
No description.
proc:'X/Y' finds windows whose process X was launched by Y. proc:'**/Y' finds all processes in Y's launch tree. Stops a...
Pre-release git audit workflow: check tracked files, scrub secrets, use wkappbot gc to clean objects.
wkappbot schedule add --cmd 'bash script.sh' auto-resolves bash to Git bash path on Windows. ResolveShellCommand at reg...
skill search ranks by SkillCoverageScore (sum of tok.Length/field.Length per match). skill news shows recently updated...
Three bugs fixed: wkappbot_elevated pipe routing, --sudo proxy Korean mojibake, and CreateProcessA argv UTF-8 recovery.
When win-click reports physical click blocked by a dialog, --dismiss-blocker calls TryDismissBlocker on the blocking #3...
win-click x y uses window-relative coords (from window top-left including title bar). Use --abs for absolute screen coo...
wkappbot ocr runs OCR on a window or image file. Pairs with a11y screenshot for focusless MFC/HTS owner-drawn control t...
FEATURE: wkappbot run <exe> [args] would launch a process with integrated bug tracking (auto-suggest on crash), close d...
taskkill CLASSIFY: shows full cmdline per process (2 lines). Zombie Eye cleanup after long uptime.
CDP Chrome session monitor: port, process, tabs, memory, position, idle kill
3rd retry in wkedit.sh: recover original args from parent cmdline when shell distortion causes old_string not found
T3 ref. Historical 3-tier model (obsolete), FIX SPEC 2026-05-20, CLAUDE.md guard added, verified test.
Quick reference for finding and fixing caller HWND issues. When you suspect wrong window detection, use this checklist.
Windows process->window mapping for caller-HWND detection. CURRENT CODE (EyeCmdPipeClient.WindowDetection.cs): GA_ROOTO...
Auto-split large .cs files into partial classes with unused-using cleanup