YeonGyu-Kim
62a46fbabd
fix: normalize zero-width prefix in agent registration lookup
2026-03-31 16:58:15 -07:00
YeonGyu-Kim
9a0f2ff9a7
test(delegate-task): cover aborted concurrent background launches
2026-03-31 15:11:12 -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
e2e57bb2dd
fix(agents): use list display names for ordered agent config
2026-03-31 15:11:00 -07:00
YeonGyu-Kim
1d0135b230
fix(delegate-task): reject stray backend-style categories
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-31 13:05:44 -07:00
YeonGyu-Kim
68ae9dca4b
fix(agents): stop advertising custom agents to orchestrators
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-31 13:05:38 -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
fd281deba7
fix(tests): resolve 25 pre-publish test failures
...
- Add providerModelsCache/fetchAvailableModels mocks to 20 utils.test.ts
tests that broke when createBuiltinAgents started reading the cache
- Isolate ALL src/plugin and src/features/background-agent test files in CI
(mock.module pollution crosses between files in the same bun process)
- Mirror CI isolation changes in publish.yml
25 failures → 0 in CI (all mock-pollution tests run individually)
2026-03-31 18:12:57 +09:00
YeonGyu-Kim
71c60e1be4
fix: skip thinking param injection for GLM models in sisyphus-junior ( #2967 )
...
GLM-5 has native reasoning built-in. Injecting thinking: {type: 'enabled'}
causes a param conflict (400 error). Add isGlmModel() check to return base
config without thinking/reasoningEffort for GLM models.
- Add isGlmModel() helper to types.ts
- Early return in createSisyphusJuniorAgentWithOverrides for GLM models
- Add tests for isGlmModel and GLM reasoning config behavior
2026-03-31 16:32:32 +09:00
YeonGyu-Kim
51194e9434
Merge pull request #2919 from ryandielhenn/feat/config_tdd
...
Add Configurable TDD To Sisyphus Agent Schema
2026-03-29 18:55:21 -07:00
YeonGyu-Kim
2d46a71da4
Merge pull request #2929 from quangtran88/fix/rules-injector-respect-claude-code-config
...
fix(rules-injector): respect claude_code config for user rule loading
2026-03-29 18:54:27 -07: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
YeonGyu-Kim
59f11680a7
Merge pull request #2874 from sanoyphilippe/feat/plugin-tool-session-navigation
...
feat(atlas): support plugin tools with metadata.sessionId in orchestration hook
2026-03-29 18:45:43 -07:00
YeonGyu-Kim
b12e32d855
Merge pull request #2912 from RaviTharuma/test/quotio-fallback-matrix-upstream
...
test(fallback): add CLIProxyAPI-only integration matrix
2026-03-29 18:45:34 -07:00
YeonGyu-Kim
44c6a2ad5c
Merge pull request #2931 from sjawhar/feat/tmux-session-isolation
...
feat(tmux): add session isolation mode for subagent panes
2026-03-29 18:44:29 -07:00
YeonGyu-Kim
8b437ee1d9
Merge pull request #2930 from sjawhar/fix/agent-name-duplication
...
fix: permanently resolve agent name duplication yo-yo bug
2026-03-29 18:42:50 -07:00
YeonGyu-Kim
aa6632a3b4
Merge pull request #2935 from HOYALIM/fix/issue-2903-timestamp-tests
...
fix: stabilize timestamp-output tests across timezones
2026-03-29 18:42:23 -07:00
YeonGyu-Kim
500f10b0bc
Merge pull request #2939 from sjawhar/fix/delegate-task-category-override
...
fix(delegate-task): replace mutual exclusion throw with category-wins override (#2847 )
2026-03-29 18:41:48 -07:00
YeonGyu-Kim
0f6c7a9ca0
fix(config): accept object-format fallback_models in Zod validation ( fixes #2943 )
...
FallbackModelsSchema now explicitly accepts string[], object[], and
mixed array formats, matching the JSON schema definition.
Verified: 15 config schema tests pass, typecheck clean
2026-03-30 10:35:06 +09:00
YeonGyu-Kim
67253447b7
fix(anthropic-effort): skip effort injection for internal agents ( fixes #2940 )
...
Internal agents (title, summary, compaction) no longer receive the
anthropic-beta effort header, preventing 400 errors on Google Vertex
Anthropic provider.
Verified: 12 tests pass, typecheck clean
2026-03-30 10:33:38 +09:00
Sami Jawhar
a3cc2d1c95
feat(tmux): add session isolation mode for subagent panes
2026-03-29 17:53:30 +00:00
Sami Jawhar
4314a3e482
fix: permanently resolve agent name duplication yo-yo bug
2026-03-29 15:13:47 +00:00
Sami Jawhar
3905d07273
fix(delegate-task): replace mutual exclusion throw with category-wins override
2026-03-29 15:07:42 +00:00
Ryan Dielhenn
f9e487f55a
address bot review
2026-03-29 06:01:31 -07:00
Ryan Dielhenn
1d13250654
address bot review
2026-03-29 05:56:44 -07:00
Sisyphus
e27f183b65
test: cover remaining nested async skill paths
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-29 01:16:10 -07:00
Sisyphus
c132185d17
fix: preserve nested async skill names in discovery
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-29 00:35:59 -07:00
Ho Lim
fa64c31ae2
fix: stabilize timestamp-output tests across timezones
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-29 00:25:29 -07:00
Tran Quang
738b045e9b
fix: use strict equality for claude_code flag checks
...
Use `=== false` instead of falsy negation so that missing/undefined
fields are not treated as explicitly disabled. Only skip ~/.claude/rules
when all three flags are explicitly set to false.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-29 10:22:54 +07:00
Tran Quang
a1a2bb4b07
fix(rules-injector): respect claude_code config for user rule loading
...
When claude_code integration is disabled in oh-my-opencode.json, the
rules-injector now skips loading rules from ~/.claude/rules/ to prevent
Claude Code-specific instructions from leaking into non-Claude agents
(e.g., GPT-5.4 Sisyphus), which causes agent hallucination.
Also adds ~/.sisyphus/rules/ and ~/.opencode/rules/ as OpenCode-native
user rule directories that are always searched regardless of config.
Fixes #2920
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-29 10:13:55 +07:00
YeonGyu-Kim
b2497f1327
fix: resolve 3 community-reported bugs ( #2915 , #2917 , #2918 )
...
- background_output: snapshot read cursor before consuming, restore on
/undo message removal so re-reads return data (fixes #2915 )
- MCP loader: preserve oauth field in transformMcpServer, add scope/
projectPath filtering so local-scoped MCPs only load in matching
directories (fixes #2917 )
- runtime-fallback: add 'reached your usage limit' to retryable error
patterns so quota exhaustion triggers model fallback (fixes #2918 )
Verified: bun test (4606 pass / 0 fail), tsc --noEmit clean
2026-03-29 04:53:43 +09:00
Ryan Dielhenn
e9e0aef847
use optional instead of required for tdd config for backwards compatibility
2026-03-28 11:10:26 -07:00
Ryan Dielhenn
2b6a02ee97
nit
2026-03-28 09:37:13 -07:00
Ryan Dielhenn
571dfe23a4
add bool value: tdd to sisyphus_agent config
2026-03-28 09:34:58 -07:00
Ravi Tharuma
92069d2e7f
test(fallback): rename quotio matrix to cliproxyapi
2026-03-28 09:11:41 +01:00
Ravi Tharuma
57fcc9e842
test(fallback): add quotio-only integration matrix
2026-03-28 08:58:17 +01:00
Ravi Tharuma
4e214cba4e
fix(recovery): ignore empty summary-only assistant messages
2026-03-28 08:57:36 +01:00
YeonGyu-Kim
4a029258a4
fix: resolve 5 remaining pre-publish blockers (14, 15, 17, 21, 25c)
...
- completion-promise-detector: restrict to assistant text parts only,
remove tool_result from completion detection (blocker 14)
- ralph-loop tests: flip tool_result completion expectations to negative
coverage, add false-positive rejection tests (blocker 15)
- skill tools: merge nativeSkills into initial cachedDescription
synchronously before any execute() call (blocker 17)
- skill tools test: add assertion for initial description including
native skills before execute() (blocker 25c)
- docs: sync all 4 fallback-chain docs with model-requirements.ts
runtime source of truth (blocker 21)
Verified: bun test (4599 pass / 0 fail), tsc --noEmit clean
2026-03-28 15:57:27 +09:00
YeonGyu-Kim
d2c576c510
fix: resolve 25 pre-publish blockers
...
- postinstall.mjs: fix alias package detection
- migrate-legacy-plugin-entry: dedupe + regression tests
- task_system: default consistency across runtime paths
- task() contract: consistent tool behavior
- runtime model selection, tool cap, stale-task cancellation
- recovery sanitization, context-limit gating
- Ralph semantic DONE hardening, Atlas fallback persistence
- native-skill description/content, skill path traversal guard
- publish workflow: platform awaited via reusable workflow job
- release: version edits reapplied before commit/tag
- JSONC plugin migration: top-level plugin key safety
- cold-cache: user fallback models skip disconnected providers
- docs/version/release framing updates
Verified: bun test (4599 pass), tsc --noEmit clean, bun run build clean
2026-03-28 15:24:18 +09:00
YeonGyu-Kim
44b039bef6
Merge pull request #2705 from MoerAI/fix/sisyphus-premature-implementation
...
fix(sisyphus): block premature implementation before context is complete (fixes #2274 )
2026-03-28 01:46:31 +09:00
YeonGyu-Kim
aeec5ef98d
Merge pull request #2773 from MoerAI/fix/ralph-loop-fuzzy-completion
...
fix(ralph-loop): add semantic completion detection as fallback for natural language (fixes #2489 )
2026-03-28 01:44:56 +09:00
YeonGyu-Kim
7b2b8be181
Merge pull request #2771 from MoerAI/fix/bash-file-read-guard
...
fix(hooks): add bash-file-read-guard to warn agents against cat/head/tail (fixes #2096 )
2026-03-28 01:44:44 +09:00
YeonGyu-Kim
adc55138c8
Merge pull request #2850 from octo-patch/feature/upgrade-minimax-m2.7
...
feat: upgrade remaining MiniMax M2.5 fallbacks to M2.7-highspeed
2026-03-28 01:42:25 +09:00
YeonGyu-Kim
3715fb79b9
Merge pull request #2871 from Jholly2008/kkk/fix-on-complete-hook-shell
...
fix(cli): respect platform shell for --on-complete
2026-03-28 01:42:13 +09:00
YeonGyu-Kim
b9ed0ca30b
Merge pull request #2877 from WhiteGiverMa/fix/atlas-agent-not-found
...
fix: use getAgentDisplayName in injectBoulderContinuation
2026-03-28 01:40:38 +09:00
YeonGyu-Kim
45e9fcd776
Merge pull request #2894 from codivedev/fix/issue-2881
...
fix: detect and warn about opencode-skills conflict
2026-03-28 01:40:04 +09:00
YeonGyu-Kim
49687a654a
Merge pull request #2895 from MoerAI/fix/session-recovery-missing-messageid
...
fix(session-recovery): fallback to fetching messageID from session messages (fixes #2046 )
2026-03-28 01:39:44 +09:00
YeonGyu-Kim
364550038a
Merge pull request #2892 from MoerAI/fix/subagent-model-config-ignored
...
fix(delegate-task): honor user model override in category-resolver cold cache (fixes #2712 )
2026-03-28 01:39:33 +09:00
YeonGyu-Kim
9e6f2d9977
Merge pull request #2893 from MoerAI/fix/keyword-detector-silent-skips
...
fix(keyword-detector): add logging for silent skip paths (fixes #2058 )
2026-03-28 01:39:20 +09:00
YeonGyu-Kim
4fa7d48c04
Merge pull request #2890 from MoerAI/fix/start-work-atlas-not-found
...
fix(start-work): gracefully handle missing Atlas agent (fixes #2132 )
2026-03-28 01:38:53 +09:00