YeonGyu-Kim
6517665d36
fix(test): use static imports and strategy-level spies in executor.test.ts for CI stability
2026-02-22 02:42:59 +09:00
YeonGyu-Kim
88cb360b87
fix(test): harden executor.test.ts mock isolation for CI batch runs
2026-02-22 02:31:27 +09:00
YeonGyu-Kim
9e4c27e0e1
fix(test): flush fake timer microtasks in todo continuation tests
2026-02-22 02:18:47 +09:00
YeonGyu-Kim
f1246ef110
refactor(hooks): remove beast-mode system integration
...
Remove the beast-mode-system hook and all transform wiring so Copilot-specific prompt injection is fully eliminated from the runtime pipeline.
2026-02-22 01:57:22 +09:00
YeonGyu-Kim
c1f17136b1
feat(config): disable runtime_fallback by default (opt-in)
2026-02-22 01:54:34 +09:00
YeonGyu-Kim
0bb599722e
feat(config): allow runtime_fallback to be configured as boolean
...
Enable simple boolean configuration for runtime_fallback:
- "runtime_fallback": true - Enable with defaults
- "runtime_fallback": false - Disable
- "runtime_fallback": { ... } - Advanced object config (existing)
Updated schema, event handler, chat-message handler, and session hooks
to handle both boolean and object formats.
2026-02-22 01:44:53 +09:00
YeonGyu-Kim
111ae5ea5a
fix(hooks): use model cache availability with timeout for first-run cache creation
...
Replace fire-and-forget pattern with await + 10s timeout for initial
cache creation. Check model cache availability (not connected providers)
to properly coordinate with model-cache-warning hook.
Remove non-null assertion and add proper error logging.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-02-21 18:32:10 +09:00
YeonGyu-Kim
9fc825e748
fix(hooks): swap execution order to create cache before checking
...
Ensure cache creation runs before cache warning check to prevent false
'Model Cache Not Found' warnings on first run.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-02-21 18:32:01 +09:00
YeonGyu-Kim
ccbec13c9e
feat(hooks): add task-reminder hook for task tool usage tracking
...
Injects a reminder after 10 tool turns without task tool usage. Tracks
per-session counters and cleans up on session deletion.
🤖 Generated with assistance of [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2026-02-21 17:07:39 +09:00
YeonGyu-Kim
ff683386f1
feat(hooks): add hashline-edit-diff-enhancer for Write tool diff metadata
...
Captures file content before/after Write tool execution and injects unified
diff into tool output metadata. TUI reads metadata.diff for rendering.
🤖 Generated with assistance of [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2026-02-21 17:07:34 +09:00
YeonGyu-Kim
ce365d6fb2
feat(delegate-task): pass directory option through skill discovery
...
🤖 Generated with assistance of [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2026-02-21 17:07:29 +09:00
YeonGyu-Kim
e263156335
fix: resolve ultrabrain review findings
...
- Remove runtime-fallback gate from session.status retry handler — runtime-fallback
has no session.status handler, so gating it causes retry signals to be silently dropped
- Fix background_output full_session arg description: default is true, not false
2026-02-21 16:40:15 +09:00
YeonGyu-Kim
ace914f1ef
fix: resolve publish blockers for v3.7.4→v3.8.0 release
...
- Fix #1991 crash: optional chaining for task-history sessionID access
- Fix #1992 think-mode: add antigravity entries to HIGH_VARIANT_MAP
- Fix #1949 Copilot premium misattribution: use createInternalAgentTextPart
- Fix #1982 load_skills: pass directory to discoverSkills for project-level skills
- Fix command priority: sort scopePriority before .find(), project-first return
- Fix Google provider transform: apply in userFallbackModels path
- Fix ralph-loop TUI: optional chaining for event handler
- Fix runtime-fallback: unify dual fallback engines, remove HTTP 400 from retry,
fix pendingFallbackModel stuck state, add priority gate to skip model-fallback
when runtime-fallback is active
- Fix Prometheus task system: exempt from todowrite/todoread deny
- Fix background_output: default full_session to true
- Remove orphan hooks: hashline-edit-diff-enhancer (redundant with hashline_edit
built-in diff), task-reminder (dead code)
- Remove orphan config entries: 3 stale hook names from Zod schema
- Fix disabled_hooks schema: accept arbitrary strings for forward compatibility
- Register json-error-recovery hook in tool-guard pipeline
- Add disabled_hooks gating for question-label-truncator, task-resume-info,
claude-code-hooks
- Update test expectations to match new behavior
2026-02-21 16:24:18 +09:00
YeonGyu-Kim
f5a35f0353
refactor: remove slashcommand tool implementation
2026-02-21 14:38:18 +09:00
YeonGyu-Kim
611465f9a3
refactor: remove unused 'message' variable from chat-message.ts
2026-02-21 14:31:42 +09:00
YeonGyu-Kim
e4a335a8e9
fix: resolve 5 deployment blockers (runtime-fallback race, hashline legacy, tmux spawn, db open)
...
- runtime-fallback: guard session.error with sessionRetryInFlight to prevent
double-advance during active retry; expand session.stop abort to include
sessionAwaitingFallbackResult; remove premature pendingFallbackModel clearing
from auto-retry finally block
- hashline-edit: add HASHLINE_LEGACY_REF_PATTERN for backward-compatible
LINE:HEX dual-parse in parseLineRef and normalizeLineRef
- tmux-subagent: defer session on null queryWindowState; unconditionally
re-queue deferred session on spawn failure (not just close+spawn)
- ultrawork-db: wrap new Database(dbPath) in try/catch to handle corrupted DB
- event: add try/catch guards around model-fallback logic in message.updated,
session.status, and session.error handlers
2026-02-21 05:59:30 +09:00
YeonGyu-Kim
97245394e7
Merge pull request #2007 from code-yeongyu/fix/1901-ralph-loop-fresh-context
...
feat(ralph-loop): add strategy option for fresh context per iteration
2026-02-21 05:41:12 +09:00
YeonGyu-Kim
02c7439edb
Merge pull request #2006 from code-yeongyu/fix/1920-auto-update-pinned
...
fix(auto-update): treat only explicit semver pins as user-pinned
2026-02-21 05:40:53 +09:00
YeonGyu-Kim
023bb5a246
fix(ralph-loop): use shared isRecord, fix quoted argument parsing for prompt and completion-promise
2026-02-21 05:36:11 +09:00
YeonGyu-Kim
2610399803
fix(ralph-loop): bind selectSession to tui context, use sourceSessionID for tool inheritance, handle flag-only arguments, fix test provider mocks
2026-02-21 05:36:11 +09:00
YeonGyu-Kim
73ab0d2cec
fix(rebase): remove duplicated hooks exports and event dispatch artifact
2026-02-21 05:36:11 +09:00
YeonGyu-Kim
6ad7b0e9b2
fix(session-recovery): fix SDK fallback part.tool mapping and nosuchtoolarror typo
2026-02-21 05:35:28 +09:00
YeonGyu-Kim
35813a0f60
test(executor): add afterEach cleanup to prevent timer leaks on assertion failure
2026-02-21 05:35:28 +09:00
YeonGyu-Kim
63f73ccea0
test(auto-compact): restore module mocks after hook test
...
Prevent cross-file mock.module leakage by restoring Bun mocks after recovery-hook test, so executor tests always run against the real module implementation.
2026-02-21 05:35:28 +09:00
YeonGyu-Kim
a93c7fd478
test(auto-compact): localize fake timers per async case
...
Stop patching global timers in every lock-management test. Use scoped fake timers only in continuation tests so lock/notification assertions remain deterministic in CI.
2026-02-21 05:34:46 +09:00
YeonGyu-Kim
c4a05a2fe2
test: stabilize parallel-sensitive CI specs
...
Relax verbose event assertions to target custom-event logs only and run compact lock-management specs serially to avoid global timer races in CI.
2026-02-21 05:34:46 +09:00
YeonGyu-Kim
419711c2da
fix(plugin): repair event dispatch parse error
...
Remove duplicated dispatchToHooks declaration that broke TypeScript parsing, and isolate chat-headers tests from marker cache collisions with unique message IDs.
2026-02-21 05:34:34 +09:00
YeonGyu-Kim
4a4e9dc862
fix(ralph-loop): use inherited fallback context and SDK TUI session selection
2026-02-21 05:33:53 +09:00
YeonGyu-Kim
817292c87a
fix(ci): restore missing hook exports and align config-handler test fixtures
2026-02-21 05:33:53 +09:00
YeonGyu-Kim
e7697567d5
feat(ralph-loop): add strategy option for fresh context per iteration
...
Closes #1901
Add 'default_strategy' config option (default: 'continue') to control whether ralph-loop creates a new session per iteration ('reset') or keeps the same session ('continue'). The 'reset' strategy keeps the model in the smart zone by starting with fresh context for each iteration.
Supports --strategy flag for per-command override.
2026-02-21 05:33:53 +09:00
YeonGyu-Kim
c8de972837
fix(config-handler): preserve disable_omo_env wiring in agent setup
2026-02-21 05:33:52 +09:00
YeonGyu-Kim
4b7596233c
fix(session-recovery): harden unavailable tool recovery flow
2026-02-21 05:33:52 +09:00
YeonGyu-Kim
dae64e35ac
fix(plugin): remove stale hook wiring for missing hooks
2026-02-21 05:33:52 +09:00
YeonGyu-Kim
04648fb7b9
fix(session-recovery): wire unavailable_tool recovery in hook
2026-02-21 05:33:52 +09:00
YeonGyu-Kim
88e4c38f37
fix(session-recovery): recover unavailable_tool with synthetic tool_result
2026-02-21 05:33:52 +09:00
YeonGyu-Kim
8ba5d00274
fix(session-recovery): detect unavailable_tool errors
2026-02-21 05:33:52 +09:00
YeonGyu-Kim
2f91be1bdb
fix(doctor): align isPinned logic with auto-updater to treat channel tags as not pinned
2026-02-21 05:31:53 +09:00
YeonGyu-Kim
14edde17c5
Merge pull request #2004 from code-yeongyu/fix/1804-1962-migration-overwrite
...
fix(migration): remove non-existent gpt-5.3-codex migration from MODEL_VERSION_MAP
2026-02-21 05:31:00 +09:00
YeonGyu-Kim
9e672b21d9
test: restore mocked modules in recovery-hook to prevent cross-test leakage
2026-02-21 05:12:07 +09:00
YeonGyu-Kim
59f3e69d8e
test(events): use baseline snapshot pattern for console spy isolation
...
Replace exact call count assertions with delta-based checks:
- capture errorSpy.mock.calls.length before processing events
- slice to only check calls made during this test's execution
- use try/finally to guarantee mockRestore() even on assertion failure
This prevents test pollution from cross-file spy leakage in CI batch runs.
2026-02-21 05:09:12 +09:00
YeonGyu-Kim
a407db10e9
test(events): use baseline snapshot pattern for console spy isolation
...
Replace exact call count assertions with delta-based checks:
- capture errorSpy.mock.calls.length before processing events
- slice to only check calls made during this test's execution
- use try/finally to guarantee mockRestore() even on assertion failure
This prevents test pollution from cross-file spy leakage in CI batch runs.
2026-02-21 05:09:10 +09:00
YeonGyu-Kim
94af966e01
test(events): use baseline snapshot pattern for console spy isolation
...
Replace exact call count assertions with delta-based checks:
- capture errorSpy.mock.calls.length before processing events
- slice to only check calls made during this test's execution
- use try/finally to guarantee mockRestore() even on assertion failure
This prevents test pollution from cross-file spy leakage in CI batch runs.
2026-02-21 05:08:58 +09:00
YeonGyu-Kim
699b721ada
test: fix flaky timer isolation and dynamic-import non-determinism
...
- executor.test.ts: capture globalThis.setTimeout/clearTimeout at module level
- events.test.ts: replace dynamic await import with static top-level import
2026-02-21 04:57:18 +09:00
YeonGyu-Kim
f5b1eb4818
test: fix flaky timer isolation and dynamic-import non-determinism
...
- executor.test.ts: capture globalThis.setTimeout/clearTimeout at module level
- events.test.ts: replace dynamic await import with static top-level import
2026-02-21 04:57:10 +09:00
YeonGyu-Kim
cfae1c8255
docs: restore coding on steroids narrative with future-betting manifesto in all READMEs
2026-02-21 04:54:21 +09:00
YeonGyu-Kim
ce55256eaf
docs: update all 31 AGENTS.md files with current project state
2026-02-21 04:38:18 +09:00
YeonGyu-Kim
0b3a1d3934
fix(rebase): restore missing hook export and fix duplicate function in event handler
2026-02-21 04:19:00 +09:00
YeonGyu-Kim
7875547bd3
fix(rebase): restore missing hook export and fix duplicate function in event handler
2026-02-21 04:18:20 +09:00
YeonGyu-Kim
96a9c989aa
fix: include line number in hashline computation
2026-02-21 04:14:54 +09:00
YeonGyu-Kim
32290a525d
fix(auto-update): support prerelease versions without numeric suffix in fallback
2026-02-21 04:10:27 +09:00