- d808338 @HaD0Yun has signed the CLA in #2640
- d50c38f refactor(tests): rename benchmarks/ to tests/hashline/, remove FriendliAI dependency
- f2d5f4c improve(hashline-edit): rewrite tool description with examples and fix lines schema
- b788586 relax task timeouts: stale timeout 3min→20min, session wait 30s→1min
- 90351e4 update look_at tool description to discourage visual precision use cases
- 4ad88b2 feat(task-toast): show model name before category in toast notification
- 2ce6971 docs: sync agent-model-matching guide with actual fallback chains
- 0b4d092 Merge pull request #2639 from code-yeongyu/feature/2635-smart-circuit-breaker
- 5328561 Merge pull request #2636 from code-yeongyu/fix/pre-publish-blockers
- ae3befb fix(background-agent): apply smart circuit breaker to manager events
- dc1a05a feat(background-agent): add loop detector helpers
- e271b4a feat(config): add background task circuit breaker settings
- fee938d fix(cli): cherry-pick glm-4.7-free → gpt-5-nano fallback fix from dev
- 4d74d88 Merge pull request #2637 from code-yeongyu/fix/ulw-verification-session-tracking
- 4bc7b1d fix(ulw-loop): add fallback for Oracle verification session tracking
- 78dac06 Merge pull request #2590 from MoerAI/fix/subagent-circuit-breaker
- 92bc72a fix(bun-install): use workspaceDir option instead of hardcoded cache-dir
- a7301ba fix(delegate-task): guard skipped sentinel in subagent-resolver
- e9887dd fix(doctor): align auto-update and doctor config paths
- c0082d8 Merge pull request #2634 from code-yeongyu/fix/run-in-background-required
- fbc3b4e Merge pull request #2612 from MoerAI/fix/dead-fallback-model
- 1f7fdb4 Merge pull request #2539 from cpkt9762/fix/category-variant-no-requirement
- 566031f fix(delegate-task): remove auto-default for run_in_background, require explicit parameter
- 0cf386e fix(skill-tool): invalidate cached skill description on execute
- d493f9e fix(cli-run): move resolveRunModel inside try block
- 2c7ded2 fix(background-agent): defer task cleanup while siblings running
- 82c7807 fix(event): clear retry dedupe key on non-retry status
- df7e1ae fix(todo-continuation): remove activity-based stagnation bypass
- 0471078 fix(tmux): escape serverUrl in pane shell commands
- 1070b91 docs: remove temporary injury notice from README
- bb31271 Merge pull request #2618 from RaviTharuma/fix/extract-status-code-nested-errors
- c31facf @gxlife has signed the CLA in #2625
- de66f1f fix(runtime-fallback): prefer numeric status codes over non-numeric in extraction chain
- 427fa6d Merge pull request #2619 from code-yeongyu/revert/openclaw-one-way
- 239da8b Revert "Merge pull request #2607 from code-yeongyu/feat/openclaw-integration"
- 17244e2 Revert "Merge pull request #2609 from code-yeongyu/fix/rename-omx-to-omo-env"
- 24a0f7b fix(runtime-fallback): extract status code from nested AI SDK errors
- fc48df1 fix(cli): replace dead glm-4.7-free with gpt-5-nano as ultimate fallback
- 4759dfb Merge pull request #2609 from code-yeongyu/fix/rename-omx-to-omo-env
- 2c8813e fix: rename OMX_OPENCLAW env vars to OMO_OPENCLAW
- 8213534 Merge pull request #2607 from code-yeongyu/feat/openclaw-integration
- 450685f fix: extract session ID from properties.info.id for session.created/deleted events
- 03b346b feat: implement OpenClaw integration
- 90decd1 chore(schema): regenerate schema after hook enum forward-compat change
- 47d1ad7 fix(plugin): persist ultrawork variant on same-model override and normalize Claude model IDs
- 32a296b fix(auto-slash-command): use event-ID dedup, align precedence, enforce skill agent gate
- 67bb9ec fix(delegate-task): resolve variant-bearing fallback models during immediate selection
- d57c27f fix(tmux): replace hardcoded zsh with portable shell detection
- 1339ecd fix(hashline): restore v3.11.2 legacy hash computation for backward compatibility
- 8c4fa47 @sanoyphilippe has signed the CLA in #2604
- 10e0c7f @Jrakru has signed the CLA in #2602
- 48707a6 test(tmux): isolate tmux environment checks from process env
- fe3f058 test(skill-loader): avoid node:fs mock leakage in project skill references
- 1cfc1c8 Merge pull request #2596 from cyberprophet/fix/doctor-plugin-version-fallback
- 8401e61 Merge pull request #2597 from code-yeongyu/fix/todo-compaction-only-guard
- 085ca0a Merge pull request #2598 from code-yeongyu/revert-2582-fix/fix-install-test
- 3055454 fix(background-agent): add circuit breaker to prevent subagent infinite loops
- a7800a8 Revert "fix(test): update package name to oh-my-openagent in install test"
- 9e7abe2 fix(todo-continuation-enforcer): skip continuation for compaction-only message history
- 5b7ca99 fix(doctor): fall back to loadedVersion when pluginVersion is null
- f31f50a fix(release): revert package identity to oh-my-opencode
- 612b9c1 fix(config): clear stale context limit cache on provider updates
- 16b0d9e fix(atlas): gate final-wave approval on real plan state
- 1ad5db4 fix(runtime-fallback): advance session.status fallback chain
- 988478a fix(config): allow forward-compatible disabled hooks
- e87075b fix(background-task): restore opt-in full session output
- fe4493c fix(model-fallback): keep model fallback opt-in by default
- 7f75270 fix(cli): validate and detect OpenCode Go install settings
- 532995b fix(model-fallback): align OpenAI fallback resolution across CLI and runtime
- b63082a fix(skills): correct invalid task tool references
- 674df1b fix(hooks): remove dead delegate-task-english-directive hook
- 2b8ae21 fix(auto-slash-command): expire duplicate suppression after 30s
- bbd2e86 fix(hashline): accept legacy hashes for indented anchors
- f03de4f Merge pull request #2535 from conversun/fix/prometheus-compaction-agent-fallback
- 65ccc9b Merge pull request #2588 from acamq/refactor/doctor-lsp-extensions
- da788d3 fix(doctor): remove redundant extensions from verbose LSP header
- 03da2e9 refactor(doctor): show detected LSP servers and extensions instead of hardcoded counts
- 73685da Merge pull request #2563 from robinmordasiewicz/fix/claude-code-plugin-v3-array-format
- 8f9bdf0 Merge pull request #2559 from MoerAI/fix/issue-2555-disabled-tools-merge
- 2cf329a revert: remove accidentally committed built files from bce8ff3
- e03d0e0 Merge pull request #2585 from acamq/fix/custom-agent-summaries-completeness
- 14d7043 Merge pull request #2546 from acamq/fix/installer-paths
- e8a3e54 fix(agents): include config agents and migrated plugin agents in customAgentSummaries
- 2fd6f4b Merge pull request #2582 from acamq/fix/fix-install-test
- 0f0e4c6 fix(test): update package name to oh-my-openagent in install test
- b7c6808 Merge pull request #2532 from ricatix/fix/doctor-verbose-models
- f248c73 Merge pull request #2507 from MoerAI/fix/issue-2287-unstable-agent-check
- 8470a6b fix(test): isolate XDG_CONFIG_HOME in Windows CLI tests
- f92c093 fix(installer): respect XDG_CONFIG_HOME on Windows for CLI config dir
- aa27c75 @idrekdon has signed the CLA in #2572
- 0d1d405 fix(discovery): add null-safe validation for v3 array entries
- bc0ba84 fix(agent-loader): convert model object to string for opencode compatibility
- 5073efe @robinmordasiewicz has signed the CLA in #2563
- a7f0a4c fix(plugin-loader): support Claude Code v3 flat array format for installed_plugins.json
- 913fcf2 remove ai slops
- c7518ea add skills
- 0dcfcd3 feat(cli): support both oh-my-opencode and oh-my-openagent package names
- 6aeda59 feat(schema): generate oh-my-openagent schema alongside legacy schema
- b0ab34b feat(shared): add plugin identity constants for package name migration
- a00bb8b feat(skill): integrate /get-unpublished-changes and /review-work into pre-publish-review
- b5789bf @vidwade has signed the CLA in #2561
- 9a774f1 fix: union disabled_tools in mergeConfigs() like other disabled_* arrays
- 6625670 @Yeachan-Heo has signed the CLA in #2554
- f3de122 feat(hooks): add delegate-task-english-directive hook to enforce English for subagents
- 0303488 Merge pull request #2550 from code-yeongyu/fix/deploy-blockers
- 3e746c9 fix(review): resolve 3 review-work blocking issues
- 786c7a8 fix(background-agent): prevent queue item loss on concurrent cancel and guard against cancelled task resurrection
- 380889c fix(delegate-task): add exception fallback for cleanup reason and correct test mock status type
- 04b0c6f fix(atlas): pause after final verification wave for explicit user approval
- fd71c89 fix(background-agent): release descendant quota on pre-start task cancellation and creation failure
- 11df837 refactor(preemptive-compaction): use shared context-limit resolver to eliminate duplicated logic
- 457f303 fix(background-agent): clean global subagentSessions and SessionCategoryRegistry on dispose
- 0015dd8 fix(agent-config): normalize agent names before builtin override filtering to prevent alias bypass
- 9bce631 fix(runtime-fallback): scope visible-assistant check to current turn and cleanup retry dedupe keys
- cbe113e fix(slashcommand): support parent config dirs in command execution path to match discovery
- e3f6c12 fix(atlas): restrict idle-event session append to boulder-owned subagent sessions only
- b356c50 fix(delegate-task): cancel child background tasks on parent abort and timeout in unstable agent flow
- 3893850 test(model-fallback): update snapshots and kimi model expectations for opencode-go integration
- 2c8a8eb fix(gpt-permission-continuation): add per-session consecutive auto-continue cap to prevent infinite loops
- 6b2da3c fix(installer): always use .config/opencode for CLI on Windows (#2502)
- 825e854 @cpkt9762 has signed the CLA in #2539
- 11e9276 fix(delegate-task): build categoryModel with variant for categories without fallback chain
- 0888444 fix(todo-continuation-enforcer): tighten post-compaction guard with session-agent fallback
- 4226808 @Gujiassh has signed the CLA in #2524
- 22b4b30 fix(todo-continuation-enforcer): prevent post-compaction agent fallback to General
- 0412e40 @ricatix has signed the CLA in #2532
- 63ac37c fix(cli): render verbose doctor check details
- 18cbaad @xodn348 has signed the CLA in #2531
- 27538dc @apple-ouyang has signed the CLA in #2528
- e4e5f15 fix(tmux): wrap opencode attach commands in zsh -c shell
- 4f4e53b feat(skill): re-read skills and commands from disk on every invocation
- 55b80fb fix(skill-loader): discover skills from parent config dir when using profiles
- a400ada feat(skill): render skills as slash commands in available items list
- 50638cf test(hooks): fix test isolation in session-notification-sender tests
- 8e3829f test(auto-slash-command): add tests for skills as slash commands
- b4e01e9 feat(slashcommand): support parent opencode config dirs for command discovery
- 8c2385f feat(hooks): add quiet and nothrow to notification shell executions
- c3ab066 feat(shared): export opencode-command-dirs module
- 7937f9d feat(shared): add opencode-command-dirs utility for multi-level command discovery
- 53c65a7 feat(cli): add sisyphus-junior model fallback requirements
- 8f6b952 feat(prometheus): require explicit user approval in Final Verification Wave
- e0bf0eb docs: add opencode-go provider tier documentation
- a9fde45 feat(opencode-go): update on-complete hook for provider display
- 3383799 feat(opencode-go): integrate into model fallback chain resolution
- 44d602b feat(opencode-go): integrate installer with config detection
- 66ec9f5 feat(opencode-go): add CLI install flag and TUI prompts
- 89d1e10 feat(opencode-go): add model requirements for go-tier models
- 504b68f feat(opencode-go): add provider type and availability detection
- 2bbbdc4 refactor(github-triage): rewrite as read-only report-based analyzer
- ca7c0e3 fix(bun-install): default outputMode to "pipe" to prevent TUI stdout leak
- 81301a6 feat: skip model resolution for delegated tasks when provider cache not yet created
- 62883d7 Merge pull request #2519 from code-yeongyu/fix/ultrawork-variant-no-max-override
- c9d30f8 feat: add porcelain worktree parser with listWorktrees and parseWorktreeListPorcelain
- 2210997 fix: skip ultrawork variant override when SDK validation unavailable
- feb2160 Merge pull request #2518 from code-yeongyu/fix-2499-ulw-oracle-verified-loop
- 1812c9f test(ralph-loop): cover overlapping ultrawork loops
- f31537f fix(ralph-loop): continue ultrawork until oracle verifies
- e763885 Merge pull request #2516 from code-yeongyu/fix/hashline-strict-whitespace-hash
- 0cbc15d fix(hashline): use strict whitespace hashing (trimEnd only, preserve leading indentation)
- 04b0d62 feat(session-notification): include session context in ready notifications
- 943f31f feat(session-notification): add ready notification content builder
- 8e1a4df Merge pull request #2486 from code-yeongyu/fix/issue-2357-child-session-fallback
- abc4b2a fix(runtime-fallback): remove committed rebase conflict markers
- d8da2f1 fix(runtime-fallback): clear retry keys on failed session bootstrap
- 62a905b fix(runtime-fallback): reuse normalized messages for visible assistant checks
- 79fb746 fix(runtime-fallback): resolve agents from normalized session messages
- fcd4fa5 fix(runtime-fallback): normalize retry part message extraction
- 6a4a332 fix(runtime-fallback): add session messages extractor
- 3caa3fc fix: address Cubic findings for runtime fallback child sessions
- ba86ef0 fix: enable runtime fallback for delegated child sessions (#2357)
- eb79d29 fix(delegate-task): only check resolved model for isUnstableAgent, not default (#2287)
- 4ded45d Merge pull request #2446 from win0na/fix/momus-key-trigger-specificity
- 9032eea Merge pull request #2419 from guazi04/fix/serverurl-throw-getter
- 3ea2356 Merge pull request #2488 from code-yeongyu/fix/issue-2295-fallback-provider-preserve
- 0cdbd15 Merge pull request #2487 from code-yeongyu/fix/issue-2431-lsp-path-resolution
- 60e6f6d Merge pull request #2484 from code-yeongyu/fix/issue-2393-cubic-error-name
- b00fc89 Merge pull request #2458 from code-yeongyu/fix/memory-leaks
- 2912b65 fix: address Cubic findings for provider preserve fallback
- 755efe2 fix: address Cubic findings for FreeUsageLimitError classification
- 6014f03 fix: address Cubic finding for LSP server npm bin path
- 2b4a5ca test(agent-variant): restore hephaestus openai case
- 4157c22 fix(background-agent): clear pending parent on silent cancel
- d253f26 fix(skill-mcp-manager): guard stale client cleanup
- d83f875 fix(call-omo-agent): track reused sync sessions
- 5da347c @ChicK00o has signed the CLA in #2499
- e5706bb @djdembeck has signed the CLA in #2497
- f6ae3a4 Merge pull request #2493 from acamq/fix/fallback-test-regression
- 9832f7b fix(test): update agent-variant test model to gpt-5.4
- 5f3f8bb Merge pull request #2492 from acamq/fix/prometheus-test-regressions
- 5f419b7 Merge pull request #2473 from code-yeongyu/fix/sync-package-json-to-opencode-intent
- d08754d fix(auto-update): pipe bun install output and restore other-deps preservation test
- e6e32d3 fix(auto-update): expand semver regex to support hyphenated prerelease tags
- 57b4985 fix(background-agent): delay session error task cleanup
- f9c8392 fix(tmux-subagent): cap stale close retries
- cbb3782 fix(skill-mcp-manager): drop superseded stale clients
- 7997606 fix(call-omo-agent): preserve reused session tracking
- 9973008 fix: remove contaminated await change from FreeUsageLimitError PR
- 7870e43 fix: preserve session provider context in fallback chain (#2295)
- 9b792c3 Merge pull request #2485 from code-yeongyu/fix/issue-2316-tool-after-error-boundary
- 9d0b56d fix: unify LSP server PATH resolution between detection and spawn (#2431)
- 305389b fix: add error boundary around extract/discard hooks in tool-execute-after (#2316)
- e249333 test(skill-mcp-manager): cover pending cleanup registration retention
- 810dd58 test(skill-mcp-manager): cover disposed guard after disconnectAll
- 079c6b1 fix: add FreeUsageLimitError to RETRYABLE_ERROR_NAMES set (#2393)
- aa1aad3 fix: add disposed guard to MCP manager and guard unregister on pending connections
- f564404 fix: address review-work round 6 findings (dispose isolation, event dispatch, disconnectedSessions ref-counting)
- cf27632 fix(background-agent): handle async shutdown in process-cleanup signal handlers
- 2c3c447 fix: address review-work round 3 findings (async shutdown, signal generation, stale test name)
- ff536e9 fix: address review-work round 2 findings
- 03eaa42 fix: address 5 edge cases from review-work findings
- b8aea50 test(background-agent): update completion timer test for per-task cleanup
- deaac8c fix(plugin): add dispose lifecycle for full teardown on reload
- b4e1388 fix(background-agent): fix 3 memory leaks in task lifecycle management
- d1fc662 fix(skill-mcp-manager): remove process listeners on disconnect and guard connection races
- fed720d fix(tmux-subagent): retry pending pane closes to prevent zombie panes
- a2f030e fix(todo-continuation-enforcer): expose prune interval for cleanup
- 2d2ca86 fix(runtime-fallback): clear monitoring interval on dispose
- f342dcf fix(call-omo-agent): add finally cleanup for sync executor session Sets
- 7904410 fix(auto-slash-command): bound Set growth with TTL eviction and session cleanup
- 3822423 Merge pull request #2482 from code-yeongyu/fix/issue-2407-binary-version-embed
- e26088b Merge pull request #2481 from code-yeongyu/fix/issue-2185-lsp-notification-params
- 7998667 Merge pull request #2480 from code-yeongyu/fix/issue-2356-preemptive-compaction-limit
- 9eefbfe fix: restore await on metadata call in create-background-task (#2441)
- ef20178 Merge pull request #2425 from MoerAI/fix/issue-2408-gemini-vertex-edit-schema
- 994b9a7 Merge pull request #2424 from MoerAI/fix/issue-2386-custom-agent-summaries
- 142f8ac Merge pull request #2422 from MoerAI/fix/issue-2393-model-fallback-defaults
- f5be99f Merge pull request #2420 from MoerAI/fix/issue-2375-run-in-background-default
- 182fe74 Merge pull request #2476 from code-yeongyu/fix/issue-2441-session-id-pending
- f61ee25 Merge pull request #2475 from code-yeongyu/fix/issue-2300-compaction-event-dispatch
- 08b411f fix: use rest params in LSP sendNotification to avoid undefined serialization (#2185)
- 26091b2 fix: skip preemptive compaction when model context limit is unknown (#2356)
- afe3792 docs(config): correct background task default timeout description
- aaa5485 fix(background-agent): extend default no-progress stale timeout to 30 minutes
- 6d5175b fix(delegate-task): extend default sync poll timeout to 30 minutes
- f6125c5 docs: refresh category model variant references
- 004f504 fix(agents): keep oracle available on first run without cache
- f4f54c2 test(ralph-loop): remove volatile tool result timestamp
- b9369d3 fix(config): preserve disabled arrays during partial parsing
- 8856839 fix: sync root package.json version before binary compile (#2407)
- f2a7d22 fix: omit sessionId from metadata when not yet assigned (#2441)
- 39e799c docs: sync category model defaults
- 7c29962 fix(delegate-task): refresh built-in category defaults
- d2c2e81 fix(shared): update category fallback priorities
- 4a67044 fix: register preemptive-compaction event handler in dispatchToHooks (#2300)
- 1c09b98 Merge pull request #2474 from code-yeongyu/fix/regression-check-cleanup
- f1b5b10 fix: tighten Anthropic provider matching and fix look-at test isolation
- c556037 fix(auto-update): handle null JSON.parse and restore mocks on test failure
- 46a8ad2 Merge remote-tracking branch 'origin/dev' into fix/sync-package-json-to-opencode-intent
- 0764f0e fix(auto-update): sync cache package.json to opencode.json intent
- 5ef391c Merge pull request #2472 from code-yeongyu/fix/stagnation-detection-accuracy
- 387e83e Merge pull request #2471 from code-yeongyu/fix/compaction-model-filter
- d22867d fix(todo-continuation): improve stagnation detection accuracy
- b129ccc Merge pull request #2469 from code-yeongyu/fix/multimodal-variant-metadata
- 7dddf99 Merge pull request #2470 from code-yeongyu/fix/terminal-task-retention-ttl
- 6272e43 Merge pull request #2468 from code-yeongyu/fix/shared-context-limit-resolver
- 4956280 Merge pull request #2467 from code-yeongyu/fix/spawn-sdk-error-fail-closed
- f5a7927 Merge pull request #2466 from code-yeongyu/fix/anti-dup-prometheus-metis
- 7cca563 Merge pull request #2465 from code-yeongyu/fix/tmux-strict-parse
- f708545 fix(compaction): guard model update during compaction and validate checkpoint model
- a668860 fix: adjust vision capability check to not block when no model resolved
- 0d9f001 fix(background-agent): add TTL for terminal task retention to prevent unbounded growth
- ccfb570 fix: correct import path for buildAntiDuplicationSection in metis.ts
- 85151f7 fix(look-at): preserve variant metadata in fallback chain and block non-vision models
- 59f0f06 fix(shared): extract shared context limit resolver to eliminate monitor/truncator drift
- cc1c230 fix(background-agent): handle SDK error response in spawn limit lineage lookup
- 11423c9 fix(agents): add anti-duplication rules to Prometheus and Metis agents
- 599ce0c fix(tmux): strict integer parsing and isActive validation in pane-state-parser
- d4232c9 Merge pull request #2464 from code-yeongyu/feat/gpt-last-message-continuation
- a6406c8 docs: document GPT permission continuation hook
- a1b0608 fix(continuation): auto-continue GPT permission-seeking replies
- 3f364cc Merge pull request #2451 from code-yeongyu/fix/issue-2238-v2
- de2b073 test(auto-update-checker): type background update bun install mock
- 4b5c471 Merge pull request #2449 from code-yeongyu/fix/issue-2330-v2
- 5942331 fix(background-agent): fail closed on spawn lineage lookup errors
- 330def4 Merge pull request #2456 from code-yeongyu/fix/issue-2292-v2
- 522ae81 test(config-manager): add bun types reference for bun install test
- 9faff19 fix(auto-update-checker): suppress background bun install output
- e3b17da fix(background-agent): preserve terminal tasks until notification cleanup
- 8c5f9b8 fix(background-agent): skip terminal tasks during stale pruning
- 3ccf378 fix(config-manager): support silent bun install execution
- a179ebe Count sync subagent spawns against descendant limits
- 4a39c83 Limit recursive subagent spawning
- 4ded281 Merge pull request #2370 from code-yeongyu/fix/issue-2322
- 05c744d Merge pull request #2461 from code-yeongyu/fix/2448-regression
- 404b8dc Merge pull request #2460 from code-yeongyu/fix/2366-regression
- e7bda16 Merge pull request #2459 from code-yeongyu/fix/2453-regression
- 554392e fix(agents): add anti-duplication rules to Atlas agent prompts
- 4516b2e fix: prioritize Anthropic 1M limits over cached context limits
- 899d265 fix(tmux): add barrel export for pane-state-parser and log parse failures
- d40d686 Merge pull request #2378 from code-yeongyu/fix/issue-2232
- 661def7 Merge pull request #2371 from code-yeongyu/fix/issue-2323
- 3550305 Merge branch 'dev' into fix/issue-2232
- adc927f Merge pull request #2448 from code-yeongyu/fix/subagent-self-execute-v2
- e513f66 fix: rename test file to .ts extension
- 0e093af refactor: split oversized hook.ts to respect 200 LOC limit
- f142009 fix: add anti-duplication rules to junior default prompt
- 3a980c5 Merge pull request #2366 from code-yeongyu/fix/issue-2338
- 836ce97 Merge pull request #2453 from code-yeongyu/fix/issue-2241-v2
- 0eb4471 feat(cli): add --model option to run command for model override
- d24ec33 Rebuild platform binary source maps after latest changes
- c52abe8 fix(tests): fix test isolation for cache-dependent tests
- 84cbd25 fix(tests): stabilize flaky session-notification test
- 413e8b7 Add session permission support to background agents for denying questions
- 24f4e14 Simplify poll completion test setup
- 339ece9 Strengthen sync executor test coverage
- 09a3c54 Restructure background update checker tests
- 55aa1c0 Refine auto-update checker hook tests
- cbceb3c Preserve ultrawork runtime variants
- a3fe161 Merge pull request #2447 from devxoul/fix/auto-update-sync-cache-package-json
- d1e37a5 Merge pull request #2333 from devxoul/feat/claude-model-mapper
- 38ac3d0 Merge pull request #2332 from devxoul/feat/git-master-env-prefix
- 0c52d42 fix(todo-continuation-enforcer): gate stagnation on successful injections
- 398b556 Merge pull request #2364 from code-yeongyu/fix/issue-2240
- e99e638 fix(compaction): validate recovered agent config state
- f28ee0e fix(background-task): default background_output to full session
- 7de80e6 fix(context-window-monitor): show actual reminder limits
- b590d83 test(todo-continuation-enforcer): cover stagnation progress edge cases
- 5952bba fix(todo-continuation-enforcer): pass todos into stagnation tracking
- 51bf823 fix(todo-continuation-enforcer): track todo state changes for stagnation
- e1b59e3 Use dedicated pane state parser
- 5168ae0 Add pane state parser with test coverage
- b6329b6 Merge pull request #2450 from code-yeongyu/fix/combined-npm-badge
- e1ff18c fix: use combined npm downloads badge for both packages
- e4fd29a fix: prevent agents from duplicating delegated subagent work
- 70edea2 Merge pull request #2397 from code-yeongyu/fix/browser-provider-skill-context-playwright
- 35df4d5 Merge pull request #2372 from code-yeongyu/fix/issue-2314
- 07e0576 Sync cache package.json to opencode.json intent before auto-update bun install
- a70e7fe test(git-master): cover full git command prefix injection
- 02fec3d test(git-master): cover git_env_prefix validation
- bf9721d fix(git-master): prefix git commands in injected templates
- c288ad7 feat(git-master): validate git_env_prefix values
- c6ea3f4 map Claude Code model strings to OpenCode format with proper object structure
- e2cf9c6 Align ast-grep fallback downloader version
- 5b5235c Bump AST tooling and Bun types in root manifest
- a883647 Bump OpenCode SDK packages in root manifest
- 41c7c71 Remove unused benchmark OpenAI SDK dependency
- 29e1136 Guard ultrawork variant overrides with SDK metadata
- 3ba4ada @win0na has signed the CLA in #2446
- d62a586 fix(momus): make keyTrigger specify file-path-only invocation requirement
- 77563b9 @zztdandan has signed the CLA in #2444
- ab039d9 @tc9011 has signed the CLA in #2443
- 427c135 @hehe226 has signed the CLA in #2438
- 17de67c Merge pull request #2440 from code-yeongyu/revert-2439-fix/sync-package-json-to-opencode-intent
- b5c598a Revert "fix(auto-update): sync cache package.json to opencode.json intent"
- a4ee0d2 Merge pull request #2439 from acamq/fix/sync-package-json-to-opencode-intent
- 094bcc8 fix(auto-update): sync cache package.json to opencode.json intent
- d74b415 @cphoward has signed the CLA in #2437
- 31d54b2 Merge pull request #2352 from rluisr/fix/register-sisyphus-junior-as-builtin-agent
- 160e966 @zengxiaolou has signed the CLA in #2433
- 35ad5ae Merge pull request #2409 from ualtinok/fix/bgpollfix
- 204322b fix(hashline-edit): remove array type from lines union to fix Gemini Vertex schema validation (#2408)
- 46c3bfc fix(agents): pass custom agent summaries instead of client object to createBuiltinAgents (#2386)
- 0598535 fix(model-fallback): enable by default and add missing error patterns for usage limits (#2393)
- 49b7e69 fix(delegate-task): default run_in_background to false when orchestrator intent is detected (#2375)
- 309a3e4 fix(tmux): handle serverUrl throw getter from upstream opencode refactor
- b7731f5 Merge pull request #2417 from code-yeongyu/fix/repo-name-confusion
- 4200574 docs: fix cd path and branch URL per review feedback
- a2fd6d7 docs: update all GitHub URLs from oh-my-opencode to oh-my-openagent
- 85e7a24 Merge pull request #2413 from code-yeongyu/docs/readme-maintainer-delay-notice
- db42edd docs: clarify temporary maintainer delay notice headings
- 2836919 Abort sync sessions on timeout and parent abort
- 61867b3 Fix connected providers cache type
- ea61856 Fix session notification scheduler notification check
- b9d54ed Rebuild platform binaries
- 2919ec7 Tune OpenAI-only model catalog variants
- 123f73c fix: update model-requirements test to include sisyphus-junior (11 agents)
- 39cbe11 Merge pull request #2302 from RaviTharuma/fix/runtime-fallback-cooldown-session-status
- 9e07f1d Merge pull request #2328 from mrosnerr/fix/background-result-collection-wait-behavior
- 7d1607d fix: align sync fallback chain, fix model-fallback test determinism
- f1f682c fix(agents): apply background agent result prompt update to all sisyphus variants
- c598afa Address PR review follow-ups for retry status handling
- 86c6bc7 Unify dynamic fallback chains for background subagents
- 38c9256 Respect per-agent fallback chains in runtime fallback
- 4300f60 Detect runtime retry signals from assistant text parts
- e654338 Stabilize provider assertions after rebase
- f2d23a8 Make fallback provider selection provider-agnostic
- eab5be6 Fix cooldown fallback switching across model/runtime fallback hooks
- 2f06f2c fix(agents): prevent orchestrator from rushing ahead of background agents
- 53337ad fix(atlas): append idle subagent sessions to active boulder
- 1120885 fix(background-agent): release interrupted task slots during startup cleanup
- 18f84fe @conversun has signed the CLA in #2399
- 85aa744 fix(background-agent): clear toast tracking when tasks stop
- c9402b9 fix(claude-code-hooks): compact transcript tool results for diff-heavy metadata
- 4f088c7 test(plugin): run tool output truncation before claude transcript hooks
- 0aae45c Merge pull request #2396 from code-yeongyu/fix/lsp-directory-diagnostics-followup
- dc23e63 test(lsp): avoid leaking directory diagnostics mocks across tests
- 1528e46 fix(skill-context): gate discovered browser skills by provider
- 4517699 fix(atlas): clarify capped directory diagnostics guidance
- f78d811 fix(lsp): include file paths in directory diagnostics output
- c09ff7a Merge pull request #2390 from acamq/fix/think-variant-switcher
- 59e468d Merge pull request #2391 from acamq/feature/lsp-directories
- d553bb7 Allow registered atlas boulder sessions to continue on idle
- ee8c659 @jainnam-1993 has signed the CLA in #2394
- 2e8f083 Merge pull request #2306 from Romanok2805/fix/builtin-agent-mode-override
- 5713106 Merge pull request #2284 from MoerAI/fix/tmux-list-panes-parsing
- b2f97dd Merge pull request #2196 from acamq/fix/toolcall-format
- 3960061 Merge pull request #2380 from acamq/fix/auto-updater-paths
- f10500f Merge remote-tracking branch 'upstream/dev' into fix/toolcall-format
- ecdc835 fix(lsp): improve code quality in directory diagnostics
- 1ee28ba @davincilll has signed the CLA in #2392
- c4112f8 fix(auto-updater): handle bun.lockb and add workspace validation
- 05a5c01 docs(think-mode): document getHighVariant deprecation
- ccd4dce fix(think-mode): remove overly broad Korean keyword
- 89a4d22 test(think-mode): update tests for variant-only behavior
- 96a80bb fix(think-mode): remove modelID modification, only set variant
- f89cc96 test(auto-update-checker): stabilize cache invalidation module isolation
- 9a44e29 Merge upstream/dev into fix/auto-updater-paths
- a7d5e68 fix(auto-update-checker): use OpenCode cache paths for updates
- 26ae247 test(doctor): isolate loaded version module import
- 858b10d feat(lsp): add directory support to lsp_diagnostics via extension param
- 719a35e fix(plugin): capture compaction context during compaction
- df36efa fix(plugin): dispatch compaction context hook events
- 65eddda fix(plugin): wire compaction context hook creation
- 2b5dec5 fix(background-agent): use compaction-aware prompt context in manager
- c789baf fix(background-agent): merge prompt context across compaction gaps
- b7170b2 fix(compaction): recover checkpointed agent config after compaction
- 67a30cd fix(compaction): resolve prompt config from recent session context
- 90be61b fix(compaction): add checkpoint store for session agent config
- d84c28d fix(plugin): preserve cross-zod tool arg metadata
- 5d31bf4 fix(look-at): resolve multimodal models from vision-capable providers
- 8b0ca63 fix(look-at): build dynamic multimodal fallback chain
- dd68035 fix(plugin-handlers): cache vision-capable provider models
- f801811 fix(shared): add vision-capable model cache store
- 4eb8a2f fix(plugin-state): track vision-capable multimodal models
- fe12fc6 fix(todo-continuation-enforcer): stop idle continuation after repeated stagnation
- e65366b fix(todo-continuation-enforcer): add stagnation guard helper
- 07e8b32 fix(todo-continuation-enforcer): track continuation stagnation state
- d7349b6 fix(todo-continuation-enforcer): add stagnation state fields
- 0ae4812 fix(todo-continuation-enforcer): add stagnation limit constant
- b5e222b fix(tool-output-truncator): accept model context limit cache state
- fdabebe fix(dynamic-truncator): use provider-aware context limits
- 17707ee fix(context-window-monitor): use model-specific context limits
- 740d39e fix(doctor): prefer config dir for loaded plugin version
- 2594a1c fix: register sisyphus-junior as builtin agent across type system and model fallback
- 96b5811 use Map for alias lookup to prevent prototype pollution, return undefined for non-Claude bare models
- 567f507 handle Claude Code official model aliases (sonnet, opus, haiku, inherit)
- 5e25f55 add anthropic/ provider prefix for claude models, preserve date suffixes, passthrough provider-prefixed models
- 77a2ab7 map Claude Code model strings to OpenCode format when importing agents
- 6366c7e test(git-master): add tests for git_env_prefix injection
- 26c8d55 feat(git-master): add git_env_prefix config to prefix all git commands
- 7f2188b fix(agents): prevent user/project .md agents from overriding builtin agent modes
- e1952d3 fix(tmux): handle \r line endings and missing pane_title in list-panes
- 6a5d094 Merge branch 'code-yeongyu:dev' into fix/toolcall-format
- 34eff61 merge: upstream/dev into fix/toolcall-format
- f393f50 fix(hephaestus): add tool call format instructions to prevent malformed output
Thank you to 8 community contributors:
- @acamq:
- fix(auto-update): expand semver regex to support hyphenated prerelease tags
- fix(auto-update): pipe bun install output and restore other-deps preservation test
- Merge pull request #2473 from code-yeongyu/fix/sync-package-json-to-opencode-intent
- Merge pull request #2492 from acamq/fix/prometheus-test-regressions
- fix(test): update agent-variant test model to gpt-5.4
- Merge pull request #2493 from acamq/fix/fallback-test-regression
- Merge pull request #2419 from guazi04/fix/serverurl-throw-getter
- Merge pull request #2446 from win0na/fix/momus-key-trigger-specificity
- fix(installer): always use .config/opencode for CLI on Windows (#2502)
- fix(installer): respect XDG_CONFIG_HOME on Windows for CLI config dir
- fix(test): isolate XDG_CONFIG_HOME in Windows CLI tests
- Merge pull request #2507 from MoerAI/fix/issue-2287-unstable-agent-check
- Merge pull request #2532 from ricatix/fix/doctor-verbose-models
- fix(test): update package name to oh-my-openagent in install test
- Merge pull request #2582 from acamq/fix/fix-install-test
- fix(agents): include config agents and migrated plugin agents in customAgentSummaries
- Merge pull request #2546 from acamq/fix/installer-paths
- Merge pull request #2585 from acamq/fix/custom-agent-summaries-completeness
- revert: remove accidentally committed built files from bce8ff3
- Merge pull request #2559 from MoerAI/fix/issue-2555-disabled-tools-merge
- Merge pull request #2563 from robinmordasiewicz/fix/claude-code-plugin-v3-array-format
- refactor(doctor): show detected LSP servers and extensions instead of hardcoded counts
- fix(doctor): remove redundant extensions from verbose LSP header
- Merge pull request #2588 from acamq/refactor/doctor-lsp-extensions
- Merge pull request #2535 from conversun/fix/prometheus-compaction-agent-fallback
- fix(todo-continuation-enforcer): skip continuation for compaction-only message history
- Revert "fix(test): update package name to oh-my-openagent in install test"
- Merge pull request #2598 from code-yeongyu/revert-2582-fix/fix-install-test
- Merge pull request #2597 from code-yeongyu/fix/todo-compaction-only-guard
- Merge pull request #2596 from cyberprophet/fix/doctor-plugin-version-fallback
- Merge pull request #2618 from RaviTharuma/fix/extract-status-code-nested-errors
- @MoerAI:
- fix(delegate-task): only check resolved model for isUnstableAgent, not default (#2287)
- fix: union disabled_tools in mergeConfigs() like other disabled_* arrays
- fix(background-agent): add circuit breaker to prevent subagent infinite loops
- fix(cli): replace dead glm-4.7-free with gpt-5-nano as ultimate fallback
- @ricatix:
- fix(cli): render verbose doctor check details
- @conversun:
- fix(todo-continuation-enforcer): prevent post-compaction agent fallback to General
- fix(todo-continuation-enforcer): tighten post-compaction guard with session-agent fallback
- @cpkt9762:
- fix(delegate-task): build categoryModel with variant for categories without fallback chain
- @robinmordasiewicz:
- fix(plugin-loader): support Claude Code v3 flat array format for installed_plugins.json
- fix(agent-loader): convert model object to string for opencode compatibility
- fix(discovery): add null-safe validation for v3 array entries
- @cyberprophet:
- fix(doctor): fall back to loadedVersion when pluginVersion is null
- Reported and diagnosed the think-mode false positive issue with detailed root cause analysis (#2382)
- Proposed removal of overly broad Korean keyword "고민" from think-mode triggers
- @RaviTharuma:
- fix(runtime-fallback): extract status code from nested AI SDK errors
- fix(runtime-fallback): prefer numeric status codes over non-numeric in extraction chain
- @Yeachan-Heo:
- Reported the
disabled_toolsconfig merge bug with detailed evidence (#2555) - Proposed the fix to union
disabled_toolslike otherdisabled_*arrays
- Reported the