Commit Graph

4730 Commits

Author SHA1 Message Date
YeonGyu-Kim 63ba16bcce fix(oauth): wire refresh mutex into provider.refresh() for concurrent deduplication
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 17:16:28 +09:00
YeonGyu-Kim 06b825dd74 fix(start-work): reuse registered opencode agent names 2026-04-08 16:18:26 +09:00
YeonGyu-Kim 24629643f0 fix(start-work): use canonical display name for command routing 2026-04-08 16:09:09 +09:00
YeonGyu-Kim 8925ec3a16 fix(start-work): align command routing with exported agent keys 2026-04-08 16:00:47 +09:00
YeonGyu-Kim 4394129667 fix(compaction): harden continuation directive markers 2026-04-08 15:58:02 +09:00
YeonGyu-Kim cd95172e42 fix(start-work): keep native command agents on config keys 2026-04-08 15:58:02 +09:00
YeonGyu-Kim aa1a18c5d8 Merge pull request #3218 from code-yeongyu/fix/3216-plugin-scope-filter
fix(plugin-loader): filter project-scoped plugins by cwd (#3216)
2026-04-08 15:51:47 +09:00
YeonGyu-Kim b28567251d fix(plugin-loader): filter project-scoped plugins by cwd
discoverInstalledPlugins read scope from installed_plugins.json but
never filtered by it, so project/local scoped Claude Code plugins
leaked into every session regardless of process.cwd().

Add projectPath to PluginInstallation and InstalledPluginEntryV3,
propagate it through v3EntryToInstallation, and introduce
shouldLoadPluginForCwd which reuses shared/contains-path for safe
symlink- and ancestor-aware matching and expands a leading tilde.
user and managed scopes still always load; project and local without
a projectPath are skipped as a safe default.

Covered by 13 new shouldLoadPluginForCwd unit tests (including tilde
expansion against a mocked homedir) and 13 new discoverInstalledPlugins
integration tests spanning v1, v2, and v3 database formats plus the
existing enabledPluginsOverride path.

Fixes #3216
2026-04-08 15:28:17 +09:00
github-actions[bot] c2816e728c @dhruvkej9 has signed the CLA in code-yeongyu/oh-my-openagent#3217 2026-04-08 05:42:35 +00:00
YeonGyu-Kim d22c3f23db test(plugin-interface): fix Atlas display name expectation
- Update expected value to match actual output after ZWSP prefix stripping

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 13:40:43 +09:00
YeonGyu-Kim 2c6a161441 test(runtime-fallback): fix OpenAI auto-retry test expectations
- Add timeout_seconds to mock config for auto-retry signal detection

- Add 'usage limit' pattern to quota_exceeded error classification

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 13:40:40 +09:00
YeonGyu-Kim 902b2f9f58 test(ci): update workflow test to match actual CI command
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 13:40:38 +09:00
YeonGyu-Kim 4d9652c028 test(start-work): update display name expectations for ZWSP fix
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 13:33:19 +09:00
YeonGyu-Kim 94449e0a24 test(delegate-task): update isPlanAgent test for exact match fix
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 13:33:18 +09:00
YeonGyu-Kim 1a04a6effb test(ralph-loop): update iteration cap expectation to 500
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 13:33:09 +09:00
YeonGyu-Kim ab0e1e3be0 fix(oauth): refresh-once handler for 401/403 responses
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 13:28:17 +09:00
YeonGyu-Kim 7ba41d388a fix(oauth): atomic storage writes for token safety
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 13:28:14 +09:00
YeonGyu-Kim 7be285ef89 feat(oauth): add per-server refresh mutex
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 13:28:08 +09:00
YeonGyu-Kim cdd6e88557 fix(installer): add upgrade path safety checks
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 13:26:33 +09:00
YeonGyu-Kim 01f7d5e2a8 feat(installer): export version compatibility and backup utilities
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 13:26:29 +09:00
YeonGyu-Kim 2f86a17516 feat(installer): add config backup utility for safe upgrades
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 13:26:27 +09:00
YeonGyu-Kim 7022a7e85d feat(installer): add version compatibility checking utilities
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 13:26:26 +09:00
YeonGyu-Kim a09b905b18 fix(installer): add installedVersion to DetectedConfig type
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 13:26:22 +09:00
YeonGyu-Kim d490b4dc20 fix(ralph-loop): harden Oracle VERIFIED detection
Replace fragile regex text matching with structured detection for Oracle verification evidence.

- Add oracle-verification-detector.ts with parseOracleVerificationEvidence()

- Use structured parsing instead of multiple regex patterns

- Add comprehensive test coverage for edge cases

- Update completion-promise-detector.ts to use isOracleVerified()

- Update pending-verification-handler.ts to use structured extraction

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 13:24:50 +09:00
YeonGyu-Kim 0bf5dc2629 fix(token-limit): normalize detection across providers
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 13:24:14 +09:00
YeonGyu-Kim c3fe0ae09e fix(background): propagate variant in parent notifications
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 13:23:08 +09:00
YeonGyu-Kim 14f4390a34 fix(ultrawork): add iteration cap to prevent infinite loops
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 13:22:41 +09:00
YeonGyu-Kim 8090ee6afe fix(compaction): persist recovery cap across cycles
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 13:20:01 +09:00
YeonGyu-Kim f2fac9bc0b test(runtime-fallback): update tests for quota STOP classification
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 13:14:54 +09:00
YeonGyu-Kim 8169dbec89 docs: update for v3.16.0 release
- Update AGENTS.md header with current date and commit

- Update runtime-fallback test to reflect quota STOP classification

- Release notes drafted in .sisyphus/drafts/release-notes-v3.16.0.md
2026-04-08 13:13:22 +09:00
YeonGyu-Kim b7d9521a39 feat(installer): add opencode v1.4.0 minimum version check
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 13:13:03 +09:00
YeonGyu-Kim 4f196f4917 ci: restore mock-isolated test runner
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 13:12:34 +09:00
YeonGyu-Kim 35f778db2d test(skill-mcp): add scope field to test fixtures
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 13:11:28 +09:00
YeonGyu-Kim fa140b0375 fix(skill-loader): propagate scope to MCP connections
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 13:10:41 +09:00
YeonGyu-Kim 5e0bd87dea test(runtime-fallback): add provider matrix quota tests
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 13:10:26 +09:00
YeonGyu-Kim 05efb20fda feat(skill-mcp): add scope field to connection types 2026-04-08 13:10:20 +09:00
YeonGyu-Kim b81fdef5d9 fix(skill-mcp): redact sensitive data from connection errors
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 13:10:06 +09:00
YeonGyu-Kim 7751402999 fix(runtime-fallback): classify quota exhaustion as STOP not retryable
Remove quota exhaustion patterns from RETRYABLE_ERROR_PATTERNS:

- 'usage limit reached' patterns (lines 30, 32)

- 'insufficient credits' pattern (line 37)

- 'credit balance too low' pattern (line 38)

These errors indicate permanent quota exhaustion, not temporary

rate limits. They are already handled by classifyErrorType() which returns

'quota_exceeded', and isRetryableError() properly stops on these

unless there's an explicit auto-retry signal.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 13:09:38 +09:00
YeonGyu-Kim a419857b46 fix(delegate-task): use exact match for isPlanFamily to allow Metis/Momus
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 13:09:31 +09:00
YeonGyu-Kim 78e6d780eb fix(plugin): verify event hook compatibility with v1.4.0
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 13:08:03 +09:00
YeonGyu-Kim e52dd340c6 fix(plugin): migrate chat.params to maxOutputTokens for v1.4.0
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 13:02:51 +09:00
YeonGyu-Kim e8d83b5f98 fix(zwsp): strip zero-width chars in delegate-task tools
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 13:02:05 +09:00
YeonGyu-Kim 317e2c6465 fix(zwsp): strip zero-width chars in start-work-hook
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 13:01:51 +09:00
YeonGyu-Kim 3724093618 fix(zwsp): strip zero-width chars from agent headers in command-config-handler
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 13:01:43 +09:00
YeonGyu-Kim 130e67a432 fix(zwsp): strip zero-width chars in boulder-continuation-injector
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 13:01:41 +09:00
YeonGyu-Kim 5188df903f fix(types): revert task-tool type inference workarounds
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 13:00:17 +09:00
YeonGyu-Kim 18771c8d6d fix(schema): restore z.toJSONSchema native v4 API 2026-04-08 12:59:54 +09:00
YeonGyu-Kim f4eabf9f0e chore(deps): upgrade @opencode-ai/{plugin,sdk} to 1.4.0 and restore zod v4
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-08 12:57:45 +09:00
github-actions[bot] 9a9b5be518 @teneburu has signed the CLA in code-yeongyu/oh-my-openagent#3203 2026-04-07 13:06:20 +00:00
YeonGyu-Kim 8f129eb4ad fix(test): update plugin tests to use getAgentListDisplayName for agent assertions
- Update plugin-interface.test.ts expectations to use getAgentListDisplayName
- Update chat-message.test.ts expectations for agent display names
- Add smoke test for quoted plan name resolution in chat-message.test.ts
- Aligns test expectations with proper agent name formatting

🤖 Generated with OhMyOpenCode assistance
2026-04-07 19:05:14 +09:00