Skip to content

Prepare shared component generations and adopt updates per worker - #326

Merged
Brian Krabach (bkrabach) merged 4 commits into
mainfrom
feat/update-generations-20261002
Oct 2, 2026
Merged

Brian Krabach (bkrabach) merged 4 commits into
mainfrom
feat/update-generations-20261002

Conversation

@bkrabach

@bkrabach Brian Krabach (bkrabach) commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

Component updates previously repeated dependency preparation across saved workspace/bundle combinations and waited for all conversations to become idle. This release prepares only currently offered app profiles in one dependency transaction and makes a qualified generation available to new workers while active work finishes on its existing generation.

  • Reuse an invalidated inventory index and coalesced remote checks. Only proven catalog-data edits reuse a qualified runtime without preparation.
  • Freeze and share compatible environments; qualify custom workspace/session inputs on explicit execution without modifying the serving environment. CLI caches and registry remain separate.
  • Preserve shared-build branch policy separately from exact source identity, so immutable build copies do not become accidental permanent pins. Explicit pins, ambiguous bindings, modified sources and ordinary local checkouts stay protected.
  • Pin workers to source generations with process leases and adopt updates through the existing park/retire handshake. Active voice, jobs, queued input and uncertain operations prevent premature retirement.
  • Retain current, rollback and referenced generations; reclaim proven unused environments and successful temporary preparation environments. Keep unknown/shared source references conservatively.
  • Explain per-worker adoption in Updates. Keep coordinated restart for application replacements and legacy/incompatible worker protocols. Include release 0.20.46 and built assets.

Validation:

  • Full backend run: 4,647 passed and 138 skipped; two baseline-cleanup failures were fixed, then all affected cases passed in a 109-test qualification/provenance regression run. A further 139 update/lifecycle/retention checks and 25 release-note checks passed.
  • All 434 frontend tests passed and production assets rebuilt successfully.
  • Real isolated Linux update through UpdateManager.check/install: availability check 1.33 s; component qualification and promotion 15.05 s with five offered profiles. This is a warm fixture measurement, not a guarantee for cold downloads or every machine.
  • Real workers confirmed new-generation adoption alongside a protected old worker, safe retirement after protection cleared, and correct lease release. No model calls or work replay.
  • Foundation batch preparation dependency merged in Batch dependency installation across compatible prepared bundles amplifier-foundation#417; its full isolated Linux suite and three Windows CI lanes passed. Hosted Ubuntu jobs remain queued.

Conflicting offered requirements reject the candidate instead of choosing a source implicitly. Shared source-object garbage collection remains conservative until references are proven absent. Native transcript storage is unchanged. This uses the existing worker lifecycle boundary and does not add the broader architecture plan's protocol migration. Published-instance adoption and real-account acceptance remain separate from these fixture checks.

@bkrabach
Brian Krabach (bkrabach) merged commit 647e236 into main Oct 2, 2026
5 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