Commit Graph

634 Commits

Author SHA1 Message Date
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 f5740d68c7 fix(background-agent): bound session abort waits
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-04 01:19:52 +09:00
YeonGyu-Kim 938c920092 test(background-agent): cover abort timeout handling
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-04 01:19:52 +09:00
YeonGyu-Kim 40374c8685 fix(boulder-state): remove dead worktree sync helper
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-04 01:19:52 +09:00
YeonGyu-Kim 67145b5339 fix(mcp): honor disabled server overrides in system name discovery
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-04 01:13:23 +09:00
YeonGyu-Kim 58e85960a1 test(mcp): add regression coverage for transcript and disable overrides
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-04 01:12:35 +09:00
YeonGyu-Kim 53eeac3f31 fix(ci): simplify test runner to plain bun test by fixing mock.module() leakage
- Add afterAll(() => { mock.restore() }) to 52 test files missing cleanup
- Rewrite create-tool-guard-hooks.test.ts to use spyOn instead of barrel mock
- Fix skill-mcp-manager OAuth tests with missing mockTokens/mockLogin definitions
- Fix start-work hook: show worktree active block on resume with existing worktree_path
- Extract createWorktreeActiveBlock to worktree-block.ts to avoid circular import
- Replace 80-line isolated test runner CI config with single `bun test` command
2026-04-04 00:34:03 +09:00
YeonGyu-Kim f6a8f64fa4 Merge pull request #3078 from code-yeongyu/refactor/deslop-features-managers
refactor(features): fix empty catches in manager modules
2026-04-03 21:45:53 +09:00
YeonGyu-Kim c7afc795be refactor(features): fix empty catches and remove AI slop from manager modules 2026-04-03 21:42:10 +09:00
YeonGyu-Kim af07610bc4 refactor(features): remove AI slop from feature modules 2026-04-03 21:37:17 +09:00
YeonGyu-Kim 6b431c5522 Merge pull request #3059 from code-yeongyu/fix/p2-13-anchor-pane-cleanup
fix(tmux): reassign anchor pane on first subagent deletion
2026-04-03 18:55:30 +09:00
YeonGyu-Kim 8be39e558d fix(tmux): preserve isolated container cleanup after anchor reassignment 2026-04-03 18:42:58 +09:00
YeonGyu-Kim e20b59cb29 fix(mcp): allow common Windows env vars by default
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-03 18:34:22 +09:00
YeonGyu-Kim b931e309f4 fix(mcp): warn when MCP env expansion is blocked
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-03 18:31:29 +09:00
YeonGyu-Kim 4766891557 fix(mcp): expand builtin allowlist for benign env vars
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-03 18:31:29 +09:00
YeonGyu-Kim 6cb7028ef7 fix(tmux): reassign anchor pane on first subagent deletion
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-03 18:12:33 +09:00
YeonGyu-Kim ec9ed0a381 Merge pull request #3056 from code-yeongyu/fix/p2-12-notification-template-consolidation
Consolidate background task notification template
2026-04-03 18:03:36 +09:00
YeonGyu-Kim 9bcaddf732 Use shared background task notification template
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-03 17:43:33 +09:00
YeonGyu-Kim 833fb12331 Add background task notification template coverage
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-03 17:43:33 +09:00
YeonGyu-Kim 49ea082855 fix(background-agent): await shutdown aborts before cleanup
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-03 17:42:51 +09:00
YeonGyu-Kim 9b1d92d3a6 fix(background-agent): await retry abort before requeueing
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-03 17:42:51 +09:00
YeonGyu-Kim 4d40b44914 fix(background-agent): await stale task aborts before poller exits
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-03 17:42:51 +09:00
YeonGyu-Kim 6b8d9df316 Add MCP scope subdirectory regression tests
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-03 17:14:40 +09:00
YeonGyu-Kim f269d2fcc5 Fix local MCP scope path containment
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-03 17:14:40 +09:00
YeonGyu-Kim 710a8ed4ee Merge pull request #3026 from code-yeongyu/fix/security-mcp-env-expansion
fix(security): restrict env var expansion in MCP configs
2026-04-02 15:10:13 +09:00
YeonGyu-Kim 97349c91eb Merge pull request #3023 from code-yeongyu/fix/security-file-traversal
fix(security): confine file resolution to project roots
2026-04-02 15:09:50 +09:00
YeonGyu-Kim 98659783c0 fix(security): confine file resolution to project roots
Block traversal, out-of-root absolute path, and symlink escapes for @file references, file:// URIs, and config skill file loading while logging rejected attempts.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-02 14:55:35 +09:00
YeonGyu-Kim e8c5727a22 fix(mcp): restrict env var expansion in MCP configs
Block sensitive env var interpolation in MCP config expansion so repo and plugin MCP definitions cannot exfiltrate secrets by default.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-02 14:55:01 +09:00
YeonGyu-Kim 4fe49a6151 fix(skill-mcp-manager): filter merged MCP env before spawn
Apply env filtering after customEnv merge to prevent filtered
variables (API keys, secrets) from being reintroduced through
custom environment configuration.
2026-04-02 14:52:02 +09:00
YeonGyu-Kim 98c1c72fff Merge branch 'fix/p0-9-remove-ai-slops' into dev 2026-04-01 18:23:18 -07:00
YeonGyu-Kim 842434c81f fix(commands): use dynamic base branch and safe rollback in remove-ai-slops
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-01 18:21:00 -07:00
YeonGyu-Kim db23533adf fix(tmux): properly cleanup isolated container pane on first subagent deletion
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-01 18:18:32 -07:00
YeonGyu-Kim 724d21b3cc fix(start-work): restore atlas-first slash discovery
Static slash-command discovery runs before agent registration, so /start-work regressed to Sisyphus even though config-time wiring still needed Atlas-aware fallback. Split builtin command resolution so discovery stays Atlas-first while command config remains availability-aware.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-01 17:32:46 -07:00
YeonGyu-Kim 8fe057b34a fix(start-work): restore atlas native command routing
Route the builtin /start-work command to Atlas when Atlas is available so OpenCode resolves the native command agent correctly before plugin hooks run.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-01 17:19:37 -07:00
YeonGyu-Kim 7f846b2da3 fix(start-work): restore atlas handoff
Keep native /start-work resolvable on Sisyphus, but switch the work session back to Atlas when Atlas is registered. Stamp the outgoing agent with Atlas's actual list-display key so config→start-work execution resolves correctly and still falls back to Sisyphus when Atlas is unavailable.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-31 22:24:54 -07:00
YeonGyu-Kim a720ef5334 feat(context-injector): enhance context collector functionality
🤖 Generated with assistance of OhMyOpenCode
2026-03-31 17:33:26 -07:00
YeonGyu-Kim 3d56df4e1b feat(deep): upgrade default model from gpt-5.3-codex to gpt-5.4
Deep category now uses gpt-5.4 as its default model across all providers
(openai, github-copilot, venice, opencode), matching Hephaestus's GPT 5.4
upgrade. The requiresModel constraint is removed since gpt-5.4 is widely
available. Adds openai/gpt-5.3-codex -> openai/gpt-5.4 config migration
for existing user configs. Deep category prompt optimized for GPT 5.4's
stronger native capabilities (leaner, less verbose).
2026-03-31 17:26:30 -07:00
YeonGyu-Kim 92d70cff5b feat: add review-work and ai-slop-remover as built-in skills, add remove-ai-slops command
Embed user-level skills into the plugin's built-in system so they ship
with the product rather than requiring per-user configuration.

