Skip to content

v4.18.0

Choose a tag to compare

@github-actions github-actions released this 14 Jul 07:38
c7c903f

GPT-5.6 That Actually Knows When to Stop

We just fixed a real Codex run that kept going for eight hours. This was not one bad loop; it was the full runaway stack: a main-agent model that does not treat stopping as the default, an ultrawork prompt designed to keep summoning help, subagents that also keep going, and a harness whose subagent lifecycle is difficult to control once all of those forces combine.

We are genuinely proud of this one. OMO now couples the intent gate and stop gate instead of treating completion as an afterthought:

  • Every GPT-5.6 Hephaestus intent line must declare the exact observable condition that ends the turn.
  • Ultrawork must register the goal through create_goal, include a binding WHEN TO STOP, and rank “is the user’s problem actually solved?” above ledger ceremony.
  • The moment the stop goal holds, the agent must answer and stop immediately: no extra verification loop, polish pass, review cycle, or bonus refactor.
  • Every spawned subagent must receive GOAL, STOP WHEN, and EVIDENCE, so the parent can control completion by an observable contract instead of trusting a vague “done.”

This is specifically tuned for gpt-5.6-sol and the persistent behavior that makes it such a strong autonomous worker. OMO keeps that persistence where it is useful, then gives it a hard, coordinated stopping boundary across the main agent, ultrawork, and subagents. For GPT-5.6 users, this update is strongly recommended; this control layer is the reason the OMO Codex experience can be substantially more disciplined than a stock harness run.

Frontend Layout Mechanics, Inspired by StyleGallery

A big shoutout to changeroa/StyleGallery. Its layout work directly inspired the new layout-mechanics layer in OMO’s frontend skill, distilled part by part rather than copied as a generic style preset:

  • Layout Brief inspired declaring scroll ownership, fixed/sticky/static regions, constraints, viewport-vs-container responsiveness, and content stress before CSS is written.
  • scroll-body-shell inspired the bounded app-shell contract: auto minmax(0, 1fr) auto, a single named scroll body, and the load-bearing min-block-size: 0 fix.
  • ram-grid inspired the overflow-safe intrinsic grid using repeat(auto-fit, minmax(min(16rem, 100%), 1fr)).
  • StyleGallery’s pattern catalog inspired OMO’s shared spatial vocabulary: stack, cluster, content limiter, sidebar, switcher, cover, frame, reel, imposter, overlay stack, fixed sidenav shell, list-detail, and sticky aside.
  • Layout Gate and the Dashboard recipe inspired the strict boundary between spatial mechanics and visual taste, plus source-order, scroll, reflow, and decision-priority checks.

OMO keeps its own visual direction, motion rules, image workflow, and QA system. The adopted lesson is narrower and extremely useful: app layouts must declare what scrolls, how regions shrink, and how the screen survives empty, long, unbroken, narrow, and RTL content.

Safer Codex Development and Installation

Codex contributors can now run bun run install:codex-dev to install the local source build with an unmistakable dev version stamp. The cache path, plugin metadata, per-turn (OmO dev) prefix, and omo get-local-version output all reveal that the development build is active, while update checks are skipped for non-semver stamps.

The Codex installer also strips inherited npm 12 allow-scripts configuration only from dependency-install subprocesses, preventing an outer npx policy from breaking the plugin install while preserving registry, authentication, proxy, build, and skill-sync environment behavior.

Layered Impact

  • omo pure components: minor. Shared frontend and programming skills gain reusable layout and behavioral-test contracts; Codex ultrawork prompts gain the coordinated goal/stop model.
  • omo opencode: minor. OpenCode receives the new frontend layout-mechanics skill and recognizes visibly stamped local development builds.
  • omo codex / LazyCodex: minor. GPT-5.6 stop control, subagent contracts, development stamping, and npm 12 installation isolation all ship in the Codex marketplace payload.

No breaking changes or migration steps are required.


  • c7c903f Merge pull request #6106 from code-yeongyu/release/v4.18.0-source-state
  • bb0f6fb Merge pull request #5832 from JSap0914/fix/session-exists-by-id-5810
  • 7138dba Merge pull request #5690 from Hungdoan565/codex/fix-git-status-rename-path-20260628
  • fb8b622 Merge pull request #6104 from code-yeongyu/fix/ulw-test-authoring-contract
  • 7195915 docs(ultrawork): require mutation proof for test-only regression coverage
  • ffec492 Merge pull request #6102 from code-yeongyu/docs/prompt-test-rule-hardening
  • 53dc9f0 docs(rules): forbid prose assertions and mechanism-prescribing delegation
  • 921d08f Merge pull request #6099 from code-yeongyu/fix/hephaestus-gpt56-registration
  • bbba1a1 test(agents): verify registered GPT-5.6 prompt
  • c9fe217 Merge pull request #6100 from code-yeongyu/feature/hephaestus-56-subagent-stop-contract
  • 3262f85 test(agents): strengthen GPT-5.6 registration coverage
  • 4cdac71 feat(omo-codex): require GOAL/STOP WHEN/EVIDENCE in Hephaestus 5.6 spawn messages
  • 33eb742 test(agents): cover Hephaestus GPT-5.6 registration
  • 403ce78 Merge pull request #6098 from code-yeongyu/feat/lazycodex-dev-install
  • 5b5cbb8 docs(omo-codex): document the dev-install workflow and dev version stamp
  • 7b1f02c feat(omo-codex): dev install stamped as version dev via LAZYCODEX_DEV_VERSION
  • 830ec1e Merge pull request #6092 from code-yeongyu/fix/ulw-when-to-stop
  • 6b3f226 fix(ultrawork): require a when-to-stop declaration in every goal contract
  • c05d0ca Merge pull request #6090 from code-yeongyu/fix/ulw-stop-goal-round2
  • 8482f2c fix(codex-rules): declare a binding stop condition in the hephaestus intent line
  • 6a096c2 fix(ultrawork): mandate create_goal registration and rank problem-actually-solved above all stop criteria
  • a0a89aa fix(codex-rules): make hephaestus gpt-5.6 stop mandatory and immediate at the stop goal
  • c576198 Merge pull request #6089 from code-yeongyu/fix/ulw-stop-goal-5.6
  • 33759ba fix(ultrawork): make the STOP GOAL explicit in codex directive and ulw-loop stop rules
  • 03753d3 fix(codex-rules): name the stop goal in hephaestus gpt-5.6 and stop the moment it holds
  • 68942f8 Merge pull request #6086 from code-yeongyu/code-yeongyu/fix-omo-codex-npm12-allow-scripts
  • 389a0d1 chore(omo-codex): regenerate npm install env handling
  • 065fbb9 Merge pull request #6085 from code-yeongyu/feat/frontend-layout-mechanics
  • c5ba417 fix(codex-install): isolate npm 12 allow-scripts config
  • 7528cff feat(shared-skills/frontend): add layout-mechanics ruleset from StyleGallery
  • 57f0649 fix(opencode): check session existence by id
  • 520f793 fix(utils): parse git status rename destinations

Thank you to 3 community contributors:

  • @Hungdoan565:
    • fix(utils): parse git status rename destinations
  • @JSap0914:
    • fix(opencode): check session existence by id
  • @MoerAI:
    • Merge pull request #5690 from Hungdoan565/codex/fix-git-status-rename-path-20260628
    • Merge pull request #5832 from JSap0914/fix/session-exists-by-id-5810