Repository navigation
fix: Pause point timeout details carry the wait's timeout and the marker id, and busy vibe entries name the running tool and the resent requests - #3229
Conversation
Details.TimeoutSeconds showed the marker's window while the Message quoted the await's own --timeout-seconds, so a 5-second wait reported 30. TimeoutSeconds now carries the wait's value and the marker's window moves to MarkerTimeoutSeconds, present only when the status answer gave one. Details.Id now prefers the Editor's normalized marker id so it matches the status command, and falls back to the typed id without a status answer.
A busy cli_tool_request_failed entry only said rpc:server_busy, so the log could not tell which command held the Editor; it now carries running_tool_name when Unity named one. The busy-wait complete entry counted resends but could not point at them, which left resent requests orphaned in an investigation; it now lists their correlation ids in order as resend_correlation_ids. The hot-reload busy note reuses the same busy-data reader instead of declaring its own.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (8)
Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 2 remain after this review. 📝 WalkthroughWalkthroughThe changes add running-tool names and resend correlation IDs to busy-request logs. Pause-point error details now report the requested wait timeout separately from a positive marker timeout and use the normalized status ID when available. ChangesBusy request logging
Pause-point error details
Priority: ⬇️ Low Estimated code review effort: 3 (Moderate) | ~20 minutes Change: Bug fix Merge Risk: ⚪ Minimal · up to The diagnostic changes appear ready to merge after normal checks; no actionable issue remains in the supplied review. Security Architecture ReviewSecurity architecture risk: ⚪ Minimal · up to The changes clarify diagnostic output without adding command access or changing retry authority. The reviewed execution paths remain unchanged, and no material security risk was identified. Retained concerns Security review detailsSecurity Blast Radius
Trust Boundaries and Controls
Resilience and Maintainability Implications
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 76.19% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 21 functions across 7 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. Comment |
2061e4f
into
feature/hot-reload-large-project-feedback-3
Summary
await-pause-pointnow reports its own--timeout-secondsasDetails.TimeoutSeconds, the same value its message quotes. The marker's window moves to a newDetails.MarkerTimeoutSeconds.Details.Idof the same failure now carries the marker id as the Editor normalized it (Assets/Foo.cs:42), matching the status command, instead of the form that was typed (./Assets/Foo.cs:42).resend_correlation_ids), so those requests can be traced from it.cli_tool_request_failedentry names the tool that held the Editor (running_tool_name).Behaviour change
uloop await-pause-point --id ./Assets/Foo.cs:42 --timeout-seconds 5against a marker enabled with a 30-second window, after the wait times out:{"Id":"./Assets/Foo.cs:42","TimeoutSeconds":30,...}with the message "Pause point was not hit within 5s."{"Id":"Assets/Foo.cs:42","TimeoutSeconds":5,"MarkerTimeoutSeconds":30,...}with the same message.TimeoutSeconds30,Idas typedTimeoutSeconds5,MarkerTimeoutSeconds30,Idthe marker idTimeoutSeconds5,Idas typedMarkerTimeoutSecondsis omitted rather than 0TimeoutSeconds30,Idas typedTimeoutSeconds30,MarkerTimeoutSeconds30,Idthe marker idThe meaning is the same for timed-out, cleared and expired waits:
TimeoutSecondsis the wait's,MarkerTimeoutSecondsthe marker's.error_kindonlyrunning_tool_nameerror_kindonlyresends0resend_correlation_ids: []resends2second_correlation_idChanges
TimeoutSecondsfrom the wait options, addMarkerTimeoutSecondsonly when the status answer reported a window, and prefer the status answer's marker id, falling back to the typed id.TimeoutSecondsfor an expired marker now checks it underMarkerTimeoutSeconds, and checks thatTimeoutSecondsis the wait's.docs/vibe-logs.mddescribes both new keys.Verification
Run in
cli/project-runner:gofmt -l .— no output;go vet ./...— clean;golangci-lint run ./...— 0 issues;golangci-lint run -c ../.golangci-complexity.yml ./...— 0 issues.go test ./... -count=1— everything passes exceptTestSendWithTransientConnectionRetryAbortsOnRefusedConnect, which cannot bind a Unix socket inside the sandboxed shell used for this change and does not touch this code. With that one test skipped, the module passes./cmd/excluded, as in the baseline): 95.6%, against a baseline of 95.2%.scripts/check-file-length.shat the repository root: no findings.TimeoutSecondstaken from the marker window againTestPausePointStateErrorDetailsCarryTheWaitTimeoutAndTheMarkerIdIdalways the typed idMarkerTimeoutSecondswritten even when 0TestPausePointStateErrorDetailsFallBackToTheTypedIdWithoutAStatusTestRunHotReloadSendsAgainWhileACancelledExecuteDynamicCodeHoldsTheEditorrunning_tool_namewritten for non-busy errorsTestLogPlainToolRequestFailedNamesTheRunningToolOnlyForABusyAnswerThis pull request targets an integration branch, so
build-and-testdoes not run on it; the checks above were run locally.Not changed
NextActionsstay as typed, since they are commands to paste back.RemainingMillisecondsstill measures the marker's window.cli/commonand the Editor side.