Show changed files for Kwt worktrees - #206
Conversation
roborev: Combined Review (
|
868b4a8 to
175544d
Compare
roborev: Combined Review (
|
|
rebasing this |
175544d to
a44d0b6
Compare
roborev: Combined Review (
|
roborev: Combined Review (
|
- Show changed files beneath expanded worktrees in the sidebar. - Bound background polling and leave permanent command failures for manual retry. - Fence change results by host route, project registration, repository, path, and worktree generation. - Keep the deterministic website demo on the current kwt inventory contract. - Document the workflow with its published guide capture. Generated with OpenAI Codex Co-authored-by: Wes McKinney <wesmckinn+git@gmail.com> Co-authored-by: OpenAI Codex <noreply@openai.com>
5d9a06c to
b4eaae0
Compare
roborev: Combined Review (
|
roborev: Combined Review (
|
Authentication and configuration errors must wait for manual refresh instead of retrying forever. Keep Kwt's structured error response through SSH result normalization so changed-file reads retain its message and retry decision, including failures before the remote command starts. The Find-priority test created its log surface twice. On a headless renderer, the second request replaced the failed surface and left the assertion pointed at its old controller. Install the test controller when the single mounted surface is created so the check follows the same target as the shortcut. Generated with OpenAI Codex Co-authored-by: OpenAI Codex <noreply@openai.com>
roborev: Combined Review (
|
Kwt allows another attempt after a registration change, but the changes panel cannot recover by polling with the same rejected generation. Stop automatic retries for this error and use the panel's Refresh action to reload inventory before inspecting the current worktree identity. A Refresh request queued during the failed read must not restart polling with the obsolete identity or leave the panel showing a loading indicator. Generated with OpenAI Codex Co-authored-by: OpenAI Codex <noreply@openai.com>
roborev: Combined Review (
|
Completed inventory refreshes built change identities for every worktree on the UI thread, even when no changes panel had ever been opened. Leave unused changes state idle and resolve identities only for tracked worktrees when pruning expanded panels and cached results. Keep registration changes and removed worktrees subject to the existing pruning rules so the smaller refresh workload does not retain stale files. Generated with OpenAI Codex Co-authored-by: OpenAI Codex <noreply@openai.com>
roborev: Combined Review (
|
A caller can be canceled before the coordinator registers its waiter. Check cancellation at registration so that request cannot start an inspection or consume a read slot while its cancellation callback waits. The Herdr reconnect test counted surface lookups as launches. A successful reconnect can make more than two lookups, leaving its exact-count wait stuck. Wait for the replacement connection while retaining the checks that the dead lease is invalidated and probed only once. Publish the SSH cancellation fixture's report only after its write finishes. File existence alone previously let the test read an empty report while the helper was still writing its termination result. Generated with OpenAI Codex Co-authored-by: OpenAI Codex <noreply@openai.com>
roborev: Combined Review (
|
Changed-file responses can exceed the normal command output budget, but that exception should not increase buffering for worktree creation, branch listing, or removal. Keep those local and SSH operations on the default 1 MiB limit and reserve the 16 MiB limit for change inspection. Generated with OpenAI Codex Co-authored-by: OpenAI Codex <noreply@openai.com>
roborev: Combined Review (
|
Adds an expandable changed-files panel to Kwt worktree rows with compact Git status codes and explicit refresh feedback.
Uses Ghosthub’s revision-pinned Kwt helper for generation-fenced local and remote inspection; Ghosthub does not parse or mutate Git state itself.
Fails closed when change inspection is incomplete and rechecks immediately before destructive worktree removal.
Keeps automatic refresh demand-driven, coalesced, concurrency-bounded, backoff-aware, and silent so terminal interaction remains responsive; initial and manual loads share visible activity feedback.
Updates the worktree guide with a sanitized deterministic screenshot supplied by companion draft PR Add changed-file guide screenshot #204.