Repository navigation
fix: preserve empty metadata descriptions and cover reviewed errors - #732
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
WalkthroughThe changes add tests for action metadata errors and save behavior. The usage renderer now treats null or undefined input descriptions as empty strings, with integration coverage for omitted, empty, and null descriptions. ChangesMetadata validation
README descriptions
Save behavior
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix Suggested reviewers: Merge Risk: ⚪ Minimal · up to This change makes generated usage comments render a missing input description as empty text. The other changes add test coverage, and no merge-blocking risk remains. Pre-merge checks |
|
Coverage Report
File Coverage
|
||||||||||||||||||||||||||||||||||||||||||||
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3c0a181531
ℹ️ 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".
Jamie-BitFlight
left a comment
There was a problem hiding this comment.
Fresh metadata review found no regression in the nullish-description correction, but its broader generation/verifier probes exposed two confirmed baseline mismatches for already accepted defaults. They reproduce on both main and this head. They belong to the exact-verifier boundary being corrected here; the implementation will preserve the generator and metadata policy and align only the verifier plus behavioral regression coverage.
Preserve absent, empty, null, and multiline default distinctions in the exact README verifier. Exercise real YAML generation under both formatting settings and require corrupted default projections to fail.
## [2.0.5](v2.0.4...v2.0.5) (2026-10-11) ### Bug Fixes * add CLI-only generation error boundary ([#654](#654)) ([#725](#725)) ([6a27eaa](6a27eaa)) * **ci:** honor explicit Node versions before automatic detection ([95a9e68](95a9e68)) * **ci:** honor explicit Node versions in the test matrix ([#735](#735)) ([3f03f0d](3f03f0d)) * complete SVG writes before reporting success ([#717](#717)) ([170e499](170e499)) * consistently interpret GitHub Actions environment flag ([#670](#670)) ([#723](#723)) ([68756ad](68756ad)) * fail generation on formatting and requested save errors ([#654](#654)) ([#718](#718)) ([bb48434](bb48434)) * guard malformed runs metadata and preserve load error causes ([#720](#720)) ([c6caf7a](c6caf7a)) * load native ESM configuration and verify fresh package entry points ([5f92784](5f92784)) * load native ESM configuration and verify fresh package entry points ([#733](#733)) ([55746ed](55746ed)) * pair section log groups and honor Actions mode at output boundaries ([2d45100](2d45100)) * pair section log groups and honor Actions output mode ([#734](#734)) ([ceaa03a](ceaa03a)) * preserve empty metadata descriptions and cover reviewed errors ([3c0a181](3c0a181)) * preserve empty metadata descriptions and verify reviewed error paths ([#732](#732)) ([f8c0f4e](f8c0f4e)) * preserve original file read error as cause ([#722](#722)) ([05553e0](05553e0)) * validate consumed nested metadata descriptions ([#670](#670)) ([#729](#729)) ([330ab9a](330ab9a)) * validate README section configuration at input boundary ([#670](#670)) ([#726](#726)) ([40c9efd](40c9efd)) * verify declared defaults using their rendered projection ([beb2180](beb2180)) * verify empty metadata descriptions through the contract checker ([a5e2d31](a5e2d31))
|
🎉 This PR is included in version 2.0.5 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Why
The accepted blank/null descriptions from #729 reach usage comments as literal JavaScript values. Main also fails its formatter gate before tests and builds execute. Reviewing the resulting exact-verifier path exposed mismatches for accepted descriptions and defaults.
Changes
runsthrough the metadata constructor, including the contextual error and cause (fix: validate action metadata shape before inspecting runs (#670) #720).Action.tsand its test.The latest two-file verifier correction is beb2180. This PR changes six files against main. #733 and #734 inherit it.
Verification
Fresh independent checkers marked both verifier findings satisfied. The new default cases fail against the prior verifier at positive verification; real generated output passes the correction under both formatting settings, and targeted stale/default/continuation mutations still fail. The focused contract run passed 174 tests. Historical scalar-
runsand requested-save mutation controls fail the intended regressions.At head
beb2180abd2d9b225af0b8db0a37201c2616021a, unit/coverage CI passed 703 tests in 24 files in each named matrix lane, plus format/lint/type checks, build and docs. Both external integrations, lint, and both CodeQL analyses passed.Runtime correction to earlier verification wording: both matrix lanes actually executed Node 24.19.0, including the lane labeled Node 26.x. The shared setup action ignores the explicit version when automatic detection succeeds. CI correction #735 now verifies the complete inherited application stack on actual Node 24.19.0 and Node 26.11.1, with 722 tests in each lane. Observed run. This PR's own earlier runs remain Node 24 evidence.
The description-verifier thread and default-verifier thread are resolved after independent checks. No generated bundles or dependency changes are committed.
Merge this foundation before #733 and #734. Follow-up to #670/#654 and reviews on #718, #720 and #729.
Summary by CodeRabbit