Bootstrap, active slots and rollback
How active-version, pending-version and previous-version keep OS updates atomic from the userโs point of view.
System flow
Read pending/active
Verify candidate
Load versioned CSS
Load runtime JS
Wait READY
Commit active or rollback
Source map
- components/cdn/os/SchoolGitOsBootstrap.tsx
- lib/cdn/os/client-os-bootstrap.ts
Slot state
active-version is the last OS that completed startup. pending-version is a newly installed OS waiting to prove it can boot. previous-version is retained as a rollback candidate.
The bootstrap never needs to overwrite the currently executing JavaScript in place. It chooses a complete version slot at startup.
Boot success
A pending release is not promoted merely because its files exist. The bootstrap verifies the slot, loads its runtime and CSS, then waits for the OS runtime to signal READY after React commits.
textpending 1.0.1
โ
verify slot
โ
load os.css
โ
load os-runtime.js
โ
runtime READY
โ
active-version = 1.0.1
previous-version = 1.0.0
pending-version = clearedBoot failure
Missing files, hash mismatches, runtime load failures or startup timeouts cause the candidate to be marked bad and the bootstrap to attempt the previous verified release.