Skip to content

Resolve bundled artifacts without a world-age trampoline - #62

Draft
quinnj wants to merge 1 commit into
mainfrom
codex/trim-safe-artifact-dir
Draft

Resolve bundled artifacts without a world-age trampoline#62
quinnj wants to merge 1 commit into
mainfrom
codex/trim-safe-artifact-dir

Conversation

@quinnj

@quinnj quinnj commented Jul 20, 2026

Copy link
Copy Markdown

Summary

Resolve the tzjdata artifact at runtime without embedding a depot-specific precompile path or relying on the world-age trampoline emitted by the artifact string macro. This keeps artifact lookup relocatable for bundled system images and trim-compiled executables.

Implementation

  • Read and store the artifact hash from Artifacts.toml during precompilation.
  • Resolve that hash against the runtime artifact directories when artifact_dir() is called.
  • Return the first existing artifact directory, while preserving the normal first-candidate fallback when the artifact has not yet been materialized.

Validation

  • TZJData tests pass on Julia 1.12.5 (3/3).
  • TZJData tests pass on JuliaC 1.14-dev (3/3).
  • The LeagueEasy trim-safe workload reaches TZJData initialization with zero verifier errors.
  • A bundled executable resolves the artifact correctly after relocation.
  • Upstream CI passes on Julia 1.6, Julia 1.x, and Julia nightly, including the artifact check.

Open Question

The lookup follows the normal artifact-directory search order, but it does not yet apply custom Overrides.toml mappings. This remains a draft while the expected override semantics are reviewed.

Co-authored by Codex

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant