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
243db8d0f5
fix: clear failed empty-content recovery state
2026-04-03 18:07:47 +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
fe326ca79b
fix: clear stale recovery retry state
2026-04-03 17:50:24 +09:00
YeonGyu-Kim
9fa1ea38e8
test: isolate recovery hook mocks from full suite
2026-04-03 17:50:24 +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
6ca046c12b
Derive tmux runtime fallback from schema defaults
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-03 17:37:51 +09:00
YeonGyu-Kim
f369971db9
fix(tests): type tmux fetch mocks
...
Model the tmux fetch test doubles with the fetch shape Bun expects so the tests drop without changing assertions.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-03 17:37:17 +09:00
YeonGyu-Kim
e3f3bcc063
fix(tests): type cliproxy fallback test harness
...
Convert the cliproxy fallback matrix test to use typed harness helpers instead of so fallback coverage remains unchanged without violating test constraints.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-03 17:37:17 +09:00
YeonGyu-Kim
4e435dac73
fix(tests): type event handler test harness
...
Replace broad casts in event handler tests with typed harness helpers so the regression coverage stays intact while matching the test-file typing rules.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-03 17:37:17 +09:00
YeonGyu-Kim
3a2c4fd099
fix(tests): type config-handler test spy restore
...
Avoid for the MCP env allowlist spy restore path so the config-handler test keeps the same behavior with specific typing.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-03 17:37:17 +09:00
YeonGyu-Kim
f39a0182eb
Merge pull request #3054 from code-yeongyu/fix/p0-6-mcp-local-scope-subdirectory
...
Fix local MCP scope loading in subdirectories
2026-04-03 17:32:11 +09:00
YeonGyu-Kim
b8f4037622
Refine HTTP hook redirect enforcement
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-03 17:30:57 +09:00
YeonGyu-Kim
b2b8f73d0d
Fix tar traversal error normalization
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-03 17:28:22 +09:00
YeonGyu-Kim
22c8e8388f
Fix Linux ZIP preflight entry listing
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-03 17:23:09 +09:00
YeonGyu-Kim
b096e6f751
fix: prefer canonical plugin config files
2026-04-03 17:15:08 +09:00
YeonGyu-Kim
88b84a8517
test: cover canonical plugin config detection
2026-04-03 17:15:03 +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
ed06428ba3
fix(delegate-task): strip wrapping chars from subagent_type before lookup
...
LLMs sometimes wrap agent names in backslashes, quotes, or slashes
(e.g. \hephaestus\ instead of hephaestus). The trim() call only
removed whitespace, causing "Agent not found" errors during delegation.
Now strips leading/trailing backslashes, quotes, and slashes before
the case-insensitive agent lookup.
Adds regression tests for backslash-wrapped, double-quoted, and
single-quoted agent names.
Fixes: release blocker — delegate_task to hephaestus failing in
pre-publish review sessions.
2026-04-03 17:13:11 +09:00
YeonGyu-Kim
d081e8ef4f
Fix HTTP hook HTTPS enforcement gaps
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-03 17:11:09 +09:00
YeonGyu-Kim
f950d3d75c
Align tmux plugin fallback with inline isolation
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-03 17:11:01 +09:00
YeonGyu-Kim
57c973bac5
Revert tmux config default isolation to inline
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-03 17:11:01 +09:00
YeonGyu-Kim
c78a9e640a
Revert "Merge pull request #3047 from code-yeongyu/fix/p0-4-tmux-default-isolation"
...
This reverts commit 2d13e125bb , reversing
changes made to c45fc83caa .
2026-04-03 17:10:23 +09:00
YeonGyu-Kim
f84d311c64
Revert "Merge pull request #3048 from code-yeongyu/fix/p0-2-https-enforcement-gaps"
...
This reverts commit ede561cb74 , reversing
changes made to 2d13e125bb .
2026-04-03 17:10:23 +09:00
YeonGyu-Kim
ede561cb74
Merge pull request #3048 from code-yeongyu/fix/p0-2-https-enforcement-gaps
...
Fix HTTP hook HTTPS enforcement gaps
2026-04-03 17:09:19 +09:00
YeonGyu-Kim
3eb1430a43
Fix HTTP hook HTTPS enforcement gaps
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-03 17:07:17 +09:00
YeonGyu-Kim
3f0d68bfa3
Align tmux plugin fallback with inline isolation
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-03 17:06:22 +09:00
YeonGyu-Kim
9fb9e15222
Revert tmux config default isolation to inline
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-03 17:06:22 +09:00
trafgals
64408823ae
fix: actually swap merge order so project is added before user
...
Previous fix only changed comments, not logic. Now project agents are
added to the map before user agents, so project takes precedence.
2026-04-03 11:51:22 +10:00
trafgals
2266f28f75
fix: correct merge order so project agents override user agents
...
Address PR review comment: project agents should take precedence
over user agents when both define the same agent name.
2026-04-03 11:51:20 +10:00
trafgals
ad85e43809
fix: include user/project agents in task(subagent_type) resolution
...
Re-implement PR #2690 against current upstream/dev since original
branch became incompatible with codebase refactoring.
Changes:
- Import loadUserAgents and loadProjectAgents from claude-code-agent-loader
- Merge user/project agents with server agents in resolveSubagentExecution()
- Server agents take precedence on name collisions
- Primary-mode agents from user/project are filtered out
Tests: 4 new test cases covering user agent resolution, project
agent resolution, server precedence, and primary agent filtering.
2026-04-03 11:51:19 +10:00
YeonGyu-Kim
9c67585519
Merge pull request #3028 from code-yeongyu/fix/issue-2923-gpt41mini-toolcall
...
fix(models): mark gpt-4.1-mini and gpt-4.1-nano as supporting tool calls
2026-04-02 15:46:09 +09:00
YeonGyu-Kim
156c1f4aeb
fix(models): mark gpt-4.1-mini and gpt-4.1-nano as supporting tool calls
...
Fixes #2923
2026-04-02 15:45:39 +09:00
YeonGyu-Kim
027a6b0039
fix(skill-mcp): use correct sessionID when registering skill MCP connections
...
Fixes #3021
2026-04-02 15:45:39 +09:00
YeonGyu-Kim
fba20f9f09
Merge pull request #3019 from code-yeongyu/fix/issue-2986-prometheus-fallback
...
fix(prometheus): respect fallback chain when no explicit model configured
2026-04-02 15:10:43 +09:00
YeonGyu-Kim
39eefe4d4d
Merge pull request #3018 from code-yeongyu/fix/issue-2996-tavily-graceful
...
fix(mcp): handle missing Tavily API key gracefully
2026-04-02 15:10:41 +09:00
YeonGyu-Kim
1b5114b256
Merge pull request #3017 from code-yeongyu/fix/issue-3014-tool-pair-validation
...
fix(hook): add tool_use/tool_result pair validator
2026-04-02 15:10:38 +09:00
YeonGyu-Kim
f0309dff24
Merge pull request #3016 from code-yeongyu/fix/issue-3003-ripgrep-autodownload
...
fix(grep): enable ripgrep auto-download when not found in PATH
2026-04-02 15:10:35 +09:00
YeonGyu-Kim
c173bb1337
Merge pull request #3015 from code-yeongyu/fix/issue-2946-mcp-merge-order
...
fix(mcp): user config overrides Claude Code .mcp.json with collision warning
2026-04-02 15:10:32 +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
04876d88f7
Merge pull request #3025 from code-yeongyu/fix/security-http-hooks
...
fix(security): enforce HTTPS for HTTP hook URLs
2026-04-02 15:10:10 +09:00
YeonGyu-Kim
9a7bb5eeb7
Merge pull request #3024 from code-yeongyu/fix/security-tar-containment
...
fix(security): add archive extraction containment validation
2026-04-02 15:09:52 +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
5a2814980e
fix(security): enforce HTTPS for HTTP hook URLs
...
Add TLS requirement for HTTP hook destinations:
- Warn when plain http:// URLs are used
- Reject remote http:// in production mode
- Allow http://localhost and http://127.0.0.1 for dev
Prevents secret exfiltration over unencrypted channels.
2026-04-02 15:01:15 +09:00
YeonGyu-Kim
d861d51959
fix(security): add archive extraction containment validation
...
Validate tar and zip entries before extraction to prevent path traversal:
- Reject absolute paths in archives
- Reject .. traversal paths
- Reject symlinks pointing outside extraction dir
- New archive-entry-validator module with comprehensive tests
Addresses: security audit finding for unsafe archive extraction.
2026-04-02 15:01:15 +09:00