Repository navigation
Upstream sync and Codex Lab feature reclassification #229
Description
Objective
Own the post-MVP program that brings Codex Lab onto current upstream substrate while keeping Every Code product differentiation explicit, thin, testable, and recoverable. This issue is the durable umbrella for convergence execution and Background Review architecture, not a commit ledger.
Finish Line
Codex Lab runs on a current upstream-derived substrate; every surviving Every Code feature layer has an explicit ownership decision and executable contract; broader Background Review architecture is reconciled; and permanent dogfood graduation can proceed without hidden fork drift.
Current Status
State: Superseded by the post-cutover roadmap in #498.
The upstream-first source transition this umbrella coordinated is complete: #126, #428, #305-#308, #429, and #343 are closed, and protected main is the converged candidate at 6f94416cf5f7ccd5a8ed4d0b8ae5ca4c080e6df5 with post-merge CI green.
The remaining work no longer belongs in one convergence umbrella:
- Sync Codex Lab with current openai/codex substrate #230 now owns steady-state small upstream refresh operations and is intentionally blocked by the first post-cutover release Publish and install first post-cutover Codex Lab prerelease #499.
- Rework durable Background Review around upstream review primitives #231 remains a later Background Review architecture/product-maintenance track related to Launch Codex Lab and establish post-cutover roadmap #498; its unfinished work is not represented as complete.
- Launch Codex Lab and establish post-cutover roadmap #498 is the canonical launch and product roadmap, with Publish and install first post-cutover Codex Lab prerelease #499 as the sole concrete
Nowitem and Bound and compress local session rollout storage #490 asNext.
Disposition: close this umbrella as not planned because its pre-cutover roadmap shape is obsolete. Preserve #230 and #231 as independent open work.
Next action: none in this issue.
Blocked by: none.
Last verified: July 29, 2026.
Scope
- In: convergence program ownership, Every Code feature classification by contract, upstream snapshot intake, Background Review architecture, product-lane sequencing, and graduation relationships.
- Out: detailed subsystem implementation, per-commit historical classification, direct release execution, or unrelated product roadmap work.
Acceptance Criteria
- Convergence execution has a durable parent and native dependency graph in Sync Codex Lab with current openai/codex substrate #230.
- The compatibility envelope and deterministic audit tooling are preserved as completed evidence.
- Define Every Code-owned convergence contracts #126 defines the executable Every Code ownership/contract matrix.
- Build upstream snapshot integration and canary branch #428 produces a refreshable upstream-first candidate.
- Sync canonical turn, context, history, and recovery substrate #305-Sync TUI, Guardian, and CI substrate #308 complete product-lane reconciliation against that candidate.
- Rework durable Background Review around upstream review primitives #231 is thinned onto the converged review/hooks substrate without losing Background Review behavior.
- Cut over to converged Codex Lab baseline and primary harness #343 completes protected cutover, rollback/re-entry, quality, and soak gates.
- Repository/worktree cleanup does not delete unmerged user work or confuse stale branches with active plan state.
Workstreams
- Execute Sync Codex Lab with current openai/codex substrate #230's upstream-first convergence graph.
- Rework durable Background Review through Rework durable Background Review around upstream review primitives #231 after the candidate substrate is stable.
- Keep validation, plugin lifecycle, provenance, remote-control, and dogfood issues related without duplicating their finish lines here.
- Use focused implementation issues for concrete risks such as Stop emitting free-form analytics error subreason #429 rather than expanding historical ledger buckets.
Relationships
- Post-MVP successor referenced by closed Codex Lab MVP dogfood plan #28.
- Native children: Sync Codex Lab with current openai/codex substrate #230 convergence execution and Rework durable Background Review around upstream review primitives #231 Background Review rework; Classify Codex Lab feature ownership after upstream sync #232/Clean up stale Codex Lab worktrees and planning artifacts after sync classification #233 remain completed history.
- Graduation gate: Cut over to converged Codex Lab baseline and primary harness #343.
- Related product tracks: Plugin lifecycle hooks for workspace preparation and quality providers #149 plugin lifecycle, Restore Every Code auto-validation loop #284 validation, Make dogfood build provenance visible #311 provenance, and remote-control/dogfood plans.
Validation
- Issue graph reflects one active next action and native blockers.
- Parent/child Current Status sections agree on strategy, candidate, and cutover ordering.
- Project Focus keeps exactly one meaningful
Nowitem.
Decisions
- Stop using exhaustive commit classification as the gateway to implementation.
- Preserve ledgers as evidence and adopt current upstream snapshots by default outside explicit Every Code contracts.
Open Questions
- None at the umbrella level; child issues own implementation questions.
Activity
shiny-code-bot commentedon Jul 4, 2026
Plan direction checkpoint, 2026-07-04:
After PR #270, upstream alignment is the next active workstream, but agent consensus is to continue the staged strategy rather than do a broad merge.
Fresh refs:
origin/main:95161fe386810dd2ddb58738fee32eb9715d91ceopenai/main:98d28aab54ed86714901b6619400598598876dd0444 / 730commits acrossorigin/main...openai/main4e259c3bd0: about 495 commits touching app-server, app-server-protocol, core, login, TUI, MCP/protocol/thread-store surfaces.Next action:
Anti-goals:
ChatgptAuthTokensRefreshstubs over Every Code-owned behavior without an explicit product decision.shiny-code-bot commentedon Jul 4, 2026
Ownership matrix update from #126 drift ledger checkpoint 1:
The first protected local surfaces are now explicit:
account/list,account/remove,account/switchActive;Upstream surfaces to import in staged lanes:
Next concrete action is an invariant-guard PR, not the sync itself: add the missing TUI test that account switching stays on the app-server
account/switchActivepath and does not degrade into session restart semantics.shiny-code-bot commentedon Jul 5, 2026
Stage 2 substrate checkpoint landed: PR #273 (
Share resumed rollout history) merged tomainas0635172b711e4fd08deb1cb862c337dac5855c92.This imports upstream
openai/codex@330ae6a516as a narrow continuation after #272, sharing resumed rollout histories withArc<Vec<RolloutItem>>while preserving Every Code session identity/provenance behavior. Durable recovery details are in #230.shiny-code-bot commentedon Jul 5, 2026
Stage 2 persistence guardrail landed: PR #274 (
Close thread persistence on channel close) merged tomainas4b1c024936ad0fa6112c2a425722bc99eddf268e.This imports upstream
openai/codex@c55ce3b51b, closing live thread persistence when the submission channel closes without an explicit shutdown. Durable recovery details are in #230.cbusillo commentedon Jul 5, 2026
Stage 2 breadcrumb: PR #275 landed the terminal rollout event durability slice.
b5f1eefe32b0cd30d4c004abd3c30c535f75a6f2openai/codex@f5f812389eTurnCompleteandTurnAbortedterminal events now flush rollout persistence after append, with focusedcodex-coretests covering completion/abort flush counts.cbusillo commentedon Jul 6, 2026
Stage 2 substrate breadcrumbs since the last parent-plan update:
561153e1c8, avoiding duplicate history reads on cold resume while preserving Every Code session/provenance behavior.ec2ee9a33a, adding missing rolloutTurnItemvariants plus app-server v2 conversion/schema/replay support and downstream analytics/TUI exhaustiveness handling.Durable recovery details remain in #230. Current direction is still staged upstream substrate sync, not a broad fast-forward. The next likely slice is
ThreadHistoryMode/ history-mode persistence, with initial context metadata and descendant listing behind it.