github code-yeongyu/oh-my-openagent v4.8.0

latest release: v4.8.1
9 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

  • b9b627f test(codex): relax install integration timeouts
  • 11b1d40 Merge pull request #5065 from MoerAI/fix/gpt-ultrawork-session-scoped-directives
  • 3cabcae test(ultrawork): update GPT prompt baseline
  • 94f200f fix(prompts): scope GPT ultrawork banner and intent declaration to first turn (fixes #4817)
  • 02f37d0 Merge fix/codex-rules-static-body-injection into dev
  • 96105b1 fix(omo-codex): inject static rule bodies instead of references
  • 200f691 Merge pull request #5049 from MoerAI/fix/team-create-null-arg-validation
  • cb49e21 Merge pull request #5041 from sjawhar/fix/json-error-recovery-exclude-subagents
  • 5c08fe9 Merge pull request #4957 from Hungdoan565/fix/4853-formatter-sdk-response-shape
  • ed52980 docs(codex): align light mcp release docs
  • 68cda51 fix(shared): align minimum opencode version
  • c352b51 fix: clear pre-publish blockers
  • 837d06c fix(skill-loader): speed up git-master async resolution
  • 60935a5 fix(team-mode): treat null-valued team_create optionals as absent (fixes #5047)
  • 2f610b2 @gfnord has signed the CLA in #5044
  • bf14e10 docs(agents): refresh hierarchical AGENTS.md to HEAD (init-deep update)
  • 7328674 Merge pull request #5040 from code-yeongyu/fix/prepublish-blockers-20260608
  • 24b6e3c fix(json-error-recovery): exclude subagent + session-content tools so delegated output that mentions JSON errors does not trigger a false reminder
  • 2d4f31a fix(release): close prepublish review blockers
  • 0757858 docs: restore inspiration credits
  • e3f024b docs: remove stale Codex compatibility references
  • cdb80e4 fix(codex): wire release safety checks
  • 02c9d3a fix(omo-codex): document valid spawn agent schema
  • cf0836d fix(rules-engine): reject absolute distance paths
  • 8fc58f5 fix(omo-codex): persist auto-update check state
  • 2dc4d64 fix(omo-codex): silence telemetry init failures
  • 2d3b087 fix(omo-codex): validate cached plugin bin links
  • 6c150a3 fix(codex): suppress context-pressure hook reinjection
  • e39ad1b fix(team-mode): harden mailbox recipients and tmux auth
  • fb1c275 fix(lsp): harden project config and workspace edits
  • b4895dc Remove Codex compatibility references
  • f3b8110 Merge pull request #5034 from code-yeongyu/fix/remove-pr4703-consensus
  • c90204a refactor(consensus): remove consensus tool
  • 0908f17 Merge pull request #5031 from code-yeongyu/feature/lazycodex-open-issues-omo-codex
  • 0e82400 @Nigmat-future has signed the CLA in #5032
  • f603e9d fix(omo-codex): gate packaged start-work completion
  • 5638be3 fix(omo-codex): require review debug gate
  • 50c876f docs(omo-codex): document omx coexistence
  • 31e4338 fix(omo-codex): harden subagent guidance
  • 661eef5 Merge pull request #5018 from code-yeongyu/fix/probs-test-gate-20260606
  • 568b9e6 Merge remote-tracking branch 'origin/fix/probs-test-gate-20260606' into fix/pr5018-global-mock-cleanup
  • 220d237 fix(mcp-oauth): harden callback server readiness
  • ef50a1c fix(mcp-oauth): avoid polluted callback HTTP client
  • 88e8e74 Merge remote-tracking branch 'origin/fix/probs-test-gate-20260606' into fix/pr5018-global-mock-cleanup
  • b64545e fix(mcp-oauth): avoid mocked callback readiness probe
  • c50e9d9 fix(mcp-oauth): isolate callback server timers
  • 71e3fb7 test(mcp-oauth): isolate callback readiness probe
  • e72f177 test(mcp-oauth): remove leaking callback request mock
  • 2c29113 Merge remote-tracking branch 'origin/fix/probs-test-gate-20260606' into fix/probs-test-gate-20260606
  • 686f79c test(git-bash): expect native process line endings
  • 3a6af3a fix(mcp-oauth): wait for callback HTTP acceptance
  • d74631c fix(mcp-oauth): wait for callback listener readiness
  • 0bab539 fix(windows): honor command lookup and shell fixture contracts
  • 5c5f94c fix(windows): resolve git worktree paths natively
  • 11a6fd2 fix(mcp-oauth): preserve callback server request semantics
  • 857b82e fix(mcp-oauth): stabilize callback readiness probe
  • 3f21fa0 fix(mcp-oauth): probe HTTP callback readiness
  • 5ff35ba fix(mcp-oauth): wait for TCP callback readiness
  • e25cb8d Merge branch 'fix/probs-test-gate-20260606' of https://github.com/code-yeongyu/oh-my-openagent into fix/probs-test-gate-20260606
  • 0570c2b fix(mcp-oauth): trust callback listen event
  • 62e2789 Merge branch 'fix/probs-test-gate-20260606' of https://github.com/code-yeongyu/oh-my-openagent into fix/probs-test-gate-20260606
  • ead7f3b test(paths): compare canonical fixture paths
  • 79fa646 test(git-bash): normalize Windows fixture output
  • 183e842 fix(comment-checker): normalize Windows diagnostics
  • d23e802 fix(team-mode): mark stuck teams before cleanup
  • ceff4eb fix(doctor): tolerate consumed stream errors
  • e73f58d fix(windows): resolve executable suffixes in PATH lookup
  • edd4c8d fix(mcp-oauth): rely on listen readiness
  • 9973f68 fix(test): stabilize synthetic merge gate
  • 89d9fe6 fix(mcp-oauth): wait for callback HTTP readiness
  • 78f4217 fix(interactive-bash): use shimmed PATH lookup
  • 013a0e1 fix(team-mode): extend state lock wait
  • 0bb1aad test(windows): harden process path fixtures
  • 3b57122 fix(paths): preserve target platform paths
  • 5376ae6 fix(doctor): tolerate consumed spawn streams
  • a7c8fb2 fix(mcp-oauth): trust callback listen readiness
  • 92db8b8 fix(paths): compare native canonical paths
  • b401c14 test(mock): stop replaying unpreserved module mocks
  • 8e75a92 fix(doctor): read spawn output streams once
  • 927df1c Merge remote-tracking branch 'origin/fix/probs-test-gate-20260606' into fix/pr5018-global-mock-cleanup
  • c507cf9 fix(rules): preserve canonical scanner boundaries
  • abd0984 test(background): scope abort timeout logs
  • 36eddb0 fix(rules): canonicalize scanner boundaries
  • 61d8c17 Merge branch 'dev' into fix/probs-test-gate-20260606
  • 2a6de7c test(ci): stabilize root test gate
  • 38012e3 fix(windows): respect native process contracts
  • e827eaf fix(rules): compare normalized relative paths
  • 79797a0 fix(skills): normalize config source paths
  • 6cf3aeb fix(paths): canonicalize worktree plan paths
  • 48af32b fix(ultrawork): finalize sqlite override statements
  • b7c9129 fix(mcp-oauth): handle deferred callback close errors
  • 8e127a7 test(mock): preserve file-scoped module mocks explicitly
  • 87924ef test(mock): preserve peer module mocks on restore
  • 185b8af fix(mcp-oauth): await callback server close
  • 21696f0 test(ci): restore plain root test gate
  • ab607f6 test(mock): stabilize module mock cleanup
  • 3f2c414 Fix cross-platform test gate regressions
  • 2e22f4f @madgegja has signed the CLA in #5026
  • c64f928 Merge remote-tracking branch 'origin/dev' into fix/probs-test-gate-20260606
  • b746d6c test(mcp-oauth): use fetch for callback requests
  • deefd42 test(mcp-oauth): avoid callback fixed-port races
  • 4a20824 fix(mcp-oauth): await callback server readiness
  • ccc7c22 test(oauth): isolate callback server ports
  • 683eb8a test(server): avoid flaky Bun loopback fetch
  • aa62ab0 test(setup): restore fetch after each test
  • 225f074 test(mock): avoid injector module leak
  • 3332a48 test(mock): restore unresolved scoped mocks
  • 0491f7e test(mock): ignore Windows lifecycle stack frames
  • 5e2bf94 test(mock): restore unpreserved mocks on clean restore
  • f376f37 test(codex): cover Windows cleanup fixture path
  • 57fb277 test(codex): use portable installer and git-bash fixtures
  • 876f542 test(tmux): inject session-created handler subprocess seams
  • dfd5878 test(mock): replay active mocks after unowned restore
  • 11dc754 fix(git-bash): capture runner output through files
  • d9e4d83 test(mock): restore unpreserved module mocks
  • a575754 test(mock): avoid global restore for scoped module mocks
  • 3dae6f1 test(mock): scope preserved module mocks
  • d6fe584 test(mock): preserve concurrent module mocks
  • 114374d @inhyoe has signed the CLA in #4715
  • f313546 test(windows): create safe zip fixture portably
  • 58a6ac1 test(mock): scope module mock cleanup
  • d4e0fa4 test(windows): create safe tar fixture portably
  • 8cbb42a test(shared): reset agent sort state
  • 1156f8f fix(shared): preserve WSL config paths
  • c1852b5 test(windows): resolve fresh import paths
  • 649cdbc test(mock): restore top-level module mocks
  • 3044565 test(mock): handle Windows stack paths
  • cbab166 test(ci): run serialized root test script in CI
  • 63cae8c test(ci): serialize root test gate
  • a89acc6 test(ci): harden cross-platform root tests
  • fc63c71 test(windows): avoid platform-specific fixtures
  • d6eb87c fix(shared): preserve platform path semantics
  • 9655b61 test(prompts): normalize prompt line endings
  • e578c60 test(mock): preserve active mocks during cleanup
  • 1e3ec93 test(shared): avoid global mock restore in plugin loader tests
  • 000b19c test(shared): avoid fs mock in plugin loader tests
  • fc1cdc6 test(shared): isolate opencode plugin loader fixture
  • cd19bc2 test(codex): isolate component bin fixture
  • 0fad304 test(ralph-loop): pin message lookup prompt gate
  • f80529b test(hooks): refresh model and skill fixtures
  • 08e81b4 fix(atlas): normalize boulder session tracking
  • 2be0332 test(cleanup): isolate logger-backed cleanup checks
  • fc31da5 test(cli-run): isolate run command dependencies
  • 684273b test(doctor): isolate system config parsing
  • 8084447 test(codex): include marketplace cache script gate
  • 0af7a9f test(codex): relax Windows cleanup timeout
  • 6191adc test(todo): strengthen prompt gate cooldown checks
  • 5dc9997 test(prometheus): refresh prompt byte baselines
  • bf19197 fix(delegate): trust readable provider cache
  • 6042e04 test(config): isolate config dirs in oauth checks
  • 9c9c9f1 fix(hooks): preserve continuation prompt gate retries
  • 43d0950 test(background-agent): update parent wake no-reply expectations
  • e80a68e test(process-cleanup): prevent false-green runner exit
  • 4471560 test(tmux): align placeholder command assertions
  • 87ca96b test(mock): restore module mocks in cleanup tests
  • 0ce78fc Merge pull request #5014 from code-yeongyu/fix/visual-qa-mirror-test-dedup
  • 99cb77b Merge pull request #5013 from code-yeongyu/fix/package-test-slop-cleanup
  • 3585770 Merge pull request #5012 from code-yeongyu/fix/rules-distance-cleanup
  • 094160c test(omo-codex): skip generated visual qa mirror tests
  • 2281d5e test(utils): tighten helper assertions
  • 36f3143 test(prompts-core): narrow captured loader errors
  • 6f4a31b test(git-bash-mcp): assert MCP payload shapes
  • c848382 fix(rules-engine): remove defensive distance fallback
  • 45cffc2 Merge pull request #5011 from code-yeongyu/test/model-core-resolver-no-non-null-fresh-20260606
  • d755885 Merge pull request #5010 from code-yeongyu/cleanup/mock-module-lifecycle-allowlist
  • 3df08fc test(model-core): reuse narrowed resolver results
  • b53ad24 Merge pull request #5008 from code-yeongyu/cleanup/hashline-core-duplicate-tests
  • b1cb4a8 Merge pull request #5007 from code-yeongyu/test/remove-stale-gpt-fixture-audits
  • 92ebb80 Merge pull request #5006 from code-yeongyu/test/doctor-model-resolution-no-non-null
  • bb5f5ac test(model-core): narrow resolver test results
  • 16ab336 test(hashline): remove duplicate adapter tests
  • 13a6a59 test(migration): remove stale GPT audit fixture
  • 5fece28 test(runtime-fallback): remove stale GPT audit fixture
  • 1afbdec test(momus): remove stale GPT audit fixture
  • de24e17 test(doctor): remove model resolution non-null assertions
  • f42018f Merge pull request #5005 from code-yeongyu/cleanup/model-core-parse-suggestion-no-excuse-20260606
  • 91666e6 Merge pull request #5004 from code-yeongyu/cleanup/claude-code-hooks-catch-batch-20260606
  • 9f71b01 fix(model-core): preserve stringify fallback semantics
  • 4f6d70a Merge pull request #5003 from code-yeongyu/cleanup/rules-injector-catch-batch-20260606
  • eb0f117 Merge pull request #5002 from code-yeongyu/cleanup/ralph-loop-catch-batch-20260606
  • b409b82 model-core: tighten model suggestion parsing
  • f65f34b fix(claude-hooks): remove catch cleanup slop
  • 335c822 fix(claude-hooks): make http body fallback explicit
  • a3691a0 fix(claude-hooks): simplify transcript catch logging
  • 75b93f9 cleanup(ralph-loop): simplify best-effort catch shape
  • 1fac370 fix(rules-injector): remove no-excuse cache slop
  • 039715c cleanup(ralph-loop): clarify best-effort swallowing
  • 82c96dc Merge pull request #5001 from code-yeongyu/fix/team-mode-test-catch-batch
  • 62ca212 cleanup(ralph-loop): narrow best-effort catch handlers
  • 4eeb391 Merge pull request #5000 from code-yeongyu/fix/config-schema-test-catches
  • e72f767 test(team-mode): simplify paths chmod rejection assertion
  • a32598e test(team-mode): simplify tasklist rejection assertions
  • 877e9ae test(team-mode): simplify mailbox rejection assertions
  • 4679420 Merge pull request #4999 from code-yeongyu/cleanup/no-excuse-next2-20260606
  • 6d39b2a test(cli): remove unsafe run output assertions
  • 5cae193 Merge pull request #4998 from code-yeongyu/cleanup/no-excuse-next-20260606
  • a1bae0b Merge pull request #4997 from code-yeongyu/cleanup/ralph-loop-test-no-excuse-20260606
  • 74e8041 test(ralph-loop): remove unsafe state assertions
  • 7770ecb Merge pull request #4994 from code-yeongyu/test/delegate-task-tools-test-slop-20260606
  • 788d94a test(delegate-task): stabilize focused tools suite
  • b24c6d5 Merge pull request #4995 from code-yeongyu/cleanup/keyword-detector-index-test-non-null-20260606
  • ed21ec1 Merge pull request #4991 from code-yeongyu/test/keyword-ralph-loop-test-cleanup
  • 14ef04b test(keyword-detector): remove unsafe text part assertions
  • 6abe666 test(delegate-task): remove tools test slop
  • 0b524b7 test(keyword-detector): remove ralph loop non-null assertions
  • ea4837a Merge pull request #4989 from code-yeongyu/test/keyword-detector-text-helper
  • af75200 test(keyword-detector): narrow hyperplan text assertions
  • a666603 Merge pull request #4988 from code-yeongyu/fix/production-catch-narrowing
  • 27747b3 fix(hooks): narrow production catch fallbacks
  • 793dd03 Merge pull request #4987 from code-yeongyu/fix/final-catch-fallbacks
  • d53d9fa Merge remote-tracking branch 'origin/dev' into fix/final-catch-fallbacks
  • 7e9b35a fix(catches): narrow final fallback paths
  • d7bf754 Merge pull request #4986 from code-yeongyu/fix/claude-hooks-catch-fallbacks
  • e86d8c8 fix(claude-hooks): simplify fallback catches
  • 006e049 Merge pull request #4985 from code-yeongyu/cleanup/team-mode-catches-2
  • 33889ba Merge pull request #4984 from code-yeongyu/cleanup-loader-catches
  • 2a4a618 Merge pull request #4983 from code-yeongyu/fix/auto-update-checker-remaining-catches-20260606
  • a9ad2ec fix(claude-hooks): narrow compact todo fallbacks
  • 706dd6b fix(claude-hooks): narrow handler best-effort catches
  • 209802c fix(claude-hooks): narrow config fallback catches
  • f6fb86c fix(team-mode): preserve catch fallbacks
  • 91c081b fix(loader): narrow config fallback catches
  • b7a25b5 fix(auto-update): narrow catch fallbacks
  • 609e045 Merge pull request #4982 from code-yeongyu/fix/hook-catch-narrowing
  • 19094b4 test(hooks): avoid literal throws in fallback coverage
  • a4ee827 fix(hooks): preserve catch fallback semantics
  • d57d95d Merge pull request #4981 from code-yeongyu/fix/tools-catch-narrowing
  • 2071ba8 Merge pull request #4980 from code-yeongyu/fix/shared-claude-catch-cleanup-20260606
  • a4188db test(shared): preserve non-error kill fallback
  • 7425631 fix(ralph-loop): narrow catch fallbacks
  • 85aa34f fix(atlas): narrow hook catch fallbacks
  • 8c55fb0 delegate-task: narrow fallback catch paths
  • 19c0e81 skill: narrow native skill catch paths
  • b2ad4d8 interactive-bash: narrow caught tmux errors
  • 1be4295 fix(shared): narrow windows spawn kill fallback
  • 72e9762 Merge pull request #4979 from code-yeongyu/test/ulw-loop-steering-created-table
  • 42715c4 test(ulw-loop): table-drive steering-created goal cases
  • c7e4b41 Merge pull request #4978 from code-yeongyu/test/rules-tool-paths-table
  • a08da32 test(rules): table-drive single path extraction cases
  • 0af74ad Merge pull request #4977 from code-yeongyu/test/rules-context-pressure-table
  • 2c3e692 test(rules): table-drive context pressure recovery cases
  • 7b46ced Merge pull request #4976 from code-yeongyu/test/ulw-loop-cli-steering-table
  • 86202f3 test(ulw-loop): table-drive steering parser cases
  • df963d5 Merge pull request #4975 from code-yeongyu/test/utils-parser-pure-loc
  • 582f8af test(utils): reduce parser utility pure loc
  • 31fe548 Merge pull request #4974 from code-yeongyu/test/utils-parser-frontmatter-trim
  • 89e244d test(utils): table-drive parser utility coverage
  • e5ee375 Merge pull request #4973 from code-yeongyu/test/utils-deep-merge-trim
  • 91bfdf5 test(utils): table-drive deep merge coverage
  • 2291be6 Merge pull request #4972 from code-yeongyu/fix/isolated-catch-fallbacks
  • b864c31 fix(catches): preserve isolated fallbacks
  • f4934aa Merge pull request #4971 from code-yeongyu/fix/claude-loader-catch-fallbacks
  • e2d78b6 fix(claude-code): preserve loader fallbacks
  • cbdae7c Merge pull request #4970 from code-yeongyu/fix/cli-background-catch-fallbacks
  • 4cb7ee5 fix(catches): preserve cli background fallbacks
  • 68f22b5 Merge pull request #4968 from code-yeongyu/fix/preserve-catch-fallback-semantics
  • 3f2d23a fix(catches): preserve fallback semantics
  • 46f7262 refactor(lsp-tools-mcp): vendor package source
  • 45e802f Merge pull request #4965 from code-yeongyu/fix/shared-misc-catch-fallbacks
  • d9e32cf Merge pull request #4967 from code-yeongyu/fix/auto-update-hooks-catch-fallbacks
  • e3d843f Merge pull request #4966 from code-yeongyu/fix/team-mode-catch-fallbacks
  • c888008 fix(hooks): narrow utility catch fallbacks
  • 98de391 fix(team-mode): rethrow non-error catch fallbacks
  • a1c7f04 fix(hooks): rethrow non-error fallback failures
  • 40124e8 fix(openclaw): preserve non-error metadata parse failures
  • 273fe25 fix(shared): rethrow non-error prompt fallback failures
  • c96f526 Merge pull request #4964 from code-yeongyu/fix/cli-run-catch-fallbacks
  • d8aea17 Merge pull request #4960 from code-yeongyu/fix/cli-doctor-config-catch-fallbacks
  • 1f19201 fix(omo-codex): harden generated bug-fix PR workflow
  • c1001aa fix(cli-run): narrow catch fallbacks
  • 5dee02b Merge pull request #4959 from code-yeongyu/fix/hooks-recovery-catch-fallbacks
  • 6e89f63 test(cli): avoid async rejection matcher hints
  • 922f4fa Merge pull request #4958 from code-yeongyu/fix/mcp-oauth-catch-fallbacks
  • 41c8f7f test(doctor): cover invalid config fallback
  • a7d931f fix(doctor): narrow cli fallback catches
  • dec66fa fix(anthropic-recovery): narrow truncation catch
  • 8900f5f fix(anthropic-recovery): narrow message id catch
  • c1df242 fix(atlas): narrow recovery catch fallbacks
  • 413ec18 fix(atlas): narrow recent model fallback catch
  • 113ddde fix(runtime-fallback): narrow catch fallbacks
  • 1156d50 mcp-oauth: propagate non-error fallback failures
  • 484bfea skill-mcp: narrow grep filter regex catch
  • f56e1c3 mcp: narrow local command fallback catches
  • 7f0e8ab feat(omo-codex): add generated bug-fix contribution skill
  • ec9dfd7 docs: refresh AGENTS.md metadata and document install-codex subsystem
  • ced8f48 fix(hashline-edit): unwrap formatter config responses
  • 513fd20 test(hashline-edit): cover direct formatter config responses
  • cfd270f Merge pull request #4955 from code-yeongyu/fix/session-recovery-tool-result-empty-catches
  • eccec5d fix(session-recovery): narrow tool result fallbacks
  • 9370c93 fix(ralph-loop): narrow continuation prompt fallbacks
  • 22237a7 fix(auto-update): narrow cache invalidation fallbacks
  • cfee52e Merge pull request #4954 from code-yeongyu/fix/execute-hook-command-empty-catches
  • 2197421 fix(command-executor): narrow hook kill fallbacks
  • 00fdb1d Merge pull request #4953 from code-yeongyu/fix/system-loaded-version-empty-catches
  • 2bc98a5 fix(doctor): narrow loaded version fallbacks
  • 68d56f8 Merge pull request #4952 from code-yeongyu/fix/ralph-loop-storage-empty-catches
  • 4943052 fix(ralph-loop): narrow storage fallbacks
  • bbe8dbb Merge pull request #4951 from code-yeongyu/fix/opencode-version-empty-catches-2
  • 26c2232 fix(shared): narrow opencode version fallbacks
  • 7fecfb1 Merge pull request #4950 from code-yeongyu/fix/interactive-bash-storage-empty-catch
  • 312a73d fix(interactive-bash): narrow storage load catch
  • b37a8a5 Merge pull request #4949 from code-yeongyu/fix/interactive-bash-tracker-empty-catch
  • e2278d3 fix(interactive-bash): narrow tracker cleanup catch
  • 3bd82c1 Merge pull request #4948 from code-yeongyu/fix/legacy-plugin-auto-migrate-empty-catch
  • 1d8069c fix(legacy-plugin-toast): narrow auto migrate catch
  • b0f6bd7 Merge pull request #4947 from code-yeongyu/fix/read-image-dimensions-empty-catch
  • 602112d fix(read-image-resizer): narrow image dimension parser catch
  • 2a4d3ae Merge pull request #4946 from code-yeongyu/fix/session-recovery-resume-empty-catch
  • 7c00a7f fix(session-recovery): narrow resume catch
  • 15d67bf Merge pull request #4945 from code-yeongyu/fix/rules-transcript-hydration-empty-catch
  • 6285a32 fix(rules-injector): narrow transcript hydration catch
  • 06335cb Merge pull request #4944 from code-yeongyu/fix/rules-injection-processor-empty-catch
  • 0368b8c fix(rules-injector): narrow injection processor catch
  • 2f4d5a4 Merge pull request #4943 from code-yeongyu/fix/rules-parsed-cache-empty-catch
  • 11f9cb1 fix(rules-injector): narrow parsed cache catch
  • 916480a Merge pull request #4942 from code-yeongyu/fix/rules-injector-storage-empty-catch
  • 311178a fix(rules-injector): narrow storage fallback catch
  • bed4049 Merge pull request #4941 from code-yeongyu/fix/session-recovery-error-recovery-empty-catches
  • 0ab6f18 fix(session-recovery): log recovery fallback catches
  • 0138ce0 Merge pull request #4940 from code-yeongyu/fix/session-recovery-text-part-injector-empty-catch
  • b01b500 fix(session-recovery): narrow text part injection catches
  • b6c8f44 Merge pull request #4939 from code-yeongyu/fix/session-recovery-thinking-strip-empty-catch
  • b19c0e7 fix(session-recovery): make thinking strip fallback explicit
  • 1b6e509 Merge pull request #4938 from code-yeongyu/fix/tool-output-truncator-empty-catch
  • 9c5cd6c fix(hooks): make tool truncation fallback explicit
  • b815c0f Merge pull request #4937 from code-yeongyu/fix/openclaw-gateway-url-empty-catch
  • 0877409 fix(openclaw): make gateway url fallback explicit
  • 6fadb51 Merge pull request #4936 from code-yeongyu/fix/single-config-loader-empty-catch
  • f0b9c4d fix(plugin-config): make git master override fallback explicit
  • cdbfd0d Merge pull request #4935 from code-yeongyu/fix/chat-headers-empty-catch
  • cd8e82c fix(plugin): make chat header lookup fallback explicit
  • 8ae37d0 Merge pull request #4934 from code-yeongyu/fix/event-error-utils-empty-catch
  • 1e6f570 fix(plugin): make event error stringify fallback explicit
  • 9fe99b7 Merge pull request #4933 from code-yeongyu/fix/bun-which-shim-empty-catch
  • 6e1f40e fix(shared): make bun which fallback explicit
  • 08bf91e Merge pull request #4932 from code-yeongyu/fix/data-path-empty-catch
  • 6cbeb11 fix(shared): make data path fallback explicit
  • 56e5756 Merge pull request #4931 from code-yeongyu/fix/legacy-plugin-warning-empty-catch
  • ce9d381 fix(shared): make legacy plugin warning fallback explicit
  • 13bd62c Merge pull request #4930 from code-yeongyu/fix/load-opencode-plugins-empty-catch
  • 7449247 fix(shared): make opencode plugin config fallback explicit
  • 7ba9f5d Merge pull request #4929 from code-yeongyu/fix/opencode-provider-auth-empty-catch
  • 4391cb2 fix(shared): make provider auth stat fallback explicit
  • 830d93c Merge pull request #4928 from code-yeongyu/fix/model-resolution-cache-empty-catches
  • ca62660 fix(doctor): make model cache fallbacks explicit
  • 94c7ae6 Merge pull request #4927 from code-yeongyu/fix/model-resolution-config-empty-catches
  • 5205fdf fix(doctor): make model config fallbacks explicit
  • 21b6fa2 Merge pull request #4926 from code-yeongyu/fix/system-binary-empty-catches
  • 68c30b5 fix(doctor): make binary lookup fallbacks explicit
  • 9e28bf5 Merge pull request #4925 from code-yeongyu/fix/background-compaction-resolver-empty-catches
  • 6c8dff1 fix(background-agent): make compaction resolver fallbacks explicit
  • 7757697 Merge pull request #4924 from code-yeongyu/fix/run-continuation-storage-empty-catches
  • df555b1 fix(run-continuation): make marker storage fallbacks explicit
  • 90fc878 Merge pull request #4923 from code-yeongyu/fix/skill-mcp-cleanup-empty-catches
  • 82528b8 fix(skill-mcp): make cleanup close fallbacks explicit
  • 56e13d2 Merge pull request #4922 from code-yeongyu/fix/execute-http-hook-empty-catches
  • 5072d8b fix(claude-code-hooks): make http hook fallbacks explicit
  • 269da98 Merge pull request #4921 from code-yeongyu/fix/compaction-marker-empty-catches
  • b515b95 fix(shared): make compaction marker fallbacks explicit
  • 00f8754 Merge pull request #4920 from code-yeongyu/fix/prompt-idle-dispatch-empty-catch
  • a4f2565 fix(shared): make prompt gate status fallback explicit
  • e3b9298 Merge pull request #4919 from code-yeongyu/fix/ripgrep-cli-empty-catch
  • 226f6f3 fix(shared): make ripgrep probe fallback explicit
  • b00e361 Merge pull request #4918 from code-yeongyu/fix/session-idle-settle-empty-catch
  • a086fb3 fix(shared): make session status fallback explicit
  • 2aca0ef Merge pull request #4917 from code-yeongyu/fix/session-injected-paths-empty-catch
  • 9331791 fix(shared): make injected path storage fallback explicit
  • bab702a Merge pull request #4916 from code-yeongyu/fix/module-mock-lifecycle-empty-catch
  • 1a18666 fix(testing): make module mock fallback catches explicit
  • c1b3e19 Merge pull request #4915 from code-yeongyu/fix/glob-mtime-empty-catch
  • 7f9ee49 fix(glob): make mtime fallback explicit
  • aca136b Merge pull request #4914 from code-yeongyu/fix/look-at-mime-empty-catch
  • 825cc8f fix(look-at): make mime fallback explicit
  • 99e915d Merge pull request #4913 from code-yeongyu/fix/slashcommand-discovery-empty-catch
  • faa6f32 fix(slashcommand): make command discovery fallback explicit
  • 1a771ef Merge pull request #4912 from code-yeongyu/fix/anthropic-message-builder-empty-catch
  • f1aac6f fix(anthropic-recovery): make message fallbacks explicit
  • df24bef Merge pull request #4911 from code-yeongyu/fix/cli-run-event-formatting-empty-catch
  • 2bf1b9b fix(cli-run): make event formatting fallbacks explicit
  • 307dbf1 Merge pull request #4910 from code-yeongyu/fix/doctor-gh-empty-catches
  • 5a2c5dd fix(doctor): make gh check fallbacks explicit
  • 9244237 Merge pull request #4909 from code-yeongyu/fix/agent-resolve-file-uri-empty-catches
  • aa2b188 fix(agents): make file uri fallbacks explicit
  • d5e392d Merge pull request #4908 from code-yeongyu/fix/opencode-skill-mcp-config-empty-catches
  • bfe7976 fix(skills): make mcp config fallbacks explicit
  • fb78d80 Merge pull request #4907 from code-yeongyu/fix/skill-mcp-connection-cleanup-fallbacks
  • 80c0280 fix(skill-mcp): make connection cleanup fallbacks explicit
  • b9fcbe6 Merge pull request #4906 from code-yeongyu/fix/skill-mcp-http-client-url-fallbacks
  • 9001e06 fix(skill-mcp): make http url fallbacks explicit
  • f56976e Merge pull request #4905 from code-yeongyu/fix/team-state-locks-empty-catches
  • 18d2d4e fix(team-mode): make state lock fallbacks explicit
  • 6ad4c88 Merge pull request #4903 from code-yeongyu/fix/team-worktree-cleanup-empty-catches
  • b03cbaa fix(team-mode): make worktree cleanup fallbacks explicit
  • c82799b Merge pull request #4901 from code-yeongyu/fix/empty-content-sdk-empty-catches
  • edd9877 fix(context-recovery): make empty content sdk fallbacks explicit
  • 4c955f6 Merge pull request #4900 from code-yeongyu/fix/pruning-dedup-empty-catches
  • 261d36c fix(context-recovery): make pruning dedup fallbacks explicit
  • 2051b16 Merge pull request #4899 from code-yeongyu/fix/pruning-tool-output-empty-catches
  • 6027a13 fix(context-recovery): make tool output pruning fallbacks explicit
  • 2f98811 Merge pull request #4898 from code-yeongyu/fix/tool-result-storage-empty-catches
  • f7aedb1 fix(context-recovery): make tool result sdk fallbacks explicit
  • bb8f3be Merge pull request #4897 from code-yeongyu/fix/local-dev-path-empty-catches
  • 5318aca fix(auto-update): make local dev fallbacks explicit
  • 9f03437 Merge pull request #4896 from code-yeongyu/fix/package-json-locator-empty-catches
  • ff3b866 fix(auto-update): make package locator fallbacks explicit
  • 6882275 Merge pull request #4895 from code-yeongyu/fix/ralph-completion-detector-empty-catches
  • 7f36ab6 fix(ralph-loop): make completion detector fallbacks explicit
  • d066779 Merge pull request #4893 from code-yeongyu/fix/post-tool-use-empty-catches
  • 714b096 fix(claude-hooks): make post tool fallbacks explicit
  • 1d7b9ed Merge pull request #4892 from code-yeongyu/fix/hashline-diff-enhancer-empty-catches
  • 96aaf2b fix(hashline): make diff enhancer fallbacks explicit
  • cb53232 Merge pull request #4891 from code-yeongyu/fix/session-notification-content-empty-catches
  • 55476b9 fix(hooks): make session notification fallbacks explicit
  • ed054ba Merge pull request #4890 from code-yeongyu/fix/session-recovery-thinking-order-empty-catches
  • 1187bc6 fix(session-recovery): make thinking order fallbacks explicit
  • caa5a48 Merge pull request #4889 from code-yeongyu/fix/session-recovery-unavailable-tool-empty-catches
  • 42c0a3f fix(session-recovery): make unavailable tool fallbacks explicit
  • b3ebad9 Merge pull request #4888 from code-yeongyu/fix/session-recovery-empty-text-empty-catches
  • 992c855 fix(session-recovery): make empty text fallbacks explicit
  • 3a38bc6 Merge pull request #4887 from code-yeongyu/fix/session-recovery-messages-reader-empty-catches
  • 6b8da0f fix(session-recovery): make message reader fallbacks explicit
  • b3e0925 Merge pull request #4885 from code-yeongyu/fix/session-recovery-parts-reader-empty-catches
  • c1f8352 fix(session-recovery): make parts reader fallbacks explicit
  • 1ab08a7 Merge pull request #4884 from code-yeongyu/fix/start-work-worktree-detector-empty-catches
  • e0b6751 fix(start-work): make worktree detector fallbacks explicit
  • 6e29784 Merge pull request #4883 from code-yeongyu/fix/git-diff-stats-empty-catches
  • 09d71c9 fix(git-worktree): make diff stat fallbacks explicit
  • fb8fd3b Merge pull request #4881 from code-yeongyu/fix/config-migration-empty-catches
  • 39dbc7b fix(migration): make config migration catches explicit
  • c53c07f Merge pull request #4880 from code-yeongyu/fix/posthog-empty-catches
  • 21c13f9 fix(telemetry): make posthog fallbacks explicit
  • e1f0432 Merge pull request #4878 from code-yeongyu/fix/project-discovery-empty-catches
  • c4ff9c7 fix(shared): make project discovery fallbacks explicit
  • 91e0599 Merge pull request #4877 from code-yeongyu/fix/grep-downloader-empty-catches
  • c344420 fix(grep): make downloader fallbacks explicit
  • 43e4cd6 Merge pull request #4876 from code-yeongyu/fix/doctor-team-mode-empty-catches
  • 0145ad6 fix(doctor): make team mode fallbacks explicit
  • 6011631 Merge pull request #4875 from code-yeongyu/fix/hook-message-json-lookup-empty-catches
  • 4c9e066 fix(hook-message): make json lookup fallbacks explicit
  • c20d095 Merge pull request #4873 from code-yeongyu/fix/skill-mcp-stdio-empty-catches
  • b53bd48 fix(skill-mcp): make stdio cleanup fallbacks explicit
  • 6212bf7 Merge pull request #4872 from code-yeongyu/fix/anthropic-tool-result-storage-empty-catches
  • 65d328b fix(context-recovery): make tool result storage fallbacks explicit
  • b24329e Merge pull request #4871 from code-yeongyu/fix/thinking-prepend-empty-catches
  • a6acdc5 fix(visual-qa): catch awkward CJK line breaks
  • db4d479 fix(session-recovery): make thinking prepend fallbacks explicit
  • d7fcdf8 Merge remote-tracking branch 'origin/dev' into dev
  • 862e4c9 fix(sparkshell): detect appserver env for guidance
  • 2260e8b Merge pull request #4870 from code-yeongyu/fix/logger-empty-catches
  • e9e45ff fix(shared): make logger fallbacks explicit
  • ec0a10f Merge pull request #4868 from code-yeongyu/fix/doctor-dependencies-empty-catches
  • e581d71 Merge branch 'dev' into fix/doctor-dependencies-empty-catches
  • ed75f3d Merge pull request #4869 from code-yeongyu/fix/codex-install-local-wrapper-path-test
  • a56511d test(codex): match escaped local wrapper paths
  • d1c7283 fix(doctor): make dependency fallbacks explicit
  • cab8ea4 Merge pull request #4866 from code-yeongyu/fix/mcp-oauth-storage-empty-catches
  • ace9d1c Merge remote-tracking branch 'origin/dev' into dev
  • 3de7fb3 fix(omo-codex): prefer sparkshell in guidance
  • 3c49e69 fix(mcp-oauth): make storage fallbacks explicit
  • 650b0a1 Merge pull request #4865 from code-yeongyu/fix/session-recovery-detect-error-empty-catches
  • 939aa33 fix(omo-codex): install runtime omo wrapper
  • d9d5aba fix(session-recovery): make error detection fallbacks explicit
  • ba77c74 Merge pull request #4864 from code-yeongyu/fix/openclaw-tmux-empty-catches
  • 7cb2987 fix(openclaw): make tmux fallbacks explicit
  • 8f25af3 Merge pull request #4862 from code-yeongyu/fix/claude-tasks-storage-empty-catches
  • 1b86cef fix(claude-tasks): make storage fallbacks explicit
  • 968a621 Merge pull request #4861 from code-yeongyu/fix/skill-mcp-oauth-handler-empty-catches
  • bfbb2b7 fix(skill-mcp): make oauth fallbacks explicit
  • 5c1d265 fix(omo-codex): inline hephaestus static context
  • ae58bf4 Merge pull request #4860 from code-yeongyu/fix/atlas-session-last-agent-empty-catches
  • 73ccb15 fix(atlas): make last-agent fallbacks explicit
  • 7c25265 Merge pull request #4859 from code-yeongyu/fix/skill-tools-empty-catches
  • 6a75152 fix(skill): make native skill fallback catches explicit
  • 047b820 Merge pull request #4858 from code-yeongyu/fix/delegate-task-empty-catches
  • 835dfbc Merge remote-tracking branch 'origin/dev' into dev
  • 09c492e fix(delegate-task): make fallback catches explicit
  • a2abb27 chore(omo-codex): unset fast tier for planners
  • cd74f03 Merge pull request #4857 from code-yeongyu/fix/interactive-bash-empty-catches
  • f4c08d0 fix(interactive-bash): make fallback catches explicit
  • 03022b6 Merge pull request #4855 from code-yeongyu/fix/openclaw-reply-listener-empty-catches
  • b24027b fix(openclaw): make reply listener fallbacks explicit
  • c2a5627 Merge pull request #4854 from code-yeongyu/fix/session-file-storage-empty-catches
  • bced213 fix(session-manager): make file storage fallbacks explicit
  • 1823c9b Merge pull request #4852 from code-yeongyu/fix/skill-mcp-cleanup-header-redaction
  • 0e144a0 fix(skill-mcp): redact single-quoted cleanup headers
  • 7535fe5 fix(skill-mcp): redact quoted cleanup header values
  • 6193512 fix(skill-mcp): preserve quoted redacted header text
  • e4be8e0 fix(skill-mcp): redact sensitive cleanup headers
  • ca18885 Merge pull request #4849 from code-yeongyu/fix/anthropic-parser-json-shape-preserve
  • 2caaddc Merge pull request #4848 from code-yeongyu/fix/skill-mcp-http-cleanup-log-redaction
  • 9685c4c fix(skill-mcp): redact authorization equals values
  • 1eb4f2a fix(skill-mcp): redact authorization cleanup values
  • 5830b21 fix(skill-mcp): bound HTTP cleanup URL redaction
  • 6bfd394 fix(skill-mcp): redact HTTP connect failure reasons
  • 593ebd3 Merge pull request #4847 from code-yeongyu/cleanup/messages-transform-facade
  • 8ddeff2 fix(parser): preserve nested anthropic error payloads
  • ff5f7b7 fix: redact HTTP MCP cleanup log errors
  • 5d596ec Merge PR #4842: refactor: remove orphan dead-code helpers
  • b05f62d Merge PR #4841: refactor(skill-loader): remove dead worker discovery
  • 3ce4a00 Merge PR #4840: chore(session-recovery): remove sdk dead code
  • 8258935 Merge PR #4839: test(omo-codex): fold package migration checks
  • e77c411 Merge PR #4838: test(src): remove duplicate cleanup tests
  • d692454 Merge PR #4837: Remove dead background-agent route state modules
  • 84ec553 Merge PR #4846: fix(skill-mcp): remove http-client empty catch
  • 1421895 Merge PR #4845: fix(parser): remove anthropic token parser empty catch
  • 7c5e570 Merge PR #4844: refactor(codex): split config TOML facade
  • 27ee0e0 Merge PR #4843: refactor(team-mode): split live delivery facade
  • 388c65e refactor(plugin): sequence messages transform hooks
  • a89ba37 fix: make HTTP MCP cleanup ignores explicit
  • d87e8bc fix(parser): remove anthropic token parser empty catch
  • 09109fb refactor(codex): split config TOML facade
  • 4736ec8 test(codex): pin config TOML edge behavior
  • 61a2bd9 Merge PR #4827: refactor(codex-comment-checker): split core facade
  • 4418c73 Merge PR #4825: test(rules-injector): pin injector facade exports
  • fe038f4 Merge PR #4823: test(builtin-skills): pin playwright facade contract
  • 5aeb642 refactor(team-mode): split live delivery facade
  • 4ab2757 refactor(runtime): remove orphan small helpers
  • 7177fdf refactor(ast-grep-mcp): remove core reexport shims
  • 1392f2d refactor(prometheus): remove stale variant loaders
  • 3ee418b refactor(features): remove orphan task oauth helpers
  • d841c63 refactor(shared): remove orphan helper modules
  • 436ae6e docs: update skill loader inventory
  • 69fd42f refactor: remove worker skill loader path
  • 02c63f2 chore(session-recovery): remove sdk empty-content dead code
  • 2cef765 test(omo-codex): fold package migration checks into aggregate tests
  • b8edae1 test(runtime-fallback): drop duplicate quota matrix cases
  • 0e776e4 test(src): remove redundant tool registration tests
  • 61e0286 Remove dead background-agent route state modules
  • ce99b58 test(call-omo-agent): remove duplicate background executor coverage
  • a7e500e Merge pull request #4824 from code-yeongyu/refactor/team-state-resume-facade-split
  • c56bc41 fix(codex-comment-checker): preserve mutable core types
  • 5a11764 Merge pull request #4828 from code-yeongyu/pr/hook-message-injector-facade-split2
  • 7524fd6 Merge pull request #4822 from code-yeongyu/refactor/session-notification-sender-facade-v2
  • 74dcf30 Merge remote-tracking branch 'origin/dev' into refactor/codex-comment-checker-core-split
  • 298c5e8 Merge pull request #4826 from code-yeongyu/refactor/delegate-sync-task-split
  • 4e37340 @romanalexander has signed the CLA in #4829
  • f8384a3 Merge pull request #4821 from code-yeongyu/pr/tool-pair-validator-facade-split-v2
  • ec6c69e refactor(rules-injector): extract match reason resolver
  • 536b2bc refactor(codex-comment-checker): make core a facade
  • 8debf73 refactor(codex-comment-checker): extract request parsing
  • dff7450 refactor: split hook injector SDK context lookup
  • 878785a refactor(delegate-task): split sync task runner
  • b6d982c refactor(codex-comment-checker): extract core contracts
  • 7ab432e refactor(session-notification): make sender a pure facade
  • 14274a0 test(codex-comment-checker): pin core extraction behavior
  • 501e6da test(rules-injector): pin injector facade exports
  • fce8523 test(builtin-skills): pin playwright facade contract
  • 040b882 refactor(team-mode): split resume facade orchestration
  • ce02491 refactor(team-mode): extract resume lifecycle cleanup
  • 7b9bf2b refactor(team-mode): extract worker resume status helpers
  • 267bc41 test(team-mode): characterize resume recovery branches
  • a800ec6 test(session-notification): pin Desktop execFile fallback
  • 45e50a5 refactor(tool-pair-validator): split message transform facade
  • e784e92 Merge pull request #4819 from code-yeongyu/refactor/background-spawner-split-audit
  • c121d46 Merge pull request #4814 from code-yeongyu/refactor/subagent-resolver-split-prdelegate
  • fe66a5c Merge pull request #4813 from code-yeongyu/code-yeongyu/fix-context-window-parser-empty-catch
  • 53e68e1 Merge pull request #4816 from code-yeongyu/fix/directory-readme-injector-empty-catch
  • d2ca8dd fix subagent junior preflight normalization
  • 6fd7293 Merge pull request #4818 from code-yeongyu/fix/image-converter-cleanup-catch
  • 5bc6309 Merge pull request #4815 from code-yeongyu/fix/openclaw-dispatcher-empty-catch
  • 7b7ea1a fix directory readme injector test assertion
  • 5baef54 Merge pull request #4812 from code-yeongyu/cleanup/packages-wave2-test-prune
  • 7352441 refactor(background-agent): split spawner helper builders
  • 69c812d test(background-agent): characterize spawner fallback helpers
  • 22e6037 refine context parser JSON fallback
  • 7824bec fix look-at image cleanup error handling
  • 1ef6b0a fix: log skipped directory README injection failures
  • 2112a50 fix: make openclaw command cleanup explicit
  • 110025a refactor delegate subagent resolver split
  • 91714c4 test characterize subagent object models
  • 189dca2 fix context window parser stringify fallback
  • 2b2df7d test(hashline-core): prune duplicate dedupe smoke assertion
  • abff02e Merge pull request #4810 from code-yeongyu/refactor/modelcore-unused-test-imports
  • 736a700 model-core: remove unused test type imports
  • 3e6adab Merge pull request #4782 from code-yeongyu/refactor/runtime-fallback-auto-retry-facade
  • 8b5e785 Merge branch 'dev' into refactor/runtime-fallback-auto-retry-facade
  • 68b23d0 Merge pull request #4806 from code-yeongyu/pr/sisyphus-dynamic-prompt-split
  • c1756b3 fix: address sisyphus prompt review nits
  • 577ecae Merge pull request #4805 from code-yeongyu/pr/tool-pair-validator-facade-split
  • 8ec92b3 refactor: split sisyphus dynamic prompt facade
  • 1c47175 refactor: split tool pair validator facade
  • fcc0cb0 Merge pull request #4804 from code-yeongyu/pr-session-notification-sender-split
  • ba8080b Merge pull request #4803 from code-yeongyu/refactor/team-state-resume-split
  • 79a9094 Merge pull request #4800 from code-yeongyu/feature/install-codex-cache-split
  • 8cd6020 Merge remote-tracking branch 'origin/dev' into pr-session-notification-sender-split
  • 85d5487 refactor: split session notification sender facade
  • e7f170b Merge pull request #4797 from code-yeongyu/refactor/team-lifecycle-facade-split
  • 8dfff41 refactor: split team resume facade
  • 25ee6c8 fix: dedupe Codex cache prune reads
  • 5da7ce1 Merge pull request #4796 from code-yeongyu/refactor/session-recovery-hook-split
  • 7890f33 fix(team-mode): preserve lifecycle caller identity
  • d1ba6c5 fix: harden Codex cache install boundaries
  • 6d360fe Merge pull request #4793 from code-yeongyu/code-yeongyu/refactor-claude-plugin-discovery-split
  • df38c58 fix(session-recovery): normalize recovery messages
  • f9ab899 Merge pull request #4795 from code-yeongyu/feature/src-cli-run-event-handlers-split
  • 0657d3c Merge pull request #4798 from code-yeongyu/refactor/read-image-resizer-facade-split
  • ddc89dd fix: guard malformed Claude plugin settings
  • 9ccf787 Merge pull request #4799 from code-yeongyu/feature/src-dynamic-truncator-split
  • 7e26fed Merge pull request #4791 from code-yeongyu/refactor/openclaw-reply-listener-split
  • bff3030 fix: reject unsupported PNG fallback metadata
  • 66799d6 Merge pull request #4794 from code-yeongyu/code-yeongyu/refactor-plugin-chat-message-split
  • 9081507 style: trim dynamic truncator whitespace
  • e61c50a fix(openclaw): wait for reply listener pid exit
  • dcda62b Refactor Codex cache facade
  • 9d1c3f3 refactor: split dynamic truncator facade
  • 04a1d86 refactor: split PNG fallback resizer facade
  • 853c200 Refactor team lifecycle tool facade
  • 125e9f6 refactor(session-recovery): split recovery hook facade
  • 491d609 Merge pull request #4783 from code-yeongyu/feature/openclaw-session-registry-split
  • 8feb6b4 Merge pull request #4792 from code-yeongyu/feature/rules-injector-split
  • 7db6fb2 fix(openclaw): harden reply listener daemon lifecycle
  • cf2f3b4 fix: persist hydrated rule cache skips
  • 20a01ff fix: avoid evicting rule cache entries on update
  • 05f3b8a Merge remote-tracking branch 'origin/dev' into feature/src-cli-run-event-handlers-split
  • dcbe169 Merge remote-tracking branch 'origin/dev' into code-yeongyu/refactor-plugin-chat-message-split
  • a1ee38c Merge pull request #4784 from code-yeongyu/refactor/playwright-skill-facade-split
  • ce9d798 Merge remote-tracking branch 'origin/dev' into feature/src-cli-run-event-handlers-split
  • e527422 refactor: keep Claude plugin discovery facade
  • 80a74cd refactor: extract Claude plugin discovery helpers
  • 0b8f348 Merge remote-tracking branch 'origin/dev' into code-yeongyu/refactor-plugin-chat-message-split
  • 5b86856 fix(openclaw): cache session registry paths
  • 9db838f Merge branch 'dev' into refactor/playwright-skill-facade-split
  • c4d30ef Merge branch 'dev' into feature/openclaw-session-registry-split
  • a14478d Merge pull request #4790 from code-yeongyu/code-yeongyu/fix-codex-ultraresearch-tool-compat
  • 9ecf40a refactor(plugin): split chat message facade
  • 2c57e62 test(plugin): characterize chat message ordering
  • dc51611 test(cli-run): split event handler specs by concern
  • 50b895c refactor: split rules injector processor facade
  • af8c3f2 fix(codex): dedupe tool compatibility guidance
  • 0e9d954 refactor(cli-run): split event handlers by concern
  • 70aef5d refactor(openclaw): split reply listener facade
  • 7464002 test(openclaw): avoid reply listener fixture assertions
  • 9952352 test(cli-run): characterize event handler facade
  • c5b2916 test(openclaw): characterize reply listener lifecycle
  • 4b70f2c Merge pull request #4789 from code-yeongyu/code-yeongyu/fix-ulw-loop-continue-state
  • a50c4ee fix(omo-codex): move ultraresearch codex guidance before examples
  • 851d8b7 Merge remote-tracking branch 'origin/dev' into code-yeongyu/fix-ulw-loop-continue-state
  • 8d35936 fix(ralph-loop): resume existing loop on continue
  • abbeffc fix(builtin-skills): handle CRLF agent-browser frontmatter
  • d571447 Merge pull request #4781 from code-yeongyu/code-yeongyu/refactor-hook-message-injector-split
  • e6ac8eb Merge pull request #4788 from code-yeongyu/code-yeongyu/lazycodex-open-issues
  • 6899d66 test(openclaw): avoid cached registry path coupling
  • 2bf1e54 Merge pull request #4786 from code-yeongyu/code-yeongyu/refactor-atlas-tool-after-split
  • 84cd060 fix: refresh runtime fallback abort marker ttl
  • 0348331 feat(skills): add ultraresearch maximum-saturation research skill
  • 94c1cc6 Merge pull request #4785 from code-yeongyu/refactor/split-git-master-commit-workflow
  • c28664d refactor(atlas): narrow plan task read errors
  • cd73cab fix(omo-codex): migrate reviewer defaults
  • e614cef fix: clear stale runtime fallback abort markers
  • 2691f96 test(builtin-skills): clarify agent-browser template contract
  • 68233b4 style(builtin-skills): trim commit workflow section whitespace
  • 3c2776c Merge pull request #4778 from code-yeongyu/refactor/plugin-config-split-v2
  • 0044097 refactor(atlas): split post-tool subagent completion
  • c9bb816 refactor(atlas): extract post-tool direct work handling
  • dbc206a refactor(atlas): extract post-tool plan task parsing
  • 65c013d refactor(builtin-skills): split playwright facade
  • ade5eee fix(review-work): bound inconclusive review lanes
  • 92ed517 refactor(builtin-skills): split git master commit workflow
  • 0e2623e fix(ulw-loop): guide fresh runs after completed state
  • 61743f3 fix(omo-codex): bound ultrawork reviewer silence
  • 3950954 test(builtin-skills): pin git master commit workflow order
  • a35a59e refactor(openclaw): keep session registry facade
  • a7f0ba7 refactor(openclaw): extract session registry internals
  • b22acf0 test(openclaw): cover session registry persistence
  • 420329b refactor: split runtime fallback auto retry facade
  • cc79aa8 fix: harden hook injector storage edges
  • 4875935 Harden partial plugin config salvage
  • e2bbe47 Merge pull request #4779 from code-yeongyu/refactor/delegate-sync-task-split-codex
  • 1ac16b0 Merge pull request #4775 from code-yeongyu/refactor/tool-registry-split
  • c96c585 Merge pull request #4780 from code-yeongyu/refactor/agent-config-handler-split
  • 7c12a19 refactor(delegate-task): split sync task executor
  • a597186 Fix plugin config split regressions
  • 2d57246 refactor: split hook message injector facade
  • 7871986 fix(plugin): harden agent config finalizer
  • edb2397 Merge pull request #4777 from code-yeongyu/refactor/split-refactor-template
  • edf5cfc Merge pull request #4776 from code-yeongyu/pr/background-parent-wake-notifier-split
  • 796cd51 fix: preserve tool registry order
  • b1627e6 Merge pull request #4774 from code-yeongyu/code-yeongyu/refactor-team-mode-messaging-split
  • 12f49a1 style(builtin-commands): encode preserved template spaces
  • 7bf13c3 refactor(plugin): split agent config handler facade
  • 5ba0fa7 refactor(plugin): extract agent config assembly
  • 25f9878 refactor(plugin): extract agent config finalizer
  • 77d527c refactor(plugin): extract agent source loader
  • f784203 refactor(plugin): extract agent skill discovery
  • af70773 refactor(plugin): extract agent config types
  • b4fa4f4 test(plugin): characterize agent source precedence
  • 28a3e43 Split plugin config facade
  • ce8f744 refactor(builtin-commands): split refactor template sections
  • 915a311 test(builtin-commands): pin refactor template sections
  • 384b2c5 Refactor parent wake notifier flush flow
  • 73d88e6 refactor: wire tool registry facade
  • 3127ddc refactor: extract tool registry builders
  • 039af42 refactor(team-mode): split messaging live delivery
  • 55adce9 test(team-mode): pin message metadata persistence
  • fc482ea Merge pull request #4767 from code-yeongyu/code-yeongyu/start-work-context-builder-split
  • 94930d5 Merge pull request #4771 from code-yeongyu/code-yeongyu/refactor-ralph-loop-handler-split
  • 26aa58a Merge remote-tracking branch 'origin/code-yeongyu/start-work-context-builder-split' into code-yeongyu/start-work-context-builder-split
  • 98f5ece fix(start-work): preserve active work selection
  • 4b7686f Merge branch 'dev' into code-yeongyu/refactor-ralph-loop-handler-split
  • d2d9f8a Merge pull request #4769 from code-yeongyu/refactor/plugin-event-facade-split
  • 4c14d3b Merge pull request #4768 from code-yeongyu/refactor/atlas-idle-event-split
  • 06777c8 Fix Ralph loop activity handling
  • 697ddff fix(plugin): address event split review findings
  • 298f5ad fix: prefer atlas session work on completion
  • 9e7bf18 Merge remote-tracking branch 'origin/dev' into dev
  • 8815402 Merge pull request #4770 from code-yeongyu/feature/sisyphus-agent-facade-split
  • 2783870 fix(script): cover script typecheck
  • 4876ebd fix: harden atlas idle retry handling
  • 97a4800 Merge branch 'dev' into code-yeongyu/refactor-ralph-loop-handler-split
  • 896c684 Merge branch 'dev' into feature/sisyphus-agent-facade-split
  • aab3983 Merge branch 'dev' into code-yeongyu/start-work-context-builder-split
  • 4a5f7db Merge pull request #4772 from code-yeongyu/fix/codex-lsp-bin-submodule
  • 92b77cd Add Ralph loop event handler router
  • 7a19f0a fix(codex): bump lsp mcp bin metadata
  • e044342 Split Ralph loop event handler
  • e1ca67b refactor: split sisyphus agent facade
  • 3540f42 refactor: extract sisyphus agent config builder
  • 5eae9f0 refactor(plugin): split event facade
  • 653a4e3 style: format atlas idle imports
  • 17c5963 Merge remote-tracking branch 'origin/dev' into dev
  • 56ae031 fix(codex): resolve Windows installer shims
  • 93cb6fd refactor(start-work): split context info builder
  • 35ddf9f Merge pull request #4765 from code-yeongyu/code-yeongyu/codex-rules-parser-split
  • cd20185 Merge pull request #4764 from code-yeongyu/codex/migrate-config-split
  • 65715d1 chore(codex): bump lsp tools mcp
  • dc92880 fix(codex-rules): preserve quoted comma globs
  • 5a28619 fix(codex): preserve scoped config migration state
  • dec35ec Merge pull request #4763 from code-yeongyu/code-yeongyu/fix-lazycodex-windows-cache
  • d6ed380 fix(codex): restore cache on promotion failure
  • c5616fb Merge pull request #4766 from code-yeongyu/codex/ulw-loop-split-types
  • 6c48a98 fix(codex): invoke Windows npm shims through cmd
  • 67d9756 refactor(ulw-loop): keep types facade stable
  • 861d593 refactor(ulw-loop): extract plan and steering records
  • 4814119 refactor(ulw-loop): extract core type constants
  • 1fdaec8 refactor(codex-rules): split parser helpers
  • c7cd602 refactor(codex): split config migration helpers
  • 93282ea test(bin): isolate lazycodex wrapper env
  • b5b4dd2 fix(codex): resolve Windows npm shims
  • 7abf730 fix(codex): stage plugin cache installs
  • 7dc9c17 Merge pull request #4762 from code-yeongyu/refactor/codex-auto-update-state-split
  • b2c873b refactor(codex): split auto update state helpers
  • 1ea3d4e chore(codex): move GPT presets to 5.5
  • 6b45890 Merge pull request #4527 from Tinycute00/fix/windows-rg-crlf-resolver-4512
  • 290c4fb Merge pull request #4430 from PeterPonyu/fix/team-subagent-tracking-overlap
  • 4b0d4f6 Merge pull request #4761 from code-yeongyu/refactor/codex-comment-checker-core-split
  • 9f18a01 refactor(codex-comment-checker): split apply patch extraction
  • 9653632 Merge pull request #4760 from code-yeongyu/refactor/codex-rules-engine-split
  • 1a6b87e refactor(codex-rules): split rules engine loader
  • ce18db8 Merge branch 'dev' of https://github.com/code-yeongyu/oh-my-openagent into dev
  • 4c0fabb Merge pull request #4759 from code-yeongyu/refactor/model-core-requirements-split
  • 41ff478 Merge branch 'dev' of https://github.com/code-yeongyu/oh-my-openagent into dev
  • 7f9bce6 feat(omo-codex): drive ultrawork/ulw-loop via update_plan, ultra-frequent notepads, and sparkshell-led discovery
  • 528d528 refactor(model-core): split model requirement data
  • 1d688ab Merge pull request #4758 from code-yeongyu/fix/background-agent-normalized-queue-cancel
  • ad9a102 fix(background-agent): normalize concurrency waiter cancellation
  • cd643d0 Merge pull request #4755 from code-yeongyu/fix/concurrency-manager-normalized-key
  • bfecef1 fix(background-agent): clean normalized pending queues
  • 9bbec37 Merge pull request #4750 from code-yeongyu/perf/boulder-read-state-single-pass
  • 8dc6813 fix(background-agent): preserve raw launch concurrency limits
  • 496e089 Merge pull request #4756 from code-yeongyu/refactor/web-docs-registry-source
  • 04c617f test(boulder-state): cover invalid work timestamps
  • f0d33aa Merge pull request #4751 from code-yeongyu/test/omo-codex-aggregate-test-split
  • 421866d web: include mjs in web checks
  • 2ebd8a3 fix(background-agent): preserve raw concurrency limits
  • 71c1b98 Merge pull request #4753 from code-yeongyu/test/omo-codex-python-migration-consolidation
  • 47bfb6c Merge pull request #4752 from code-yeongyu/perf/codex-rules-parser-glob-dedupe
  • 060203c test(boulder-state): run read-state coverage in package script
  • 9a4ddf8 Merge pull request #4754 from code-yeongyu/test/model-core-requirements-split
  • 835ea43 Merge pull request #4757 from code-yeongyu/refactor/lsp-mcp-missing-dependency-helper
  • 7c385b3 Merge pull request #4749 from code-yeongyu/refactor/hashline-remove-unused-locals
  • cfc1e5c test(omo-codex): cover aggregate package scripts
  • 46ac600 Merge pull request #4747 from code-yeongyu/test/web-remove-duplicate-hello-world-e2e
  • 5c40805 Merge pull request #4748 from code-yeongyu/chore/agents-md-core-remove-unused-utils-dep
  • a14efed test(codex): preserve aggregate test sentinel
  • c597a83 Merge pull request #4746 from code-yeongyu/refactor/utils-jsonc-bom-cleanup
  • c23d479 Update lsp tools missing dependency helper
  • ff2c9ec web: consume shared docs section registry
  • 4a16452 web: add shared docs section data
  • a9bebb2 fix(background-agent): normalize concurrency slot keys
  • 0bb176c test(omo-codex): consolidate Python migration coverage
  • c30c075 Model core: remove monolithic requirement test
  • 1e83292 Model core: isolate requirement invariant tests
  • a6b958a Model core: split agent and category requirement tests
  • a78da12 perf(codex-rules): dedupe parsed globs with set
  • f13edc9 test(codex): remove aggregate monolith
  • 33b3ca6 test(codex): split aggregate skill orchestration coverage
  • 4226d64 test(codex): split aggregate runtime metadata coverage
  • 66ddcca test(codex): split aggregate hook coverage
  • 76e947c test(codex): split aggregate manifest coverage
  • c004460 perf(boulder-state): scan session work once
  • eee15c9 hashline-core: remove unused edit primitive import
  • ace23b4 test(web): remove duplicate homepage e2e spec
  • 9e87a05 refactor(utils): remove duplicate JSONC BOM stripping
  • 6b352a0 Merge remote-tracking branch 'origin/dev' into dev
  • a061fe2 fix(agents): inject Hephaestus AGENTS context
  • c95d4e6 Merge pull request #4440 from PeterPonyu/fix/tmux-zombie-pane-after-max-retries
  • af6e269 Merge pull request #4494 from Hungdoan565/fix/frozen-args-mutation-3816
  • b70629b Merge pull request #4462 from PeterPonyu/fix/runtime-fallback-payload-normalize-surgical
  • ce54d36 Merge pull request #4542 from SoShymKing/fix-subagent-tool-pair-validator
  • 33c0043 Merge pull request #4488 from PeterPonyu/fix/4480-start-work-substitute-all-parts
  • 7db28d3 Merge pull request #4743 from code-yeongyu/chore/prepublish-cleanup-ulw
  • 8e67dd4 test(omo-codex): cover config symlink updates
  • 58276e8 fix(sparkshell): preserve coalesced websocket frames
  • 598a82e fix(model): preserve routed provider limits
  • 43d1b88 fix(doctor): validate Codex marketplace config
  • b2e69fe fix(release): include LazyCodex workflow payload
  • f5c59cb fix(consensus): harden voter dispatch and parsing
  • e0541cc Merge pull request #4742 from code-yeongyu/fix/background-parent-wake-active-history
  • 6e3565e fix(background-agent): record active parent wakes without replies
  • 36ebc5a docs(ultrawork): prefer sparkshell for exploration
  • 0fce083 chore(codex): remove omx cleanup references
  • 8aa8a95 fix(sparkshell): route commands through Codex appserver
  • 8cec306 feat(omo-codex): add git-master skill
  • d9e93e5 fix(opencode-qa): repair helper self-tests
  • 0c6076c Merge remote-tracking branch 'origin/dev' into dev
  • cd1676c fix(omo-codex): install durable codex agent roles
  • f71b617 fix(background-agent): preserve internal wake deltas
  • 4b2f7b5 Merge pull request #4729 from code-yeongyu/code-yeongyu/shared-core-foundation
  • e08d87f Merge pull request #4730 from code-yeongyu/push-bg-wake-93541609b
  • 898eb62 test(shared): preserve case-insensitive model scan
  • 7853ae3 test(omo-codex): expect source hook versions
  • e82830d Merge remote-tracking branch 'origin/dev' into push-bg-wake-93541609b
  • e711f40 Merge remote-tracking branch 'origin/dev' into code-yeongyu/shared-core-foundation
  • d64b503 test(shared): speed repo-wide scan guards
  • c4eba02 fix(omo-codex): preserve source hook versions
  • 466e10e test(core): add shared extraction guardrails
  • 25cc72a fix(compaction): suppress duplicate autocontinue restores
  • ed4cdf3 fix(background-agent): preserve parent wakes through late errors
  • a1043de fix(lazycodex): route sparkshell through cli
  • a2ddc70 fix(lazycodex): test current hook status version
  • 32f4a91 fix(omo-codex): harden start-work planning contract
  • 2a905c8 fix(lazycodex): sync hook status release versions
  • c5f14bb fix(omo-codex): harden subagent liveness guidance
  • d6eace7 Merge remote-tracking branch 'origin/dev' into push-bg-wake-93541609b
  • 57e7bb2 Merge remote-tracking branch 'origin/dev' into push-bg-wake-93541609b
  • b2347d4 Merge pull request #4466 from PeterPonyu/fix/team-tmux-attach-auth-surgical
  • 9354160 fix(background-agent): deliver final parent wakes once
  • 80ea4e1 docs: add sparkshell shoutout to README credits
  • 909de5b test(team-mode): build auth fixtures at runtime to clear GitGuardian false-positive (#4466)
  • 62ac23f Merge pull request #4728 from code-yeongyu/code-yeongyu/feat-sparkshell-runtime-awareness
  • 8b63696 feat(omo-codex): enable context7 plugin mcp
  • cdec30e Merge pull request #4646 from heunghingwan/fix/strip-range-boundary-echo-whitespace
  • 4ee95eb Merge pull request #4463 from PeterPonyu/fix/disabled-providers-trim-surgical
  • 1307893 feat(sparkshell): inject runtime awareness
  • ce6ac62 feat(cli): add sparkshell runtime command
  • 4a0f967 Merge pull request #4501 from YOMXXX/fix/plugin-hooks-cwd-alignment
  • e7210d2 Merge pull request #4535 from YOMXXX/fix/4318-skip-update-for-opencode-managed-install
  • 00ae4d0 Merge pull request #4664 from YOMXXX/fix/4662-desktop-bun-serve-guard-upstream
  • 4bf1bd7 fix(omo-codex): stamp lazycodex component versions
  • a339efd fix(omo-codex): harden subagent liveness guidance
  • 3cb09d9 Merge remote-tracking branch 'origin/dev' into HEAD
  • c0f7701 fix(omo-codex): prioritize hephaestus rule index
  • b329438 Merge remote-tracking branch 'origin/dev' into HEAD
  • 041b27a fix(omo-codex): compact static rule injection
  • 52e6c8b Merge pull request #4616 from Hungdoan565/fix/opus-4-7-plus-adaptive-thinking-4614
  • b439c05 Merge dev and preserve Opus adaptive thinking fix
  • 9e47e72 Merge pull request #4727 from code-yeongyu/fix/background-empty-parent-wake
  • a9ec3b9 Merge pull request #4716 from Ruifeng-Zhang/fix/kimi-for-coding-heuristic-family
  • 01f774d Merge pull request #3295 from kilhyeonjun/fix/claude-code-agent-model-provider-override
  • 8f333aa fix(background-agent): respect tool state activity
  • b4bdc08 test(codex): relax project cleanup timeout on Windows
  • 7a5bb07 Merge dev and refresh Claude provider routing
  • a7ec6d1 fix(background-agent): preserve empty wake retry dedupe
  • c1c20f6 Merge pull request #2268 from ilovingjny/feature/provider-matching-overhaul
  • 91cf27a Merge remote-tracking branch 'origin/dev' into pr2268-bailian-refresh
  • ceffee6 test(omo-codex): align packaged install version
  • 87df108 fix(background-agent): requeue empty parent wakes
  • a4e7898 Merge pull request #4726 from code-yeongyu/code-yeongyu/fix-kimi-tool-loop
  • e0814ae test(codex): align compatibility expectations
  • acd997e test(codex): expect stamped lazycodex cache version
  • aa7415d Merge remote-tracking branch 'origin/dev' into code-yeongyu/fix-kimi-tool-loop
  • 4ba6c35 ci(codex): build LSP submodule before compatibility tests
  • ed8b82b fix(agents): bound Kimi repeated tool calls
  • 3d254b5 feat(cli): add Bailian coding plan fallback
  • 1ac1f79 Merge remote-tracking branch 'origin/dev' into dev
  • 051edfc fix(release): stamp lazycodex payload version
  • fdb5067 fix(omo-codex): stamp lazycodex install version
  • 077215d Merge pull request #4370 from wufei-png/feat/minimax-coding-plan-m27
  • d9ae579 feat(cli,model-core): refresh MiniMax Coding Plan fallback
  • 853327b Merge pull request #4579 from Hungdoan565/fix/concurrency-cancel-affects-all-waiters-4505
  • 46e7b0b Merge remote-tracking branch 'origin/dev' into dev
  • 91c8cf9 fix(doctor): diagnose lazycodex codex installs
  • 42d5f99 Merge pull request #4608 from Hungdoan565/fix/runtime-fallback-duplicate-user-messages-4595
  • 6f7f4bc fix(background-agent): cancel specific concurrency waiter
  • 0d96d06 fix(omo-codex): list all delegated commands in lazycodex-ai help
  • 22d0e9b Merge pull request #4617 from ririnto/fix/sync-delegation-wait-child-background-tasks-4615
  • 46b8674 Merge pull request #4627 from biggameking/fix/runtime-fallback-restore-primary
  • ccaad6e fix(runtime-fallback): reuse retry message identity
  • 2320c3f fix(delegate-task): wait for child tasks in sync polling
  • f5e60e5 fix(runtime-fallback): restore primary after fallback reopen
  • 0f66ef8 Merge pull request #4594 from troyliu0105/fix/file-uri-home-dir-rejection
  • 3e65b84 fix: replace em dash in file URI test
  • 88849a8 Merge pull request #4607 from Hungdoan565/fix/comment-checker-vendor-path-4601
  • b5ccf68 Merge pull request #4725 from code-yeongyu/fix/deduplicate-internal-prompts
  • 5bd7710 Merge remote-tracking branch 'origin/dev' into HEAD
  • 0ed042c fix(doctor): resolve comment-checker binary from vendor/ path (fixes #4601)
  • 8a268ca Merge pull request #4610 from Hungdoan565/fix/team-mode-guard-unresolved-members-4590
  • 3599f6a ci(lazycodex): make label creation idempotent
  • be77a87 fix(team-mode): guard team activation against unresolved members
  • a5cc8be fix(background-agent): defer parent wakes during active assistant turns
  • 9414a9d Merge pull request #4628 from heunghingwan/fix/omo-self-gitignore-4536
  • ed61558 Merge pull request #4640 from popododo0720/fix/postinstall-opencode-cache-invalidation
  • ab4e29b Merge remote-tracking branch 'origin/dev' into dev
  • 43c3a49 Merge pull request #4703 from albertdbio/feat/consensus-tool
  • 745ff86 fix(skill): advertise overridden skill entries
  • f94bdc2 fix(omo-codex): reject invalid create_goal fields
  • f55f41c test(codex): relax Windows cleanup installer timeout
  • 2a90fcf fix(ulw-loop): align create_goal payload with Codex
  • 3bf6946 fix(consensus): remove stale GPT voter fallback
  • b8a7ca6 fix(consensus): route voter prompts through the shared prompt gate
  • 5bb6db4 feat(consensus): add multi-lineage consensus tool
  • 11fe861 fix(omo-codex): sync visual-qa aggregate skill
  • 464a432 feat(ultrawork): wire visual-qa into manual-QA gate
  • 46d3bf3 feat(skills): add visual-qa cross-harness QA skill
  • 4986346 feat(omo-codex): add telemetry diagnostics logging
  • 5e3897f feat(omo-codex): make ulw-plan a Codex-native, explore-first planner
  • 4a24c0c Merge pull request #4118 from hanbinnoh/fix/antigravity-claude-support
  • 1adea6a fix(model-core): support Antigravity Claude context limits
  • 144607a Merge pull request #4446 from LYY/fix/momus-stale-reread
  • 3af75e0 Merge remote-tracking branch 'origin/dev' into pr-4446-stale-fixture-fix
  • 1416f7e Merge pull request #4626 from biggameking/fix/no-config-model-autoupgrade
  • 7f41b72 Merge remote-tracking branch 'origin/dev' into pr-4446-stale-fixture-fix
  • 823c598 test(momus): remove stale GPT fixture path
  • 26ec2ce Merge remote-tracking branch 'origin/dev' into pr-4626-fix-base
  • 657c43a Merge pull request #4605 from Hungdoan565/fix/4315-runtime-fallback-model-object
  • 8a49e30 test(migration): use current GPT fixtures
  • a0abcb3 Merge pull request #4724 from MoerAI/fix/session-list-skip-root-directory-filter
  • 87ddea8 test(runtime-fallback): use current codex fixtures
  • ad18663 Merge pull request #4723 from MoerAI/fix/plugin-path-resolve-all-occurrences
  • 68d3891 docs(readme): position lazycodex as omo for codex
  • 3eee780 Merge pull request #4672 from octo-patch/feature/upgrade-minimax-m3
  • ccec743 ci(lazycodex): add routing automation
  • 54d5d18 docs(release): require layered version analysis
  • 09295b7 fix(lazycodex): sync release hook status version
  • 5b5dc3a ci(lazycodex): stamp codex plugin metadata
  • 9184b41 Merge pull request #4719 from Ruifeng-Zhang/fix/supports-thinking-metadata-precedence
  • 0bd6c0f fix(session-manager): list all sessions when directory is server root (fixes #4704)
  • 2e8c2b0 chore(models): upgrade legacy gpt refs to 5.5
  • 163e183 fix(omo-codex): require git-master checkpoints in ulw-loop
  • 4c0ea56 fix(claude-code-plugin-loader): replace all CLAUDE_PLUGIN_ROOT occurrences (fixes #4709)
  • 9eed193 feat(lazycodex): route bug reports to owning repo
  • d7ed2dc fix(omo-codex): avoid timeout-driven subagent respawns
  • b1fc18b docs(readme): credit inspiration sources
  • e0846eb @Chewji9875 has signed the CLA in #4720
  • b4337b6 fix(model-core): prefer metadata over heuristic for supportsThinking
  • 8f144ce fix(model-core): narrow kimi-thinking k2p heuristic
  • a826a76 fix(model-core): extend kimi-thinking heuristic to match k2p* models
  • 110b40f ci(lazycodex): release changed marketplace payloads
  • 2339cd0 fix(lazycodex): make auto-update retry and track install version
  • 627067c Merge pull request #4712 from code-yeongyu/fix/codex-config-symlink-reasoning
  • 2a137ba test(omo-codex): drop stale lazycodex cleanup-command doc assertion
  • 6001da0 chore(lazycodex): update ulw loop and model family
  • b252157 fix(codex): preserve reasoning without clobbering bundled symlink target
  • 2df3b2c fix: restore primary model for reopened fallback sessions
  • d6b7787 Revert "fix: recognize reopened fallback sessions"
  • 5923e97 Revert "fix: retry the preferred primary model after fallback"
  • a39b392 Revert "test: cover runtime fallback primary-model restoration"
  • a8e4740 Revert "fix: protect canonical model selections from migration rewrites"
  • 6020b12 feat(lazycodex): add uninstall command
  • 8d459a3 test(omo-codex): add symlink safety + reasoning-gate coverage
  • 63a856f @tully-8888 has signed the CLA in #4711
  • 74f610f feat(lazycodex): add update command
  • 22331d3 fix(model-core): align MiniMax-M3 capabilities and add ordering test
  • 1c047b0 feat: upgrade MiniMax default model to M3
  • 8d8efb0 fix: invalidate opencode plugin cache on postinstall
  • 2551d68 fix: replace em dash with hyphen in comment
  • d8fd5a0 fix(runtime-skills): degrade when source server is unavailable
  • 0e902a6 fix: sync bun lockfile for 4.6.0 packages
  • 6ae4a6d fix(delegate-task): wait for child task quiescence
  • 69f7009 fix(hashline-core): stripRangeBoundaryEcho false positive on indent change
  • e45d871 fix(boulder-state): create .omo/.gitignore to self-ignore temp files
  • a28c45b fix: protect canonical model selections from migration rewrites
  • 4c481dd fix: recognize reopened fallback sessions
  • 34fdba4 fix: retry the preferred primary model after fallback
  • ae0bf80 fix: preserve explicit user model pins in migration
  • 4219bd2 fix(agents): stop forcing thinking.type enabled on Opus 4.7+ models
  • 3d83aae fix(runtime-fallback): reuse original user message id to prevent duplicate turns
  • a10089c fix(runtime-fallback): normalize object-shaped session model to canonical string
  • 5e6ec42 fix: allow file:// prompt URIs under allowed home subdirectories (#4593)
  • fe4e342 fix(background-agent): cancel only the specific task's concurrency waiter
  • 6128754 make new subagnet tool-pair-validation root
  • c6e6229 fix(auto-update-checker): skip update install when running from OpenCode-managed sandbox (#4318)
  • b49cd9f Keep Windows ripgrep discovery from selecting a non-existent executable
  • 0240598 fix(hooks): key plugin hooks state by process.cwd() to match loader (#4001)
  • a36dbad fix(hooks): avoid mutating frozen output.args on opencode >= 1.14
  • 60a9f86 fix(start-work): substitute placeholders across all text parts + idempotent contextInfo append (#4480)
  • 1308558 fix(team-mode): preserve OPENCODE_SERVER_PASSWORD on tmux attach (#4409)
  • 20a1df1 fix(shared): trim disabled provider comparisons
  • 8c897b4 fix(runtime-fallback): normalize runtime model payloads
  • 2f0dc8f fix: remove .sisyphus/plans/ compat, only .omo/plans/
  • 578d0b4 fix(momus): require fresh plan rereads with dual-path support
  • e668713 test(momus): add fresh reread prompt coverage
  • 1e6dac7 fix(tmux-subagent): break the zombie-pane wedge via close-retry cooldown
  • 12d4d77 fix(tmux-subagent): stop tracking team-mode member sessions in the subagent panel
  • 166e104 fix: validate anthropic_provider to reject '/' and empty strings
  • f59fa18 feat: add claude_code.anthropic_provider config for custom model routing

Thank you to 2 community contributors:

  • @sjawhar:
    • fix(json-error-recovery): exclude subagent + session-content tools so delegated output that mentions JSON errors does not trigger a false reminder
  • @MoerAI:
    • fix(team-mode): treat null-valued team_create optionals as absent (fixes #5047)
    • Merge pull request #4957 from Hungdoan565/fix/4853-formatter-sdk-response-shape
    • Merge pull request #5041 from sjawhar/fix/json-error-recovery-exclude-subagents
    • Merge pull request #5049 from MoerAI/fix/team-create-null-arg-validation
    • fix(prompts): scope GPT ultrawork banner and intent declaration to first turn (fixes #4817)

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

NewReleases is sending notifications on new releases.