Skip to content

feat(cache): ship prebuilt first-party artifacts - #893

Merged
sanohiro merged 6 commits into
mainfrom
agent/prebuilt-cache-implementation
Aug 27, 2026
Merged

feat(cache): ship prebuilt first-party artifacts#893
sanohiro merged 6 commits into
mainfrom
agent/prebuilt-cache-implementation

Conversation

@sanohiro

Copy link
Copy Markdown
Owner

Summary

  • ship an immutable, adjacent prebuilt cache for first-party pkg units in native release artifacts
  • bind codegen cache identity to the loaded LLVM image build ID and keep every cache read bounded
  • preserve writable-primary precedence, package-source resolution, ThinLTO behavior, and native link dependency closure
  • fail closed when frontend rehydration proves a key incomplete, including concurrent read/publication races

Verification

  • prebuilt cache library and integration owners
  • release/workflow structural owner
  • 16-binary bounded PR gate
  • workspace library/binary Clippy
  • lint ratchet
  • native release bundle/layout smoke and local benchmark on the reviewed implementation lineage

The local benchmark produced identical outputs and measured a median 62.433 s cache-off build versus 1.136 s with the packaged cache. The bundled payload was 3,181,376 bytes with a 665,058-byte archive delta; these measurements are evidence, not contractual thresholds.

Resolve the independent review findings by reading only bounded loader-owned metadata and treating unavailable packaged blobs as clean misses.

Closure-Matrix-Reopened: llvm-loaded-image-binding
Close the second review findings with explicit native-link dependency parity, bounded regular-file cache reads, and streaming object verification.

Closure-Matrix-Reopened: release-native-dependency-and-untrusted-read-bounds
Prevent incomplete frontend keys from regaining authorization after rehydration disagreement, repair oversized writable blobs, and align LLVM miss precedence.

Closure-Matrix-Reopened: rehydration-rejection-key-authorization
Recheck rejection after validated primary and packaged reads, and pair publication finalization with marker-first invalidation so every race converges fail-closed.

Closure-Matrix-Reopened: rejection-linearization-after-value-validation
Make the ELF-note fixture builder fail closed on impossible length overflow so the compiler panic-source ratchet remains non-increasing.
@sanohiro
sanohiro marked this pull request as ready for review August 27, 2026 05:07
@sanohiro
sanohiro merged commit 3dab708 into main Aug 27, 2026
12 checks passed
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