feat(summary): show how to exclude a read-and-written file in --last-details - #784
Merged
wan9chi merged 2 commits intoOct 2, 2026
Merged
Conversation
wan9chi
added this pull request to stack #785
October 1, 2026 14:56
wan9chi
force-pushed
the
claude/last-details-exclude-hint
branch
from
October 1, 2026 14:57
fe1c986 to
5139902
Compare
fspy benchmarklinuxmacoswindows |
wan9chi
marked this pull request as ready for review
October 2, 2026 01:06
…details
When a task isn't cached because it read and wrote the same file,
`--last-details` now says the task read and wrote it, and shows the
`cache.input` and `cache.output` entries that exclude it. The entries
keep `{ auto: true }` so that automatic tracking stays on. A file inside
the task's package gets a package-relative pattern; one outside it uses
`base: "workspace"`. The path is glob-escaped and quoted as a string
literal.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A task that opens a directory for both reading and writing, e.g. with Linux `O_TMPFILE`, reads and writes the directory's path. For the workspace root that path is empty, and the hint's `"!"` pattern resolved to `**`, which would exclude every input and output. Show no exclusion for the workspace root, and use the workspace-based pattern for the package directory itself. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
wan9chi
force-pushed
the
claude/last-details-exclude-hint
branch
from
October 2, 2026 01:08
9e6f4f4 to
05ad0a4
Compare
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.
Motivation
User feedback:
vp run --last-detailsshowedNot cached: read and wrote 'node_modules/.fate-graphql-t8W5Ii/usage.ts'for a temporary file that the user's test suite had created and deleted. The message didn't say that the task read and wrote the file, so the user took it for a Vite+ cache file. It also didn't say how to make the task cacheable.Changes
--last-detailsnow says the task read and wrote the file, and shows thecacheentries that exclude it:{ auto: true }, because a list of exclusions on its own turns off automatic tracking. This is always safe here: the warning only appears when both lists track automatically.{ pattern: "!…", base: "workspace" }.O_TMPFILE) reads and writes the directory's path. For the workspace root that path is empty, and an empty pattern resolves to**, so no exclusion is shown. The package directory itself gets thebase: "workspace"form.wax::escapeand quoted withserde_json, so it is a valid string literal.vp run:line is unchanged.docs/inputs.mdgains a section on tasks that modify files they read.The saved
last-summary.jsonchanges shape. A summary saved by an older version shows the existing "saved by a different version" message.🤖 Generated with Claude Code