fix(std,rust): preserve authorization across artifact path boundaries - #206
Draft
deciduously wants to merge 8 commits into
Draft
fix(std,rust): preserve authorization across artifact path boundaries#206deciduously wants to merge 8 commits into
deciduously wants to merge 8 commits into
Conversation
- Preserve tokens through checkout and library caching. - Restore manifest dependency tokens on read and strip. - Keep newest equivalent grants without permission downgrades. - Retain Linux and musl loader argument dependencies.
Use Tokens::inherit when restoring manifest references. Preserve tokens by location and leave permission and expiration checks to the server. Update the regressions to match that behavior and pin both workspaces to the published integration of deciduously open Tangram PRs. Registry dependency selections are unchanged.
deciduously
force-pushed
the
fix/preserve-artifact-handles
branch
from
September 9, 2026 22:35
cc9b0eb to
52568a8
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.
Rendered store paths and wrapper manifests retain artifact IDs but can discard the tokens and location needed to use them. Preserve authorized handles through library discovery, wrapper reconstruction, checkout, and the C and Rust proxies.
Use one shared resolver backed by
tg::Template::unrender_with, seeded from typed values and the launching wrapper's checkout metadata. Restore manifest tokens with the existingTokens::inheritAPI: retain existing tokens at each location and fill missing locations from the dependency or wrapper. Forward tokens unchanged for the server to validate. Authorization stays in dependency handles and is excluded from executable bytes.Keep this PR as a draft until the Tangram prerequisites are merged. Both Rust workspaces pin
b915f0a29onintegration/deciduously-open-prs-2026-09-09. The integration includes all six open Tangram PRs by deciduously as of September 9, 2026: #1112, #1114, #1116, #1117, #1119, and #1122, plus the client response-token fixes at3d97ebe17. It uses the current inheritance APIs, with no local Cargo overrides.Before marking ready:
3d97ebe17: refresh response tokens and preserve other locations.mainrevision and regenerate both Cargo lockfiles.Validation on aarch64 Linux against the published integration revision:
tgld::tests::read_output_filesfixture is excluded because this host lacks static libc.common/tests/wrapper_authorization.nupassed, including recovery in a fresh process after restarting the server with its default signing keys.bun run checkand formatting. All eight focused CLI regressions passed with local backends, including checkout references, persisted keys, blob writes, repeated children, authorization diagnostics, and JavaScript token preservation.Both Cargo lockfiles resolve the published commit with
--locked. The repin changes only Tangram Git source revisions; existing registry dependency selections are unchanged.