- Admin Eye init test: verify sudo pipe + encoding after startup

  After admin Eye init, verify that the sudo proxy works correctly: pipe file exists, UTF-8 encoding is set, and parallel...

- Always-On AI Automation Daemon -- AppBot Eye Internals

  Eye = always-on overlay + Slack daemon + MCP broker in one process. FSW hybrid dirty-check: event flags (~0ms) + 1s Fil...

- AppBot Eye Internals T3 Reference

  T3 ref. OOM Guardian, spawn-storm circuit breaker, hot-swap stamp, MCP worker isolation details.

- Automating Legacy MFC Apps With No UIA -- HTS Playbook

  MFC owner-drawn controls have almost no UIA patterns -> Win32 PostMessage fallback required. CMaskEditEx: WM_CHAR only...

- Browser-Side OCR via Tesseract.js CDP Injection (web ocr command)

  Run OCR entirely inside a Chrome tab using Tesseract.js injected via CDP Runtime.evaluate. No screenshot roundtrip to s...

- CDP port isolation: SHA256 4-port block per project CWD

  CDP isolation scheme 2026-05-08: SHA256-based deterministic 4-port block per project, foreign Chrome rejection, CWD-has...

- Chrome Process Architecture: Browser/Renderer/GPU + wkappbot CDP Isolation

  Reference: Chromium multi-process model (browser/renderer/GPU/utility), Chrome DevTools Protocol surface (HTTP discover...

- Concurrent AI isolation: env var detection beats parent chain

  When Claude Code and Codex run simultaneously in VS Code, AppBotPipe.Spawn uses DETACHED_PROCESS which breaks the Windo...

- Control UI Without Stealing Focus -- 3-Tier Focusless Strategy

  UIA Invoke/Value/Toggle/Select = truly focusless. WM_CHAR = focusless typing via PostMessage. SendInput/Hotkey = must E...

- Eye IPC Caller HWND T3 Reference

  T3 ref. GAP history, GA_ROOTOWNER verified chain, multi-monitor debug, iconified caller design.

- Eye IPC caller HWND: ResolveCallerTerminalHwnd + __hwnd prefix

  Find the real launcher caller window when running through Eye IPC pipe. ResolveCallerTerminalHwnd cascade (CURRENT, Eye...

- Eye Slack Thread -- Live Streaming Structure & CCABot Slot Design

  Eye posts a single Slack thread as a live dashboard. All bots unified under 앱봇아이 username (no CWD suffix). Thread slot...

- Find Any Window Element Your Way -- grap Multi-Modal Search

  grap = glob/regex/OR/UIA-scope/JSON5 multi-field AND. Wildcards: *Button*. OR: *notepad*;*calc*. UIA scope: app#panel....

- GRAP Alias System

  Named shortcuts for GRAP patterns. Save/expand @name aliases with self-healing stale hwnd. Use anywhere a grap is accep...

- GitHub Actions budget exhausted + GH_PAT recovery

  Two common silent CI failures: (1) budget exhausted runs fail under 10s, (2) GH_PAT missing causes sync 403. Both look...

- GitHub Fine-grained PAT permission edit via webbot

  Edit GH_PAT scopes (e.g. add secrets:write) without regenerating. Fine-grained PATs allow permission updates in-place —...

- Hangul IME Relay architecture and sync pattern

  HangulImeRelay WH_KEYBOARD_LL hook: arch + bugs. KEY: daemon-only hook (Eye must NOT call Install), Global\WkImeRelay m...

- Launcher console encoding: 3-mode policy for interactive + piped + UTF-8 terminals

  Bootstrap PowerShell, cmd.exe, and Git Bash to start in UTF-8 on Windows. Use when console output or argv is misread be...

- Playbook actions: read (UIA text) + shell (external command)

  YAML playbook actions 'read' and 'shell'. 'read' extracts text from a UIA/OCR target via UiaLocator.GetText and optiona...

- Public launcher DataDir: use WKAPPBOT_HOME or %USERPROFILE%/.wkappbot

  The public ***/wkappbot launcher must use WKAPPBOT_HOME env var or %USERPROFILE%/.wkappbot as the default data root ins...

- Public repo checklist: pre-release audit for secrets and PII

  Before making ***/wkappbot public, audit committed files for secrets/PII, strip hq data from tracking, scrub commit his...

- React SPA Automation: fiber props click + controlled input fill

  How to interact with React SPAs that block isTrusted=false synthetic events. Use __reactProps onClick/onChange directly...

- Session continuity: persist command history and agent state

  FEATURE: persist last N commands, AI query sessions (triad/ask results), and agent states across Eye restarts. Enables...

- Standard AppBot Window T1 Core

  Core definition and caller-HWND rules for Standard AppBot Window. This is the shortest entrypoint for placement and IPC...

- Standard AppBot Window T2 HowTo

  T2 domain tier. FindRectProviderHwnd, IPC __hwnd forwarding, ConPTY hidden-window rect, isBig check, downstream consume...

- Standard AppBot Window T3 Reference

  T3 reference tier. GAP fix history, DPI pipeline audit, regression notes, verified tests.

- Standard AppBot Window: definition, detection, IPC forwarding, placement

  Complete reference for the Standard AppBot Window concept. Covers what it is, how to detect it via ancestor walk only,...

- Standard Chrome Window T2 HowTo

  T2 domain tier. How-to: GetWindowForTarget, SetWindowBoundsAsync, multi-tab, non-active tab, minimized Chrome, coordina...

- Standard Chrome Window T3 Reference

  T3 reference tier. DPI audit, bug-fix history, triad-verified patterns, wkcodex lock note.

- Standard Chrome Window: CDP tab to root browser window, multi-tab, iconified, placement

  Chrome-side parallel to standard-appbot-window. How to correctly identify and move the Chrome browser window for CDP pl...

- Stop AI From Clicking the Wrong Button -- 6-Layer Target Safety Net

  L1: ambiguous pattern matches multiple windows -> list + hwnd auto-heal. L2: modal alert blocking -> auto-find buttons...

- a11y close safety: ambiguity + focus-node diagnostics

  Close action defaults: multi-match without narrower -> abort with candidate list (like a11y find); after WM_CLOSE if ta...

- a11y find - output format and process resolution

  How wkappbot a11y find resolves windows and process trees, and how to keep its output aligned with the current # FOCUS...

- a11y find: MFC deep-descendant grandchildren via EnumChildWindows

  HTS/MFC apps expose empty UIA tree below top frame; controls live 3-4 levels under custom container classes. FindChildB...

- a11y grap: explicit hwnd is authoritative in FindByMultiField

  When grap pattern contains {hwnd:0x...} plus proc/title/cls hints, the hwnd is authoritative: IsWindow(hwnd) only, no A...

- a11y grid-read: clipboard bridge for owner-drawn grids

  MFC/GDI owner-drawn grids (HTS realtime tables) have no UIA/MSAA cell nodes. a11y grid-read focuses target, clears clip...

- a11y playbook writing

  Create and revise executable WKAppBot playbooks/scenarios for focusless desktop automation. Use when drafting or updati...

- a11y read/inspect improvements for elevated MFC MDI

  Gaps in a11y read/inspect on nfrunlite elevated MFC MDI and proposals

- a11y screenshot: focusless capture, multi-node, cross-root, subprocess

  wkappbot a11y screenshot is fully focusless -- never steals keyboard focus or changes z-order. Supports multi-node comp...

- a11y screenshot: focusless window capture

  wkappbot a11y screenshot <grap> captures a window image focuslessly. Supports --out <path> to save to custom path; defa...

- admin Eye hot-swap: known gap, options for fix

  Admin Eye currently has no FSW watcher. After normal Eye hot-swaps to a new wkappbot-core.exe, the admin Eye pipe (wkap...

- cls glob-path: ancestor search and depth patterns

  cls ancestor path glob matching for a11y find

- file symlink and file link: create symbolic and hard links

  wkappbot file symlink <target> <linkname> creates a symbolic link for files or directories. wkappbot file link <target>...

- grap hwnd volatility: hwnd stale between find and use

  hwnd returned by a11y find becomes invalid if the window is destroyed/recreated between find and use. When this happens...

- grap-target

  Shell-safe output contract for a11y find. Use when you need a paste-ready grap target that survives shell copy/paste, r...

- partial-class-file-splitting-400-line-soft-cap

  No description.

- proc field proc-tree path matching -- parent process chain patterns

  proc:'X/Y' finds windows whose process X was launched by Y. proc:'**/Y' finds all processes in Y's launch tree. Stops a...

- repo maintenance: gc cleanup and pre-release git audit

  Pre-release git audit workflow: check tracked files, scrub secrets, use wkappbot gc to clean objects.

- schedule --cmd bash/sh/python on Windows: auto-resolve interpreter path

  wkappbot schedule add --cmd 'bash script.sh' auto-resolves bash to Git bash path on Windows. ResolveShellCommand at reg...

- skill search/news: coverage-based ranking + skill news command

  skill search ranks by SkillCoverageScore (sum of tok.Length/field.Length per match). skill news shows recently updated...

- v6.0 sudo pipe + encoding fixes (2026-04-20)

  Three bugs fixed: wkappbot_elevated pipe routing, --sudo proxy Korean mojibake, and CreateProcessA argv UTF-8 recovery.

- win-click --dismiss-blocker: auto-dismiss blocking popup dialogs

  When win-click reports physical click blocked by a dialog, --dismiss-blocker calls TryDismissBlocker on the blocking #3...

- win-click coordinate system: window-relative vs --abs screen coords

  win-click x y uses window-relative coords (from window top-left including title bar). Use --abs for absolute screen coo...

- wkappbot ocr: screenshot-to-text, HTS owner-drawn, pipeline usage

  wkappbot ocr runs OCR on a window or image file. Pairs with a11y screenshot for focusless MFC/HTS owner-drawn control t...

- wkappbot run: process launcher with integrated tracking

  FEATURE: wkappbot run <exe> [args] would launch a process with integrated bug tracking (auto-suggest on crash), close d...

- wkappbot taskkill: classify and kill wkappbot processes

  taskkill CLASSIFY: shows full cmdline per process (2 lines). Zombie Eye cleanup after long uptime.

- wkcdp-mon: CDP 크롬 세션 모니터

  CDP Chrome session monitor: port, process, tabs, memory, position, idle kill

- wkedit shell distortion recovery

  3rd retry in wkedit.sh: recover original args from parent cmdline when shell distortion causes old_string not found

- wkfind Caller HWND 3-Tier T3 Reference

  T3 ref. Historical 3-tier model (obsolete), FIX SPEC 2026-05-20, CLAUDE.md guard added, verified test.

- wkfind quick: Process-chain caller window detection patterns

  Quick reference for finding and fixing caller HWND issues. When you suspect wrong window detection, use this checklist.

- wkfind: Caller HWND validation - 3-tier priority cascade pattern

  Windows process->window mapping for caller-HWND detection. CURRENT CODE (EyeCmdPipeClient.WindowDetection.cs): GA_ROOTO...

- wksplit-cs C# file splitter

  Auto-split large .cs files into partial classes with unused-using cleanup