Skip to content

fix(release): fail closed on skipped publication - #26

Merged
myagentdojo merged 1 commit into
mainfrom
codex/fix-historical-release-publication
Aug 9, 2026
Merged

myagentdojo merged 1 commit into
mainfrom
codex/fix-historical-release-publication

Conversation

@myagentdojo

@myagentdojo myagentdojo commented Aug 9, 2026 •

Copy link
Copy Markdown
Owner

Summary

This completes the historical-release repair path started in #24 and #25. The exact-main repair run proved the package successfully, but GitHub Actions still skipped publication because an intentionally skipped compatibility job propagated through the dependency chain; the workflow then reported a false green.

Publication now evaluates after skipped ancestors and still requires successful package proof. A single terminal convergence job checks the exact maintenance, publish, or repair result shape, so a skipped, failed, or cancelled requested operation makes the workflow fail with every job result in the diagnostic.

The repository validator now bounds the publish job before the terminal job. The regression table also evaluates the real workflow script with exact GitHub result bindings and no inherited environment.

Validation

  • bun test: 530 passed, 3 named manual/hosted qualification checks skipped, 0 failed.
  • actionlint .github/workflows/release.yml: passed.
  • bun run release:validate -- --json: passed.
  • Cross-model and local review findings were applied; the final simplicity pass found no reusable abstraction or material bloat.

Post-Deploy Monitoring & Validation

  • Run repair for v0.1.1 with replace_mismatched_assets=false on the merged main commit.
  • Healthy repair: candidate, package, publication, and convergence succeed; compatibility and maintenance are skipped.
  • Verify Release Please PR chore(main): release 0.1.1 #18 has autorelease: tagged, no autorelease: pending, and the existing v0.1.1 assets remain unchanged.
  • Then run maintenance; healthy maintenance has only the maintenance job and convergence succeed.
  • If convergence fails, use its complete job-result diagnostic to identify the skipped or failed owner. Do not replace immutable assets while investigating.
  • Validation window: the first repair and maintenance runs after merge. Owner: repository maintainer.

Compound Engineering

Summary by CodeRabbit

  • Bug Fixes

    • Improved release workflow handling so releases run only after required preparation steps succeed.
    • Added validation for publish and repair modes, including expected successful and skipped states.
    • Added safeguards to detect invalid workflow outcomes.
  • Tests

    • Expanded automated coverage for release conditions, workflow boundaries, and terminal operation states.

@myagentdojo
myagentdojo temporarily deployed to hosted-canary-qualification August 9, 2026 04:59 — with GitHub Actions Inactive
@coderabbitai

coderabbitai Bot commented Aug 9, 2026 •

Copy link
Copy Markdown

Review Change Stack

Important

Review skipped

No new commits to review since the last review.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 6eaa1746-db20-40be-a6d2-dfb8ac8ee0de

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

The release workflow now requires successful resolution and packaging before release execution. An always-running converge job validates terminal states for each release mode. Tests and workflow validation enforce these boundaries.

Changes

Release convergence

Layer / File(s) Summary
Release job gating
.github/workflows/release.yml, scripts/release-validate.test.ts
The release job requires successful resolve and package jobs for publish and repair modes.
Convergence result checks
.github/workflows/release.yml, scripts/release-validate.test.ts
The converge job validates expected result combinations for maintenance, publish, and repair modes. Tests cover accepted and rejected states.
Workflow boundary validation
scripts/release-validate.ts, scripts/release-validate.test.ts
Validation requires converge after release and limits release checks to the correct workflow section. Boundary tests cover missing jobs.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Resolve
  participant Package
  participant Release
  participant Converge
  Resolve->>Release: successful result
  Package->>Release: successful result
  Release->>Converge: terminal job result
  Resolve->>Converge: terminal job result
  Package->>Converge: terminal job result
  Converge->>Converge: validate operation result matrix
Loading

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: the release workflow now fails closed when publication is skipped.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/fix-historical-release-publication

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

@myagentdojo

Copy link
Copy Markdown
Owner Author

@codex review

@myagentdojo

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 9, 2026 •

Copy link
Copy Markdown
⚠️ Action not completed

Already reviewed.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Chef's kiss.

Reviewed commit: 04e7c708bd

ℹ️ 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".

@myagentdojo

Copy link
Copy Markdown
Owner Author

@codex-gate approve 04e7c70 5229865157

@chatgpt-codex-connector

Copy link
Copy Markdown

To use Codex here, create an environment for this repo.

@myagentdojo
myagentdojo merged commit c9067f6 into main Aug 9, 2026
20 checks passed
@myagentdojo
myagentdojo deleted the codex/fix-historical-release-publication branch August 9, 2026 07:06

This branch was previously deployed

1 inactive deployment
hosted-canary-qualification — 04e7c708 Deployed Aug 9, 2026 by myagentdojo via Qualify immutable hosted candidates #95
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.

2 participants