YeonGyu-Kim
4b0592c045
fix(test): isolate discovery tests using mock.module to force CI isolation
...
The discovery tests were failing in CI with "demo" plugin name instead of
expected names. This happened because:
1. The CI test runner (run-ci-tests.ts) groups tests by directory
2. Tests using mock.module() are run in isolated processes
3. Tests without mock.module run in a shared batch
4. Other tests in the shared batch were creating plugin state that
contaminated the discovery tests
Fix adds mock.module() to discovery tests:
- Mocks the logger module to avoid noise
- Forces CI runner to run these tests in isolated process
- Prevents cross-test contamination
Combined with previous pluginsHomeOverride parameter fix, this ensures
tests are properly isolated both at the parameter level and process level.
Also removes debug logging that was added for troubleshooting.
Fixes CI failure on dev branch.
2026-04-05 11:40:01 +09:00
YeonGyu-Kim
23582ea9a5
fix(test): isolate discovery tests from global env var contamination
...
The discovery.test.ts was using process.env.CLAUDE_PLUGINS_HOME to set
the plugins directory, but this global state could be affected by other
tests running in parallel, causing flaky failures with errors like:
Expected: "oh-my-openagent"
Received: "demo"
Changes:
- Added pluginsHomeOverride option to PluginLoaderOptions type
- Modified discoverInstalledPlugins to accept optional pluginsHomeOverride
- Modified loadInstalledPlugins to accept optional pluginsBaseDir
- Updated all 3 discovery tests to use pluginsHomeOverride instead of
relying on global process.env.CLAUDE_PLUGINS_HOME
This makes the tests properly isolated and deterministic regardless of
test execution order or parallelization.
Fixes CI failure on dev branch.
2026-04-05 11:34:32 +09:00
YeonGyu-Kim
3517017ee1
refactor(hephaestus): rewrite GPT-5.4 prompt with entropy-reduced XML architecture
...
🤖 Generated with assistance of OhMyOpenCode
2026-04-05 11:24:10 +09:00
YeonGyu-Kim
852859ed9c
refactor(config-manager): remove legacy config path detection and migration logic
...
🤖 Generated with assistance of OhMyOpenCode
2026-04-05 11:24:10 +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
b14665f174
fix: cache plugin component loading results
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-05 11:24:10 +09:00
YeonGyu-Kim
e67fcb95ba
test: cover plugin component cache behavior
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-05 11:24:10 +09:00
YeonGyu-Kim
f22935cb28
Config-manager: migrate legacy OMO config path
2026-04-05 11:24:10 +09:00
YeonGyu-Kim
0cbfdec76e
fix(model): treat 'bad request' as retryable error for GitHub Copilot fallback ( #3130 )
...
GitHub Copilot performs rolling model updates which sometimes return
'400 Bad Request' when a model is temporarily unavailable. This error
was not in the retryable message patterns, causing model fallback to
not trigger and users getting stuck.
Changes:
- Added 'bad request' to RETRYABLE_MESSAGE_PATTERNS in model-error-classifier.ts
- Added test cases for 'bad request' pattern matching
Fixes #3130
2026-04-05 10:18:15 +09:00
github-actions[bot]
1562b7d148
release: v3.15.1
2026-04-05 00:54:58 +00:00
YeonGyu-Kim
aff29a9856
chore: bump version to 3.15.1
2026-04-05 09:39:35 +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
aeb9c97c30
fix(model): quota errors should STOP not retry
2026-04-05 09:13:14 +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
github-actions[bot]
1b25a85d7e
@Priyanshuthapliyal2005 has signed the CLA in code-yeongyu/oh-my-openagent#3128
2026-04-04 22:38:07 +00:00
YeonGyu-Kim
d6add1f56d
test: update workflow test to expect run-ci-tests.ts
2026-04-05 01:17:19 +09:00
YeonGyu-Kim
63aa1c3e1d
ci: use run-ci-tests.ts for mock isolation in CI workflow
2026-04-05 01:16:16 +09:00
YeonGyu-Kim
01994e3f65
ci: sync publish.yml test job with CI.yml isolation pattern
2026-04-05 01:12:54 +09:00
YeonGyu-Kim
86cc6ddf3d
chore: bump version to 3.15.0
2026-04-05 01:08:51 +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
aa7e2aa07f
test: isolate migrate-legacy-plugin-entry.test.ts to prevent mock contamination
2026-04-04 21:32:52 +09:00
YeonGyu-Kim
acfed926f8
test: isolate subagent-resolver.test.ts to prevent mock contamination
2026-04-04 21:31:28 +09:00
YeonGyu-Kim
feaa674963
test: fix imports for mcp-index and subagent-resolver isolation
2026-04-04 21:30:42 +09:00
YeonGyu-Kim
ba26b6f29d
test: isolate skill-tools and mcp-index tests to prevent mock contamination
...
Moves test files with mock.module() calls into zauc-mocks-* directories
to prevent process-global mock pollution affecting subsequent tests.
- src/tools/skill/tools.test.ts -> zauc-mocks-skill-tools/
- src/mcp/index.test.ts -> zauc-mocks-mcp-index/
Fixes remaining 21 CI failures (resolveSubagentExecution + slashcommand).
2026-04-04 20:49:47 +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
f3840a7325
Merge pull request #2843 from code-yeongyu/refactor/model-alias-pattern-matching
...
refactor(aliases): migrate to pattern-based model alias resolution
2026-04-04 20:34:38 +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
00f73de8d9
Merge pull request #3063 from code-yeongyu/fix/issue-3040
...
fix: respect user-configured category model over fallbackChain defaults
2026-04-04 20:34:12 +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
861ce1c161
test: remove provider and cache mock leak paths
2026-04-04 20:06:56 +09:00
YeonGyu-Kim
963b576b9e
test(background-agent): localize cache mock setup
2026-04-04 19:58:33 +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
8b8559f39d
test: load real modules with unique import ids
2026-04-04 19:42:18 +09:00
YeonGyu-Kim
b0f754f506
test: import real modules in contamination-prone tests
2026-04-04 19:41:11 +09:00
YeonGyu-Kim
051a39889d
test(shared): use unique temp dirs for legacy plugin warning
2026-04-04 19:33:17 +09:00
YeonGyu-Kim
032f23a4d9
test(mcp-oauth): remove provider module mock leak
2026-04-04 19:33:17 +09:00
YeonGyu-Kim
f8398dbec3
fix(delegate-task): restrict task-callable agent modes
2026-04-04 19:33:11 +09:00
YeonGyu-Kim
ad025ee0f8
test: isolate flaky shared-state tests
2026-04-04 19:20:59 +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
f7d2ff75a7
Fix mock isolation in scope-filtering.test.ts
...
- Narrow mock.module() targets to prevent barrel export contamination
- Ensure proper cleanup after tests
🤖 GENERATED WITH ASSISTANCE OF OhMyOpenCode
2026-04-04 18:56:48 +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