Skip to content

Integrate Codex packaging, rehearsal guidance, and model snapshot pin - #7

Merged
teakesdev merged 9 commits into
mainfrom
codex/merge-audit-0920
Sep 20, 2026
Merged

teakesdev merged 9 commits into
mainfrom
codex/merge-audit-0920

Conversation

@teakesdev

@teakesdev teakesdev commented Sep 20, 2026 •

Copy link
Copy Markdown
Owner

Adds the OpenAI Codex marketplace/package and reproducible archive builder, including CI packaging checks. Incorporates private rehearsal-header guidance while correcting the old claim that public checkout is disabled; the public ten-tool contract remains intact. Pins the autopilot fast-lane default to the documented equivalent qwen-flash-2025-07-28 snapshot, preserving environment overrides.

Validation: 39 autopilot and 6 bridge tests passed; workspace typechecks and builds passed; generated skill drift and plugin manifest checks passed; npm package dry run passed; repeated OpenAI archive builds were byte-identical and unzip integrity passed. GitHub CI passed on the combined code at 52d8397; the final commit only records this validation. No tag, publication, production deployment, flag change, or paid request.

ty and others added 7 commits August 30, 2026 01:31
The unversioned `qwen-flash` alias silently re-points as Alibaba ships new
flash generations, so the kit's documented fast lane was a moving target.
Pin the default to `qwen-flash-2025-07-28`, the behaviour-equivalent dated
snapshot (live-probed against dashscope-intl compatible-mode: 200 OK, echoes
back the snapshot id — note it is NOT listed by GET /models, so a catalog
grep is a false negative; only an inference probe confirms it).

Also updates the surfaces that state the default — README env table + fast-lane
prose, .env.example, the architecture diagram (md + generated html) and the
routing unit test — so the public lane mapping matches the code. 39/39 tests
pass. `dist/` is gitignored here, so there is no compiled output to commit.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…aderless

Public MCP remains 8 tools. formation.checkout is gated, not missing.
X-Corpus-Rehearsal belongs on a private Grok Bot connector only. No canary claimed.
@greptile-apps

greptile-apps Bot commented Sep 20, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 4/5

The PR appears safe to merge, with non-blocking opportunities to strengthen release-tag enforcement and CI verification of deterministic archives.

Fix All in CodexFindings

  1. P2 Release Tags Bypass Validation ▶
  2. P2 Reproducibility Is Not Tested ▶
Fix with agent prompt
### Issue 1
scripts/package-openai-plugin.py:55-56
The version check runs only when the supplied ref already starts with `corpus-openai-v`. A differently named future tag such as `v0.2.0` therefore bypasses the documented naming and version rule while still producing a normal versioned archive and `release.json`. Detect tag refs independently of their spelling and reject release tags that do not exactly match the manifest version, while continuing to permit `HEAD` for CI builds.

### Issue 2
.github/workflows/ci.yml:26
CI builds the archive only once and checks ZIP integrity, so it does not verify the newly documented guarantee that repeated builds of the same ref are byte-identical. A change that reintroduces timestamps, unstable ordering, or compression variance could pass unnoticed. Build the same ref into separate output directories and compare the resulting archive bytes or checksums before the unzip check.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Summary

This PR adds a Codex marketplace wrapper and hosted MCP configuration, a reproducible source-ref archive builder, CI packaging checks, installation documentation, and reconciled rehearsal guidance.

  • Packages the two generated Corpus skills and headerless hosted connector for Codex.
  • Builds versioned archives from committed Git state with fixed ZIP metadata and checksums.
  • Documents local installation, release construction, checkout consent, and private rehearsal behavior.
  • Leaves two non-blocking release-hardening opportunities: strict release-tag detection and automated reproducibility comparison.
Diagram
%%{init: {'theme': 'neutral'}}%%
flowchart LR
  R[Committed Git ref] --> A[git archive fixed inputs]
  A --> V[Validate manifest version and skill entries]
  V --> Z[Write deterministic ZIP]
  Z --> H[Write SHA-256 checksum]
  Z --> X[Extracted local marketplace]
  X --> M[Codex installs corpus plugin]
  M --> S[Two Corpus skills]
  M --> C[Headerless hosted MCP connector]
Loading

Reviews (1) · Last reviewed commit: "docs: reconcile rehearsal guidance with ..."

Comment thread scripts/package-openai-plugin.py Outdated
Comment on lines +55 to +56
tag = ref.removeprefix("refs/tags/")
if tag.startswith("corpus-openai-v") and tag != f"corpus-openai-v{version}":

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Release Tags Bypass Validation

The version check runs only when the supplied ref already starts with corpus-openai-v. A differently named future tag such as v0.2.0 therefore bypasses the documented naming and version rule while still producing a normal versioned archive and release.json. Detect tag refs independently of their spelling and reject release tags that do not exactly match the manifest version, while continuing to permit HEAD for CI builds.

Prompt To Fix With AI
This is a comment left during a code review.
Path: scripts/package-openai-plugin.py
Line: 55-56

Comment:
**Release Tags Bypass Validation**

The version check runs only when the supplied ref already starts with `corpus-openai-v`. A differently named future tag such as `v0.2.0` therefore bypasses the documented naming and version rule while still producing a normal versioned archive and `release.json`. Detect tag refs independently of their spelling and reject release tags that do not exactly match the manifest version, while continuing to permit `HEAD` for CI builds.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Fix in Codex Fix in Claude Code

Comment thread .github/workflows/ci.yml
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- run: python3 scripts/package-openai-plugin.py HEAD

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Reproducibility Is Not Tested

CI builds the archive only once and checks ZIP integrity, so it does not verify the newly documented guarantee that repeated builds of the same ref are byte-identical. A change that reintroduces timestamps, unstable ordering, or compression variance could pass unnoticed. Build the same ref into separate output directories and compare the resulting archive bytes or checksums before the unzip check.

Prompt To Fix With AI
This is a comment left during a code review.
Path: .github/workflows/ci.yml
Line: 26

Comment:
**Reproducibility Is Not Tested**

CI builds the archive only once and checks ZIP integrity, so it does not verify the newly documented guarantee that repeated builds of the same ref are byte-identical. A change that reintroduces timestamps, unstable ordering, or compression variance could pass unnoticed. Build the same ref into separate output directories and compare the resulting archive bytes or checksums before the unzip check.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Fix in Codex Fix in Claude Code

@teakesdev teakesdev changed the title Package Corpus for Codex and reconcile rehearsal guidance Integrate Codex packaging, rehearsal guidance, and model snapshot pin Sep 20, 2026
@teakesdev
teakesdev merged commit 6e3caa3 into main Sep 20, 2026
1 check passed
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