Commit Graph

4522 Commits

Author SHA1 Message Date
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
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 ffcd34d4c1 Fix mock target path in claude-code-mcp-loader test
- Change mock.module target from "../../shared" to "../../shared/claude-config-dir"
- Narrows mock scope to prevent barrel export contamination

🤖 GENERATED WITH ASSISTANCE OF OhMyOpenCode
2026-04-04 18:56:30 +09:00
YeonGyu-Kim 92ba31272d Fix mock isolation in system.test.ts by moving mocks to importFresh
- Move mock.module() calls from top-level into importFreshSystemModule()
- Restore real modules in afterAll to prevent cross-test contamination
- Reset mocks before each test

🤖 GENERATED WITH ASSISTANCE OF OhMyOpenCode
2026-04-04 18:56:29 +09:00
YeonGyu-Kim 89fd302db4 Update publish-workflow test for bun test command
- Change test expectation from "bun run test:ci" to "bun test"

🤖 GENERATED WITH ASSISTANCE OF OhMyOpenCode
2026-04-04 18:56:26 +09:00
YeonGyu-Kim 1071d4defb Pin Bun to 1.3.10 in CI and remove test:ci script
- Pin bun-version to 1.3.10 across all CI workflows to avoid
  mock.module() barrel export regression introduced in 1.3.11
- Remove test:ci script from package.json (use bun test directly)
- Update publish-workflow.test.ts to expect "bun test" instead

🤖 GENERATED WITH ASSISTANCE OF OhMyOpenCode
2026-04-04 18:56:25 +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 f9a9a60b82 fix(background-agent): cache observed output for completion checks
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-04 18:39:26 +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 8c06c8e2fe fix(test): make runner env setup test deterministic
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-04 17:45:26 +09:00
YeonGyu-Kim 179ad05f5f fix(test): silence expected oauth logout cli output
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-04 17:45:26 +09:00
YeonGyu-Kim fb7e3fd98d fix(test): silence expected oauth login cli output
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-04 17:45:26 +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 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 99ae6d91d0 fix(ci): pin Bun to 1.3.10 to avoid mock.module() barrel export regression in 1.3.11
Bun 1.3.11 has a regression where mock.module() leaks across test files
in isolated batch execution, causing barrel re-exports to fail with
'Export named X not found' errors. Pin to 1.3.10 until upstream fix.
2026-04-04 16:51:23 +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 119db367de Merge pull request #3120 from code-yeongyu/fix/prepublish-ci-test-isolation
fix(ci): restore isolated Bun test execution for mock.module suites
2026-04-04 16:12:55 +09:00
YeonGyu-Kim 72c8cb8d92 fix(ci): typecheck script tooling in CI workflow
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-04 16:12:30 +09:00
YeonGyu-Kim bedf141c5e fix(ci): include bin tests in CI plan discovery
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-04 16:12:22 +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