YeonGyu-Kim
7accb53cbb
fix(shared): handle Windows rename-over-existing in write-file-atomically ( #3222 )
...
On Windows, renameSync fails with EPERM/EACCES when the target file
already exists. Fall back to unlink + rename on Windows permission
errors while preserving atomic semantics on other platforms.
🤖 Generated with OhMyOpenCode assistance
https://github.com/code-yeongyu/oh-my-opencode
2026-04-12 02:28:05 +09:00
YeonGyu-Kim
e71c34acb2
fix(migration): return true when canonical config write succeeds regardless of archive status ( #3133 )
...
Previously returned archivedLegacyConfig which was false when archive
rename failed, even though the canonical file was successfully written.
Archive failure is secondary cleanup and should not be reported as
migration failure.
🤖 Generated with OhMyOpenCode assistance
https://github.com/code-yeongyu/oh-my-opencode
2026-04-12 02:27:56 +09:00
YeonGyu-Kim
141798efed
refactor(background-agent): standardize loop detector null guards
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-12 00:42:52 +09:00
YeonGyu-Kim
4de02094ab
test(background-agent): lock nullish loop detector behavior
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-12 00:42:25 +09:00
YeonGyu-Kim
21cad26c08
docs(config): remove redundant schema default comments
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-12 00:07:10 +09:00
YeonGyu-Kim
6713b30cc1
refactor(hooks): drop no-op directory injector callbacks
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-12 00:07:10 +09:00
YeonGyu-Kim
a0d5131ee1
refactor(plugin): remove dead chat params code
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-12 00:07:10 +09:00
YeonGyu-Kim
668bc8e83d
refactor(config-manager): simplify config parsing guards
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-12 00:07:10 +09:00
YeonGyu-Kim
50df6f0d3e
test(claude-code-plugin-loader): cover plugin path nullish resolution
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-12 00:07:10 +09:00
YeonGyu-Kim
cd8352c108
refactor(claude-code-mcp-loader): simplify env expansion null guard
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-12 00:07:10 +09:00
YeonGyu-Kim
79a475d60f
refactor(background-agent): simplify loop detector null guard
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-12 00:07:10 +09:00
YeonGyu-Kim
2d65896bbd
refactor(shared): simplify normalize SDK null guards
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-12 00:07:10 +09:00
YeonGyu-Kim
d21ed3f765
fix(doctor): add timeouts to subprocess spawns to prevent exit code 137
...
Doctor checks spawned subprocesses (gh, opencode, sg) without timeouts,
causing the process to hang indefinitely if any binary was stuck.
The OS would then SIGKILL the process (exit code 137).
- Add spawnWithTimeout utility with 10s per-spawn timeout and proper
cleanup (timer cleared on success, proc.exited awaited after kill)
- Capture both stdout and stderr to preserve gh auth status behavior
- Add 30s overall doctor command timeout with JSON-mode support
- Distinguish timeout errors from other failures in runner
- Update all doctor check subprocess calls to use timeouts
2026-04-11 23:15:09 +09:00
YeonGyu-Kim
314e1a5efb
fix(telemetry): enable GeoIP resolution for PostHog events
...
posthog-node SDK defaults disableGeoip to true, preventing country/city
data from being populated despite $ip being sent. Explicitly set
disableGeoip: false to enable geographic analytics.
2026-04-11 23:15:09 +09:00
YeonGyu-Kim
69f1c9ae35
fix(doctor): add timeouts to subprocess spawns to prevent exit code 137
...
Doctor checks spawned subprocesses (gh, opencode, sg) without timeouts,
causing the process to hang indefinitely if any binary was stuck.
The OS would then SIGKILL the process (exit code 137).
- Add spawnWithTimeout utility with 10s per-spawn timeout
- Add 30s overall doctor command timeout with graceful error message
- Update all doctor check subprocess calls to use timeouts
2026-04-11 23:15:09 +09:00
YeonGyu-Kim
44ebf4b809
Merge pull request #3343 from code-yeongyu/refactor/ultrawork-cleanup-pass
...
refactor: trim duplicate logic and dead internal exports
2026-04-11 23:12:16 +09:00
YeonGyu-Kim
a2ae3de31a
refactor(openclaw): extract gateway url validator
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-11 22:49:15 +09:00
YeonGyu-Kim
21822ba29f
test(openclaw): cover shared gateway url validation
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-11 22:49:10 +09:00
YeonGyu-Kim
40411f3218
docs(agents): add AGENTS.md documentation for prometheus, hephaestus, sisyphus variants, and builtin-skills
...
- src/agents/prometheus/: Strategic planner documentation
- src/agents/hephaestus/: GPT-5.4 autonomous worker documentation
- src/agents/sisyphus/: Model-specific orchestrator variants documentation
- src/features/builtin-skills/: 8 built-in skills catalog
🤖 Generated with OhMyOpenCode assistance
2026-04-11 22:33:22 +09:00
YeonGyu-Kim
0c5cd3a1c4
chore(agents): update all AGENTS.md generation dates to 2026-04-11
...
🤖 Generated with OhMyOpenCode assistance
2026-04-11 22:33:22 +09:00
YeonGyu-Kim
f95e7a6c6b
refactor(openclaw): reuse shared gateway url validation
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-11 22:29:14 +09:00
YeonGyu-Kim
9d89bbb03a
refactor(commands): keep builtin command options internal
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-11 22:29:08 +09:00
YeonGyu-Kim
1e2e001955
refactor(create-tools): keep result type internal
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-11 22:29:03 +09:00
YeonGyu-Kim
e9b6bba1d7
refactor(agent-display): centralize name normalization resolution
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-11 22:28:58 +09:00
YeonGyu-Kim
f5dc1c0eba
refactor(event): simplify tmux config check to direct property access
2026-04-11 22:14:48 +09:00
YeonGyu-Kim
db5beef015
test(telemetry): improve mock isolation for runner and index tests
2026-04-11 22:14:44 +09:00
YeonGyu-Kim
0c93ce66e5
refactor(tool-config): use getAgentListDisplayName for consistent naming
...
Update tool config handler to use getAgentListDisplayName
for proper agent name resolution in tool configurations.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-11 22:01:59 +09:00
YeonGyu-Kim
e14a25be8f
test(config): use getAgentListDisplayName in config handler tests
...
Update config handler tests to use getAgentListDisplayName
for consistent runtime-facing agent names in test assertions.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-11 22:01:51 +09:00
YeonGyu-Kim
15c8d469bc
refactor(command-config): use getAgentListDisplayName for consistent naming
...
Update command config handler and tests to use getAgentListDisplayName
for proper agent name resolution in command configurations.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-11 22:01:42 +09:00
YeonGyu-Kim
ce53b4cbdb
refactor(agent-priority): use getAgentListDisplayName for ordering
...
Update agent priority order handler and tests to use
getAgentListDisplayName for consistent runtime-facing names.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-11 22:01:34 +09:00
YeonGyu-Kim
79b4b0a386
refactor(agent-key): use getAgentListDisplayName for consistent key remapping
...
Update agent key remapper and tests to use getAgentListDisplayName
for proper runtime-facing list names in OpenCode display.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-11 22:01:29 +09:00
YeonGyu-Kim
3b092c249b
refactor(agent-config): use getAgentListDisplayName for consistent naming
...
Update agent config handler and tests to use the new getAgentListDisplayName
utility for proper OpenCode agent list display ordering.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-11 22:01:23 +09:00
YeonGyu-Kim
cfc3f33f8f
feat(agent): add getAgentListDisplayName utility for OpenCode list ordering
...
Add helper function that returns runtime-facing agent name with sort
prefixes for consistent OpenCode agent list display ordering.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-11 22:01:16 +09:00
YeonGyu-Kim
84f29e37af
Merge pull request #3340 from code-yeongyu/fix/stop-continuation-chat-message-fallback
...
fix(stop-continuation): clear chat.message fallback stop state before work resumes
2026-04-11 21:43:16 +09:00
YeonGyu-Kim
c9461a9085
fix(stop-continuation): scope start-work clearing to fallback template
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-11 21:36:40 +09:00
YeonGyu-Kim
d62e3eacb1
Merge pull request #3342 from code-yeongyu/fix/migration-sidecar-transaction-order
...
fix(migration): write config before sidecar updates
2026-04-11 21:34:43 +09:00
YeonGyu-Kim
6f21e74d56
fix(migration): write config before sidecar updates
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-11 21:27:21 +09:00
YeonGyu-Kim
8bc27da0f0
test(install): restore Bun mocks after installer tests
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-11 21:25:27 +09:00
YeonGyu-Kim
e2f304f1a8
fix(telemetry): validate activity state shape
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-11 21:25:27 +09:00
YeonGyu-Kim
acb0f6b006
fix(install): isolate installer telemetry failures
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-11 21:25:27 +09:00
YeonGyu-Kim
2510870133
fix(run): isolate CLI telemetry failures
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-11 21:25:26 +09:00
YeonGyu-Kim
c09ee32fe9
fix(telemetry): isolate plugin telemetry failures
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-11 21:25:26 +09:00
YeonGyu-Kim
9287abe157
fix(stop-continuation): clear chat.message fallback stop state before work resumes
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-11 21:24:03 +09:00
YeonGyu-Kim
e4bb60ba07
Merge pull request #3339 from Qiiks/fix/shell-detection-shell-before-psmodulepath
...
fix(shell-env): check SHELL before PSModulePath for shell detection
2026-04-11 21:14:02 +09:00
YeonGyu-Kim
a442976d77
Fix invisible characters in agent names
2026-04-11 20:44:57 +09:00
Qiiks
f5a95203a4
fix(shell-env): check SHELL before PSModulePath for shell detection
...
On Windows, PSModulePath is always set by the system even when the
active shell is Git Bash (via SHELL env var). This caused the
non-interactive-env hook to generate PowerShell syntax ($env:VAR=val)
for bash shells, resulting in 15+ errors per command.
The fix prioritizes SHELL over PSModulePath since an explicit SHELL
variable indicates the user's chosen shell, while PSModulePath is just
a system-wide module path that doesn't indicate the active shell.
Fixes : #3338
2026-04-11 16:06:42 +05:30
YeonGyu-Kim
044e1f5ab9
fix(agents): restore ZWSP runtime names in name field for OpenCode sort ordering
...
Reverts getAgentDisplayName back to getAgentRuntimeName in the remapper
and default_agent assignment. OpenCode sorts agents by name via
localeCompare, so ZWSP prefixes in the name field are required to
preserve canonical core agent order (sisyphus > hephaestus > prometheus > atlas).
2026-04-11 15:00:13 +09:00
YeonGyu-Kim
111dcd17a2
fix(agents): backfill ZWSP runtime names for agents missing name field
...
agent-key-remapper now unconditionally injects getAgentRuntimeName()
into the name field, ensuring OpenCode's localeCompare sort preserves
canonical core agent order even when builtin configs omit name.
Also fixes 3 pre-existing test failures where builtinSisyphusConfig
expected the original name to survive remapping.
2026-04-11 14:54:55 +09:00
YeonGyu-Kim
9f135af41c
fix: unify agent display names and strip invisible sort prefixes
...
- Replace getAgentRuntimeName with getAgentDisplayName for consistency
- Add stripAgentListSortPrefix helper to normalize agent names
- Strip sort prefixes in subagent-resolver and sync-executor
- Backfill canonical names for core agents when builtin configs omit name
- Update tests to match new behavior
2026-04-11 14:53:01 +09:00
YeonGyu-Kim
c30b058b7e
fix(agents): use runtime names for default_agent to match ordered agent list
2026-04-11 14:15:00 +09:00