Minor Compatibility and Stability Release
This release carries compatibility-facing behavior changes and operational hardening. Read the summary below before upgrading or publishing.
- Rename transition updates across package detection, plugin/config compatibility, and install surfaces.
- Task and tool behavior updates, including delegate-task contract and runtime registration behavior.
- Task-system default behavior alignment so omitted configuration behaves consistently across runtime paths.
- Install and publish workflow hardening, including safer release sequencing and package/install fixes.
Commit Summary
- 130f4ac fix: resolve #3124 #3125 #3127 session tools, cache priming, and compaction loop
- aeb9c97 fix(model): quota errors should STOP not retry
- d7d3698 test(auto-update): update tests to use canonical package name oh-my-openagent
- 3df5497 fix(auto-update): use canonical package name oh-my-openagent instead of legacy oh-my-opencode
- 1b25a85 @Priyanshuthapliyal2005 has signed the CLA in #3128
- 9d8d48f Merge pull request #2663 from code-yeongyu/fix/runtime-fallback-variant-loss
- f3840a7 Merge pull request #2843 from code-yeongyu/refactor/model-alias-pattern-matching
- d7acdfd Merge pull request #3062 from code-yeongyu/fix/issue-3000
- 00f73de Merge pull request #3063 from code-yeongyu/fix/issue-3040
- 1f13e76 Merge pull request #3065 from code-yeongyu/fix/issue-2984-v2
- a983bf9 test(recovery): localize message-builder module mocks
- 963b576 test(background-agent): localize cache mock setup
- 051a398 test(shared): use unique temp dirs for legacy plugin warning
- 032f23a test(mcp-oauth): remove provider module mock leak
- f8398db fix(delegate-task): restrict task-callable agent modes
- 5213525 fix(test): narrow execute-http-hook-security mock to shared/logger to prevent barrel contamination
- 39f6ab2 ralph-loop: detect oracle VERIFIED tool results
- f7d2ff7 Fix mock isolation in scope-filtering.test.ts
- 80c8a79 Add renamed isolated mock test directories (zauc-mocks-*)
- 2fb1604 Remove isolated mock test directories (_auc-mocks-*)
- db7dfa1 Fix todo-continuation-enforcer mock isolation
- 382f9b6 Fix mock isolation in remaining hook tests
- ffcd34d Fix mock target path in claude-code-mcp-loader test
- 92ba312 Fix mock isolation in system.test.ts by moving mocks to importFresh
- 89fd302 Update publish-workflow test for bun test command
- 1071d4d Pin Bun to 1.3.10 in CI and remove test:ci script
- 51d2f8b fix(tmux-subagent): avoid transcript fetches during idle stability checks
- 4c3f6c1 fix(background-notification): filter unsupported manager events
- f9a9a60 fix(background-agent): cache observed output for completion checks
- a71dd54 fix(test): isolate auto-update-checker mock.module() tests to prevent contamination
- 8c06c8e fix(test): make runner env setup test deterministic
- 179ad05 fix(test): silence expected oauth logout cli output
- fb7e3fd fix(test): silence expected oauth login cli output
- b3d69e7 Fix mock.module() CI contamination by isolating tests into separate directories
- 0c3f8b7 fix(test): isolate sync-package-json test to prevent node:fs mock contamination
- 0cc263b fix(test): isolate auto-update-checker hook.test.ts to prevent checker mock leak
- c91c3e6 fix(test): move auto-slash-command-leak test to isolated subdirectory
- 8fb22b8 fix(test): restore real executor module in auto-slash-command-leak afterAll
- eb4060d fix(test): narrow mock.module() targets in background-agent tests to prevent barrel corruption
- 99ae6d9 fix(ci): pin Bun to 1.3.10 to avoid mock.module() barrel export regression in 1.3.11
- a6e783a fix(test): improve execute-http-hook-security test isolation
- 733b548 fix(config): handle tuple-format plugin entries in opencode.json (fixes #3122)
- e40d3fb fix(session-manager): fall back to file storage on SDK outages
- 119db36 Merge pull request #3120 from code-yeongyu/fix/prepublish-ci-test-isolation
- 72c8cb8 fix(ci): typecheck script tooling in CI workflow
- bedf141 fix(ci): include bin tests in CI plan discovery
- 322a360 Merge pull request #3119 from code-yeongyu/fix/prepublish-delegate-sync
- 5000b18 Merge pull request #3118 from code-yeongyu/fix/prepublish-skill-schema
- dbec902 Merge pull request #3117 from code-yeongyu/fix/prepublish-ralph-loop
- 6edf705 Merge pull request #3116 from code-yeongyu/fix/prepublish-hook-recovery
- 8ca4ff2 Merge pull request #3115 from code-yeongyu/fix/prepublish-tmux-lifecycle
- 527861e @dihak has signed the CLA in #3114
- 2c081e1 fix(ci): restore isolated Bun test execution for mock.module suites
- 69c9ad4 test(ralph-loop): add transcript detector coverage
- 2da5f12 test(ralph-loop): split session completion detector coverage
- 617abbe fix(ralph-loop): remove dead semantic completion fallback
- 1fae073 fix(sync): forward delegated model tuning params
- 5d73537 fix(tmux): unify isolated cleanup across close paths
- b31dfa6 fix(background-agent): clean tmux cancel bookkeeping
- 42ac82a test(anthropic-recovery): isolate summarize retry timer assertion
- 5e8a0cc test(anthropic-recovery): cover recovery hook timer disposal
- 2b55f65 fix(hooks): dispose anthropic recovery hook on shutdown
- 268946d fix(anthropic-recovery): dispose recovery hook timers
- 0a7daa5 fix(anthropic-recovery): add session timeout cleanup helpers
- 8199adc fix(config): allow disabling new built-in skills
- fd476fe Merge pull request #3112 from code-yeongyu/fix/prepublish-code-quality
- cba9c25 Merge pull request #3111 from code-yeongyu/fix/prepublish-config-regression
- c4a5ba1 Merge pull request #3110 from code-yeongyu/fix/prepublish-bg-race
- ba98be9 Merge pull request #3109 from code-yeongyu/fix/prepublish-mcp-env
- 4301e5e Merge pull request #3108 from code-yeongyu/fix/prepublish-tar-failopen
- 36cea65 Merge pull request #3106 from code-yeongyu/fix/prepublish-ci-injection
- 726d19c fix(security): make tar parser strictly fail-closed on any unparsed line
- 57ec3a4 fix(ci): use unquoted heredoc to allow env var expansion
- 0c6907a fix(config): use canonical path after legacy migration and make writes atomic
- e860108 refactor: replace em dashes with hyphens in test files and docs
- d368f77 fix(security): make tar archive preflight fail-closed on unparsed entries
- 7f1497f fix(background-agent): prevent cancelled task from being revived after tmux callback
- 9b30817 fix(ci): prevent shell injection in workflow expressions
- 4fa3d03 fix(security): block cloud credential env vars in MCP env cleaner
- 32ec80b plugin: skip tmux startup checks when integration is disabled
- 731c3f1 plugin: honor tmux disablement for interactive tmux features
- 2d72f51 @titet11 has signed the CLA in #3099
- efbadc0 @odedindi has signed the CLA in #2988
- 672df9a @s2mr has signed the CLA in #3096
- 141881a fix(tmux): re-attempt isolated container on deferred session retry
- cab8451 fix(hooks): replace empty catch blocks with debug logging in transcript
- 6acca09 fix(ci): resolve mock.module() cross-file leakage in test suite
- f547cd0 refactor(shared): consolidate plugin entry migration and detection utilities
- fd252ea refactor: remove AI-generated code smells from prepublish changes
- e4d7fdb Merge pull request #3092 from code-yeongyu/fix/prepublish-legacy-config
- bda0f55 Merge pull request #3091 from code-yeongyu/fix/prepublish-quality-checks
- 1f2b69e Merge pull request #3090 from code-yeongyu/fix/prepublish-tmux-regressions
- 565cf42 Merge pull request #3089 from code-yeongyu/fix/prepublish-background-regressions
- 551d906 Merge pull request #3088 from code-yeongyu/fix/prepublish-security-hardening
- e4116c9 Merge pull request #3087 from code-yeongyu/fix/prepublish-mcp-regressions
- f03c670 fix(hooks): reuse shared legacy plugin migration helper
- 290f7f9 fix(shared): merge project and user opencode plugin detection
- fedb73c fix(shared): migrate legacy config files atomically
- d60ca63 test(config): add regression coverage for legacy migration bugs
- 468827d test(skill): stabilize async description refresh assertion
- 02b7a7d refactor(hooks): remove unused openclaw hook
- fabbcaa refactor(runtime): replace unicode dashes in prompt strings
- 146ca34 fix(hooks): use actual context window token counts
- 2731add fix(tmux): add grace period before resetting isolation
- 3871c7d fix(tmux): defer failed isolated container spawns
- b5f15f0 test(tmux): add isolation regression coverage
- f5740d6 fix(background-agent): bound session abort waits
- 938c920 test(background-agent): cover abort timeout handling
- 40374c8 fix(boulder-state): remove dead worktree sync helper
- ccbd646 fix(shared): validate tar hard-link targets during preflight
- 553a961 fix(shared): emit PowerShell zip entries as json lines
- 0c5deac test(shared): add archive preflight security regressions
- 67145b5 fix(mcp): honor disabled server overrides in system name discovery
- 35c34ea fix(hooks): preserve transcript cache history across rebuilds
- 58e8596 test(mcp): add regression coverage for transcript and disable overrides
- 53eeac3 fix(ci): simplify test runner to plain
bun testby fixing mock.module() leakage - 06180e0 @biangacila has signed the CLA in #3084
- 6624803 fix(plugin): handle raw /ulw-loop commands appearing after injected messages
- df7dc2f fix(hooks): remove rogue setTimeout ambient declaration that broke typecheck
- 9acde67 Merge pull request #3079 from code-yeongyu/refactor/deslop-cli-mcp-openclaw
- 15c6d12 Merge pull request #3080 from code-yeongyu/refactor/deslop-plugin-handlers
- f6a8f64 Merge pull request #3078 from code-yeongyu/refactor/deslop-features-managers
- d11b4c1 Merge pull request #3076 from code-yeongyu/refactor/deslop-hooks
- 51ee237 Merge pull request #3075 from code-yeongyu/refactor/deslop-agents
- 4a651c6 Merge pull request #3077 from code-yeongyu/refactor/deslop-features-rest
- 66cc823 refactor(plugin): remove AI slop and clean verbose comments
- dc695e8 refactor(cli,mcp,openclaw): remove AI slop from code comments
- c7afc79 refactor(features): fix empty catches and remove AI slop from manager modules
- bd4f8ab Merge pull request #3071 from code-yeongyu/refactor/deslop-shared-config
- 082f0c9 Merge pull request #3068 from code-yeongyu/refactor/deslop-tools
- af07610 refactor(features): remove AI slop from feature modules
- 5c72998 refactor(hooks): fix empty catches and remove AI slop from code comments
- f497f95 refactor(agents): remove AI slop from code comments and clean verbose patterns
- e0feb16 refactor(shared,config): remove redundant null checks and AI slop from code comments
- d0f795d refactor(shared): decompose model-capabilities into focused modules
- 3cc9e8b refactor(shared): extract shared cache factory to deduplicate cache patterns
- 22283fc refactor(tools): fix empty catches, remove AI slop from code comments
- 3689ecd refactor(tools): decompose skill/tools.ts into focused tool creators
- 3ce1f30 refactor(tools): split delegate-task constants into category-specific modules
- 6b431c5 Merge pull request #3059 from code-yeongyu/fix/p2-13-anchor-pane-cleanup
- 3180389 Merge pull request #3052 from code-yeongyu/fix/p0-1-task-system-default-split-brain
- 0c6aa91 Merge pull request #3049 from code-yeongyu/fix/p0-5-mcp-env-expansion
- 1631509 fix: reset hook state on abort so session recovers after user cancel
- 8be39e5 fix(tmux): preserve isolated container cleanup after anchor reassignment
- ac5e507 Merge pull request #3060 from code-yeongyu/fix/p2-15-claude-code-hooks-rules
- 9783fae Merge pull request #3057 from code-yeongyu/fix/p1-9-recovery-retry-timer-leak
- 71b8110 fix(zip): parse zipinfo file entries with preserved filenames
- d2a78cc @suyua9 has signed the CLA in #3064
- e20b59c fix(mcp): allow common Windows env vars by default
- 316d250 fix(mcp): ignore project allowlist overrides for env expansion
- 2b43558 fix(tar): surface traversal extraction failures as blocked entries
- a4f436c fix(tar): classify traversal tar listing errors as blocked entries
- 2288988 fix(zip): use zipinfo to preflight zip extraction on unix
- 2e6a7b4 fix: update docs and barrel imports for task_system default
- b931e30 fix(mcp): warn when MCP env expansion is blocked
- 4766891 fix(mcp): expand builtin allowlist for benign env vars
- d65714e fix(shared): avoid archive test batch regression
- 760099e fix(tasks-hook): update default task_system test
- 47769d5 fix(tasks-hook): share task_system resolution
- 3b3520d fix(agent-config): share task_system resolution
- d65c7c0 fix(tool-config): share task_system resolution
- c65baa8 fix(tool-registry): unify task_system default
- 2ba2f8f fix(shared): add task_system resolver
- 83acafc Merge pull request #3058 from code-yeongyu/fix/p1-11-remove-as-any-tests
- 32b9235 Merge pull request #3051 from code-yeongyu/fix/p0-2-https-enforcement-gaps
- 071f6c3 Merge pull request #3055 from code-yeongyu/fix/p1-8-legacy-config-canonical-priority
- 72b3b15 Merge pull request #3050 from code-yeongyu/fix/p0-4-tmux-default-isolation
- 92f4068 Merge pull request #3061 from code-yeongyu/feat/double-context-window-display
- 8f449e1 fix: respect user-configured category model over fallbackChain defaults
- 706640a fix: use detectShellType() instead of hardcoded 'unix' in non-interactive-env hook
- 5b3541f Clarify doubled context display intent
- f34edf9 Update cached limit monitor expectations
- 0e9dbbd Double displayed context window counts
- 6dc21b3 Fix Claude user rule skipping for disabled hooks
- 6cb7028 fix(tmux): reassign anchor pane on first subagent deletion
- 243db8d fix: clear failed empty-content recovery state
- ec9ed0a Merge pull request #3056 from code-yeongyu/fix/p2-12-notification-template-consolidation
- fe326ca fix: clear stale recovery retry state
- e4846fb Merge pull request #3053 from code-yeongyu/fix/p0-3-await-session-abort
- 9bcaddf Use shared background task notification template
- 833fb12 Add background task notification template coverage
- 49ea082 fix(background-agent): await shutdown aborts before cleanup
- 9b1d92d fix(background-agent): await retry abort before requeueing
- 4d40b44 fix(background-agent): await stale task aborts before poller exits
- 6ca046c Derive tmux runtime fallback from schema defaults
- f369971 fix(tests): type tmux fetch mocks
- e3f3bcc fix(tests): type cliproxy fallback test harness
- 4e435da fix(tests): type event handler test harness
- 3a2c4fd fix(tests): type config-handler test spy restore
- f39a018 Merge pull request #3054 from code-yeongyu/fix/p0-6-mcp-local-scope-subdirectory
- b8f4037 Refine HTTP hook redirect enforcement
- b2b8f73 Fix tar traversal error normalization
- 22c8e83 Fix Linux ZIP preflight entry listing
- b096e6f fix: prefer canonical plugin config files
- 6b8d9df Add MCP scope subdirectory regression tests
- f269d2f Fix local MCP scope path containment
- ed06428 fix(delegate-task): strip wrapping chars from subagent_type before lookup
- d081e8e Fix HTTP hook HTTPS enforcement gaps
- f447f96 Regenerate schema for inline tmux isolation default
- f950d3d Align tmux plugin fallback with inline isolation
- 57c973b Revert tmux config default isolation to inline
- c78a9e6 Revert "Merge pull request #3047 from code-yeongyu/fix/p0-4-tmux-default-isolation"
- f84d311 Revert "Merge pull request #3048 from code-yeongyu/fix/p0-2-https-enforcement-gaps"
- ede561c Merge pull request #3048 from code-yeongyu/fix/p0-2-https-enforcement-gaps
- 2d13e12 Merge pull request #3047 from code-yeongyu/fix/p0-4-tmux-default-isolation
- 3eb1430 Fix HTTP hook HTTPS enforcement gaps
- 6722b39 Regenerate schema for inline tmux isolation default
- 3f0d68b Align tmux plugin fallback with inline isolation
- 9fb9e15 Revert tmux config default isolation to inline
- c45fc83 @haimingZZ has signed the CLA in #3044
- b7f9772 @xsfX20 has signed the CLA in #3043
- 0478d27 @adefiqri12 has signed the CLA in #3042
- 9c67585 Merge pull request #3028 from code-yeongyu/fix/issue-2923-gpt41mini-toolcall
- 871d525 Merge pull request #3027 from code-yeongyu/fix/issue-3021-skill-mcp-session
- 156c1f4 fix(models): mark gpt-4.1-mini and gpt-4.1-nano as supporting tool calls
- 027a6b0 fix(skill-mcp): use correct sessionID when registering skill MCP connections
- 34a37dc 3.14.1
- fba20f9 Merge pull request #3019 from code-yeongyu/fix/issue-2986-prometheus-fallback
- 39eefe4 Merge pull request #3018 from code-yeongyu/fix/issue-2996-tavily-graceful
- 1b5114b Merge pull request #3017 from code-yeongyu/fix/issue-3014-tool-pair-validation
- f0309df Merge pull request #3016 from code-yeongyu/fix/issue-3003-ripgrep-autodownload
- c173bb1 Merge pull request #3015 from code-yeongyu/fix/issue-2946-mcp-merge-order
- 710a8ed Merge pull request #3026 from code-yeongyu/fix/security-mcp-env-expansion
- 04876d8 Merge pull request #3025 from code-yeongyu/fix/security-http-hooks
- 9a7bb5e Merge pull request #3024 from code-yeongyu/fix/security-tar-containment
- 97349c9 Merge pull request #3023 from code-yeongyu/fix/security-file-traversal
- c05113b Merge pull request #3022 from code-yeongyu/fix/security-env-cleaner
- 5a28149 fix(security): enforce HTTPS for HTTP hook URLs
- d861d51 fix(security): add archive extraction containment validation
- 9865978 fix(security): confine file resolution to project roots
- e8c5727 fix(mcp): restrict env var expansion in MCP configs
- 4fe49a6 fix(skill-mcp-manager): filter merged MCP env before spawn
- 5bf3aa1 fix(test): remove mock.module tests that corrupt other test suites
- 5d68de7 fix(types): return type RemoteMcpConfig | undefined for createWebsearchConfig
- bc07c21 fix(test): rewrite prometheus tests to verify behavior not log messages
- a695730 fix(mcp): handle missing Tavily API key gracefully
- 4c4efc4 fix(grep): enable ripgrep auto-download when not found in PATH
- 649a83d fix(mcp): user config overrides Claude Code .mcp.json with collision warning
- 680bd68 fix(prometheus): respect fallback chain when no explicit model configured
- 2440ed9 fix(hook): add tool_use/tool_result pair validator to prevent API errors
- a637cca Merge pull request #3013 from code-yeongyu/fix/issue-2971-skill-shortname
- 4d751d1 Merge pull request #3012 from code-yeongyu/fix/issue-3010-commands-file
- 2275d87 fix(skill): resolve namespaced skills by short name
- bb85e40 fix(command-discovery): skip non-directory .claude/commands path
- 941e265 Merge branch 'fix/p0-2-atomic-migration' into dev
- 9418927 fix(config): make plugin entry migration atomic with temp-file + rename
- 5bd0b5f fix(tests): align agent-config test with task_system default revert
- 7a13807 Merge branch 'fix/p0-10-nested-ci-tests' into dev
- 98c1c72 Merge branch 'fix/p0-9-remove-ai-slops' into dev
- fa8a9f8 Merge branch 'fix/p0-7-tmux-cleanup' into dev
- 56cd1ed Merge branch 'fix/p0-5-task-system-default' into dev
- 985c72d Merge branch 'fix/p0-4-omo-agent-variant' into dev
- 842434c fix(commands): use dynamic base branch and safe rollback in remove-ai-slops
- 624a6be fix(config): revert task_system default to false to avoid breaking change
- 951bca5 fix(ci): include nested test files in isolated test execution
- db23533 fix(tmux): properly cleanup isolated container pane on first subagent deletion
- 9c85ef4 fix(call-omo-agent): use variant-aware model parsing for overrides
- 43023b1 fix(delegate-task): preserve inline variant from category model string
- 51d9685 fix(start-work): use Atlas list key in command config
- f4b8e1c fix(claude-code-hooks): cache idle hook config and parent lookups
- 724d21b fix(start-work): restore atlas-first slash discovery
- 1fed569 fix(ulw-loop): read loop task from user_message
- 8fe057b fix(start-work): restore atlas native command routing
- 134dd15 @yehweihsu has signed the CLA in #3011
- 804ca0b @sihy233 has signed the CLA in #3004
- e49ad5c @GreenPi290 has signed the CLA in #2991
- ea14a1a fix(auto-slash-command): resolve project commands from session dir
- 7f846b2 fix(start-work): restore atlas handoff
- d029bc7 Merge pull request #2992 from code-yeongyu/fix/primary-only-agents
- 1316a7d fix(agents): make sisyphus, hephaestus, atlas primary-only (not callable as subagents)
- a3f9eb1 fix(start-work): fall back to sisyphus without atlas
- dc1c410 fix(delegate-task): update test category references from deep to quick
- 256aaba fix(anthropic-recovery): improve executor test coverage and assertions
- 366ebb3 feat(openclaw): improve dispatcher and integration
- 94a2b8e feat(lsp): add extension inference and improve diagnostics
- 3c77c04 fix(comment-checker): improve pending calls handling and add tests
- 439c9a6 feat(claude-code-hooks): improve session handling and add tests
- a720ef5 feat(context-injector): enhance context collector functionality
- 116b1f9 fix(anthropic-recovery): fix retry timer memory leak in context window recovery
- 990095d fix(dispose): improve hook disposal and plugin cleanup
- 9795cc5 docs: update deep category model references from gpt-5.3-codex to gpt-5.4
- 3d56df4 feat(deep): upgrade default model from gpt-5.3-codex to gpt-5.4
- ce0d358 fix: revert delegate-task to string category schema, fix mock isolation and restore UB7 originals
- 92d70cf feat: add review-work and ai-slop-remover as built-in skills, add remove-ai-slops command
- 0799b46 Merge branch 'fix/ub8-regression' into dev
- 3f457fd Merge branch 'fix/ub7-regression' into dev
- e84c1fa Merge branch 'fix/ub6-regression' into dev
- e9a09b3 Merge branch 'fix/ub5-regression' into dev
- 91d5b06 Merge branch 'fix/ub4-regression' into dev
- f77ac22 Merge branch 'fix/ub3-regression' into dev
- cafaeee Merge branch 'fix/ub2-regression' into dev
- 58163d7 Merge branch 'fix/ub1-regression' into dev
- 11ee88f fix: use jsonc-parser for safe JSONC migration and add project-local config detection
- 8fba907 fix: apply scope filter to getSystemMcpServerNames and fix async native skill description refresh
- 3cce740 fix: distinguish transient errors from missing sessions in crash detection
- de7d72d fix: honor category-derived model overrides in call_omo_agent
- 87445a2 fix: add missing run_in_background to resume snippet and fix background launch detection
- 7d6f47b fix: resolve process-cleanup signal delay and hashline_edit tool name mismatch
- 67429af fix(tmux): allow subsequent subagents to spawn in existing isolated container
- 62a46fb fix: normalize zero-width prefix in agent registration lookup
- 9f2c450 chore(schema): regenerate oh-my-opencode schema
- 9a0f2ff test(delegate-task): cover aborted concurrent background launches
- 56cf16c refactor(background-task): stop cancelling launched tasks during session wait
- e2e57bb fix(agents): use list display names for ordered agent config
- 1d0135b fix(delegate-task): reject stray backend-style categories
- 68ae9dc fix(agents): stop advertising custom agents to orchestrators
- 33c8b7f fix(tests): resolve 6 test isolation failures in full suite
- 5b990c8 @simoncrypta has signed the CLA in #2987
- d459cff @TravisDart has signed the CLA in #2982
- 95c6a8f @duckkkkkkkkking has signed the CLA in #2980
- 28fd806 Merge pull request #2978 from code-yeongyu/fix/prepublish-test-failures
- fd281de fix(tests): resolve 25 pre-publish test failures
- 96135b5 Merge pull request #2977 from code-yeongyu/fix/issue-2967-glm-thinking
- 71c60e1 fix: skip thinking param injection for GLM models in sisyphus-junior (#2967)
- fece331 fix: add ./ prefix to package.json main field for OpenCode-Go plugin loading (#2966)
- 7f36011 @kui123456789 has signed the CLA in #2958
- 51194e9 Merge pull request #2919 from ryandielhenn/feat/config_tdd
- 2d46a71 Merge pull request #2929 from quangtran88/fix/rules-injector-respect-claude-code-config
- 1998d5a Merge pull request #2936 from HOYALIM/fix-2696-skill-xml-names
- 59f1168 Merge pull request #2874 from sanoyphilippe/feat/plugin-tool-session-navigation
- b12e32d Merge pull request #2912 from RaviTharuma/test/quotio-fallback-matrix-upstream
- 44c6a2a Merge pull request #2931 from sjawhar/feat/tmux-session-isolation
- 8b437ee Merge pull request #2930 from sjawhar/fix/agent-name-duplication
- aa6632a Merge pull request #2935 from HOYALIM/fix/issue-2903-timestamp-tests
- 500f10b Merge pull request #2939 from sjawhar/fix/delegate-task-category-override
- 0f6c7a9 fix(config): accept object-format fallback_models in Zod validation (fixes #2943)
- 6725344 fix(anthropic-effort): skip effort injection for internal agents (fixes #2940)
- a3cc2d1 feat(tmux): add session isolation mode for subagent panes
- 7bf7b20 @major has signed the CLA in #2942
- 4314a3e fix: permanently resolve agent name duplication yo-yo bug
- 3905d07 fix(delegate-task): replace mutual exclusion throw with category-wins override
- 71e5160 @florianschepp has signed the CLA in #2938
- f9e487f address bot review
- 1d13250 address bot review
- c132185 fix: preserve nested async skill names in discovery
- 3dc11ea @HOYALIM has signed the CLA in #2935
- fa64c31 fix: stabilize timestamp-output tests across timezones
- 738b045 fix: use strict equality for claude_code flag checks
- 5a28ee1 @quangtran88 has signed the CLA in #2929
- a1a2bb4 fix(rules-injector): respect claude_code config for user rule loading
- 5d4e57c @lorenzo-dallamuta has signed the CLA in #2925
- b2497f1 fix: resolve 3 community-reported bugs (#2915, #2917, #2918)
- e9e0aef use optional instead of required for tdd config for backwards compatibility
- 9fc56ab @ryandielhenn has signed the CLA in #2919
- a8b3b67 nit
- 2b6a02e nit
- 571dfe2 add bool value: tdd to sisyphus_agent config
- 448a8dc @AlexDochioiu has signed the CLA in #2916
- 9cbcf17 Merge PR #2913: fix(recovery): ignore empty summary-only assistant messages
- 92069d2 test(fallback): rename quotio matrix to cliproxyapi
- 57fcc9e test(fallback): add quotio-only integration matrix
- 4e214cb fix(recovery): ignore empty summary-only assistant messages
- 4a02925 fix: resolve 5 remaining pre-publish blockers (14, 15, 17, 21, 25c)
- d2c576c fix: resolve 25 pre-publish blockers
- 44b039b Merge pull request #2705 from MoerAI/fix/sisyphus-premature-implementation
- aeec5ef Merge pull request #2773 from MoerAI/fix/ralph-loop-fuzzy-completion
- 7b2b8be Merge pull request #2771 from MoerAI/fix/bash-file-read-guard
- adc5513 Merge pull request #2850 from octo-patch/feature/upgrade-minimax-m2.7
- 3715fb7 Merge pull request #2871 from Jholly2008/kkk/fix-on-complete-hook-shell
- b9ed0ca Merge pull request #2877 from WhiteGiverMa/fix/atlas-agent-not-found
- 45e9fcd Merge pull request #2894 from codivedev/fix/issue-2881
- 49687a6 Merge pull request #2895 from MoerAI/fix/session-recovery-missing-messageid
- 3645500 Merge pull request #2892 from MoerAI/fix/subagent-model-config-ignored
- 9e6f2d9 Merge pull request #2893 from MoerAI/fix/keyword-detector-silent-skips
- 4fa7d48 Merge pull request #2890 from MoerAI/fix/start-work-atlas-not-found
- b4a5189 Merge pull request #2889 from MoerAI/fix/git-master-config-ignored
- 6310924 Merge pull request #2891 from codivedev/fix/issue-2882
- c5068d3 fix(#2885): add model_not_supported to RETRYABLE error patterns
- 1434313 Merge pull request #2717 from gtg7784/fix/analyze-mode-load-skills-hint
- 38347a3 fix: address review comments - remove duplicates and respect skills config
- 885d3a2 fix: detect and warn about opencode-skills conflict
- b4d4d30 fix: use display name in runtime-fallback retry
- 9d93659 @codivedev has signed the CLA in #2888
- 2b2b280 fix: apply Zod defaults to empty config fallback
- fee60d2 fix(session-recovery): fallback to fetching messageID from session messages (fixes #2046)
- f030e0d fix(keyword-detector): add logging for silent skip paths (fixes #2058)
- 5d5eb46 fix(delegate-task): honor user model override in category-resolver cold cache (fixes #2712)
- 787ce99 fix: detect and warn about opencode-skills conflict
- d09af86 fix(start-work): gracefully handle missing Atlas agent (fixes #2132)
- 5b9b6eb fix(config): apply git_master defaults when section is missing (fixes #2040)
- 324dbb1 fix(#2791): await session.abort() in all subagent completion/cancel paths
- ab0b084 Merge pull request #2884 from RaviTharuma/fix/runtime-fallback-hook-isolation
- f1f099f fix(#2849): resolve platform binaries using current package name
- 6662205 fix(#2748): pass browserProvider into skill() discovery
- 76bf269 fix(#2754): include native PluginInput skills in skill() discovery
- 3e4b988 fix: isolate event hook failures during dispatch
- d3dbb49 fix(#2854): enable task system by default (oracle/subagent delegation)
- ec7a2e3 fix(#2857): prevent npm scoped package paths from being resolved as skill paths
- c41e59e fix(#2825): secondary agents no longer pruned after 30 min of total runtime
- 3b4420b fix(#2735): check model availability before using custom subagent default model
- 3be26cb fix(#2732): enhance notification for failed/crashed subagent tasks
- e22e13c fix(#2732): detect crashed subagent sessions with shorter timeout
- 6a733c9 fix(#2823): auto-migrate legacy plugin name and warn users at startup
- 127626a fix(#2822): properly cleanup tmux sessions on process shutdown
- 5765168 fix(#2731): skip unauthenticated providers when resolving subagent model
- e65a0ed @WhiteGiverMa has signed the CLA in #2877
- 041770f fix(#2736): prevent infinite compaction loop by setting cooldown before try
- a3b84ec fix: use getAgentDisplayName in injectBoulderContinuation
- 7ce7a85 fix(#2855): tmux health check fails across module instances in same process
- 19ab3b5 fix(#2853): sync .sisyphus state from worktree to main repo before removal
- 670d8ab fix(#2852): forward model overrides from categories/agent config to subagents
- 40a9213 fix: resolve three open bugs (#2836, #2858, #2873)
- 6e700e0 feat(atlas): support plugin tools with metadata.sessionId in orchestration hook
- a081ddc docs: update documentation for v3.13.1 feature changes
- 8f4554e fix(lsp): accept directory as alias for filePath in lsp_diagnostics
- 07793f3 @Jholly2008 has signed the CLA in #2871
- 8ca93c7 Merge pull request #2863 from MoerAI/fix/task-schema-mutual-exclusion
- a1b4e97 Merge pull request #2856 from potb/fix/publish-version-commitback
- 47e7d4a Merge pull request #2861 from MoerAI/fix/category-config-params
- 6d3172a Merge pull request #2862 from MoerAI/fix/empty-text-with-tool-calls
- 65dc3e4 Merge pull request #2865 from LTS2/fix/2803-hook-task-examples-missing-load-skills
- 587ee70 Merge pull request #2866 from LTS2/fix/2830-empty-message-recovery-with-tool-calls
- 3bafa88 Merge pull request #2867 from MoerAI/fix/openai-tool-limit
- f249615 Merge pull request #2859 from RaviTharuma/docs/fallback-model-objects
- a7ac2e7 merge: resolve conflicts with dev docs update
- a2c7fed docs: comprehensive update for v3.14.0 features
- 98572c8 fix: guard fallback override to preserve category config params when fallback fields are undefined
- 661737b fix(cli): respect platform shell for --on-complete
- 82d89fd fix(tools): add max_tools config to cap registered tools for OpenAI compatibility (fixes #2848)
- b1735d4 fix: detect empty text parts in messages with tool calls during session recovery
- 8bde294 fix: add missing load_skills parameter to hook-injected delegate_task examples
- a476e55 fix(delegate-task): reject when both category and subagent_type provided (fixes #2847)
- 404390e fix(recovery): detect empty text parts alongside tool calls in fixEmptyMessages (fixes #2830)
- 944cf42 fix(delegate-task): apply category config temperature/maxTokens/top_p to categoryModel (fixes #2831)
- 241224f docs(config): document object-style fallback_models
- fb837db fix(publish): restore version commit-back to dev after npm release
- 95801a4 fix(ralph-loop): extract text from parsed entry instead of testing raw JSONL
- 3601061 feat: upgrade remaining MiniMax M2.5 fallbacks to M2.7-highspeed
- 829c58c refactor(aliases): migrate to pattern-based model alias resolution
- 774d0bd fix(ralph-loop): restrict semantic completion to DONE promise and assistant entries
- aaaeb69 fix(ralph-loop): add semantic completion detection as fallback for natural language (fixes #2489)
- 2f801f6 fix(hooks): add bash-file-read-guard to warn agents against cat/head/tail (fixes #2096)
- 10eb3a0 Merge branch 'dev' into fix/analyze-mode-load-skills-hint
- 03feaa0 fix(analyze-mode): add mandatory load_skills param hint to prevent delegate_task errors
- d2d65fb fix(sisyphus): block premature implementation before context is complete (fixes #2274)
- 9ca259d fix(runtime-fallback): preserve agent variant and reasoningEffort on model fallback (fixes #2621)