[Bug] Sol high/xhigh loses the goal and loops across Release 1–3 in an unmerged hidden worktree
Summary
gpt-5.6-sol at high and later xhigh reasoning failed to preserve a straightforward persistent implementation goal under the accumulated injected goal, skill, routing, and repository instructions.
The agent created a hidden project-local worktree, implemented sequential “Release 1”, “Release 2”, and “Release 3” slices there, and continued iterating without integrating the work into local main. The visible project root remained empty or materially incomplete while the actual work lived under .worktrees/locator-workbench-release-1.
The user eventually had to stop the flow, explicitly order everything merged into local main, prohibit further worktree use, and identify a leftover worktree path manually.
Uploaded thread: 019f78cf-a24c-7f30-80ac-c32b3ccfc887
Model and Reasoning Context
- The initial goal and hidden-worktree workflow ran under
gpt-5.6-solwithhighreasoning. - Later product recovery/reset turns ran under
gpt-5.6-solwithxhighreasoning. - Increasing reasoning effort did not restore reliable goal alignment or execution flow.
- The user reports this behavior as materially worse than their experience with GPT-5.5. This is a user-observed regression, not a controlled benchmark comparison.
Timeline and Evidence
- 2026-07-19 05:39 UTC: The persistent goal requested research, planning, implementation, and a usable SelectorHub-style Chrome extension.
- 05:44 UTC: The agent announced that it would keep implementation off
mainand create.worktrees/locator-workbench-release-1onfeat/locator-workbench-release-1; the main checkout would retain only documentation. - 05:46 UTC: The hidden implementation worktree was created.
- The agent completed “Release 1” inside that worktree, then continued designing and implementing “Release 2” and “Release 3” in the same hidden checkout.
- The goal kept automatically continuing across release slices without an enforced integration checkpoint.
- 2026-07-20 10:26 UTC: The user explicitly ordered all worktrees merged into
mainand asked the agent to continue there. - 10:30 UTC: The user repeated: local
mainonly, clean up worktrees. - 10:31 UTC: The user had to point out the leftover
.worktrees/locator-workbench-release-1directory manually. - Only after this intervention did an audit confirm that
mainwas the sole registered worktree. - Later Sol xhigh turns still produced a large product reset and asked for another approval before implementation despite the user already demanding execution.
Steps to Reproduce
- Start a persistent goal for a multi-phase implementation project.
- Inject repository instructions, global routing instructions, autonomous-goal continuation rules, and skills such as brainstorming, writing-plans, using-git-worktrees, and finishing-a-development-branch.
- Allow Sol high/xhigh to orchestrate the work autonomously.
- Let the agent create a project-local hidden worktree for the first release.
- Observe it continue into later releases inside the original hidden worktree without integrating completed work into the visible
maincheckout. - Inspect the project root and find it empty or substantially behind the hidden worktree.
- Manually instruct the agent to merge everything, work only on local
main, and clean up the hidden checkout.
Actual Result
- Workflow/skill instructions dominated the original user outcome.
- The model treated each release as another isolated planning/implementation cycle instead of completing the repository-level deliverable.
- Completed work remained hidden from the visible project root.
- No automatic integration checkpoint occurred before starting the next release.
- The agent repeatedly discussed branch completion while the persistent goal immediately continued into more work.
- The user could not easily tell where the real project existed.
- Explicit user intervention was required to recover the repository and normal execution flow.
- Sol xhigh still failed to infer that approval/planning loops should stop after the user had already demanded implementation.
Expected Result
- The user-visible project root should remain authoritative or clearly report when it is not.
- A persistent goal should not begin a new release while the completed previous release remains unmerged in a hidden worktree.
- The agent should surface the active worktree, branch, commit, divergence from
main, and integration status in every milestone handoff. - “Continue the goal” must include integrating completed work, not only generating another release slice.
- An explicit instruction to work on local
mainmust immediately override generic worktree-skill guidance. - When injected instructions conflict or overwhelm the core goal, the model should prioritize the latest explicit user instruction and the user-visible acceptance criteria.
Impact
- The visible repository appeared empty or incomplete despite extensive token and compute use.
- Work was difficult to locate and at risk of being abandoned in a hidden directory.
- Release numbering created a false impression of integrated product progress.
- The user had to understand Git worktree internals and repair the orchestration flow manually.
- Higher reasoning effort increased cost without improving instruction following or product alignment.
Environment
- Codex CLI:
0.144.6 - Platform: macOS
- Models:
gpt-5.6-solhigh and xhigh - Multi-agent persistent goal
- Project-local hidden worktree:
.worktrees/locator-workbench-release-1 - Branch:
feat/locator-workbench-release-1 - Repository:
selectorChromePlugin
Suggested Fix
- Add a mandatory integration gate before a persistent goal starts a new release or phase.
- Do not allow a goal to reuse a release-specific worktree indefinitely across later releases.
- Display active worktree, branch, unmerged commits, and main-checkout divergence prominently.
- Detect when the visible workspace is empty or behind while a hidden worktree contains the implementation.
- Make explicit user instructions such as “local main only” override generic worktree skill defaults immediately.
- Add instruction-overload detection that summarizes conflicts and anchors execution to the latest user goal.
- Evaluate model regressions across reasoning levels using repository-state outcomes, not only textual plan quality.
Related reports: #34657 and #34659.
2 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Scope clarification after reviewing #34657, #34659, and the other reports from this thread:
This is a separate repository-state, worktree lifecycle, and instruction-priority failure.
The defining evidence is that implementation moved into
.worktrees/locator-workbench-release-1, Release 1/2/3 continued there without an integration gate, and the visiblemaincheckout remained empty or materially behind. The user had to order a merge, prohibit further worktree use, and identify the leftover hidden checkout manually. The model/reasoning-level comparison is secondary to that concrete repository-state failure.#34657 concerns persistent-goal scope drift; #34659 concerns oversized code-heavy plans. Neither specifically covers hidden worktree authority, unmerged release progression, or failure of an explicit “local main only” instruction to override generic worktree guidance. The required fix is an integration/workspace-authority gate and explicit instruction-conflict handling.