feat(launch): add bounded external EPF wait - #34
Conversation
- define opt-in launch contract\n- record TDD implementation plan
- add opt-in thin client wait outcome and cleanup\n- validate raw launch overrides and redact connection credentials\n- document and test the external EPF workflow
|
Warning Review limit reached
Next review available in: 32 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
WalkthroughДобавлен opt-in bounded wait для ChangesExternal EPF bounded wait
Estimated code review effort: 4 (Complex) | ~60 minutes Sequence Diagram(s)sequenceDiagram
participant CLI
participant LaunchApp
participant ProcessExecutor
participant ExternalEPF
CLI->>LaunchApp: launch thin with wait options
LaunchApp->>ProcessExecutor: spawn managed wait process
ProcessExecutor->>ExternalEPF: start EPF client
LaunchApp->>ProcessExecutor: wait for exit or timeout
ProcessExecutor-->>LaunchApp: exit code, timeout, and artifact paths
LaunchApp-->>CLI: structured LaunchResult or runtime failure
Possibly related PRs
Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 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. Comment |
- reject direct-launch-only wait options before test execution\n- document observational external EPF exit codes
|
@coderabbitai review |
|
✅ Action performedReview finished.
|
|
@coderabbitai review |
✅ Action performedReview finished.
|
- return CLI failure when external EPF wait times out - keep wait timeout from being capped by execution_timeout - split direct launch wait flags from test launch options - redact only credentials in infobase connection rendering
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/platform/process.rs`:
- Around line 995-1010: Update split_infobase_connection_string_inline to avoid
slicing arg at a potentially invalid UTF-8 boundary: replace the direct
arg[..flag_len] access with a safe get(..flag_len) lookup while preserving the
existing case-insensitive prefix check and value_start behavior.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: cd67c42b-71d9-4808-8d1a-f2a243f20b1f
📒 Files selected for processing (12)
SKILL/SKILL.mddocs/CAPABILITIES.mdsrc/cli/args.rssrc/cli/execute.rssrc/domain/launch.rssrc/domain/runner.rssrc/mcp/service.rssrc/platform/process.rssrc/use_cases/launch_app.rstests/cli_help.rstests/cli_launch.rstests/cli_test.rs
- remove special redaction for /IBConnectionString values - keep masking only explicit credential flags and assignments
Closes #29
launch thin --wait-for-exitfor explicit external.epfexecution./C,/Execute,/Outaliases in wait mode and redacts composite connection credentials.Validation: focused CLI wait tests, credential-redaction unit test,
cargo test --no-run, fmt and diff checks.Summary by CodeRabbit
launch thin.--wait-for-exit,--wait-timeout-msи--stderr-output.testиlaunch mcpне принимают параметры ожидания внешнего EPF.