Skip to content

Define Every Code-owned convergence contracts #126

Description

@shiny-code-bot

Objective

Define the executable product contracts and ownership exceptions that allow Codex Lab to adopt a current openai/codex tree by default without losing intentional Every Code behavior. The authoritative restored Every Code source remains evidence for product intent, while tests, fixtures, snapshots, and explicit decisions become the durable convergence gate.

Finish Line

Every surviving Codex Lab difference from upstream is either protected by an executable Every Code contract, recorded as an intentional owned exception, or removed from the convergence candidate; the contract matrix is sufficient to unblock #428.

Current Status

State: Complete. The contract authority has been fully consumed by the final upstream-first candidate.

Final candidate: code/upstream-snapshot-428 at 86cad522213c21e4d3696064878c4233cb3df724 (tree bd3e9f400737f27900615ef3b011d163b0214b55). #428 is closed complete.

Final contract result:

  • IDENTITY-1 preserves isolated codex-lab, CODEX_LAB_HOME, ~/.codex-lab, auth, telemetry, installer, and release identity.
  • MODEL-1 makes provider catalogs/default metadata authoritative, preserves explicit user selections, and limits bundled data to bootstrap/offline fallback.
  • RELEASE-1 preserves GitHub Releases and Codex Lab-owned signed binary/app/installer/updater/rollback/package/endpoints/credentials without inheriting OpenAI release authority.
  • Account/auth, history/resume, app-server/protocol, agent/tool/review, TUI, Code Bridge/browser/remote-control, privacy, and validation contracts are protected by executable tests, fixtures, snapshots, live evidence, or explicit opt-in characterization.
  • Strict convergence passes with 369 guarded paths, zero violations, zero stale waivers, and 40 decided records. The deterministic harness passes 18/18 scenarios and explicitly reports three opt-in live scenarios.

No contract-definition work remains. Permanent source/runtime cutover remains separately gated by #343/#382.

Last verified: July 29, 2026.

Scope

  • In: product identity and config precedence; account/auth/storage/switching UX; history/resume/persistence; app-server and protocol compatibility; agent/tool/review behavior; TUI interaction contracts; Code Bridge/browser/remote-control integration; release ownership and model defaults.
  • Out: importing the upstream tree, resolving the integration branch, replaying historical commits, final cutover, or preserving undocumented local behavior by default.

Acceptance Criteria

  • Publish a compact ownership matrix for upstream-owned, contract-adapted, red-risk, and intentionally Every Code-owned surfaces.
  • Every critical owned surface has an executable test, fixture, snapshot, dogfood gate, or explicit reason why live validation is required.
  • Preserve authoritative Every Code account/login/settings flows, CODE_HOME/CODEX_LAB_HOME precedence, product identity, release ownership, Auto Drive, external-agent, Background Review, Code Bridge, browser, and remote-control contracts where still intended.
  • Define schema, migration, history/resume, auth/account, sandbox/approval, and TUI regression gates for Build upstream snapshot integration and canary branch #428.
  • Route the six actionable rows found by Reconstruct pre-checkpoint semantic ledger through 1bbdb327 #407, including the completed Stop emitting free-form analytics error subreason #429 analytics privacy fix and candidate validation of plugin-cache, MCP visibility, and OTEL counter→gauge behavior.
  • Require every surviving modification to an upstream-owned file to name its owning contract or explicit product decision.
  • Do not require unclassified historical commits to block Build upstream snapshot integration and canary branch #428 once the candidate satisfies the contract matrix.

Relationships

Validation

  • Execute contracts against current Codex Lab main, the authoritative restored Every Code reference where applicable, and Build upstream snapshot integration and canary branch #428's candidate.
  • Keep model-visible context and generated artifacts bounded and deterministic.
  • Use snapshots or browser/TUI evidence for user-facing flows and isolated homes for auth/config tests.

Decisions

  • Reuse this issue as the single convergence-contract authority instead of creating another ledger.
  • Treat upstream as the default implementation outside explicit owned surfaces.
  • Preserve historical audit evidence without making audit completeness a prerequisite for integration.

Open Questions

  • Which live account, remote-control, and release contracts need dogfood rather than offline fixtures?

Metadata

Metadata

Assignees

No one assigned

    Labels

    planDurable planning issueplan:donePlan completed or superseded

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions