Reduce update check and installation overhead - #315
Merged
Merged
Conversation
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.
The update page repeats equivalent source rows, availability checks repeat upstream requests, and isolated installation repeats source copies and package preparation. Group equivalent rows with their cache/package roles disclosed and sort every source list alphabetically. Distinct refs, revisions, status and release tiers remain separate; installation still uses the full private inventory.
Availability checks use a private success cache, join equivalent in-flight requests, batch Git refs and pool registry connections. Automatic checks honor the check interval; manual checks fetch fresh results. Check timing and reuse counts are visible.
Staging uses copy-on-write where available, safely adopts clean legacy sources into an immutable shared store, synchronizes the candidate once and reuses preparation evidence only within that attempt. Worker environments are reused only when graph, source, interpreter/platform and qualification inputs match. Already qualified app environments become the launch target instead of being installed twice; manual uv upgrades remain authoritative. Conservative idle retirement protects current, rollback, pending, process/config references and uncertain or edited storage.
Related components: microsoft/amplifier-foundation#415 and microsoft/amplifier-bundle-skills#83. Recommended merge order: Foundation, Skills, Unified. Optional API detection supports staggered adoption. Global uv installations, unknown legacy caches and chat history are preserved. Shared source objects are retained until readers can be proven absent.
Validation:
These checks include real local offline Git/uv installation and qualified interpreter execution. They do not establish live-service adoption, real-account or physical-device acceptance. docs/UPDATES.md records the audited component revisions, compatibility boundaries and rollout behavior.
Unified no longer copies or reads CLI registry/cache during initialization.
Session registrations come from scoped settings; older imported registry files
are retained but cannot supply aliases. Root/nested-agent remote Skills and
the shared-model runtime adapter use app-owned generation caches, preserving
shared settings, keys, native history and local resources. Older Foundation
is supported by suppressing constructor registry reads before construction.
Follow-up isolation/settings/cache coverage: 134 tests passed.
Resume and scoped-source coverage: 68 tests passed across current/older registry
APIs and concurrent session composition. Additional updater/worker coverage: 126 tests passed with one environment-dependent skip.
Integrated current main and rebuilt generated frontend assets. Staging snapshots
shared settings/keys/routing without importing CLI registry/cache; source usage
classification also follows settings authority. Follow-up staging/runtime
coverage: 170 tests passed; provider-recording inheritance coverage: 14 passed
with read-only runtime source overlays. Updated frontend: 417 tests passed and
build succeeded. No live host was changed.