3.1 KiB
0.2.0 Update Compatibility Audit
This audit compares pre-merge main (1173b8a, core 0.1.9) with the initially
published merge (c917615, incorrectly numbered 1.2.0). The merge changed 191
files: 75 core/runtime files, 85 plugin files, 20 generated knowledge files, and
11 other project files.
Confirmed Upgrade Failures
- Core imported an independently preserved plugin.
src/web/server.jsloadedplugins/okf/backend/file_knowledgeduring startup. Core-only updates deliberately preserve the wholeplugins/directory, so a 0.1.9 install did not receive the new OKF plugin file and crashed before the web server started. - A newly added package was required before dependencies were updated. The
OBS connector loaded
obs-websocket-jsat module initialization. Core updates preservenode_modules/and the old updater did not reconcile it with the new lockfile, producing another startup crash. - Core and plugin delivery were not coordinated. The merged repository had patch-bumped plugins, but a core update copied none of them by design. There was no historical release catalog or exact-version plugin installer to let an administrator bring an old installation to a known release set.
- The release number was wrong. 1.2.0 was a mistaken major-version jump from 0.1.9. Normal semantic-version ordering would reject the corrected 0.2.0 as a downgrade for an already affected install.
No unresolved static relative imports remain in the repaired tree. Plugin data
remains isolated under each plugin's data/ directory, and current plugin
manifests match the 0.2.0 release catalog.
Repairs
- Core now uses the OKF capability registered at
global.lumiFrameworks.okf.saveCorrection; if OKF is absent, only that action shows an install/enable message. - OBS WebSocket is an optional dependency and is loaded behind a guarded connector boundary. Its absence cannot stop the overlay or web server.
run.jsreconciles required direct dependencies withpackage-lock.jsonbefore each application start. Optional integration failure is degraded, not fatal.release-index.jsonmaps core, plugin, and Lumi AI tool versions to immutable release tags. Admins can install or reinstall an exact core/plugin version.update-manifest.jsondeclares 0.2.0 as the supported replacement for 1.2.0, allowing affected installations to repair themselves despite semver ordering.- Repository checkout and post-copy verification both confirm the requested version. Plugin updates preserve plugin data and now restart before reporting the selected code as active.
Data Safety
The repair does not replace data/, plugins/, node_modules/, configuration,
storage, uploads, logs, databases, secrets, environment files,
knowledge/community/, or knowledge/corrections/. It creates a compressed
rollback snapshot first. The repair ZIP contains only managed core files, a
preservation manifest, and SHA-256 hashes; it contains no user or plugin data.
The snapshot database copy is a safety backup, not a migration or replacement. The repair introduces no destructive database migration.