test(e2e): retry empty TUI chat event captures#4255
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThis test update adds intelligent retry logic for chat event capture failures in Issue 2603 live reproduction. A new session key generation scheme with UUID suffixes ensures per-run uniqueness, detection logic identifies zero-event failure modes, and a retry wrapper conditionally re-executes the test. Failure reporting now captures attempt histories and trace-derived metrics. ChangesIssue 2603 Event Capture Resilience
Sequence DiagramsequenceDiagram
participant LiveTest as Live Sandbox Test
participant RetryWrapper as runLiveIssue2603ReproWithEventCaptureRetry
participant ReproExec as Live Repro Execution
participant Classifier as looksLikeEventCaptureFailure
participant Reporting as buildFailureSummary
LiveTest->>RetryWrapper: trigger with UUID session key
RetryWrapper->>ReproExec: run repro (attempt 1)
ReproExec-->>RetryWrapper: repro trace
RetryWrapper->>Classifier: analyze trace for zero captured events
alt Capture failure detected
RetryWrapper->>ReproExec: run repro (attempt 2)
ReproExec-->>RetryWrapper: repro trace
end
RetryWrapper-->>LiveTest: return {repro, attempts}
LiveTest->>Reporting: pass trace + attempts
Reporting-->>LiveTest: enriched failure JSON
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
ESLint skipped: no ESLint configuration detected in root package.json. To enable, add Comment |
E2E Advisor RecommendationRequired E2E: None Dispatch hint: Full advisor summaryE2E Recommendation AdvisorBase: Required E2E
Optional E2E
New E2E recommendations
Dispatch hint
|
E2E Scenario Advisor RecommendationRequired scenario E2E: None Full scenario advisor summaryE2E Scenario AdvisorBase: Required scenario E2E
Optional scenario E2E
Relevant changed files
|
PR Review AdvisorFindings: 0 needs attention, 0 worth checking, 0 nice ideas This is an automated advisory review. A human maintainer must make the final merge decision. |
|
Addressed the review advisor note in 749bc90 by adding source-boundary and removal-criteria context next to the retry helper. The comment now documents that the tolerated zero-event state is a live repro observability race at the pinned OpenClaw gateway/websocket boundary, that this PR keeps the strict #2603/#3145 assertions intact, and when to remove the guard. Verification re-run:
|
Summary
Retries the OpenClaw TUI chat correlation live repro only when an accepted-send attempt captures zero chat events, which matches the dominant harness flake. The strict correlation assertions remain unchanged for empty finals, duplicate turns, missing replies with observed events, and uncorrelated replies.
Changes
Type of Change
Verification
npx prek run --all-filespassesnpm testpassesmake docsbuilds without warnings (doc changes only)Signed-off-by: Carlos Villela cvillela@nvidia.com
Summary by CodeRabbit