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
eb4060d739
fix(test): narrow mock.module() targets in background-agent tests to prevent barrel corruption
...
Three test files were mocking the entire '../../shared' barrel, which
corrupted exports for subsequent test files in the same batch run.
Narrow mocks to specific submodules (logger, connected-providers-cache).
Also reverts Bun version pin since the root cause was mock scope, not Bun.
2026-04-04 16:56:39 +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
733b54865f
fix(config): handle tuple-format plugin entries in opencode.json ( fixes #3122 )
...
OpenCode supports plugin entries as [string, object] tuples for passing
options, but loadOpencodePlugins assumed all entries were strings.
When a tuple entry hit matchesKnownPlugin, it called .toLowerCase()
on an array, crashing the plugin on startup.
Extract the string name from tuple entries and skip non-string values.
Add regression test covering the tuple plugin format.
2026-04-04 16:44:40 +09:00
YeonGyu-Kim
e40d3fb37a
fix(session-manager): fall back to file storage on SDK outages
2026-04-04 16:42:51 +09:00
YeonGyu-Kim
322a360b2e
Merge pull request #3119 from code-yeongyu/fix/prepublish-delegate-sync
...
fix(sync): forward delegated model tuning params
2026-04-04 16:11:07 +09:00
YeonGyu-Kim
5000b18909
Merge pull request #3118 from code-yeongyu/fix/prepublish-skill-schema
...
fix(config): allow disabling new built-in skills
2026-04-04 16:11:04 +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
6edf705e95
Merge pull request #3116 from code-yeongyu/fix/prepublish-hook-recovery
...
fix(anthropic-recovery): add dispose path and fix test isolation
2026-04-04 16:10:59 +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
1fae073009
fix(sync): forward delegated model tuning params
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-04 15:40:37 +09:00
YeonGyu-Kim
5d735372a4
fix(tmux): unify isolated cleanup across close paths
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-04 15:40:26 +09:00
YeonGyu-Kim
b31dfa6928
fix(background-agent): clean tmux cancel bookkeeping
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-04 15:40:21 +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
2b55f65c36
fix(hooks): dispose anthropic recovery hook on shutdown
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-04 15:39:12 +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
8199adcb15
fix(config): allow disabling new built-in skills
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-04 15:37:43 +09:00
YeonGyu-Kim
fd476fe9a1
Merge pull request #3112 from code-yeongyu/fix/prepublish-code-quality
...
refactor: replace em dashes with hyphens in test files and docs
2026-04-04 14:56:54 +09:00
YeonGyu-Kim
cba9c25543
Merge pull request #3111 from code-yeongyu/fix/prepublish-config-regression
...
fix(config): use canonical path after legacy migration and make writes atomic
2026-04-04 14:56:52 +09:00
YeonGyu-Kim
c4a5ba10cc
Merge pull request #3110 from code-yeongyu/fix/prepublish-bg-race
...
fix(background-agent): prevent cancelled task from being revived after tmux callback
2026-04-04 14:56:49 +09:00
YeonGyu-Kim
ba98be9375
Merge pull request #3109 from code-yeongyu/fix/prepublish-mcp-env
...
fix(security): block cloud credential env vars in MCP env cleaner
2026-04-04 14:56:47 +09:00
YeonGyu-Kim
4301e5e724
Merge pull request #3108 from code-yeongyu/fix/prepublish-tar-failopen
...
fix(security): make tar archive preflight fail-closed on unparsed entries
2026-04-04 14:56:44 +09:00
YeonGyu-Kim
726d19c3cc
fix(security): make tar parser strictly fail-closed on any unparsed line
2026-04-04 14:48:44 +09:00
YeonGyu-Kim
0c6907adc3
fix(config): use canonical path after legacy migration and make writes atomic
2026-04-04 14:46:29 +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
d368f77fcd
fix(security): make tar archive preflight fail-closed on unparsed entries
2026-04-04 14:27:46 +09:00
YeonGyu-Kim
7f1497fc43
fix(background-agent): prevent cancelled task from being revived after tmux callback
2026-04-04 14:19:18 +09:00
YeonGyu-Kim
4fa3d0331a
fix(security): block cloud credential env vars in MCP env cleaner
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-04 14:16:39 +09:00
YeonGyu-Kim
32ec80b347
plugin: skip tmux startup checks when integration is disabled
2026-04-04 14:14:32 +09:00
YeonGyu-Kim
731c3f1109
plugin: honor tmux disablement for interactive tmux features
2026-04-04 14:14:19 +09:00
trafgals
5441c848ba
refactor: use spyOn instead of vi.mock for agent loader mocks
...
Use spyOn which is more idiomatic for bun:test, as suggested in PR review.
2026-04-04 07:23:12 +10:00
YeonGyu-Kim
141881aa2d
fix(tmux): re-attempt isolated container on deferred session retry
2026-04-04 02:38:15 +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
1f2b69ed56
Merge pull request #3090 from code-yeongyu/fix/prepublish-tmux-regressions
...
fix(tmux): recover isolated session regressions
2026-04-04 01:46:46 +09:00
YeonGyu-Kim
565cf42c10
Merge pull request #3089 from code-yeongyu/fix/prepublish-background-regressions
...
fix(background-agent): bound abort waits and remove dead worktree sync
2026-04-04 01:46:43 +09:00
YeonGyu-Kim
551d906116
Merge pull request #3088 from code-yeongyu/fix/prepublish-security-hardening
...
fix(shared): harden archive preflight for zip and tar links
2026-04-04 01:46:39 +09:00