YeonGyu-Kim
ccfc54ab38
feat(atlas): add background task session tracking with retry scheduling
...
- Add background-launch-session-tracking.ts to persist delegated sessions
- Add task-context.ts for task context resolution utilities
- Modify idle-event.ts to schedule retries when background tasks are running
- Update tool-execute-after.ts to integrate session tracking
- Add comprehensive tests for background task retry behavior
🤖 Generated with assistance of OhMyOpenCode
2026-04-05 14:59:03 +09:00
YeonGyu-Kim
3697809c11
docs(hooks): update hook inventory to match current 52 hooks
...
- Session: 23 -> 24 (add legacyPluginToast)
- Tool Guard: 12 -> 14 (add bashFileReadGuard, readImageResizer,
todoDescriptionOverride, webfetchRedirectGuard)
- Transform: 4 -> 5 (add toolPairValidator)
- Remove deleted dirs: anthropic-image-context, beast-mode-system
- Add new dirs: legacy-plugin-toast, todo-description-override,
tool-pair-validator, webfetch-redirect-guard
2026-04-05 14:12:30 +09:00
YeonGyu-Kim
98c2f92251
refactor: convert config path constants to getter functions for dynamic OPENCODE_CONFIG_DIR support
...
🤖 Generated with assistance of OhMyOpenCode
2026-04-05 11:24:10 +09:00
YeonGyu-Kim
130f4ac080
fix: resolve #3124 #3125 #3127 session tools, cache priming, and compaction loop
...
- #3124 : Session tools now merge SDK and file-backed sessions for SQLite backend
- #3125 : Cache priming fixed for OpenCode >=1.3.14 empty workspace
- #3127 : Activity-based progress detection prevents infinite compaction on Kimi/Minimax
All 29 new tests pass, 4885 total tests passing.
2026-04-05 09:30:19 +09:00
YeonGyu-Kim
d7d3698f70
test(auto-update): update tests to use canonical package name oh-my-openagent
2026-04-05 08:31:53 +09:00
YeonGyu-Kim
3df5497784
fix(auto-update): use canonical package name oh-my-openagent instead of legacy oh-my-opencode
2026-04-05 08:27:09 +09:00
YeonGyu-Kim
da86b57f23
test: fix CI test isolation - upgrade Bun, fix mock contamination and fresh-import patterns
2026-04-05 01:01:19 +09:00
YeonGyu-Kim
9d8d48f06c
Merge pull request #2663 from code-yeongyu/fix/runtime-fallback-variant-loss
...
fix(runtime-fallback): preserve agent variant and reasoningEffort on model fallback (fixes #2621 )
2026-04-04 20:34:40 +09:00
YeonGyu-Kim
7abbf1487f
test: localize stop hook command mocks
2026-04-04 20:34:23 +09:00
YeonGyu-Kim
d7acdfd8f6
Merge pull request #3062 from code-yeongyu/fix/issue-3000
...
fix: use detectShellType() for platform-aware env prefix in non-interactive-env hook
2026-04-04 20:34:15 +09:00
YeonGyu-Kim
1f13e76d11
Merge pull request #3065 from code-yeongyu/fix/issue-2984-v2
...
fix: reset consecutiveFailures on abort so session recovers after user cancel
2026-04-04 20:34:10 +09:00
YeonGyu-Kim
d8a05bf1c5
test: remove remaining session recovery module leaks
2026-04-04 20:28:40 +09:00
YeonGyu-Kim
a983bf9697
test(recovery): localize message-builder module mocks
2026-04-04 20:20:49 +09:00
YeonGyu-Kim
55d5ecb9fb
test: fresh-import remaining contamination-prone modules
2026-04-04 20:14:50 +09:00
YeonGyu-Kim
29a830dd89
test: remove remaining legacy warning mock leaks
2026-04-04 19:52:25 +09:00
YeonGyu-Kim
a4db240d47
test: localize mock.module setup to fresh imports
2026-04-04 19:49:25 +09:00
YeonGyu-Kim
5213525a95
fix(test): narrow execute-http-hook-security mock to shared/logger to prevent barrel contamination
2026-04-04 19:10:33 +09:00
YeonGyu-Kim
39f6ab2b44
ralph-loop: detect oracle VERIFIED tool results
2026-04-04 19:03:57 +09:00
YeonGyu-Kim
80c8a793ec
Add renamed isolated mock test directories (zauc-mocks-*)
...
- Add zauc-mocks-bg, zauc-mocks-cache, zauc-mocks-hook,
zauc-mocks-ws, and zauc-sync-mocks directories
- Renamed from _auc-mocks-* to zauc-mocks-* for better organization
🤖 GENERATED WITH ASSISTANCE OF OhMyOpenCode
2026-04-04 18:56:42 +09:00
YeonGyu-Kim
2fb1604e3f
Remove isolated mock test directories (_auc-mocks-*)
...
- Delete background-update-check, cache, hook, workspace-resolution,
and sync-package-json isolated test directories
- These have been renamed/reorganized to zauc-mocks-* pattern
🤖 GENERATED WITH ASSISTANCE OF OhMyOpenCode
2026-04-04 18:56:40 +09:00
YeonGyu-Kim
db7dfa1249
Fix todo-continuation-enforcer mock isolation
...
- idle-event.ts: improve import patterns
- non-idle-events.ts: update for test compatibility
- resolve-message-info.ts: prevent cross-test contamination
- todo-continuation-enforcer.test.ts: narrow mock scope
- types.ts: update type definitions
🤖 GENERATED WITH ASSISTANCE OF OhMyOpenCode
2026-04-04 18:56:36 +09:00
YeonGyu-Kim
382f9b61fa
Fix mock isolation in remaining hook tests
...
- message-builder.test.ts: improve mock isolation
- background-update-check.ts: update for test compatibility
- execute-http-hook-security.test.ts: narrow mock targets
- recover-tool-result-missing.test.ts: prevent barrel contamination
🤖 GENERATED WITH ASSISTANCE OF OhMyOpenCode
2026-04-04 18:56:34 +09:00
YeonGyu-Kim
51d2f8b3e9
fix(tmux-subagent): avoid transcript fetches during idle stability checks
2026-04-04 18:48:03 +09:00
YeonGyu-Kim
4c3f6c1a52
fix(background-notification): filter unsupported manager events
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-04 18:39:33 +09:00
YeonGyu-Kim
a71dd54f8e
fix(test): isolate auto-update-checker mock.module() tests to prevent contamination
...
- Moved hook.test.ts, background-update-check.test.ts, workspace-resolution.test.ts, and cache.test.ts to separate sibling directories (_auc-mocks-hook, _auc-mocks-bg, _auc-mocks-ws, _auc-mocks-cache)
- Separated sync-package-json.test.ts to _auc-sync-mocks
- Fixed all relative import paths to account for new directory structure
- Bun runs same-directory test files in parallel; mock.module() calls contaminate each other. Only reliable isolation is separate directory = separate CI batch
- CI plan now creates individual isolated target for each mocking test file, preventing cross-file pollution
2026-04-04 17:53:24 +09:00
YeonGyu-Kim
b3d69e71f0
Fix mock.module() CI contamination by isolating tests into separate directories
...
- Moved hook-integration tests → src/hooks/_auc-mocks-hook/
- Moved workspace-resolution tests → src/hooks/_auc-mocks-workspace/
- Moved background-update-check tests → src/hooks/_auc-mocks-bgupdate/
- Moved cache tests → src/hooks/_auc-mocks-cache/
- Moved sync-package-json tests → src/hooks/_auc-sync-mocks/
- Removed hook.test.ts, workspace-resolution.test.ts, background-update-check.test.ts from auto-update-checker
- Removed cache.test.ts from auto-update-checker
- Each test file with mock.module() now in its own isolated CI batch
- Bun's prefix glob matching was picking up _auc-mocks-* when running auto-update-checker
- Solution: Separate into dedicated directories prevents cross-contamination
CI Results: 3151 pass, 0 fail ✓
2026-04-04 17:42:44 +09:00
YeonGyu-Kim
0c3f8b7bfa
fix(test): isolate sync-package-json test to prevent node:fs mock contamination
...
sync-package-json.test.ts mocks node:fs which leaks into plugin-entry.test.ts
running in the same CI batch. Move to checker/sync/ subdirectory for isolation.
2026-04-04 17:28:52 +09:00
YeonGyu-Kim
0cc263bcd1
fix(test): isolate auto-update-checker hook.test.ts to prevent checker mock leak
...
hook.test.ts mocks ./checker at module load time, which contaminates
checker.test.ts and invalidate-package.test.ts running in parallel in
the same CI batch. Move to hook-integration/ subdirectory for CI batch
isolation.
2026-04-04 17:24:15 +09:00
YeonGyu-Kim
c91c3e6164
fix(test): move auto-slash-command-leak test to isolated subdirectory
...
mock.module('./executor') leaks across all files in the same batch because
Bun runs test files in a directory in parallel. The afterAll restore trick
doesn't work when other files load the module concurrently at startup.
Moving the leak test to its own subdirectory (leak/) ensures CI's batch
runner isolates it in a separate bun test invocation, preventing executor
mock contamination in executor-resolution.test.ts and index.test.ts.
2026-04-04 17:08:53 +09:00
YeonGyu-Kim
8fb22b89cf
fix(test): restore real executor module in auto-slash-command-leak afterAll
...
mock.module('./executor') in auto-slash-command-leak.test.ts was leaking
into executor-resolution.test.ts in the same CI batch run, causing
executeSlashCommand to return the mock's raw replacement instead of the
real resolution result.
Fix: re-register the real executor exports via mock.module() in afterAll
so subsequent test files in the batch get the real implementation.
2026-04-04 17:04:26 +09:00
YeonGyu-Kim
a6e783adc4
fix(test): improve execute-http-hook-security test isolation
...
Reset mocks and process.env copy in afterEach to prevent cross-test
contamination from mock.module() isolation.
2026-04-04 16:48:12 +09:00
YeonGyu-Kim
dbec902e9c
Merge pull request #3117 from code-yeongyu/fix/prepublish-ralph-loop
...
fix(ralph-loop): remove dead semantic completion fallback
2026-04-04 16:11:01 +09:00
YeonGyu-Kim
69c9ad4449
test(ralph-loop): add transcript detector coverage
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-04 15:41:50 +09:00
YeonGyu-Kim
2da5f12c1f
test(ralph-loop): split session completion detector coverage
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-04 15:41:42 +09:00
YeonGyu-Kim
617abbe864
fix(ralph-loop): remove dead semantic completion fallback
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-04 15:41:36 +09:00
YeonGyu-Kim
42ac82a94a
test(anthropic-recovery): isolate summarize retry timer assertion
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-04 15:39:44 +09:00
YeonGyu-Kim
5e8a0ccf84
test(anthropic-recovery): cover recovery hook timer disposal
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-04 15:39:28 +09:00
YeonGyu-Kim
268946d117
fix(anthropic-recovery): dispose recovery hook timers
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-04 15:39:00 +09:00
YeonGyu-Kim
0a7daa5d10
fix(anthropic-recovery): add session timeout cleanup helpers
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-04 15:38:46 +09:00
YeonGyu-Kim
e860108b60
refactor: replace em dashes with hyphens in test files and docs
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-04 14:35:49 +09:00
YeonGyu-Kim
cab84518de
fix(hooks): replace empty catch blocks with debug logging in transcript
2026-04-04 02:37:53 +09:00
YeonGyu-Kim
6acca09bd0
fix(ci): resolve mock.module() cross-file leakage in test suite
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-04 02:35:23 +09:00
YeonGyu-Kim
673b107f53
test: isolate auto-update checker modules
2026-04-04 02:35:20 +09:00
YeonGyu-Kim
f547cd013d
refactor(shared): consolidate plugin entry migration and detection utilities
2026-04-04 02:10:27 +09:00
YeonGyu-Kim
fd252ea82e
refactor: remove AI-generated code smells from prepublish changes
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-04 02:02:12 +09:00
YeonGyu-Kim
e4d7fdb7e9
Merge pull request #3092 from code-yeongyu/fix/prepublish-legacy-config
...
fix(shared): close legacy config migration gaps
2026-04-04 01:46:52 +09:00
YeonGyu-Kim
bda0f55196
Merge pull request #3091 from code-yeongyu/fix/prepublish-quality-checks
...
fix: address pre-publish quality checks
2026-04-04 01:46:49 +09:00
YeonGyu-Kim
f03c6700d4
fix(hooks): reuse shared legacy plugin migration helper
...
Replace the legacy toast regex writer with the shared atomic helper and route legacy plugin call sites through small wrappers so existing mock.module tests stop leaking across the suite.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-04 01:32:59 +09:00
YeonGyu-Kim
d60ca63ed4
test(config): add regression coverage for legacy migration bugs
...
Lock the current legacy config and plugin migration failures in place before the fixes land so the three regressions stay covered.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-04 01:32:17 +09:00
YeonGyu-Kim
02b7a7d3d7
refactor(hooks): remove unused openclaw hook
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-04 01:27:56 +09:00