- review-work: 5-agent parallel post-implementation review orchestrator
- ai-slop-remover: per-file AI-generated code smell detector and remover
- /remove-ai-slops: command that orchestrates parallel ai-slop-remover runs
2026-03-31 17:22:34 -07:00
YeonGyu-Kim e84c1faffa Merge branch 'fix/ub6-regression' into dev 2026-03-31 17:08:45 -07:00
YeonGyu-Kim e9a09b39b3 Merge branch 'fix/ub5-regression' into dev 2026-03-31 17:08:45 -07:00
YeonGyu-Kim 91d5b06495 Merge branch 'fix/ub4-regression' into dev 2026-03-31 17:08:45 -07:00
YeonGyu-Kim f77ac22e16 Merge branch 'fix/ub3-regression' into dev 2026-03-31 17:08:45 -07:00
YeonGyu-Kim 8fba90766d fix: apply scope filter to getSystemMcpServerNames and fix async native skill description refresh 2026-03-31 17:05:55 -07:00
YeonGyu-Kim 3cce7406ea fix: distinguish transient errors from missing sessions in crash detection 2026-03-31 17:04:07 -07:00
YeonGyu-Kim 7d6f47bf3d fix: resolve process-cleanup signal delay and hashline_edit tool name mismatch 2026-03-31 16:59:04 -07:00
YeonGyu-Kim 67429af358 fix(tmux): allow subsequent subagents to spawn in existing isolated container 2026-03-31 16:58:45 -07:00
YeonGyu-Kim 62a46fbabd fix: normalize zero-width prefix in agent registration lookup 2026-03-31 16:58:15 -07:00
YeonGyu-Kim 56cf16c4c5 refactor(background-task): stop cancelling launched tasks during session wait 2026-03-31 15:11:05 -07:00
YeonGyu-Kim 33c8b7f675 fix(tests): resolve 6 test isolation failures in full suite
3 failures in fallback.cliproxyapi-matrix.test.ts:
- Root cause: leaked spyOn(getMainSessionID) in
  tool-execute-before-session-notification.test.ts was never restored,
  poisoning module state for subsequent tests in the same worker
- Added mockRestore() call and _resetModelFallbackForTesting in afterEach

3 failures in background-agent/manager.test.ts:
- Root cause: connected-providers-cache memConnected/memProviderModels
  persisted across test files, making isReachable() skip fallback
  candidates in retry tests
- Added mock.module for connected-providers-cache at file level
- Added _resetMemCacheForTesting export and global beforeEach cleanup

Full suite: 4638/4638 pass, 0 fail
2026-04-01 04:30:34 +09:00
YeonGyu-Kim 1998d5a35d Merge pull request #2936 from HOYALIM/fix-2696-skill-xml-names
fix: preserve nested async skill names in discovery
2026-03-29 18:53:35 -07:00