Add agent-safe review findings fallback#1598
Merged
Merged
Conversation
Let non-interactive review findings output print stable handles and direct view commands. Also refuse review profile editing without an interactive terminal and point callers at scripted configuration commands. Entire-Checkpoint: 80df055b41a6
…li into agent-output-fallback-for-review
Keep --profile separate from findings handles, fail requested handles when no findings exist, and quote generated view commands for copy-paste safety. Add focused regressions for the non-interactive findings paths. Entire-Checkpoint: 76341f0fe352
Contributor
There was a problem hiding this comment.
Pull request overview
This PR makes entire review --findings fully usable in non-interactive/agent contexts by emitting stable “handle” references and enabling direct, non-TUI rendering of saved findings via entire review --findings <handle>. It also hard-fails --edit when no interactive terminal is available, pointing users to scripted alternatives.
Changes:
- Add handle-based routing for
--findingssoentire review --findings <handle>prints full saved review detail without a picker. - Improve non-interactive output by printing copy/paste
view:commands (with shell-quoted handles) in findings lists and the completion footer. - Refuse non-interactive
--editwith actionable non-TUI alternatives (--list,--configure --set-*).
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| cmd/entire/cli/review/fix.go | Implements handle lookup, detail rendering, and generation of shell-quoted view: commands for findings browsing. |
| cmd/entire/cli/review/cmd.go | Adjusts argument routing so the optional positional arg becomes a findings handle when --findings is set; adds non-interactive refusal for --edit. |
| cmd/entire/cli/review/manifest_test.go | Adds/updates tests for quoted handle commands, timestamp fallback handles, and handle-based detail rendering. |
| cmd/entire/cli/review/cmd_test.go | Adds a regression test ensuring --edit fails non-interactively with scripted alternatives. |
Print quoted view commands in the available-findings error path so copied handles are shell-safe. Reuse the review handle helpers for manifest naming and handle deduplication so list and detail paths stay consistent. Entire-Checkpoint: 4b50b9a535cc
Contributor
Author
|
Bugbot run |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 71171b0. Configure here.
Prefer timestamp handles in generated review findings commands when session handles may be shared across saved manifests. This keeps advertised view commands usable even after re-reviewing the same source session. Entire-Checkpoint: ed909b22b352
peyton-alt
approved these changes
Jul 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
https://entire.io/gh/entireio/cli/trails/724
Why
entire review --findingsneeded an agent-safe way to reach full saved reviewfindings. The previous non-interactive fallback could show that findings
existed, but agents still needed the terminal picker to reveal the full detail.
What changed
The findings list now prints stable handles with direct
view:commands, andentire review --findings <handle>renders the full saved findings without aTUI. Non-interactive profile editing now refuses with scripted alternatives
instead of requiring a picker.
Usage examples
prints saved findings with commands such as:
Then:
prints the full saved review detail.
Decisions made during development
The fallback stays plain text instead of forcing JSON everywhere, matching the
agent-safe CLI guidance that complete human-readable output is acceptable.
Handles prefer saved source session IDs and fall back to a timestamp handle when
no session ID is available.
Technical tradeoffs
Timestamp fallback handles can theoretically collide, so the command reports an
ambiguous handle instead of guessing. Generated
view:commands quote handlesfor copy-paste safety while lookup still accepts the raw argument value.
Note
Low Risk
CLI-only review findings browsing and argument routing; no auth, persistence format changes beyond shared timestamp helper for manifest filenames.
Overview
entire review --findingsnow supports an optional handle so agents and scripts can open a saved run without the TUI.entire review --findings <handle>prints full reviewer output and aggregate summary; handles are source session IDs, with a UTC timestamp fallback when there is no session ID. Ambiguous handles fail explicitly instead of picking a manifest.The non-interactive findings list and post-review footer include copy-paste
view:commands with shell-quoted handles. Unknown handles error with a list of availableview:commands. With--findings, a positional argument is treated as the handle (so--profilecan be combined without conflicting with “profile as positional”).entire review --editin a non-interactive environment now exits with pointers to--listand--configure --set-*instead of requiring the picker.Reviewed by Cursor Bugbot for commit 71171b0. Configure here.