Conversation
Assign collision-aware numbered names to ordinary branches, preserve literal manual titles, and cover concurrent creation and durable retries. Generated-by: OpenAI Codex
me2seeks
requested changes
Sep 8, 2026
me2seeks
left a comment
Contributor
There was a problem hiding this comment.
Automated review by OpenAI Codex, operated by me2seeks, at 20f83123b2e5a53f37bb76abaf57e7c7aad741f3. This is not an independent human review.
One P2 compatibility finding: the suffix-stripping heuristic cannot distinguish a new generated branch suffix from an inherited title in an existing branch. See the inline exact-source reproduction.
- Optimal for the actual problem: mostly; naming is correctly owned by the Host and cross-source branch reservations are serialized, but existing branch title provenance is misclassified.
- Production code that can be deleted: no closed deletion candidate. Do not repurpose titleIsManual as proof that a numbered suffix was generated by this feature.
- Low-quality tests that can be deleted or replaced: none identified. Current numeric-title coverage uses manual names and misses persisted branches with auto-generated literal numeric endings.
- Deeper refactor: no broad refactor; remove a suffix only when its generated provenance is established, preserving ambiguous existing names.
- Ready to merge: no, pending correction of the existing-data naming case.
- Residual risks / verification: read all three changed files, branch/revision/side-conversation construction, idempotent retries and stored title-update semantics; executed the exact nextBranchName function on a valid legacy header shape. Full Host branch integration suites were not run locally. User-visible title behavior and persisted metadata are affected; material protected-area changes require independent human review under CONTRIBUTING.md.
Preserve both branch-title provenance and upstream tool-mode persistence regressions. Revalidate all affected workspaces, contributor checks, Electron E2E, and CLI packaging; document initial timing failures and the independent archive E2E failure. Generated-by: OpenAI Codex
Include the upstream Windows inventory correction and revalidate contributor checks and all ten affected workspaces. Preserve the six-file branch naming change. Generated-by: OpenAI Codex
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #4978
Ordinary session branches currently inherit the source title, making them difficult to distinguish in the session list.
This change:
Review project (1)andReview project (2).Sprint (2026).Before
After
Verification
Latest main sync
Synced main at d2e1be5 in commit 19864ab to include the upstream Windows inventory fix and trigger fresh CI. Windows inventory now passes (91 declarations). The PR remains a six-file feature change. Normal commit hooks passed without a bypass for this sync.
Fresh root dependency installation, build:test, full build, lint, format, all-workspace typecheck, Desktop/UI Knip, strict-base architecture, other source checks and 196 release-contract tests passed. All ten affected workspaces passed with workspace concurrency 1 and unchanged default internal test commands: Runtime 3,469; Host 1,915; Desktop 2,572; Storage 1,244; CLI 972; Core 833; UI 431; MCP 250; Eval Node 82; Computer use 117. Existing skips remain; Eval Python also passed. No workspace failed or needed a retry in this run.
Supplemental CI scripts: 251 passed; the Biome large-file fixture stalled locally and was interrupted, so that test is not claimed as passing. No assertions or timeouts were changed. Full Electron E2E and package-install smoke were not repeated in this sync-only follow-up; their earlier results below remain historical. Fresh CI is required for the updated merge result.
Earlier validation and historical limitations
Merged
mainatc08626bf2e641a6dbe9b6d299203441ae54dd6ba. The only conflict was adjacent Storage test additions; both branch-title provenance and upstream tool-mode persistence coverage were retained. The net PR still changes six files.Validation on macOS arm64, Node 24.19.0, npm 11.19.0, after fresh root dependency installation and rebuilt artifacts:
build:testalso passed.Known validation limitations
The first CI run on the new merge-resolution head failed at Windows test inventory. The branch itself passes
npm run windows:inventory(90 declarations). CI merges it with newer main5049ffc1a; an independent clean worktree at that unmodified main also failswindows-test-inventory.mjs --check. This is an upstream inventory regression introduced after the validated merge base, not an unresolved PR conflict. No unrelated inventory fix was added here.The initial standard-workspace batch used CI's concurrency 3 and was not entirely green. Runtime failed
still preempts compute while a host tool is pendinganda queued mutation receives the pre-replacement identity captured at lock acquisition; CLI failedmarks an inherited running Bash card detached after rewind(250ms predicate wait). Both complete workspace suites subsequently passed when run individually with their original default test commands. No assertions, sleeps, retries, or timeouts were changed to obtain these results.Linux-required sandbox smoke, Docker live Eval egress, and cross-platform checks were not run on this macOS host; CI remains required.
The extra complete Electron run failed
archived-only history boots into a usable new taskwithhas a live derived effect, the same failure signature addressed independently in #5022. This PR does not change the archive spec, E2E title dependency, or Session-effect coordinator relative to main. #5022 was not folded into this branch, and the E2E failure is not counted as a pass.The merge-staged protocol guard flags an upstream compatibility declaration pinned to epoch 143 while main is at 147. The full staged Biome sweep also stalled on an unchanged upstream test; direct checking of that file passed. Both files are byte-identical to main. All six net-PR staged blobs pass Biome roundtrip checks; staged ASF/whitespace checks and the protocol check against incoming main pass. Hooks were disabled only for the merge commit after these checks; upstream files and persistent hook configuration were not modified.
AI use
Tool(s) and scope: OpenAI Codex assisted with implementation, regression tests, ablation experiments, and validation. The author manually tested the user-visible behavior. OpenAI Codex also resolved the merge conflict and ran the current validation; the merge commit includes a Generated-by trailer.
Checklist
Contributor checks and branch-specific tests pass. First-run timing failures and the independent archive E2E failure are documented above.
Does this PR entail a change in behavior?