Skip to content

test(release): teach the trusted dogfood harness the retired Codex project route - #2833

Closed
namastex888 wants to merge 1 commit into
mainfrom
hotfix/release-dogfood-harness-retired-route
Closed

namastex888 wants to merge 1 commit into
mainfrom
hotfix/release-dogfood-harness-retired-route

Conversation

@namastex888

Copy link
Copy Markdown
Contributor

Why dev releases stopped publishing

release-publish.yml's Codex native dogfood job checks out github.sha (the default branch) for the harness and validators ("trusted release controls") and runs them against the signed candidate. Since #2820 (on dev) the candidate no longer writes the marker-owned Codex project MCP route, so the default-branch tests/support/codex-dogfood-harness.ts fails every platform with:

codex-dogfood-entry: FAIL — candidate project route did not converge to the exact stable facade

v5.260830.2 and .3 built and signed, then Publish to GitHub Releases was skipped. The major release cannot be dogfooded through genie update --dev until this lands — and it cannot be fixed from dev (the dev copy is already correct; it is inert until promoted).

What

Exactly the #2820 versions of the trusted-control files, nothing else:

  • tests/support/codex-dogfood-harness.ts, scripts/validate-live-dogfood-evidence.ts (+ their tests, scripts/candidate-dogfood-matrix.test.ts, scripts/run-musl-dogfood.test.ts)
  • removal of the retired native-MCP evidence modules they replaced (tests/support/codex-native-mcp-evidence.{ts,test.ts}, codex-native-mcp-launcher.sh, tests/integration/codex-native-mcp-evidence.test.ts)

No runtime code; release-publish.yml needs no change (its dev delta is display names only).

Validation (on this branch)

  • bun run typecheck → clean; biome clean on changed files; pre-push check:fast → green
  • bun test scripts/validate-live-dogfood-evidence.test.ts scripts/release-docs.test.ts scripts/candidate-dogfood-matrix.test.ts scripts/run-musl-dogfood.test.ts → 61 pass
  • no residual importers of the removed modules (git grep)

Companion default-branch hotfix: #2822 (version.yml ninth field). Both are prerequisites for dev releases to flow again; the rolling promotion #2817 carries the same content.

🤖 Generated with Claude Code

https://claude.ai/code/session_018QrkgYMEEhrWTUo5E7Nkjg

…oject route

The release-publish 'Codex native dogfood' job runs tests/support and
scripts/validate-live-dogfood-evidence.ts from the default-branch checkout
(trusted release controls) against the signed candidate. Since #2820 the
candidate no longer writes the marker-owned Codex project MCP route, so the
default-branch harness fails every dev release at:

  candidate project route did not converge to the exact stable facade

and v5.260830.2/.3 built, signed, and never published. Land the #2820
harness/validator/fixture changes on the default branch so dev releases can
publish again ahead of the full promotion (#2817).

Files are the exact #2820 versions: harness + validator + their tests and
the retired native-MCP evidence modules they replaced. No runtime code.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018QrkgYMEEhrWTUo5E7Nkjg
@coderabbitai

coderabbitai Bot commented Aug 30, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 20 minutes.

View limit details

Limit details: You’ve used all 2 included reviews currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 24c9ccbe-d5ac-48bc-849e-80ac64f3f663

📥 Commits

Reviewing files that changed from the base of the PR and between 8a98f81 and c4ff0bc.

📒 Files selected for processing (9)
  • scripts/candidate-dogfood-matrix.test.ts
  • scripts/run-musl-dogfood.test.ts
  • scripts/validate-live-dogfood-evidence.test.ts
  • scripts/validate-live-dogfood-evidence.ts
  • tests/integration/codex-native-mcp-evidence.test.ts
  • tests/support/codex-dogfood-harness.ts
  • tests/support/codex-native-mcp-evidence.test.ts
  • tests/support/codex-native-mcp-evidence.ts
  • tests/support/codex-native-mcp-launcher.sh

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Aug 30, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-08-30T01:27:15.055788Z c4ff0bc PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c4ff0bc08b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +543 to +544
const hasTask = argv.some((args) => Array.isArray(args) && args.join(' ') === 'task list --json');
const hasBoard = argv.some((args) => Array.isArray(args) && args.join(' ') === 'board --json');

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Normalize adapter-prefixed argv before matching commands

For the linux-x64-musl matrix entry, release-publish.yml selects the Alpine execution adapter, and captureCommand consequently records argv as [candidateBinary, 'task', 'list', '--json'] or [candidateBinary, 'board', '--json']. These exact joins therefore match neither string here, so the validator rejects genuine musl evidence and blocks promotion whenever that required platform runs. Match the trailing arguments or otherwise strip the adapter's binary prefix before checking them.

AGENTS.md reference: AGENTS.md:L55-L57

Useful? React with 👍 / 👎.

Comment on lines +1144 to +1151
const task = captureCommand({
root: input.root,
binary: input.candidateBinary,
args: ['task', 'list', '--json'],
cwd: input.requestedCwd,
env: input.env,
executionAdapter: input.executionAdapter,
});

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 Badge Fail when the standalone task observation fails

When task list --json exits nonzero but board --json succeeds—particularly in the untouched-repository stage—the failure is only recorded and execution continues, while isError is derived solely from the board command. The validator likewise accepts the stage because at least one command exited 0, so release evidence can claim successful standalone task/board coverage despite the task surface failing. Require and validate a successful task result before returning this evidence.

AGENTS.md reference: AGENTS.md:L55-L57

Useful? React with 👍 / 👎.

namastex888 added a commit that referenced this pull request Aug 30, 2026
…#2839)

Orchestrator ledger write: re-review #2 evidence block (pinned 0d0641f,
SHIP, zero CRITICAL/HIGH, 3984 tests), disposition tense refreshed, #2838
noted, and the human promotion sequence (#2822 + #2833 to main first, then
#2817 merge commit; SHIPPED only after merge + on-host dogfood).


Claude-Session: https://claude.ai/code/session_018QrkgYMEEhrWTUo5E7Nkjg

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
@namastex888

Copy link
Copy Markdown
Contributor Author

Closing in favour of the promotion itself. On main this harness rejects main's own binary (candidate convergence retained a retired Codex Genie MCP route in two integration tests) — making a trusted release control accept both contracts just to publish a pre-promotion dev release would weaken it. #2817 is SHIP-approved (re-review #2 at 0d0641f97) and lands harness + candidate together; dev releases publish again right after. Sequence: merge #2822, then #2817 (merge commit).

@namastex888
namastex888 deleted the hotfix/release-dogfood-harness-retired-route branch August 30, 2026 02:18
namastex888 added a commit that referenced this pull request Aug 30, 2026
…low-up and dogfood evidence (#2840)

Claude-Session: https://claude.ai/code/session_018QrkgYMEEhrWTUo5E7Nkjg

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
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