Skip to content

v4.16.0

Latest

Choose a tag to compare

@github-actions github-actions released this 07 Jul 14:23
be590a1

v4.16.0: Leaner Prompts, Safer Installs, Faster Release Flow

LazyCodex for Codex now injects a minimal ultrawork prompt on startup. The full directive lives in the bundled skill; the session context stays below the truncation cliff.

CodeGraph handles long-running Codex sessions without leaking state. Temporary roots are excluded by default, orphaned processes are swept, and cleanup failures are isolated so indexing errors stay out of unrelated work.

OMO config handling gets safer with the new omo.json loader. It supports walked precedence, preserves JSON comments on write, rejects unsafe symlinked paths, and avoids backup filename collisions.

Frontend skill artifacts sync with the lazyweb research lane, including the curl-only research flow and the Stitch worked example.

The release pipeline verifies npm payload containment, excludes stale component residue, skips unnecessary pack-time rebuilds, and runs a faster parallel build.

No breaking migration is expected for OpenCode or LazyCodex users.

Release scale: 300 commits since v4.15.1, 1,556 files changed, 138,701 insertions, and 2,648 deletions.


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.
  • Install and publish workflow hardening, including safer release sequencing and package/install fixes.

Commit Summary

  • be590a1 Merge pull request #5967 from code-yeongyu/release/v4.16.0-source-state
  • 0b4583c Merge pull request #5939 from code-yeongyu/fix/prepublish-gate-cleanup
  • cd0a047 test(publish): record prepublish gate cleanup QA evidence
  • e6de97e fix(publish): exclude nested node_modules and stale component residue from npm payloads
  • 4e2b920 chore(codegraph): track serve.js bundle as executable to match build output
  • c3c72d6 fix: make BOTH-targets task error state the call hard-fails instead of claiming subagent_type is ignored
  • fb5c67b Merge branch 'mt-category' into mt-agents
  • 7d8a645 Merge branch 'mt-scaffold' into mt-category
  • 86db423 Merge branch 'mt-category' into mt-agents
  • 7a715f8 Merge branch 'mt-scaffold' into mt-category
  • 644412b Merge pull request #5919 from code-yeongyu/hotfix/frontend-builtin-skill-artifact-sync
  • 4b3eb76 Merge branch 'mt-scaffold' into mt-category
  • b75dcd0 Merge branch 'mt-loader' into mt-scaffold
  • d8bdf18 Merge branch 'mt-schema' into mt-loader
  • c5dd95a Merge branch 'mt-category' into mt-agents
  • 441f347 fix(skills-loader-core): sync frontend builtin-skill artifacts with lazyweb lane
  • 2012668 fix(skills-loader-core): sync frontend builtin-skill artifacts with lazyweb lane
  • d479b17 Merge branch 'mt-category' into mt-agents
  • 505487f Merge branch 'mt-scaffold' into mt-category
  • 2f68776 Merge branch 'mt-scaffold' into mt-agents
  • 6dc43ad Merge branch 'mt-loader' into mt-scaffold
  • da61177 Merge branch 'mt-schema' into mt-loader
  • f511d61 fix: restore omo-config-core registration lost in dev merge resolution
  • 11c79d6 Merge branch 'mt-loader' into mt-scaffold
  • 83b4a4a Merge branch 'mt-schema' into mt-loader
  • aa5bd35 Merge remote-tracking branch 'origin/dev' into mt-schema
  • b2ceab6 feat(shared-skills): add curl-only lazyweb research lane to frontend skill
  • 527cf06 refactor(omo-codex): trim hephaestus session-start rule to under 2k tokens
  • 5d84554 fix(omo-config-core): ignore symlinked project config files
  • e6a4621 test(omo-config-core): clean loader symlink evidence
  • 7859a87 fix(omo-config-core): ignore symlinked project omo dirs
  • 34460a1 fix(omo-config-core): merge partial team layers
  • 318464d test(omo-config-core): record final backup collision verification
  • 28c1d07 test(omo-config-core): record backup collision push
  • 656432d fix(omo-config-core): avoid backup filename collisions
  • b0b757e test(omo-config-core): record recovery clean status
  • ce253e5 test(omo-config-core): record repeat symlink verification
  • 94c37d6 Merge pull request #5908 from code-yeongyu/fix/ulw-plan-review-sequencing
  • 741d997 test(omo-config-core): record stop-hook symlink verification
  • 9353377 test(omo-config-core): clean symlink evidence whitespace
  • 8281223 fix(omo-config-core): reject symlinked project config dirs
  • 953f8f9 fix(prompts): condition ulw-plan stop rule on recorded review receipts
  • dfadc62 fix(omo-config-core): preserve json config writes safely
  • b2deda4 test(shared-skills): pin ulw-plan review sequencing contract
  • 5039ff9 fix(prompts): sequence ulw-plan Metis/Momus review dispatch rules
  • cac0cfc test(omo-config-core): record third stop-hook verification
  • 90c3b73 test(omo-config-core): record second stop-hook verification
  • bbc9ef3 test(omo-config-core): record stop-hook verification
  • a326300 test(omo-config-core): clean review evidence whitespace
  • 1c47763 fix(omo-config-core): harden config write safety
  • 6f11cfe fix(omo-config-core): load user omo json files
  • a7ac217 Merge pull request #5907 from code-yeongyu/fix/build-orchestrator-killgroup-lead
  • 5713f7c fix(build): kill the whole process tree when a build step fails
  • a13f88b feat(omo-config-core): omo.json loader with walked precedence and comment-preserving writer
  • 514ca17 feat(omo-config-core): scaffold omo.json schema with category drift guard
  • 5079b7b Merge pull request #5903 from code-yeongyu/perf/build-orchestrator-robustness
  • 56002e8 Merge pull request #5901 from code-yeongyu/perf/sync-race-await-flush
  • c572b26 test(team-mode): bump integration test timeouts 15s→30s above LOCK_WAIT_TIMEOUT_MS
  • 7630928 test(background-agent): replace ~23 blind launch→sleep waits with waitUntil polls
  • da4edbf test(cli-run): inject a virtual clock into pollForCompletion to kill the wall-clock race
  • 3980c29 test(background-agent): await real flush-settle signal instead of blind sleeps
  • bec69b7 Merge pull request #5902 from code-yeongyu/sisyphus-bot/codegraph-zombie-sweep
  • 9fb498c fix(utils): normalize codegraph sweep roots by target platform
  • 0bec91f test(utils): pin codegraph sweep fixtures to posix platform
  • 35e2d3a fix(build): harden orchestrator failure and output handling
  • 5398fa6 feat(codex): sweep orphaned codegraph processes
  • c6dc7d3 feat(utils): add codegraph zombie sweep primitives
  • e8d2da0 Merge pull request #5898 from code-yeongyu/perf/publish-pack-ignore-scripts
  • b01404e Merge pull request #5900 from code-yeongyu/test-speed/config-handler-timeout
  • 0d26c2a test(publish): align workflow guard with ignore-scripts publish command
  • f8c2aed perf(omo-opencode): lower plugin_load_timeout_ms in config-handler timeout test
  • 4db4cf6 Merge pull request #5897 from code-yeongyu/sisyphus-bot/codegraph-tmpdir-defaults
  • 10c4ec2 ci(publish): skip pack-time rebuild on the npm publish commands
  • b6222b6 test(codegraph): record final gate approval
  • 7ec72e7 Merge pull request #5895 from code-yeongyu/perf/memoize-package-layout-pack
  • f0784c4 test(codegraph): record post-fix review coverage
  • e0bc1d2 test(package-layout): memoize the pack dry-run per file
  • 5512121 test(codegraph): clean qa evidence artifacts
  • ec02616 test(codegraph): record tmpdir exclusion qa evidence
  • 670cfe3 docs(codex): document codegraph exclusions
  • 7960abb chore(codegraph): restore serve bundle file mode
  • cdc3d12 fix(codegraph): exclude os temp roots by default
  • c4be751 Merge pull request #5891 from code-yeongyu/perf/ci-drop-test-lsp-daemon-build
  • f6defc6 Merge pull request #5888 from code-yeongyu/perf/build-orchestrator
  • 17ff63f perf(ci): drop the test job's redundant lsp-daemon build step
  • 6d6874e fix(build): add missing orchestrator dependency edges
  • 45578cd Merge pull request #5890 from code-yeongyu/perf/ci-prune-vendored-builds
  • 29d32f4 test(ci): update workflow-structure meta-test for pruned vendored builds
  • 23e8b59 Merge pull request #5836 from code-yeongyu/code-yeongyu/fix-codegraph-ephemeral-gc-5834
  • 2f76530 perf(ci): drop redundant vendored-package build steps
  • 7bca1e5 test(build): point build-chain guards at the orchestrator
  • 2b52562 Merge pull request #5889 from code-yeongyu/fix/windows-flake-durable-fixes
  • d92cc9f Merge pull request #5885 from code-yeongyu/fix/test-home-isolation-flakes
  • e239ba3 test(codex): record codegraph live qa evidence
  • 2d31039 Merge pull request #5886 from code-yeongyu/test-speed/session-resolver-retry-delay
  • cb71178 Merge remote-tracking branch 'origin/dev' into verify/pr-5836
  • 5d8f241 fix(skills-loader): resolve HOME via env-honoring helper for hermetic discovery
  • f790e55 test(flaky): bound dependency-security git-grep spawn and uniquify session-plan tmpdir
  • 3a3e85f perf(build): run bun run build through a parallel DAG orchestrator
  • 355f0f6 build(codex): gate materialize behind OMO_SKIP_MATERIALIZE
  • 73b1164 Merge pull request #5883 from code-yeongyu/perf/publish-ignore-scripts
  • 9f2dff6 Merge pull request #5884 from code-yeongyu/test-speed/ralph-loop-more-cuts
  • 59b2864 perf(omo-opencode): make session-create retry delay injectable for tests
  • 8fd516f Merge pull request #5877 from code-yeongyu/perf/ci-ignore-scripts
  • 5ce2709 Merge pull request #5881 from code-yeongyu/feature/tasteskill-embedding
  • 8d2208c Merge pull request #5880 from code-yeongyu/perf/publish-parallel
  • e9a7c75 Merge pull request #5882 from code-yeongyu/fix/bunfig-ignore-dist-tests
  • 7a6a65a perf(omo-opencode): zero idle-settle in two more ralph-loop test files
  • 84e1864 chore(builtin-skills): sync checked-in frontend SKILL.md artifacts with shared source
  • e74d1f6 Merge pull request #5879 from code-yeongyu/test-speed/blind-delay-cuts
  • 904c018 ci(publish): skip prepare build on installs that do not need dist
  • 0261e0f Merge pull request #5876 from code-yeongyu/fix/prometheus-implement-by-proxy
  • 277dd05 test(bunfig): ignore built dist/ test copies in discovery
  • c33aeec Merge pull request #5878 from code-yeongyu/perf/parallel-component-build
  • f34a464 docs(shared-skills): route the stitch worked example in frontend routing docs
  • f59817d feat(shared-skills): materialize stitch-skill worked-example DESIGN.md
  • c1d7732 chore(shared-skills): bump taste-skill upstream pin and refresh attribution
  • b90a8fe perf(ci): skip lifecycle scripts on bun install (except the test job)
  • 2e928c2 ci(publish-platform): raise publish max-parallel 2 -> 6
  • a6b4924 perf(omo-opencode): cut default idle-settle/defer waits in slow hook tests
  • eaf3260 perf(codex-build): parallelize component builds
  • ea4c7ec Merge remote-tracking branch 'origin/dev' into verify/pr-5836
  • d66c372 fix(ulw-plan): exclusive read-only delegation roles + harness-neutral bootstrap exception
  • 6ddae58 fix(prometheus): close the implement-by-proxy loophole in the planner prompt
  • d0d219b fix(prometheus-md-only): stop instructing implement-by-subagent on blocked writes
  • 141e90f Merge pull request #5868 from code-yeongyu/sisyphus-bot/fix-4163
  • aea99b5 fix(omo-opencode): wait for pending parent wake
  • 94f7404 Merge pull request #4421 from PeterPonyu/fix/team-member-fallback-retry
  • e465d19 fix(team-mode): guard stale member error side effects
  • a1b9a16 Merge remote-tracking branch 'origin/dev' into takeover/pr-4421
  • 163a10c Merge pull request #5161 from Eric-GoodBoy-Tech/fix/tmux-pane-auth-env
  • 3b45588 test(tmux-core): tolerate auth env in pane argv tests
  • 6abb7d9 fix(tmux-core): pass auth env to subagent panes
  • 029874d Merge remote-tracking branch 'origin/dev' into takeover/pr-5161
  • 7084aa0 Merge pull request #5861 from code-yeongyu/sisyphus-bot/fix-5608
  • f079d19 Merge pull request #5858 from code-yeongyu/sisyphus-bot/fix-5596
  • ab3d9c2 Merge pull request #5856 from code-yeongyu/sisyphus-bot/fix-5815
  • 1ae8f74 test(tmux-core): skip unix shell argv checks on windows
  • 77d69c7 fix(delegate-task): unblock sync tmux readiness
  • 44827fc Merge pull request #5860 from code-yeongyu/sisyphus-bot/fix-5751
  • 707c479 Merge pull request #5859 from code-yeongyu/sisyphus-bot/fix-5786
  • fd89d3e test(omo-opencode): align tmux command shim expectations
  • f960bd9 Merge pull request #5857 from code-yeongyu/sisyphus-bot/fix-5788
  • ebda8b8 fix(omo-codex): preserve unreadable config on install
  • 7c7b923 fix(doctor): handle tuple TUI plugin entries
  • c61de25 fix(tmux-core): quote attach command arguments
  • 4a32ad5 fix(model-core): recognize claude-sonnet-5 context
  • 9737daf fix(model-core): retry free usage fallback errors
  • 0d9ceeb Merge pull request #5855 from code-yeongyu/feature/programming-logging-methodology
  • 62f6668 feat(shared-skills): bridge debugging fix phase to logging methodology
  • c9867c8 feat(shared-skills): add cross-language logging methodology to programming skill
  • 8bfd6f9 fix(codex): narrow codegraph gc failures
  • 9e3b3cf fix(utils): narrow codegraph metadata errors
  • a6176e7 fix(codex): refresh codegraph runtime gate fixes
  • d88d353 refactor(utils): split oversized codegraph helpers
  • 464c728 fix(utils): harden codegraph cleanup policy
  • 263180b test(utils): isolate codegraph custom root fixture
  • 6cc1e31 test(codex): avoid tmp roots in codegraph positive fixtures
  • 99ba2c3 fix(codex): skip codegraph ephemeral roots
  • c033554 fix(utils): add codegraph project exclusion policy
  • 3f51596 Merge pull request #5831 from code-yeongyu/fix/pr5792-skill-test-size-gate
  • a32347c test(skill): split skill description suites by behavior
  • 9184189 docs(agents-md): regenerate hierarchical AGENTS.md knowledge base
  • f184eca Merge pull request #5792 from code-yeongyu/fix/shared-skill-description-dedup
  • f078fd8 fix(skill): preserve built-in native skill aliases
  • 8c83032 fix(skill): preserve opencode native skill aliases
  • 2439088 fix(skill): preserve builtin commands for distinct qualified skills
  • cc4caff fix(skill): preserve distinct shared skill entries
  • cf261a2 fix(skill): suppress path-alias duplicates from injected description
  • 25bb0d5 Merge pull request #5830 from code-yeongyu/fix/5828-ultrawork-skill-pointer
  • e789e26 feat(omo-codex/plugin): ship the ultrawork skill and pin pointer invariants
  • fe7d43e feat(omo-codex/ulw-loop): mirror the ultrawork skill pointer in standalone injection
  • a865c5c feat(omo-codex/ultrawork): inject compact skill pointer instead of full directive
  • e8ea7fa Merge pull request #5819 from code-yeongyu/fix/windows-ci-flakiness
  • d98d230 test(utils): mock exhausted port range
  • beb0b09 test(ci): relax windows-heavy test timeouts
  • 4b300e0 Merge pull request #5812 from changeroa/codex/ulw-research-epistemic-instrumentation
  • d263304 docs(reference): split the ulw-research feature row into readable sentences
  • 4e56acd test(skills): pin the claim graph as the single ulw-research claim store
  • 98e2c6e fix(skills): replace the ulw-research claim ledger with the claim graph
  • 8b1435f Merge pull request #5814 from code-yeongyu/fix-ulw-plan-announce-delimiter
  • 25cc57d fix(ulw-plan): normalize ANNOUNCE example delimiter to hyphen in OpenCode flavor
  • 1724636 Merge pull request #5813 from code-yeongyu/worktree-ulw-plan-high-accuracy-trigger
  • f839a68 fix(ulw-plan): make high-accuracy modifier fire the review gate in any turn
  • 3726ff7 fix(skills): require ulw research epistemic instrumentation
  • 25a696f Merge branch 'dev' into fix/team-member-fallback-retry
  • 2655bf1 fix: pass OPENCODE_SERVER_PASSWORD/USERNAME to tmux sub-agent panes
  • d980320 fix(team-mode): skip errored transition when fallback retry replaced member sessionId (#4420)