fix(generator): avoid masking non-secret CLI metadata - #5170
Conversation
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. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 4 included reviews per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe generator now classifies numeric metadata and documented enum choices separately from secret values. It adds AWS CLI fixtures and tests, and strengthens a distributed cache lookup concurrency test. ChangesSecret classification updates
Cache concurrency test
Priority: ➖ Normal Estimated code review effort: 3 (Moderate) | ~25 minutes Change: Bug fix Sequence Diagram(s)sequenceDiagram
participant AwsCliScraper
participant OptionTypeEnhancer
participant GeneratedOption
AwsCliScraper->>OptionTypeEnhancer: Parse numeric option metadata
OptionTypeEnhancer->>OptionTypeEnhancer: Exclude metadata from secret inference
OptionTypeEnhancer->>GeneratedOption: Generate int? option with CliOption and without SecretValue
Merge Risk: ⚪ Minimal · up to The change is supported by focused regression coverage and does not show a concrete merge-blocking failure. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Warning Git: CodeRabbit could not clone the repository, so clone-backed analysis was skipped and this review may be incomplete. Verify repository clone access, such as SSH credentials, before requesting another full review. If clone access is intentionally unavailable, use 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. A rabbit reads each line, Comment |
|
The docstring-coverage warning in comment 5693600709 covers named regression tests and private detector helpers. The tests follow the surrounding TUnit convention; comments document fixture provenance and why count descriptions must not inherit secrecy from later token/password references. No public library API changed, and the Release build has zero documentation warnings. CodeRabbit also reports that clone-backed analysis was skipped. Repository fetch and the isolated checkout succeeded locally; this PR's focused tests, formatting, and source build have been validated there. CodeRabbit's diff review reports no actionable findings, and Codex completed its review at 8b316eb. Claude review and platform CI are still running. |
|
The first Claude review job completed without posting a review. Its log records 19 denied tool calls and no buffered inline comments. Retried run 35068018122 so the review result can be published before merge; this does not change the source head. |
|
Expanded the fix in 9242018, confirmed on the remote PR head. The AWS snapshot audit found 31 numeric metadata fields carrying SecretValue: seven pagination counts, eight additional new model-token/session-size fields, and 16 existing credential metadata fields. Public enum choices also carried inferred masking. The updated detector handles complete metadata suffixes and count descriptions; type enhancement clears stale inferred flags and excludes public enum choices. Actual credential values and explicit secret overrides remain masked. All 506 focused tests pass, including all 31 captured numeric cases and explicit overrides. Scoped formatting and the Release generator build pass with zero warnings/errors. @codex review |
|
Codex Review: Didn't find any major issues. Chef's kiss. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
|
Claude's fresh-head workflow 35070617303 completed successfully but again produced no review comment or inline review. Both attempts on the prior head also completed without publishing a review. I have checked all comment/review surfaces; there is no Claude finding to address and no review job still running. The available reviews on 9242018 are Codex's completed review with no findings (5694010557) and CodeRabbit's completed diff review with no actionable findings (5693600709, with its documented clone limitation). Local validation passes 506 tests and a clean Release build. Merge will wait for the remaining platform checks and any new findings. |
|
Linux CI failed in the existing distributed cache concurrency test (#5101): both lookups started and release was signaled, but the test-forced asynchronous continuation did not resume before timeout. I am addressing its release-gate synchronization separately, then will bring the fix into this branch and run fresh CI. Generator checks passed. |
|
Applied the separate test fix from #5171 in 716cec4, now confirmed on this remote PR head. It removes the forced thread-pool hop from the held cache lookup's release gate, retaining the overlap handshake, 50 repetitions, cancellation cleanup, and five-second timeout. The distributed suite passes all 254 tests with coverage, and the Release core build has zero warnings/errors. Fresh CI is running. The superseded failing run 35070619377 was cancelled so its remaining macOS job does not consume capacity. #5171 must merge first; the generator fix will then have its original scope against main. @codex review |
|
Codex Review: Didn't find any major issues. Can't wait for the next one! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
Code ReviewTraced the secret-masking changes (
On the test side, Nice test coverage on the metadata-vs-secret edge cases (enum choices, count/duration suffixes, description-based inference) — the fixture-driven AWS snapshot audit in particular gives good confidence the reclassification didn't regress the 16 existing credential fields while fixing the 15 metadata false positives. |
|
The cache synchronization fix is now on main through #5171 (6c1341e). The final tree difference between main and this head contains only the six generator/fixture files. Linux CI passed on 716cec4, including all 254 distributed tests. Codex (5694360812) and CodeRabbit (5693600709) completed their reviews of this head with no actionable findings. The existing docstring-warning disposition applies to the internal helpers and tests; no new public library API is involved. Claude job 35072805004 completed without publishing a review, consistent with the previously documented limitation. No review threads or review-body findings remain open. Waiting for the final macOS check, then merge and fresh AWS/gcloud generation. |
CLI metadata such as MaxResults, token durations, password lengths, and public enum choices was inferred to be secret. Passing a page size of 1 could register the common digit 1 for log masking; documented choices could similarly hide ordinary words.
The generator now recognizes count descriptions and complete metadata suffixes such as Length, Duration, and Size. Identifier boundaries keep actual secret names such as SecretMessage from being mistaken for age metadata. Type enhancement clears stale inferred masking for these fields and public enum choices. Actual credential values and explicit secret overrides retain their masking.
Regression coverage includes all 31 numeric metadata fields found in the AWS CLI 2.36.46 snapshot, including the original seven pagination cases, eight additional newly generated fields, and 16 existing fields. The tests exercise parsing, metadata enhancement, and generated attributes. Separate cases protect real credentials, identifier boundaries, and explicit overrides for numeric and enum options.
Validation: the expanded baseline failed 24 of 31 metadata cases before the follow-up. All 506 focused tests now pass. Scoped formatting and the Release generator solution build pass with zero warnings/errors.
Refs #5169 and closed generated PR #5168. Fresh AWS/gcloud generation will run from main after this source fix passes CI/reviews and merges.
Summary by CodeRabbit