Launcher fork/redesign decision record (from the an earlier launcher)
LNCH-0017 ○ Planned Lite and Pro Core Free pricing classDecision: redesign the existing MiniStudios/an earlier launcher to Simca specs instead of starting from nothing; see ADR-0001 and docs/facets/LAUNCHER.md
Depends on: LNCH-0001
Launcher reuse: stage, spawn, quit apply order
LNCH-0018 ○ Planned Lite and Pro Core Free pricing classStage the new files, release the single-instance lock, spawn the staged app, then quit; never overwrite the running image
Depends on: LNCH-0001
Launcher reuse: package registry (id, version, minimum launcher version, status)
LNCH-0019 ○ Planned Lite and Pro Standard Free pricing classRegistry of installable packages with id, version, minimum launcher version and status, plus a removal recipe for temporary options
Depends on: LNCH-0001
Launcher reuse: sha256 and size verification
LNCH-0020 ○ Planned Lite and Pro Core Free pricing classVerify hash and size of staged files before apply
Depends on: LNCH-0001
Launcher reuse: keep previous generation
LNCH-0021 ○ Planned Lite and Pro Core Free pricing classKeep the last working generation until the next success
Depends on: LNCH-0001
Launcher reuse: fail-soft network error handling
LNCH-0022 ○ Planned Lite and Pro Core Free pricing classNetwork errors never crash the launcher or the app; they become clear messages
Depends on: LNCH-0001
Launcher reuse: typed error codes and schema-versioned JSON
LNCH-0023 ○ Planned Lite and Pro Standard Free pricing classErrors like SIMCA_LNCH_BAD_SIGNATURE and files like simca.package-spec.v1
Depends on: LNCH-0001
Launcher exclusion: presence and seat tracking
LNCH-0024 ○ Planned Lite and Pro Core Free pricing classThe fork removes seats, presence and last-seen entirely
Depends on: LNCH-0001
Launcher exclusion: cloud worker and key-value store dependence
LNCH-0025 ○ Planned Lite and Pro Core Free pricing classThe fork must work fully with no server; no dependence on a hosted worker or KV for offline use
Depends on: LNCH-0001
Launcher exclusion: periodic update polling
LNCH-0026 ○ Planned Lite and Pro Core Free pricing classNo timers that poll for updates (the original polled every 30 seconds); updates are user-initiated only
Depends on: LNCH-0001
Launcher exclusion: demo or committed launcher keys
LNCH-0027 ○ Planned Lite and Pro Core Free pricing classNo demo keys or credentials in the repository or the build
Depends on: LNCH-0001
Launcher exclusion: telemetry and webhook exports
LNCH-0028 ○ Planned Lite and Pro Core Free pricing classNo telemetry, no SIEM webhook queue, no outbound reporting
Depends on: LNCH-0001
Launcher exclusion: runtime third-party CDN scripts
LNCH-0029 ○ Planned Lite and Pro Core Free pricing classNo remote scripts or fonts at runtime
Depends on: LNCH-0001
Launcher exclusion: non-loopback listeners by default
LNCH-0030 ○ Planned Lite and Pro Core Free pricing classNo listening sockets except an optional loopback control surface that is off by default
Depends on: LNCH-0001
Launcher exclusion: repository-token fallback for updates
LNCH-0031 ○ Planned Lite and Pro Standard Free pricing classNo source-host token fallback for downloading updates
Depends on: LNCH-0001
Launcher exclusion: tray label that applies updates
LNCH-0032 ○ Planned Lite and Pro Standard Free pricing classAny control that applies an update says so plainly and asks first
Depends on: LNCH-0001