YeonGyu-Kim
44b8ec750f
fix(token-limiter): truncate at newline boundaries instead of raw slice
2026-02-27 03:02:04 +09:00
minpeter
26004f93ec
Fix hashline-edit deduplication and validation
...
- Canonicalize anchors in dedupe keys to handle whitespace variants
- Make lines field required in edit operations
- Only allow unanchored append/prepend to create missing files
- Reorder delete/rename validation to prevent edge cases
- Add allow_non_gpt_model and max_prompt_tokens to config schema
```
2026-02-27 01:37:19 +09:00
YeonGyu-Kim
d491a20fe4
Merge pull request #2093 from code-yeongyu/fix/issue-1966-ultrawork-variant
...
fix(keyword-detector): respect ultrawork config variant instead of hardcoding "max"
2026-02-26 23:23:14 +09:00
YeonGyu-Kim
51db9da426
fix(keyword-detector): respect ultrawork config variant instead of hardcoding "max"
...
Closes #1966
2026-02-26 23:15:32 +09:00
YeonGyu-Kim
4b946c8883
Merge pull request #1963 from MoerAI/fix/multi-issue-1888-1693-1891
...
fix: resolve issues #1888 , #1693 , #1891
2026-02-26 23:13:00 +09:00
YeonGyu-Kim
ec38875fd8
Merge pull request #2145 from code-yeongyu/fix/issue-1915-windows-spawn-hide
...
fix(windows): add windowsHide to Bun.spawn calls to prevent stray terminal windows
2026-02-26 23:12:57 +09:00
YeonGyu-Kim
193ec5cd19
Merge pull request #2146 from code-yeongyu/fix/issue-2065-1968-model-updates
...
fix(models): update Gemini 3→3.1 Pro and add Kimi K2.5 to writing category
2026-02-26 21:07:23 +09:00
YeonGyu-Kim
adf7980527
Merge pull request #2143 from code-yeongyu/fix/issue-2017-stop-continuation-cancel
...
fix(stop-continuation): wire backgroundManager to cancel running tasks on stop
2026-02-26 21:07:20 +09:00
YeonGyu-Kim
bf2c04928c
Merge pull request #2140 from code-yeongyu/fix/issue-2025-blocked-todo-continuation
...
fix(todo-continuation): exclude blocked todos from incomplete count to prevent infinite loops
2026-02-26 21:06:55 +09:00
YeonGyu-Kim
f98943bb90
Merge pull request #2134 from code-yeongyu/fix/issue-2064-config-overwrite
...
fix(config): preserve existing user config when writing new defaults
2026-02-26 21:06:17 +09:00
YeonGyu-Kim
8c993a99c9
Merge pull request #2138 from code-yeongyu/fix/issue-2062-compaction-timeout
...
fix(compaction): add timeout and cleanup to prevent indefinite hangs on rate limit
2026-02-26 21:06:05 +09:00
YeonGyu-Kim
77bb0e46d0
Merge pull request #2147 from code-yeongyu/fix/issue-2117-preserve-formatter-config
...
fix(config): preserve formatter config from opencode settings
2026-02-26 21:05:46 +09:00
YeonGyu-Kim
1c3b67bb19
Merge pull request #2144 from code-yeongyu/fix/issue-2087-look-at-hang
...
fix(look-at): add timeout to sync model retry to prevent process hang
2026-02-26 21:05:43 +09:00
YeonGyu-Kim
96ffb3fd72
Merge pull request #2142 from code-yeongyu/fix/issue-1922-retain-agent-keys
...
fix(agents): retain original agent keys in remapAgentKeysToDisplayNames to prevent crash
2026-02-26 21:04:32 +09:00
YeonGyu-Kim
ea240ae783
Merge pull request #2137 from code-yeongyu/fix/issue-2051-diff-context-limit
...
fix(hashline-edit): limit diff context to 3 lines to prevent oversized hunks
2026-02-26 21:04:29 +09:00
YeonGyu-Kim
d14356503b
Merge pull request #2136 from code-yeongyu/fix/issue-2044-atlas-task-tool
...
fix(atlas): allow task and call_omo_agent tools for subagent dispatch
2026-02-26 21:04:26 +09:00
YeonGyu-Kim
1059a87a1f
fix(config): preserve formatter config from opencode settings
...
Closes #2117
2026-02-26 21:01:31 +09:00
YeonGyu-Kim
7a88f151df
fix(models): update Gemini 3 to 3.1 Pro and add Kimi to writing category fallback
...
Closes #2065
Closes #1968
2026-02-26 21:01:26 +09:00
YeonGyu-Kim
06580aa548
fix(windows): add windowsHide to Bun.spawn calls to prevent stray terminal windows
...
Closes #1915
2026-02-26 21:00:40 +09:00
YeonGyu-Kim
4128390e1b
fix(look-at): add timeout to sync model retry to prevent process hang
...
Closes #2087
2026-02-26 20:59:53 +09:00
YeonGyu-Kim
da74ccc356
fix(stop-continuation): wire backgroundManager to cancel running tasks on stop
...
Closes #2017
2026-02-26 20:59:35 +09:00
YeonGyu-Kim
5892d0fbb1
fix(ralph-loop): add inFlight guard and improve completion detection to prevent infinite loops
...
Closes #2084
2026-02-26 20:58:55 +09:00
YeonGyu-Kim
38466ec676
fix(todo-continuation): exclude blocked todos from incomplete count to prevent infinite loops
...
Closes #2025
2026-02-26 20:58:48 +09:00
YeonGyu-Kim
936fb98447
fix(agents): retain original agent keys in remapAgentKeysToDisplayNames to prevent crash
...
Closes #1922
2026-02-26 20:58:47 +09:00
YeonGyu-Kim
448b481e03
fix(config): preserve existing user config when writing new defaults
...
Closes #2064
2026-02-26 20:58:07 +09:00
YeonGyu-Kim
6de1b3ba7c
fix(compaction): add timeout and ensure cleanup to prevent indefinite hangs on rate limit
...
Closes #2062
2026-02-26 20:58:01 +09:00
YeonGyu-Kim
2ce9501099
fix(hephaestus): add explicit auto-commit instructions to agent prompt
...
Closes #2102
2026-02-26 20:57:58 +09:00
YeonGyu-Kim
a43d8b3bcc
fix(hashline-edit): limit diff context to 3 lines to prevent oversized hunks
...
Closes #2051
2026-02-26 20:57:47 +09:00
YeonGyu-Kim
e4d1af4a7c
fix(atlas): allow task and call_omo_agent tools for subagent dispatch
...
Closes #2044
2026-02-26 20:55:20 +09:00
YeonGyu-Kim
2b7ed4bbb4
fix(background-task): make background_output block=true actually wait for task completion
...
Closes #2115
2026-02-26 20:55:11 +09:00
YeonGyu-Kim
1d549badc8
fix(atlas): allow task and call_omo_agent tools for subagent dispatch
...
Closes #2044
2026-02-26 20:54:42 +09:00
YeonGyu-Kim
502bcf76dd
Merge pull request #2095 from code-yeongyu/fix/issue-1934-exit-code-130-timeout
...
fix(run): add event watchdog and secondary timeout to prevent infinite hang in CI
2026-02-26 20:48:46 +09:00
YeonGyu-Kim
a34311a527
fix: remove Current date from env context since OpenCode already provides it
...
date is already injected by OpenCode's system.ts. omo-env now contains only
Timezone and Locale, which are stable across requests and never break cache.
2026-02-26 20:22:17 +09:00
YeonGyu-Kim
bc2cc541cf
fix(atlas): replace permanent failure lockout with 5-minute backoff
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-02-26 20:20:45 +09:00
YeonGyu-Kim
81328a585b
fix(boulder): count indented checkboxes in plan progress
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-02-26 20:20:28 +09:00
YeonGyu-Kim
b3e2bc763d
fix: remove seconds-precision time from env context to stop breaking token cache
...
Current time with HH:MM:SS changed every second, invalidating the prompt cache
on every request. Date-level precision is sufficient; timezone and locale are
stable. Removes Current time field entirely from createEnvContext output.
2026-02-26 20:08:44 +09:00
YeonGyu-Kim
60f86523b7
feat(agents): simplify GPT detection to name-based check, add hephaestus providers (venice uses gpt-5.3-codex)
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-02-26 20:08:44 +09:00
YeonGyu-Kim
3b5d0dbb47
refactor(think-mode): migrate hook from chat.params to chat.message and remove thinking config injection
...
Drop provider-specific thinking config injection (THINKING_CONFIGS, getThinkingConfig,
resolveProvider) and instead rely on the provider to handle thinking based on the variant field.
Hook now fires on chat.message using model from input rather than from the message object.
🤖 Generated with assistance of [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2026-02-26 20:08:44 +09:00
YeonGyu-Kim
e4b4a3f7f0
refactor(ultrawork): remove thinking config injection from model override
...
Delegate thinking config control to the provider layer rather than
injecting it manually in ultrawork model override.
🤖 Generated with assistance of [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2026-02-26 20:08:44 +09:00
YeonGyu-Kim
ab68544c7c
feat(start-work): update template with --worktree flag documentation
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-02-26 20:08:44 +09:00
YeonGyu-Kim
81022de9db
feat(atlas): inject worktree_path into boulder continuation
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-02-26 20:08:44 +09:00
YeonGyu-Kim
e4eeac81fc
feat(start-work): add --worktree flag support in hook
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-02-26 20:08:44 +09:00
YeonGyu-Kim
a0fbe85c63
feat(start-work): add --worktree flag parsing from user request
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-02-26 20:08:44 +09:00
YeonGyu-Kim
8c3644ae75
feat(start-work): add worktree path detection
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-02-26 20:08:44 +09:00
YeonGyu-Kim
7bd22089aa
feat(boulder-state): add worktree_path field to BoulderState
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-02-26 20:08:44 +09:00
YeonGyu-Kim
3a167b84e5
Merge pull request #2111 from code-yeongyu/fix/background-notification-idle-queue
...
fix(background-agent): queue notifications for idle parent sessions
2026-02-25 16:30:09 +09:00
YeonGyu-Kim
b5d92c76a5
fix(background-agent): queue notifications for idle parent sessions
...
When a background task completes and the parent session is waiting for
user input, promptAsync() fails with an aborted error. Previously the
notification was silently dropped — lost forever.
Fix: queue the notification text in-memory on the BackgroundManager
when promptAsync fails with an aborted/idle error. On the user's next
message to that session, the queued notifications are injected into the
chat context before the agent sees the message.
- BackgroundManager: add pendingNotifications map + queuePendingNotification()
and injectPendingNotificationsIntoChatMessage() methods
- background-notification hook: add chat.message handler that calls injection
- chat-message.ts: wire backgroundNotificationHook.chat.message into the
message processing chain
- Add tests covering queue-on-abort and next-message delivery
2026-02-25 16:26:31 +09:00
YeonGyu-Kim
130239f313
Merge pull request #2110 from code-yeongyu/fix/boulder-continuation-agent-check
...
fix(atlas): boulder continuation deadlock after /start-work + 30s→5s cooldown
2026-02-25 16:22:58 +09:00
YeonGyu-Kim
e9b5518dfa
test(atlas): update agent check tests to match fixed behavior
...
- Rename test to 'should inject when last agent is sisyphus and boulder targets atlas
explicitly' and flip expectation to toHaveBeenCalled() - the old assertion was
testing the buggy deadlock behavior
- Add 'should not inject when last agent is non-sisyphus and does not match boulder
agent' to verify hephaestus (unrelated agents) are still correctly skipped
2026-02-25 16:18:59 +09:00
YeonGyu-Kim
624d345bb9
Merge pull request #2108 from code-yeongyu/fix/issue-2100-reset-strategy-race-condition
...
fix(ralph-loop): fix race condition in --strategy=reset
2026-02-25 16:16:53 +09:00