Skip to content

ci: make Codex rebuilds explicit and one-command - #7

Draft
ttaylorr-oai wants to merge 1 commit into
metafrom
ttaylorr/codex-one-command
Draft

ci: make Codex rebuilds explicit and one-command#7
ttaylorr-oai wants to merge 1 commit into
metafrom
ttaylorr/codex-one-command

Conversation

@ttaylorr-oai

Copy link
Copy Markdown
Collaborator

Summary

  • Add Meta/rebuild as the normal end-to-end operator command and Meta/publish <run-id> for a preparation started in GitHub.
  • Bind dispatch, artifact, staging CI, and promotion to exact run attempts and report useful preparation, job, and heartbeat progress.
  • Generate and independently verify one explicit two-parent integration merge for every active topic, including prerequisites, fast-forwards, already-contained tips, equal-tip aliases, and empty topics.
  • Use chatgpt-codex-connector[bot] for rewritten and generated commit metadata while retaining the human operator as the authenticated pusher.

Safety

The Action still executes no candidate code and pushes no refs. Final publication remains on the operator machine because the built-in GITHUB_TOKEN cannot safely preserve the push-triggered staging and release gates.

A dry run against the current live master, codex, and four topic tips produced a candidate whose tree is exactly the current shipped codex tree (85afa6d3b31041e4013c65357821165d381741f9). The first refresh changes only integration history and generated meta state. It does not rewrite any topic tip.

Validation

  • t/t9905-codex-branch.sh: 42/42 passed.
  • Shell syntax passed under sh and dash; workflow YAML and ruleset JSON parse cleanly; git diff --check passed.
  • Coverage includes exact dispatch provenance, rerun races, staging progress, self-refresh, atomic leases, legacy tree-same canonicalization, empty topics, merge.log=true, and rejection of missing, reordered, or forged integration histories.

The operator and topic-maintenance guide is updated at How to maintain the Codex branch in openai/git.

Refreshing codex currently requires an operator to dispatch a workflow,
locate its run ID, invoke a low-level helper, and wait without useful
progress. The aggregate also records only maximal tips, obscuring the
topic boundaries codex.config is meant to preserve.

Add Meta/rebuild as the end-to-end entry point and Meta/publish for an
existing preparation run. Bind dispatch, artifact, and staging CI to one
exact run attempt. Report progress, and keep the final push on the
operator machine.

Give every active topic a canonical two-parent integration merge in
dependency order, including fast-forward, already-contained, and empty
topics. Independently verify that history before staging and promotion.
Canonicalize legacy maximal-tip output once without changing its tree.

Cover dispatch and rerun races, progress reporting, self-refresh,
integration order, empty topics, no-op reuse, forged history, and atomic
publication in t9905.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant