Skip to content

Add release blessing surface registry#9201

Merged
Git-on-my-level merged 1 commit into
mainfrom
codex/blessing-surface-registry
Jul 7, 2026
Merged

Add release blessing surface registry#9201
Git-on-my-level merged 1 commit into
mainfrom
codex/blessing-surface-registry

Conversation

@Git-on-my-level

@Git-on-my-level Git-on-my-level commented Jul 7, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • add a versioned release blessing surface registry
  • add shared helpers for namespaced blessing metadata and dependency closure
  • preserve legacy desktop blessing parsing compatibility

Stack

  1. Add release blessing surface registry #9201 — this PR
  2. Add Python backend blessing command #9202 — Python backend blessing command
  3. Gate backend prod deploys on blessing #9203 — Backend prod deploy blessing gate
  4. Require backend blessing for desktop promotion #9204 — Desktop promotion requires backend blessing

Verification

  • python3 .github/scripts/test_release_blessing.py
  • pre-push hook passed for the full stack

@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: eee01eefcd

ℹ️ 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 thread .github/scripts/release_blessing.py Outdated
*,
allow_legacy_desktop: bool = False,
) -> SurfaceBlessing:
if allow_legacy_desktop and surface_id == "desktop-macos" and "blessed" in metadata:

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 Prefer namespaced desktop blessing before legacy fallback

When a release body keeps the legacy blessed keys for current promotion compatibility while also adding blessed.desktop-macos.*, this branch always ignores the namespaced desktop metadata. During the migration that can make a valid namespaced desktop blessing fail because stale legacy fields are missing/false, or let a stale legacy blessed: true pass even when the namespaced desktop blessing was cleared; prefer namespaced desktop metadata when present and only fall back to legacy fields otherwise.

Useful? React with 👍 / 👎.

@cubic-dev-ai cubic-dev-ai 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.

3 issues found across 3 files

Confidence score: 3/5

  • In .github/scripts/release_blessing.py, desktop promotion may prefer stale legacy blessing fields even when blessed.desktop-macos metadata exists, which can promote the wrong release state for desktop as-is — update resolution order to prefer namespaced metadata and only fall back to legacy keys.
  • In .github/scripts/release_blessing.py, dependency closure checks can accept blessing data for the wrong surface if a mismatched dictionary key is supplied, so incorrect cross-surface blessing could be treated as valid — enforce that SurfaceBlessing.surface_id matches required_surface before accepting it.
  • In .github/scripts/test_release_blessing.py, the legacy desktop test does not assert blessing.blessed_at, leaving a parsing regression undetected even if blessedAt input is broken — add a direct assertion on blessing.blessed_at before merging to lock in legacy compatibility.

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread .github/scripts/release_blessing.py
Comment thread .github/scripts/release_blessing.py Outdated
Comment thread .github/scripts/test_release_blessing.py
@Git-on-my-level Git-on-my-level force-pushed the codex/blessing-surface-registry branch from eee01ee to 3ee5ac4 Compare July 7, 2026 07:33
@Git-on-my-level

Copy link
Copy Markdown
Collaborator Author

Monitor review pass for this PR — no code change needed.

Thread reviewed: Prefer namespaced desktop blessing before legacy fallback (chatgpt-codex-connector)

This is already implemented correctly. The legacy fallback in surface_blessing_from_metadata only triggers when namespaced_key(surface_id) not in metadata (i.e. blessed.desktop-macos is absent). When the namespaced key is present, the legacy branch is skipped and the namespaced metadata is read directly — so a valid namespaced desktop blessing is never overridden by stale legacy fields, and a cleared namespaced blessing (false) always wins over a stale legacy blessed: true.

This is covered by test_namespaced_desktop_metadata_preferred_over_legacy, which asserts exactly the cleared-namespaced-wins-over-legacy case. All 6 tests pass locally (python3 .github/scripts/test_release_blessing.py).

No change pushed; thread left unresolved (not addressed by code, since the behavior is already correct).

@kodjima33 kodjima33 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Release blessing surface registry — approve-only; .github/ CI/CD surface, needs Nik.

@Git-on-my-level Git-on-my-level merged commit 5b99633 into main Jul 7, 2026
2 checks passed
@Git-on-my-level Git-on-my-level deleted the codex/blessing-surface-registry branch July 7, 2026 20:54
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