fix(generator): preserve Vault switch identity and sync source API - #5119
Conversation
|
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 (3)
Included review availability: Your plan provides up to 4 included reviews per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe change updates CLI parsing API declarations, preserves raw Vault option switches, and adds tests for positional operands after flags. Tests also confirm that option-value placeholders remain excluded from positional arguments. ChangesVault operand parsing
Priority: ⬇️ Low Estimated code review effort: 3 (Moderate) | ~20 minutes Change: Bug fix Possibly related PRs
Merge Risk: ⚪ Minimal · up to The Vault parsing and API-baseline updates have reported test and build coverage with no established user-facing failure, so the change is ready to merge pending routine CI. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 16.67% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 6 functions across 2 files. (1 skipped: 1 unsupported.)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
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 hops past flags in line Comment |
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. |
Greptile SummaryThis PR corrects Vault CLI scraping and synchronizes the generator’s public API baseline.
Confidence Score: 5/5The PR appears safe to merge, with no outstanding correctness, security, or repository-rule issues identified. The Vault scraper now retains documented switch spellings without breaking downstream generation, its operand behavior is covered by focused regressions, and the public API entries align with the current source signatures.
|
| Filename | Overview |
|---|---|
| tools/ModularPipelines.OptionsGenerator/src/ModularPipelines.OptionsGenerator/Scrapers/Cli/VaultCliScraper.cs | Preserves raw Vault switch spelling while continuing to derive stable option property names. |
| tools/ModularPipelines.OptionsGenerator/src/ModularPipelines.OptionsGenerator.Tests/Scrapers/VaultCliScraperTests.cs | Adds focused regressions for switch identity and positional-operand handling across usage synopsis variants. |
| tools/ModularPipelines.OptionsGenerator/src/ModularPipelines.OptionsGenerator/PublicAPI.Unshipped.txt | Synchronizes the public API baseline with the generator’s current source-level API. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart LR
H[Vault help text] --> P[Parse documented switches and usage]
P --> S[Preserve single-dash switch identity]
P --> O[Resolve positional operands]
S --> C[CLI command definition]
O --> C
C --> G[Generated Vault options]
Reviews (2): Last reviewed commit: "fix(generator): preserve Vault switches ..." | Re-trigger Greptile
ReviewReviewed the diff ( Vault switch-spelling fix ( New tests — both are meaningful integration-level regressions, not tautological unit checks:
All match real, already-existing declarations rather than being hand-authored — consistent with this repo's rule that the baseline should reflect current generator output, not a manual edit. No prior bot reviews (Codex, Greptile) raised findings on this PR, and CodeRabbit hit its review-rate limit without producing one; nothing outstanding to reconcile. No actionable issues found — this is a clean, well-tested follow-up. |
64997aa to
7840fc9
Compare
|
Rebased onto main 8ea298f after #5118 merged. Resolved the public API header conflict while retaining the shared enum API additions. Remote head 7840fc9 passes the Release generator solution build with PublicApiAnalyzerProject=ModularPipelines.OptionsGenerator explicitly enabled (zero warnings/errors), all five Vault regressions, and git diff --check. Source formatting remains unchanged. @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". |
ReviewRe-reviewed at the current head ( Core fix ( Tests — both new tests exercise the full
No actionable issues found. Clean, well-tested follow-up; the rebase was resolved correctly. |
|
Merged as 34b8b18 after current-head reviews cleared and all 17 checks passed or completed with allowed skipped/neutral conclusions. Paginated branch-run inspection confirms no queued, waiting, or running CI remains, including superseded commits. |
Vault help uses single-dash switches, but the scraper changed them to double-dash names. Shared synopsis resolution could then discard a positional operand after a presence-only flag and omit the command during traversal. Preserve the documented switch spelling, retain those operands across alternative synopses, and keep value-option placeholders excluded.
Synchronize the generator public API baseline with the source that landed in #5116, including the removed static GetPositionalArguments overloads and the new instance method. The repository sync script recovered the stale entries; an explicit entry also records the linked CommandLinePhase.LateOperand member omitted by its package-path filter.
This follow-up was prepared during review of #5116, which merged before the fixes were pushed. It contains scraper source, tests, and the generator API baseline. Parent #4692 remains open for latest-main generation and integration verification.
Validation: all 1,088 scraper tests pass, including three regressions that failed before the fix. Release generator solution build with PublicApiAnalyzerProject=ModularPipelines.OptionsGenerator passes with zero warnings/errors. Scoped formatting and git diff --check pass. The commit was replayed onto main after #5116 merged; its resulting tree is identical to the validated tree. The existing 600-second/2-GB limits remain unchanged; previously memory-limited broad compiled-generator validation remains deferred to CI.
Refs #5115, #4692
Summary by CodeRabbit