C++ SCHX ยท rev 4
School-GIT OS ยท current

Bootstrap, active slots and rollback

How active-version, pending-version and previous-version keep OS updates atomic from the userโ€™s point of view.

currentstatus
OS developers ยท Platform developersaudience
School-GIT docssource
SCHX nativeruntime
SCHX / FEATURE LAYER

System flow

1

Read pending/active

2

Verify candidate

3

Load versioned CSS

4

Load runtime JS

5

Wait READY

6

Commit active or rollback

SCHX / FEATURE LAYER

Source map

  • components/cdn/os/SchoolGitOsBootstrap.tsx
  • lib/cdn/os/client-os-bootstrap.ts
SCHX / FEATURE LAYER

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.

SCHX / FEATURE LAYER

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 = cleared
SCHX / FEATURE LAYER

Boot 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.

SCHX / FEATURE LAYER

Related documentation