Repository navigation
Conversation
…temp dir
Every caller of `vt_materialized_artifact` paired `user_temp_dir(name)`
with `.at(dir)` and chose its own name, so `vp run` kept `fspy-<uid>`,
`vt_client_napi-<uid>` and `vp-schemas-<uid>` side by side in the temp
dir.
- `Materialize::at_user_temp_dir(prefix)` creates the user's own folder,
with the same checks as before, and materializes into it.
`user_temp_dir` is private.
- fspy, the napi client and the task graph's JSON Schema all use the
prefix `vp_run`, so everything `vp run` writes there goes in
`{temp}/vp_run-{uid}` on Unix, `{temp}\vp_run` on Windows. fspy's
`SpyImpl::init_in(dir)` becomes `init()`.
- The RFCs' `$schema` examples use the new folder.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
fspy benchmarklinuxmacoswindows |
This branch has not been deployed
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
Every caller of
vt_materialized_artifactpaireduser_temp_dir(name)with.at(dir)and chose its own folder name, sovp runspread its helper files overfspy-<uid>,vt_client_napi-<uid>andvp-schemas-<uid>in the system temp dir. The user's own temp folder is part of how an artifact is materialized, so it belongs in the builder, with one name for everythingvp runwrites there.Changes
artifact.materialize().suffix(…).at_user_temp_dir(prefix)creates the folder that only the current user can write to, with the same checks as before, and materializes the file into it.user_temp_diris no longer public..at(dir)stays for tests that use their own folder.vp_run: fspy's preload library, macOS shell and coreutils and Windows DLL, the napi client, and the task graph's JSON Schema. They all go in{temp}/vp_run-{uid}on Unix and{temp}\vp_runon Windows. fspy'sSpyImpl::init_in(dir)becomesSpyImpl::init().$schemaexamples use the new folder.🤖 Generated with Claude Code
Note
Low Risk
Refactor of temp-dir layout and artifact API with unchanged permission checks; no auth, cache, or task execution logic changes.
Overview
Unifies
vp runtemp artifacts under a single user-private directory (/tmp/vp_run-{uid}on Linux,{temp}\vp_runon Windows) instead of separate folders per artifact type (fspy-*,vt_client_napi-*,vp-schemas-*).vt_materialized_artifactgainsMaterialize::at_user_temp_dir(prefix), which creates the scoped temp folder and materializes there; the publicuser_temp_dirhelper is removed in favor of this builder step. fspy, the NAPI client, and task-graph JSON Schema materialization all passvp_run;SpyImpl::init_in(dir)becomesSpyImpl::init()on Unix and Windows.Docs, RFC examples, tests, and the changelog reflect the new
$schemapaths and the consolidated layout.Reviewed by Cursor Bugbot for commit f18fca4. Bugbot is set up for automated code reviews on this repo. Configure here.