Something went wrong. Try again.
native macOS codings agent orchestrator prowl.onev.cat
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235{ "exemptPaths": { "App/Sources/CLIService/**": "protocol: CLI responses stay in English", "App/Sources/Infrastructure/AgentDetection/**": "identifier: text matched against agent screens", "App/Sources/Features/Debug/**": "developer: debug-only UI", "App/Sources/**/*Prompt.swift": "agent-prompt", "App/Sources/**/*Template*.swift": "agent-prompt: starter templates", "App/Sources/Domain/Workflow/WorkflowLineRenderer.swift": "agent-prompt: lines typed into an agent", "App/Sources/Clients/BranchNameSuggestion/**": "agent-prompt", "App/Sources/Support/**": "developer: diagnostics and helpers without UI", "App/Sources/Domain/Handoff/**": "agent-prompt: handoff documents written for agents", "App/Sources/Infrastructure/Ghostty/GhosttyCJKFontFallback.swift": "identifier: system font family names given to Ghostty" }, "exemptLinePatterns": { "ProwlLogger\\(|[Ll]ogger\\.|\\.log\\(|Diagnostics\\.log|sentryCapture": "log", "reportIssue|fatalError|preconditionFailure|assertionFailure|precondition\\(|assert\\(": "developer", "systemImage:|systemName:|Image\\(\"|NSImage\\(named": "identifier: symbol and asset names", "accessibilityIdentifier|\\.capture\\(": "identifier", "comment: \"": "developer: translator comments", "#Preview|PreviewProvider": "developer", "defaultValue: \"": "localized: the default value of a keyed string", "keywords: \\[": "identifier: search keywords of the Command Palette", "^\\s*case \\w+ = \"": "identifier: raw value of an enum case", "\\b\\w*[Ll]og\\.(debug|info|notice|warning|error)\\(": "log: a ProwlLogger instance held in a variable" }, "runtimeKeyPaths": { "App/Sources/App/AppShortcuts.swift": "titles are looked up through Binding.localizedTitle", "App/Sources/Features/CommandPalette/Reducer/CommandPaletteFeature.swift": "item titles are looked up in CommandPaletteSupport" }, "exemptLiterals": { "%@\n\n---\nProwl dispatch completion protocol v%@:\nBefore ending this task, choose exactly one terminal outcome and make this command your final tool action:\nprowl agents dispatch-complete --outcome succeeded|failed --summary \"<concise result>\"\nUse succeeded only when the assigned work is complete and verified. Use failed when it cannot be completed.\nKeep the required summary to a single line with no control characters, and explain the result clearly.\nDo not omit the command; Prowl supplies its dispatch context\nautomatically.": "agent-prompt", "%@\nif [ -n \"${prowl_user_zdotdir+set}\" ]; then ZDOTDIR=$prowl_user_zdotdir; else unset ZDOTDIR; fi\nunset prowl_user_zdotdir prowl_wrapper_dir\nprowl_report() {\n [ -n \"${prowl_launch_dir-}\" ] || return 0\n local prowl_status=$1 prowl_state=error\n [ \"$prowl_status\" = 0 ] && prowl_state=done\n rm -rf -- \"$prowl_launch_dir\"\n unset prowl_launch_dir\n %@\n}\nprowl_first_command() {\n precmd_functions=(${precmd_functions:#prowl_first_command})\n : > \"$prowl_launch_dir/started\"\n {\n source \"$prowl_launch_dir/command\"\n } always {\n (( TRY_BLOCK_INTERRUPT )) && prowl_report 130\n }\n prowl_report $?\n unfunction prowl_first_command prowl_report\n}\nprecmd_functions+=(prowl_first_command)": "identifier", "%@ has an existing draft or attachment. Clear it on Host before dispatching.": "protocol", "%@: unexpected version output": "developer", "%@; %@; %@; exec \"${__prowl_login_argv[@]}\"": "identifier", "(invocation %@)%@; persisting.": "log", "Action input evaluation failed: %@": "log", "Agent '%@' is not supported by agents read.": "protocol", "Android Studio": "product-name", "Authorization status is denied.": "other", "Cannot record action process ownership.": "developer", "Catppuccin Frappe": "product-name", "Catppuccin Latte": "product-name", "Choose a valid Host Profile and a prompt within the size limit.": "protocol", "Claude Code": "product-name", "Codex has a draft, attachment, or an unrecognized input area. Check Host before dispatching.": "protocol", "Command is not allowed.": "protocol", "Configure bundle approval in the test.": "developer", "Configure bundle review in the test.": "developer", "Control evaluation failed: %@": "log", "Could not encode the command result. Check Host before retrying.": "protocol", "Cursor Agent": "product-name", "Custom command has an empty id.": "developer", "DEBUG launch stall: blocking main thread for %@s (ProwlDebugLaunchStallSeconds)": "log", "DEBUG launch stall: resumed": "log", "Delivery could not be saved: %@": "log", "Developer": "identifier", "Device access was revoked.": "log", "Device authentication failed or pairing expired.": "log", "Device authentication timed out.": "log", "EEE, dd MMM yyyy HH:mm:ss zzz": "identifier", "Empty output": "other", "Empty repository icon storage string": "developer", "Empty response from gh api graphql": "other", "GIT_OPTIONAL_LOCKS=0\nexport GIT_OPTIONAL_LOCKS\nprowl_fail() { printf 'PROWL_REFRESH\t#(formatVersion)\nR\t%s\n\n1\"; exit 0; }\n# True only when the path surely does not exist: the deepest part of it that can be\n# seen is a folder that can be searched, so the next part is absent. A link is followed\n# to its target. A folder that cannot be searched hides the path, which may still exist.\nprowl_is_missing() {\n prowl_p=$1\n prowl_rest=\n prowl_hops=0\n while [ ! -e \"$prowl_p\" ]; do\n if [ -L \"$prowl_p\" ]; then\n [ \"$prowl_hops\" -lt 16 ] || return 1\n prowl_t=$(readlink -- \"$prowl_p\") || return 1\n case $prowl_t in /*) ;; *) prowl_t=$(dirname -- \"$prowl_p\")/$prowl_t ;; esac\n prowl_p=$prowl_t$prowl_rest\n prowl_rest=\n prowl_hops=$((prowl_hops + 1))\n continue\n fi\n prowl_rest=/$(basename -- \"$prowl_p\")$prowl_rest\n prowl_p=$(dirname -- \"$prowl_p\")\n done\n [ -d \"$prowl_p\" ] && [ -x \"$prowl_p\" ]\n}\nif [ ! -e \"$1\" ]; then\n prowl_is_missing \"$1\" && prowl_fail missing\n prowl_fail inaccessible\nfi\ncd -- \"$1\" 2>/dev/null || prowl_fail inaccessible\ncommand -v git >/dev/null 2>&1 || prowl_fail no-git\nif ! prowl_error=$(LC_ALL=C git rev-parse --git-dir 2>&1 >/dev/null); then\n case $prowl_error in *'not a git repository'*) prowl_fail not-git ;; esac\n printf 'PROWL_REFRESH\t#(formatVersion)\nR\tgit\t%s\n\n(printf '%s\nprowl_error\" | tail -n 1)\"\n exit 0\nfi\nprintf 'PROWL_REFRESH\t#(formatVersion)\n\nprintf 'ROOT\t%s\n(pwd -P)\"\nprintf 'BARE\t%s\n(git rev-parse --is-bare-repository 2>/dev/null)\"\nprintf 'REMOTES\t%s\n(git config --get-regexp '^remote..*.url$' 2>/dev/null | cksum | tr ' ' '-')\"\nif stat -c %Y . >/dev/null 2>&1; then\n prowl_birth() {\n b=$(stat -c %W \"$1\" 2>/dev/null)\n case $b in '' | 0 | -) stat -c %Y \"$1\" 2>/dev/null ;; *) echo \"$b\" ;; esac\n }\nelse\n prowl_birth() {\n b=$(stat -f %B \"$1\" 2>/dev/null)\n case $b in '' | 0) stat -f %m \"$1\" 2>/dev/null ;; *) echo \"$b\" ;; esac\n }\nfi\nprowl_emit() {\n [ -n \"$wt\" ] || return 0\n if [ \"$bare\" = 1 ]; then\n printf 'WORKTREE\tbare\t\t\t\t\t\t\t%s\nwt\"\n elif [ -d \"$wt\" ]; then\n # No counts when git cannot diff, as for a worktree without a commit.\n if numstat=$(git -C \"$wt\" diff --numstat HEAD -- 2>/dev/null); then\n counts=$(printf '%s\nnumstat\" |\n awk -F '\t' '$1 != \"-\" { a += $1 } $2 != \"-\" { d += $2 } END { printf \"%d\t%d\", a, d }')\n else\n counts=$(printf '\t')\n fi\n untracked=$(git -C \"$wt\" ls-files --others --exclude-standard 2>/dev/null | wc -l | tr -d ' ')\n printf 'WORKTREE\tok\t%s\t%s\t%s\t%s\t%s\t%s\n\n \"$head\" \"$branch\" \"$(prowl_birth \"$wt\")\" \"$counts\" \"$untracked\" \"$wt\"\n else\n printf 'WORKTREE\tmissing\t%s\t%s\t\t\t\t\t%s\nhead\" \"$branch\" \"$wt\"\n fi\n}\ngit worktree list --porcelain 2>/dev/null | {\n wt=; head=; branch=; bare=0\n while IFS= read -r line; do\n case $line in\n 'worktree '*) prowl_emit; wt=${line#worktree }; head=; branch=; bare=0 ;;\n 'HEAD '*) head=${line#HEAD } ;;\n 'branch refs/heads/'*) branch=${line#branch refs/heads/} ;;\n bare) bare=1 ;;\n esac\n done\n prowl_emit\n}\nprintf 'END\n": "identifier", "Gemini CLI": "product-name", "Ghostty Default Style Dark": "product-name", "Ghostty Default Style Light": "product-name", "GitHub Copilot": "product-name", "GitHub Desktop": "product-name", "GitHub pull request refresh failed.": "other", "GraphQL error": "other", "GraphQL error for %@/%@: %@": "other", "Grok Build": "product-name", "HEARTBEAT STALL: main thread blocked ~%.3fs": "log", "HISTORY_UNAVAILABLE: Cannot capture history within the supported limits.": "protocol", "Holding back %@ %@ until %@: %@": "log", "Host cannot verify an empty shell command line. Use an Agent Profile or control the shell on Host.": "protocol", "Host pane is unavailable: %@": "log", "IntelliJ IDEA": "product-name", "IntelliJ IDEA EAP": "product-name", "Invalid command request.": "protocol", "Invalid dispatch target or prompt size.": "protocol", "Kimi CLI": "product-name", "Library/Application Support/com.mitchellh.ghostty": "identifier", "Login PATH: %@": "developer", "Missing response payload for %@/%@": "other", "NSWindow Frame DiffWindow": "identifier", "No test activation bridge configured.": "developer", "No test workflow directory configured.": "developer", "No test workflow runtime configured.": "developer", "No workflow step is waiting for a delivery from this pane.": "protocol", "Oh My Pi": "product-name", "Open Finder": "identifier", "PANE_BUSY: This pane already has a remote mirror.": "protocol", "PATH=%@; export PATH\n": "identifier", "Pane %@": "protocol", "Pane '%@' does not host an active agent.": "protocol", "Pane '%@' is no longer available.": "protocol", "Pane '%@' no longer hosts the selected agent.": "protocol", "Probe failed (%@): %@\n": "developer", "Prowl main window surfacing %@": "log", "Qoder CLI": "product-name", "Qwen Code": "product-name", "Received delivery '%@' for workflow step '%@'%@.": "log", "Request ID was reused with different parameters.": "protocol", "Requested closure of role '%@'.": "log", "Role '%@' has no pane to close.": "log", "Role '%@' was already launched. Use message for repeated work.": "log", "Run marked interrupted at app launch (no resume in V1).": "log", "Sentry window lifecycle report kind=%@ elapsed=%.3fs context=%@": "log", "Setting up": "developer", "Shortcut key must be exactly one character.": "developer", "Step '%@' failed: %@": "log", "Step '%@' reached its timeout without a delivery from %@.": "log", "Step '%@': native action '%@' not started; the run had moved on.": "log", "Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).": "identifier", "Sublime Merge": "product-name", "Sublime Text": "product-name", "Test": "developer", "The %@ input area could not be verified. Check Host before dispatching.": "protocol", "The delivered output is %@ bytes; the limit is %@ bytes.": "protocol", "The delivered output is invalid: %@": "protocol", "The delivery token does not belong to the step that is waiting; rerun the latest generated completion command.": "protocol", "The delivery token is missing; run the generated completion command ": "protocol", "The launched Profile pane could not be resolved.": "protocol", "The mirror no longer owns this pane.": "protocol", "The output was accepted but could not be saved to the run directory: %@": "protocol", "The prepared Agent Profile launch is no longer available.": "protocol", "The remote command request limit has been reached. Restart Prowl before issuing more commands.": "protocol", "The resolved split anchor is invalid.": "protocol", "The resolved worktree is no longer available.": "protocol", "The run ended (%@) before the output was saved.": "protocol", "The step stopped waiting for this delivery before the output was saved.": "protocol", "The target terminal is no longer available.": "protocol", "The workflow run is not active.": "protocol", "This step requires a verdict: pass --verdict with one of %@.": "protocol", "TraeCode CLI": "product-name", "Unknown Canvas layout mode %@": "developer", "Unknown workflow scope '%@'.": "other", "User canceled": "identifier", "VS Code": "product-name", "VS Code Insiders": "product-name", "Workflow deletion is not available.": "developer", "Workflow run %@ cancelled at step '%@'.": "log", "Workflow run %@ ended before invocation %@ was typed.": "log", "Workflow run %@ ended before role launch %@ completed.": "log", "Workflow run %@ moved on before invocation %@ was typed.": "log", "Workflow run %@ moved on before role launch %@ completed.": "log", "Workflow run %@: role '%@' relaunched at step '%@'.": "log", "Workflow run %@: step '%@' retried.": "log", "Workflow run %@: step '%@' skipped.": "log", "Workflow runtime is not available.": "developer", "Workflow settings are not available.": "developer", "WorkflowActivationClient.openMessage not configured": "developer", "WorkflowRuntimeClient.launch is not configured": "developer", "Worktree '%@' matches %@ worktrees.": "protocol", "Worktree '%@' not found.": "protocol", "Zed Preview": "product-name" }, "blocked": { "%@ delivered %@, but: %@.": "The same value goes to log.md, state.json, and the prowl workflow status JSON. Localize it with UI-side copy per WorkflowAttentionReason.", "%@ has been idle without delivering %@; Prowl nudged it once.": "The same value goes to log.md, state.json, and the prowl workflow status JSON. Localize it with UI-side copy per WorkflowAttentionReason.", "%@ has no pane: its launch was skipped or did not succeed.": "The same value goes to log.md, state.json, and the prowl workflow status JSON. Localize it with UI-side copy per WorkflowAttentionReason.", "%@ is above the maximum %@.": "The same value goes to log.md, state.json, and the prowl workflow status JSON. Localize it with UI-side copy per WorkflowAttentionReason.", "%@ is below the minimum %@.": "The same value goes to log.md, state.json, and the prowl workflow status JSON. Localize it with UI-side copy per WorkflowAttentionReason.", "%@ is busy.": "The same value goes to log.md, state.json, and the prowl workflow status JSON. Localize it with UI-side copy per WorkflowAttentionReason.", "%@ is waiting for input in its pane.": "The same value goes to log.md, state.json, and the prowl workflow status JSON. Localize it with UI-side copy per WorkflowAttentionReason.", "%@ looks blocked on screen.": "The same value goes to log.md, state.json, and the prowl workflow status JSON. Localize it with UI-side copy per WorkflowAttentionReason.", "%@'s agent process is gone.": "The same value goes to log.md, state.json, and the prowl workflow status JSON. Localize it with UI-side copy per WorkflowAttentionReason.", "%@'s agent session ended before it delivered %@.": "The same value goes to log.md, state.json, and the prowl workflow status JSON. Localize it with UI-side copy per WorkflowAttentionReason.", "%@'s pane was closed before it delivered %@.": "The same value goes to log.md, state.json, and the prowl workflow status JSON. Localize it with UI-side copy per WorkflowAttentionReason.", "'%@' is not an integer.": "The same value goes to log.md, state.json, and the prowl workflow status JSON. Localize it with UI-side copy per WorkflowAttentionReason.", "'%@' is not one of %@.": "The same value goes to log.md, state.json, and the prowl workflow status JSON. Localize it with UI-side copy per WorkflowAttentionReason.", "Action input exceeds 16 MiB.": "Reaches the action record files and, through an attention reason, log.md and the prowl CLI.", "Agent Profiles cannot launch in a remote folder yet.": "The same value goes to log.md, state.json, and the prowl workflow status JSON. Localize it with UI-specific copy first.", "All device access was revoked. Pair again to connect.": "Sent to remote clients as the connection close reason; needs separate localized presentation on each client.", "Choose a branch": "Stored as the step title in the run records of the run directory.", "Close %@": "Stored as the step title in the run records of the run directory.", "Continue loop": "Stored as the step title in the run records of the run directory.", "Default": "Only the sample data of a private preview struct is left; the real label is localized. Not exempt, because a decision covers every place of the literal.", "Exit loop": "Stored as the step title in the run records of the run directory.", "Focus the pane and press Enter, or retry.": "The same value goes to log.md, state.json, and the prowl workflow status JSON. Localize it with UI-side copy per WorkflowAttentionReason.", "Hunk Diff": "The tab title also appears in the prowl CLI JSON and in the saved terminal layout.", "Hunk Diff · %@": "The tab title also appears in the prowl CLI JSON and in the saved terminal layout.", "Launch %@": "Stored as the step title in the run records of the run directory.", "Launching %@ failed: %@": "The same value goes to log.md, state.json, and the prowl workflow status JSON. Localize it with UI-side copy per WorkflowAttentionReason.", "Loop %@": "Stored as the step title in the run records of the run directory.", "Managed Claude hooks could not be prepared; launching with the original settings.": "LifecycleCommandWarning.message also goes to the prowl CLI JSON and stderr. Split the toast copy from the CLI message first.", "Managed Droid hooks could not be prepared; launching with the original settings.": "LifecycleCommandWarning.message also goes to the prowl CLI JSON and stderr. Split the toast copy from the CLI message first.", "Managed OpenCode hooks are unavailable when --pure is set; launching unchanged.": "LifecycleCommandWarning.message also goes to the prowl CLI JSON and stderr. Split the toast copy from the CLI message first.", "Managed OpenCode hooks are unavailable when OPENCODE_PURE is set; launching unchanged.": "LifecycleCommandWarning.message also goes to the prowl CLI JSON and stderr. Split the toast copy from the CLI message first.", "Managed Qoder hooks are unavailable when --setting-sources is set; launching unchanged.": "LifecycleCommandWarning.message also goes to the prowl CLI JSON and stderr. Split the toast copy from the CLI message first.", "Managed Qoder hooks could not be prepared; launching with the original settings.": "LifecycleCommandWarning.message also goes to the prowl CLI JSON and stderr. Split the toast copy from the CLI message first.", "Managed hooks could not be prepared for this runtime.": "LifecycleCommandWarning.message also goes to the prowl CLI JSON and stderr. Split the toast copy from the CLI message first.", "Message %@": "Stored as the step title in the run records of the run directory.", "Run %@": "Stored as the step title in the run records of the run directory.", "SCROLL_BUSY: Wait for the current scroll to finish.": "Sent in the Mirror wire failure message; clients parse the error code and need separate localized presentation.", "SCROLL_UNAVAILABLE: Host cannot scroll this pane.": "Sent in the Mirror wire failure message; clients parse the error code and need separate localized presentation.", "SCROLL_UNAVAILABLE: Host could not scroll this pane.": "Sent in the Mirror wire failure message; clients parse the error code and need separate localized presentation.", "Saved terminal layout was invalid and has been reset": "The message is shown in a toast and also goes to the prowl CLI JSON or the log through the same value.", "Send to Prowl Notifications": "Stored as the step title in the run records of the run directory.", "The %@ working directory option could not be resolved.": "LifecycleCommandWarning.message also goes to the prowl CLI JSON and stderr. Split the toast copy from the CLI message first.", "The Copilot working directory option could not be resolved.": "LifecycleCommandWarning.message also goes to the prowl CLI JSON and stderr. Split the toast copy from the CLI message first.", "The OpenCode launch environment could not be resolved; launching unchanged.": "LifecycleCommandWarning.message also goes to the prowl CLI JSON and stderr. Split the toast copy from the CLI message first.", "The OpenCode project directory could not be resolved.": "LifecycleCommandWarning.message also goes to the prowl CLI JSON and stderr. Split the toast copy from the CLI message first.", "The activation for %@ could not be opened: %@": "The same value goes to log.md, state.json, and the prowl workflow status JSON. Localize it with UI-side copy per WorkflowAttentionReason.", "The bundled %@ hook extension is unavailable.": "LifecycleCommandWarning.message also goes to the prowl CLI JSON and stderr. Split the toast copy from the CLI message first.", "The bundled Copilot hook plugin is unavailable.": "LifecycleCommandWarning.message also goes to the prowl CLI JSON and stderr. Split the toast copy from the CLI message first.", "The bundled OpenCode hook plugin is unavailable.": "LifecycleCommandWarning.message also goes to the prowl CLI JSON and stderr. Split the toast copy from the CLI message first.", "The bundled Prowl hook bridge is unavailable.": "LifecycleCommandWarning.message also goes to the prowl CLI JSON and stderr. Split the toast copy from the CLI message first.", "The delivery from step '%@' could not be saved to the run directory: %@": "The same value goes to log.md, state.json, and the prowl workflow status JSON. Localize it with UI-side copy per WorkflowAttentionReason.", "The effective Codex launch context could not be resolved.": "LifecycleCommandWarning.message also goes to the prowl CLI JSON and stderr. Split the toast copy from the CLI message first.", "The effective Codex notifier could not be preserved safely.": "LifecycleCommandWarning.message also goes to the prowl CLI JSON and stderr. Split the toast copy from the CLI message first.", "The effective Codex notifier could not be resolved.": "LifecycleCommandWarning.message also goes to the prowl CLI JSON and stderr. Split the toast copy from the CLI message first.", "The effective Codex shell environment could not be resolved.": "LifecycleCommandWarning.message also goes to the prowl CLI JSON and stderr. Split the toast copy from the CLI message first.", "The existing Codex notifier could not be preserved safely.": "The message is shown in a toast and also goes to the prowl CLI JSON or the log through the same value.", "The existing OPENCODE_CONFIG_CONTENT is not a JSON object; launching unchanged.": "LifecycleCommandWarning.message also goes to the prowl CLI JSON and stderr. Split the toast copy from the CLI message first.", "The existing OPENCODE_CONFIG_CONTENT plugin list is not an array; launching unchanged.": "LifecycleCommandWarning.message also goes to the prowl CLI JSON and stderr. Split the toast copy from the CLI message first.", "The instruction could not be persisted: %@": "Becomes the detail of an attention reason, so it also reaches log.md and the prowl CLI.", "The launch target changed during managed hook preparation.": "The message is shown in a toast and also goes to the prowl CLI JSON or the log through the same value.", "The line could not be typed into %@'s pane.": "The same value goes to log.md, state.json, and the prowl workflow status JSON. Localize it with UI-side copy per WorkflowAttentionReason.", "The line could not be typed: %@ is blocked.": "The same value goes to log.md, state.json, and the prowl workflow status JSON. Localize it with UI-side copy per WorkflowAttentionReason.", "The line could not be typed: %@'s pane is gone.": "The same value goes to log.md, state.json, and the prowl workflow status JSON. Localize it with UI-side copy per WorkflowAttentionReason.", "The line was inserted but not submitted; it may still sit unsubmitted in %@'s input. ": "The same value goes to log.md, state.json, and the prowl workflow status JSON. Localize it with UI-side copy per WorkflowAttentionReason.", "The managed hook settings file could not be created.": "The message is shown in a toast and also goes to the prowl CLI JSON or the log through the same value.", "The merged OPENCODE_CONFIG_CONTENT could not be serialized; launching unchanged.": "LifecycleCommandWarning.message also goes to the prowl CLI JSON and stderr. Split the toast copy from the CLI message first.", "The rendered line of step '%@' is not a single terminal line; nothing was typed.": "The same value goes to log.md, state.json, and the prowl workflow status JSON. Localize it with UI-side copy per WorkflowAttentionReason.", "This mirror was disconnected by Host.": "Host sends it to the client device in a failure frame. Needs client-side copy per failure reason.", "Unknown collect-worktree-context input.": "Reaches the action record files and, through an attention reason, log.md and the prowl CLI.", "Update workflow state": "Stored as the step title in the run records of the run directory." }, "debt": []}