Files
Trevin Chow ba75eeeea9 feat(release): validate Codex manifest parity with Claude source of truth
Extends syncReleaseMetadata with cross-checks for the Codex manifest
surface. Mirrors the existing Claude <-> Cursor validation pattern,
with one deliberate difference: version drift on .codex-plugin/plugin.json
is detect-only, never auto-corrected on write: true. release-please
owns version bumps via the extra-files entries in
.github/release-please-config.json, and having syncReleaseMetadata
also write would create a second authority for the same field. Only
description drift is auto-corrected.

New validation failure modes:
- .codex-plugin/plugin.json missing when .claude-plugin/plugin.json
  exists (structural error)
- name mismatch between paired plugin.json files (structural error)
- skills: "./skills/" declared but target directory does not exist
  (structural error)
- .agents/plugins/marketplace.json plugin list differs from
  .claude-plugin/marketplace.json — either direction (structural error)

syncReleaseMetadata's return shape now includes errors: string[]
alongside updates: FileUpdate[]. scripts/release/validate.ts
surfaces these as "Release metadata structural errors" so CI fails
with a specific remediation path.

Tests cover the happy path plus each structural error mode and the
write-mode behavior (description auto-corrected, version preserved).
2026-04-20 18:50:21 -07:00
..