Repository navigation
feat(agent-isolation): hint and catalog notes for a sandboxed uv install - #1939
Open
justinmclean wants to merge 2 commits into
Open
justinmclean wants to merge 2 commits into
justinmclean wants to merge 2 commits into
Conversation
The catalog entry for `uv python install` / `uv tool install` failing inside the sandbox had only Symptom, Root cause and Fix, and the PostToolUse hint hook had no branch for it, so the agent got no pointer when uv could not write ~/.local/share/uv/. - Add the entry's Notes section in the catalog's own shape: the XDG_DATA_HOME / UV_PYTHON_INSTALL_DIR / UV_TOOL_DIR path variants and the macOS vs Linux error text; the interpreter-download path a plain `uv run` or `prek run` takes into the same directory; and why moving that directory somewhere sandbox-writable is not a fix. - Add a sandbox-error-hint.sh branch matching a write failure under `share/uv/`, placed before the /tmp branch so a uv error that mentions a temporary path still points at the right entry. - Tests: the bubblewrap, Seatbelt and `uv tool install` error shapes, the ordering against the /tmp branch, a readable share/uv path staying silent, and the entry carrying all four sections. The secure-setup fingerprint is regenerated because the hint script is part of the installed setup. Generated-by: Claude Code (Opus 5.5)
Member
Author
|
The CodeQL implicit-concatenation alerts are false positives: each case is one multi-line uv error. I've made the joins explicit with + so the intent is clear. |
CodeQL read the implicitly concatenated strings in the uv share-write cases as a possible missing comma. Each case is one multi-line uv error, so the joins are now explicit with +; the three cases are unchanged. Generated-by: Claude Code (Opus 5.5)
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.
Summary
uv python install/uv tool installfailing inside the sandbox had only Symptom, Root cause and Fix, andsandbox-error-hint.shhad no branch for it, so an agent that hit it got no pointer.XDG_DATA_HOME/UV_PYTHON_INSTALL_DIR/UV_TOOL_DIRpath variants and the macOS vs Linux error text; the interpreter-download path a plainuv run/prek runtakes into the same directory; and why moving that directory somewhere sandbox-writable is not a fix.share/uv/, placed before the/tmpbranch so a uv error that mentions a temporary path still points at the right entry.Plan item
uv-install-hint-and-notes(specs/sandbox-diagnostics.md).Type of change
docs/,README.md,CONTRIBUTING.md)tools/agent-isolationhint hookTest plan
uv tool installerror shapes; ordering against the/tmpbranch; a readableshare/uvpath stays silent; the entry carries all four sections.tests/test_sandbox_error_hint.py: 31 passed.tools/setup-preflight: 429 passed.plugins: 114 passed.tools/agent-isolationfull suite: the only failures are threetest_gpg_touch_overlay.pycases that fail identically on untouchedmainin the authoring container (environmental).prek run --all-files --skip workspace-pytest, run twice to confirm it converges: every hook passes exceptskill-token-count(tokenizer download blocked in the authoring sandbox; noSKILL.mdtouched). The first run regenerated the doctoc TOC and the secure-setup fingerprint, both committed.RFC-AI-0004 compliance
Linked issues
None.
Notes for reviewers (optional)
isolated_fingerprint.py) changes because the hint script is part of the installed setup;setup-isolated-setup-verifywill report drift until operators re-run the update, as with any change to it.Generated-by:trailer.