github code-yeongyu/oh-my-openagent v3.17.5

6 hours ago

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

  • bcbd99b Merge pull request #3605 from Jay1/jay/gpt-5-5-native-sisyphus
  • fd4ef0f test(agents): update explore and librarian prompt assertions to match refactored prompts
  • 563b656 refactor(agents): replace per-version GPT checks with regex pattern
  • ae77f6b @lucasyounger has signed the CLA in #3606
  • 132c860 Merge branch 'dev' into jay/gpt-5-5-native-sisyphus
  • 99f25fe @Jay1 has signed the CLA in #3605
  • f6b2ce7 feat(agents): add gpt-5.5 native sisyphus support
  • 7641fc5 @leecoder has signed the CLA in #3604
  • 448fb0f @uf-hy has signed the CLA in #3603
  • bbcbfe5 @fede-ciliberti has signed the CLA in #3581
  • f66bc8a @samuele-ruffino96 has signed the CLA in #3595
  • fd6e34a @ParkSnoopy has signed the CLA in #3591
  • a941774 chore(cleanup): remove obsolete team-mode workspace artifacts
  • 52ee201 chore(gitignore): add .dori-sync/ directory
  • 1ecf5ab refactor(ast-grep): inline tool descriptions and simplify pattern hints
  • 70e18e9 refactor(agents): simplify librarian code search guidance
  • acd867e refactor(agents): simplify explore tool strategy guidance
  • f0dd046 refactor(librarian): teach proper ast_grep_search discipline
  • 5ef2a3f refactor(explore): make ast_grep_search discipline the core of Tool Strategy
  • 2f4b1c3 feat(ast-grep): rewrite tool descriptions to prevent regex-style misuse
  • 95ccbbf feat(ast-grep): detect regex-style pattern misuse before returning empty results
  • e0bcf3e @aschina has signed the CLA in #3560
  • 93dc103 Merge pull request #3552 from code-yeongyu/feature/explore-librarian-gpt-5-4-mini-fast-primary
  • 993fe20 docs(orchestration): reindent explore/librarian mermaid nodes
  • 3a6bd93 fix(cli): keep mini-fast primary in openai-only install catalog
  • 6914b44 docs(configuration): restore vercel aliases in explore/librarian rows
  • fe44363 fix(model-capabilities): drop pdf modality from gpt-5.4-mini-fast
  • 02e4de8 docs(model): sync explorer and librarian guidance
  • ceadf4b fix(cli): prefer mini-fast for install fallback
  • d2e5ddd fix(model-requirements): route primary agents to mini-fast
  • 680dd16 fix(model-capabilities): bundle gpt-5.4-mini-fast caps
  • 064dcc8 fix(delegate-task): remove deprecated sync continuation fallback
  • a17ba16 chore(delegate-task): remove unused metadata model export
  • 54e48de refactor(delegate-task): extract background session registration helpers
  • 2585031 refactor(delegate-task): extract sync continuation resume context
  • 4810d0f fix(delegate-task): apply load_skills content to continuation prompts
  • d0a3cb3 fix(delegate-task): align background-continuation title with args.description
  • 83c8ffb fix(delegate-task): include category in continuation task_metadata blocks
  • b5bc4cd fix(delegate-task): preserve variant in sync-continuation metadata model
  • 54cc9b7 test(delegate-task): lock Oracle-found gaps with TDD
  • 3f28e42 refactor(delegate-task): remove AI slop from supporting files
  • bcf9511 refactor(delegate-task): remove AI slop from executor metadata paths
  • 271068d chore(delegate-task): remove unused execute field from DelegateTaskArgs
  • cd0c98e fix(delegate-task): preserve model variant in metadata resolution
  • a82f056 test(delegate-task): add failing tests for model variant preservation
  • f486df7 feat(delegate-task): preserve raw subagent_type across metadata
  • 8a2a11b fix(delegate-task): propagate category in background continuation
  • 9bd5829 fix(delegate-task): propagate agent and category in sync continuation
  • 9bf89de test(delegate-task): add failing tests for metadata continuation gaps
  • 869accd @CoderLuii has signed the CLA in #3518
  • 017e4ef Merge pull request #3514 from andomeder/fix/cli-attach-auth
  • 69315fc fix(cli): restrict attach auth injection to loopback URLs
  • ad0ee7a @andomeder has signed the CLA in #3514
  • ef5c74e fix(cli): inject server auth for attach clients
  • 64b49b4 Merge pull request #3510 from code-yeongyu/fix/tmux-stale-session-sweep
  • e35ac38 test(tmux): rewrite stale-sweep tests via DI to eliminate cross-file mock leak
  • d1fc46d test(tmux): restore process.kill in afterEach to prevent cross-file leak
  • 913fac0 fix(tmux-subagent): retry stale sweep if first attempt throws
  • 859d67f fix(tmux-subagent): revert session.error cleanup (recoverable-error regression)
  • 3dce19d fix(tmux-subagent): move 'cleanup complete' log back to cleanup() method
  • 1045230 feat(tmux): sweep stale omo-agents- sessions on first spawn
  • a503989 Merge pull request #3507 from code-yeongyu/fix/tmux-serve-attach-cleanup
  • aa79284 fix(background-agent): reset process.exitCode to 0 between cleanup tests
  • 257b6cf fix(tmux): scope isolated session name per plugin instance (Oracle review)
  • f8a1a11 fix(team-mode): refactor layout to use testable spawn-process helper
  • ea4f3c8 fix(tmux): treat pane-already-closed as success in closeTmuxPane
  • b9d2acd fix(background-agent): run manager cleanup on uncaughtException and unhandledRejection
  • 21554be fix(tmux-subagent): tighten serve/attach cleanup paths so panes and sessions are torn down reliably
  • de8a016 feat(tmux): add killTmuxSessionIfExists utility for explicit session teardown
  • 2a99a52 fix(tmux): drain kill-pane stdout to prevent pipe backpressure hang
  • 7a7926f chore(tmux-subagent): remove dead event-handler modules
  • e303fee feat(team-mode): add team-layout-tmux for focus+grid pane visualization
  • bf7fd7c Merge pull request #3501 from code-yeongyu/fix/perf-omo-in-tree
  • 0a808de fix(auto-update-checker): trigger deferred startup on session.created with parentID guard
  • 9184805 fix(background-agent): fire promptAsync before tmux callback
  • c9c1c58 fix(tmux-subagent): track pane without blocking on session readiness
  • a6a5a08 fix(tools/skill): invalidate skill cache at session boundary
  • a8504be test(auto-update-checker): cover session.created trigger with parentID guard
  • 1d18709 test(tools/skill): cover per-session skill cache invalidation
  • bd15298 fix(test): isolate skill factory discovery in ci
  • e766354 test(auto-update-checker): align zauc-mocks-hook with deferred idle check
  • 8e3f4cc fix(tools/skill): harden description pipeline against empty skill list after lazy factory
  • 0e1a946 test(skill-tool): isolate skill discovery spies from other suites
  • 10b1905 test(skill-loader): reset shared skill cache in async resolver tests
  • 1486843 test(auto-update-checker): align test triggers with deferred idle check
  • 61675ad test(slashcommand): isolate command-loader cache between tests
  • 0ca571e Merge branch 'fix/perf-d03' into fix/perf-omo-in-tree
  • 1fd678f Merge branch 'fix/perf-d02' into fix/perf-omo-in-tree
  • 85e4f5e Merge branch 'fix/perf-q11' into fix/perf-omo-in-tree
  • e47a6aa Merge branch 'fix/perf-q10' into fix/perf-omo-in-tree
  • b60cad0 Merge branch 'fix/perf-q09' into fix/perf-omo-in-tree
  • d9cea93 Merge branch 'fix/perf-q08' into fix/perf-omo-in-tree
  • 9f15a09 Merge branch 'fix/perf-q06' into fix/perf-omo-in-tree
  • c5268af Merge branch 'fix/perf-q05' into fix/perf-omo-in-tree
  • 4857666 Merge branch 'fix/perf-q04' into fix/perf-omo-in-tree
  • 5faba8d Merge branch 'fix/perf-q03' into fix/perf-omo-in-tree
  • 38990ec Merge branch 'fix/perf-q02' into fix/perf-omo-in-tree
  • 56d2d25 Merge branch 'fix/perf-d10' into fix/perf-omo-in-tree
  • 5a20e40 Merge branch 'fix/perf-d09' into fix/perf-omo-in-tree
  • 36ebafd Merge branch 'fix/perf-d08' into fix/perf-omo-in-tree
  • 82ddc9c Merge branch 'fix/perf-d07' into fix/perf-omo-in-tree
  • 1db481e Merge branch 'fix/perf-d06' into fix/perf-omo-in-tree
  • a227821 Merge branch 'fix/perf-d05' into fix/perf-omo-in-tree
  • dc0d64d Merge branch 'fix/perf-d04' into fix/perf-omo-in-tree
  • b6b898d Merge branch 'fix/perf-d01' into fix/perf-omo-in-tree
  • edcc9a1 fix(todo-continuation-enforcer): defer prune interval to first idle event
  • 1be1cd6 fix(tools/skill): make factory pure and stop defeating skill-loader cache
  • a068915 test(perf): add plugin init regression budget
  • 40bd3e0 test(tools/skill): cover factory laziness and skill-cache invariants
  • 52512f2 fix(rules-injector): cache directory scan results per session
  • ed6ac7e fix(session-notification): defer platform detection and background checks
  • 89d394e fix(claude-code-command-loader): skip EXCLUDED_DIRS and memoize per directory
  • 439957c test(session-notification): cover lazy platform detect and scheduler startup
  • 6dc2234 fix(shared): memoize detectPluginConfigFile per process
  • 948343a test(shared): cover detectPluginConfigFile memoization
  • 76e8508 fix(runtime-fallback): inject pluginConfig and defer cleanup interval to first event
  • 3d42994 fix(auto-update-checker): defer npm registry check until first idle
  • 4f59e91 test(todo-continuation-enforcer): cover lazy prune interval
  • 443891f test(rules-injector): cover per-session cache isolation and invalidation
  • 79eb6c7 fix(shared/project-discovery-dirs): memoize detectWorktreePath per process
  • a03faaa test(auto-update-checker): cover deferred update check
  • bcd7b8e fix(rules-injector): memoize project-root lookup per process lifecycle
  • 886ef82 perf(directory-readme-injector): migrate sync FS to fs.promises
  • a4c45e2 fix(write-existing-file-guard): defer realpath/existsSync to first tool call
  • 3cb1d5d test(claude-code-command-loader): cover excluded dirs and per-directory cache
  • ac2686f fix(shared): memoize loadOpencodePlugins by directory
  • 7be6ab4 fix(tools/slashcommand): skip EXCLUDED_DIRS in recursive command discovery
  • d8e00eb test(runtime-fallback): cover pluginConfig DI and lazy interval
  • 51f1fc1 perf(directory-agents-injector): migrate sync FS to fs.promises
  • a6e3c6a test(write-existing-file-guard): cover lazy canonical path init
  • 9677c7d test(directory-agents-injector): cover async migration
  • 3717121 test(directory-readme-injector): cover async migration
  • 428bae6 test(shared): cover loadOpencodePlugins memoization
  • e599840 fix(comment-checker): defer CLI download and cleanup scheduler to first tool call
  • 493e37b test(comment-checker): cover lazy CLI init and cleanup startup
  • d0eda8b test(tools/slashcommand): cover excluded-dir pruning during discovery
  • 76945bf test(rules-injector): cover project-root-finder memoization
  • 32598bc test(shared/project-discovery-dirs): cover worktree-path memoization
  • c5b7aa8 test(rules-injector): cover per-session scan caching behavior
  • 578c49f fix(rules-injector): skip EXCLUDED_DIRS in recursive rule scanner
  • d566d69 test(rules-injector): add regression coverage for excluded-dir pruning
  • 49c7d4d chore(shared): add EXCLUDED_DIRS constant for recursive FS scans
  • d59ad1e @Netzhangheng has signed the CLA in #3499
  • 203e517 @Disaster-Terminator has signed the CLA in #3497
  • 1a8f60b Merge pull request #3488 from chan1103/fix/explore-allow-lsp-ast-grep
  • f1268c0 feat(team-mode): add worktree manager (optional per-member isolation)
  • b00e22c feat(team-mode): add core types (discriminatedUnion for members, D-41/D-42)
  • 1b5f316 Merge pull request #3492 from code-yeongyu/refactor/legacy-plugin-decoupling
  • 70ddc01 refactor: remove AI slop from refactored files
  • 81b37dd refactor: remove cosmetic OhMyOpenCodePlugin references
  • e6f84f7 refactor(tools): break glob->grep sibling-tool coupling
  • 5e41025 refactor(model-fallback): fully encapsulate session state in factory closure
  • e2f5c0d refactor(plugin): remove orphaned createPluginDispose + stale test mocks
  • f56e393 docs: update plugin entry references to V1 PluginModule shape
  • 81b68d8 refactor(model-fallback): move fallback state into factory closure and split hook.ts
  • 0d10498 refactor(hooks): split session-notification.ts to comply with 200 LOC module rule
  • 0f1b165 refactor(delegate-task): split tools.ts to comply with 200 LOC module rule
  • db05634 refactor(shared): move parseModelString out of delegate-task to break cross-tool coupling
  • 1aebf39 refactor(hooks): split preemptive-compaction.ts to comply with 200 LOC module rule
  • 963355d refactor(look-at): split tools.ts to comply with 200 LOC module rule
  • f94632c refactor(skill-mcp): split tools.ts to comply with 200 LOC module rule
  • cb8f44e refactor(ralph-loop test): clarify race-condition predicate naming
  • 1b10ab3 refactor(plugin): migrate to V1 PluginModule format
  • 5759a9c docs(agents): refresh AGENTS.md hierarchy via /init-deep
  • 2892ca4 fix(delegate-task): align metadata with opencode core task tool
  • 3a65613 feat(delegate-task): add resolveMetadataModel helper for model fallback
  • 73f09fd fix(explore): allow LSP and ast-grep tools
  • f3af235 Merge pull request #3486 from code-yeongyu/chore/bump-claude-opus-4-7
  • b3beea1 docs: complete claude-opus-4-7 bump in installation, matching, and overview guides
  • 5478bab refactor(models): preserve legacy claude-opus-4-6 aliases and category mapping
  • f34a074 docs: bump claude-opus-4-6 to claude-opus-4-7 across docs, examples, and AGENTS.md
  • 4ca4c06 refactor(migration): auto-upgrade claude-opus-4-5 and 4-6 to claude-opus-4-7
  • def4433 refactor(models): bump claude-opus-4-6 to claude-opus-4-7 across fallback chains, categories, and hooks
  • b1764a8 Merge pull request #3484 from code-yeongyu/fix/ci-remaining-test-fixes
  • 2fca3dc fix(test): complete session_id→task_id migration in test assertions
  • 3a956b2 fix(test): align session_id→task_id across tests and source files
  • 28a896d fix(test): update dynamic-agent-prompt-builder test to expect task_id
  • 843f1db Merge pull request #3483 from code-yeongyu/fix/bin-alias-oh-my-openagent
  • fec50c5 fix: add oh-my-openagent bin alias for renamed package
  • 62d185c Merge pull request #3481 from code-yeongyu/fix/atlas-test-task-id-parameter
  • 91ebffa fix(test): update atlas test to expect task_id parameter instead of session_id
  • 22942c2 Merge pull request #3480 from code-yeongyu/fix/zod-external-bundle
  • e97953e fix(build): externalize zod from plugin bundle to prevent dual-instance crash
  • 99ffb5f refactor(task): drop session_id resume alias
  • d89e257 refactor(task): align continuation ids with task_id
  • 56be458 fix(config): remove obsolete maxDescendants config
  • 611f1cc fix(background-agent): remove descendant spawn cap
  • e2f7fbb @EnochLi15 has signed the CLA in #3473
  • 5c349fa Merge pull request #3471 from code-yeongyu/fix/copilot-effort-max
  • 1ae3228 fix(anthropic-effort): clamp variant=max for github-copilot Claude models
  • a5ae0b8 @omer-koren has signed the CLA in #3470

Thank you to 5 community contributors:

  • @chan1103:
    • fix(explore): allow LSP and ast-grep tools
  • @andomeder:
    • fix(cli): inject server auth for attach clients
    • fix(cli): restrict attach auth injection to loopback URLs
  • @sisyphus-dev-ai:
    • Merge pull request #3514 from andomeder/fix/cli-attach-auth
  • @Jay1:
    • feat(agents): add gpt-5.5 native sisyphus support
    • Merge branch 'dev' into jay/gpt-5-5-native-sisyphus
  • @acamq:
    • refactor(agents): replace per-version GPT checks with regex pattern
    • Merge pull request #3605 from Jay1/jay/gpt-5-5-native-sisyphus

Don't miss a new oh-my-openagent release

NewReleases is sending notifications on new releases.