YeonGyu-Kim
0c6aa91fc8
Merge pull request #3049 from code-yeongyu/fix/p0-5-mcp-env-expansion
...
fix(mcp): warn on blocked env expansion
2026-04-03 18:52:32 +09:00
YeonGyu-Kim
1631509989
fix: reset hook state on abort so session recovers after user cancel
...
When a user cancels a generation (ESC x2), all three idle hooks could
enter a permanently broken state:
1. **todo-continuation-enforcer**: consecutiveFailures accumulated from
abort-caused promptAsync failures, eventually hitting MAX_CONSECUTIVE_FAILURES
and permanently stopping continuation injection.
2. **unstable-agent-babysitter**: no abort awareness at all — would keep
firing reminders after user cancelled the session.
3. **runtime-fallback**: retry dedupe keys and pending fallback state
persisted across cancellation, blocking legitimate error recovery.
Fix:
- Add shared `isAbortError()` utility for consistent abort detection
- Reset consecutiveFailures and clear stale state on AbortError in all hooks
- Track `lastCancelledAt` in todo-continuation-enforcer for abort window
- Add abort-awareness to unstable-agent-babysitter (skip if recently cancelled)
- Clear runtime-fallback retry state on abort errors
Tests: 61 pass, 0 fail across all 3 affected hook test suites.
Closes #2984
2026-04-03 18:51:10 +09:00
YeonGyu-Kim
8be39e558d
fix(tmux): preserve isolated container cleanup after anchor reassignment
2026-04-03 18:42:58 +09:00
YeonGyu-Kim
ac5e507155
Merge pull request #3060 from code-yeongyu/fix/p2-15-claude-code-hooks-rules
...
Fix Claude user rule skipping for disabled hooks
2026-04-03 18:41:09 +09:00
YeonGyu-Kim
9783fae351
Merge pull request #3057 from code-yeongyu/fix/p1-9-recovery-retry-timer-leak
...
fix: clear stale recovery retry state
2026-04-03 18:40:29 +09:00
YeonGyu-Kim
71b8110ff0
fix(zip): parse zipinfo file entries with preserved filenames
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-03 18:38:14 +09:00
github-actions[bot]
d2a78cc137
@suyua9 has signed the CLA in code-yeongyu/oh-my-openagent#3064
2026-04-03 09:37:12 +00: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
316d250465
fix(mcp): ignore project allowlist overrides for env expansion
...
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
2b43558349
fix(tar): surface traversal extraction failures as blocked entries
...
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
a4f436c116
fix(tar): classify traversal tar listing errors as blocked entries
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-03 18:34:12 +09:00
YeonGyu-Kim
2288988f28
fix(zip): use zipinfo to preflight zip extraction on unix
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-03 18:34:12 +09:00
YeonGyu-Kim
2e6a7b4339
fix: update docs and barrel imports for task_system default
2026-04-03 18:32:12 +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
d65714eba0
fix(shared): avoid archive test batch regression
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-03 18:31:26 +09:00
YeonGyu-Kim
760099eb03
fix(tasks-hook): update default task_system test
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-03 18:31:26 +09:00
YeonGyu-Kim
47769d5f49
fix(tasks-hook): share task_system resolution
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-03 18:31:26 +09:00
YeonGyu-Kim
3b3520da90
fix(agent-config): share task_system resolution
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-03 18:31:26 +09:00
YeonGyu-Kim
d65c7c0800
fix(tool-config): share task_system resolution
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-03 18:31:26 +09:00
YeonGyu-Kim
c65baa80c8
fix(tool-registry): unify task_system default
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-03 18:31:26 +09:00
YeonGyu-Kim
2ba2f8f5f7
fix(shared): add task_system resolver
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-03 18:31:26 +09:00
YeonGyu-Kim
83acafce48
Merge pull request #3058 from code-yeongyu/fix/p1-11-remove-as-any-tests
...
fix(tests): remove as any from new test files
2026-04-03 18:30:30 +09:00
YeonGyu-Kim
32b9235764
Merge pull request #3051 from code-yeongyu/fix/p0-2-https-enforcement-gaps
...
fix(security): enforce HTTPS for all non-loopback remote hooks
2026-04-03 18:30:29 +09:00
YeonGyu-Kim
071f6c334d
Merge pull request #3055 from code-yeongyu/fix/p1-8-legacy-config-canonical-priority
...
fix: prefer canonical plugin config files
2026-04-03 18:30:19 +09:00
YeonGyu-Kim
72b3b15f78
Merge pull request #3050 from code-yeongyu/fix/p0-4-tmux-default-isolation
...
fix: revert tmux default isolation to inline
2026-04-03 18:30:18 +09:00
YeonGyu-Kim
92f4068c70
Merge pull request #3061 from code-yeongyu/feat/double-context-window-display
...
Double displayed context window counts
2026-04-03 18:29:16 +09:00
YeonGyu-Kim
8f449e1627
fix: respect user-configured category model over fallbackChain defaults
...
When a user configures a custom model for a category (e.g. quick.model),
the hardcoded CATEGORY_MODEL_REQUIREMENTS fallbackChain was overriding it.
This caused the user's model to be ignored and replaced with the default
(e.g. openai/gpt-5.4-mini).
Fix:
- Use userModelOverride directly instead of potentially stale actualModel
- Suppress hardcoded fallbackChain when explicitCategoryModel is provided
- Add regression test verifying user category model takes precedence
Closes #3040
2026-04-03 18:27:26 +09:00
YeonGyu-Kim
706640ace3
fix: use detectShellType() instead of hardcoded 'unix' in non-interactive-env hook
...
The non-interactive-env hook hardcoded shellType as 'unix', causing
'export' syntax to be used on Windows PowerShell where it doesn't work.
This caused sub-agent infinite loops on Windows as git commands would
fail with 'export: The term export is not recognized' and retry forever.
Fix: use the existing detectShellType() function which correctly detects
PowerShell (via PSModulePath), csh, cmd (win32 fallback), and unix shells.
Updated tests to verify platform-aware shell syntax selection.
Closes #3000
2026-04-03 18:26:24 +09:00
YeonGyu-Kim
5b3541f7aa
Clarify doubled context display intent
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-03 18:25:42 +09:00
YeonGyu-Kim
f34edf9957
Update cached limit monitor expectations
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-03 18:14:13 +09:00
YeonGyu-Kim
0e9dbbdc48
Double displayed context window counts
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-03 18:14:13 +09:00
YeonGyu-Kim
6dc21b3b7f
Fix Claude user rule skipping for disabled hooks
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-03 18:14:12 +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
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
e4846fba6b
Merge pull request #3053 from code-yeongyu/fix/p0-3-await-session-abort
...
fix(background-agent): await session abort completion paths
2026-04-03 17:48:07 +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