Skip to main content

Install a compatible Sovereign preview

Use this path when you need a separate Core with the current preservation APIs. Library itself installs from a public wheel, without Skulk's Python package, Node.js or the optional managed SDK. Setting up Core is a separate explicit installation: it downloads native prerequisites and builds the pinned public Core source. This is a development preview, not a frozen or stable desktop release.

Current development cohort​

For independent source following and private recovery without Skulk, use the desktop installation profile and foxlight-sovereign. The commands below select the separate Core-backed mode; installing the public Library does not configure Core automatically.

The independent Library 0.22 / core 0.26 profile includes Horizon backups, public-copy review, explicit finite HTTP sharing, recipient files and reviewed exact-copy alternatives from followed sources. It retains all original model cards, companions, signed evidence and separate trust decisions.

The optional Core-backed preview pins verified Core revision 2cb8c3c29ac936cc2749302a4e3a4d73aa25de86, including complete companion selection and attributed model descriptions. The installer retains its existing checksum. Preview setup keeps its existing refusal and ownership checks for older or unrecognized installations; it does not delete their saved data.

Portable handoffs, finite peer sharing, PMF, peer receiving and I2P source/receiving controls are included in Library 0.22.0 and its immutable compatible Core pin, including persistent mirror, retained-copy recovery and offline pending-copy checks. Install the verified hash-locked release archive, then explicitly run foxlight-preservation-preview setup from that environment. The installer retains the source record and original wheel; preview setup checks those against installed package bytes. It does not rewrite local download history into a public URL. For a public Git source install instead:

uv tool install --python 3.13 'git+https://github.com/Foxlight-Foundation/foxlight-model-preservation.git@main#subdirectory=capability'
foxlight-preservation-preview setup

Git installation records its resolved immutable Library commit; setup reuses that exact commit and the pinned compatible Core. This is a development preview. For peer operations, use Set up peer support in Library to review and explicitly install the pinned native build, then review starting contacts. No administrator or PATH changes are needed on supported managed platforms. No native peer networking starts on launch or compatibility checks. Source/receiving trust and restore/code permission remain separate. See Library peer use.

For I2P HTTP operations, configure an independently trusted local I2P proxy on the Core host, then select I2P only and confirm the operation in Library. The selected Core pin includes exact-policy source jobs and retained Resume policy display. Setup does not install or start an I2P router. This functional pilot does not establish anonymity or change other Core traffic settings.

Released cohort installation​

On macOS or Linux, install uv and Git first. macOS also needs the Xcode Command Line Tools (xcode-select --install). The canonical Core installer handles its remaining prerequisites; initial native compilation can take several minutes and substantial disk space. Leave room for build files, models and Core's 10 GiB operating-system reserve for canonical model downloads. Internet access is needed to obtain software. Model recovery kits do not contain the runtime and its dependencies; retain those separately for offline recovery.

uv tool install --python 3.13 https://github.com/Foxlight-Foundation/foxlight-model-preservation/releases/download/library-v0.22.0/foxlight_preservation_library-0.22.0-py3-none-any.whl
foxlight-preservation-preview setup

Setup uses a new private ~/foxlight-sovereign-preview directory. Choose another existing parent with --directory /local/disk/sovereign-preview. It refuses an occupied directory unless you explicitly --resume that same matching preview. Initial setup creates the private Model Store and records its filesystem identity. A missing or replaced store is refused on resume and launch; it is not recreated. A resume can refresh its private Library tool installation; all Core and Library launches for that profile must be stopped first. It retains interrupted files for inspection and never adopts another existing installation. The Core installer is downloaded from an immutable revision and checked against the embedded SHA-256 before execution. The installed checkout's revision is checked afterward. Setup and Core launch also validate the ignored runtime configuration: the Model Store and staging must still point inside the same profile, with its local host and port and no foreign per-node override. Ordinary YAML saved by Core can retain other settings. A changed storage path is refused before launch; restore its original profile paths or choose a new preview. Setup and preview launches share kernel-held locks: resuming setup refuses while that preview Core or Library is running, and only one preview Core can launch. Complete installer output stays in the private installation.log; the final commands use the isolated profile.

Core source, state, Model Store, staging/search paths, worker cache, environment and Library tools use separate paths beneath this preview. Its cluster namespace is separate from your existing cluster. Setup does not start either runtime or migrate installed models and pairing. Your existing compatible Core can use Library directly; upgrading an existing operator installation remains its normal Core upgrade procedure. The preview does not search the normal shared staging directory for existing models. Do not point a second writer at a running Model Store.

The current Core revision is pinned in preview.py; a version number alone is not proof that these APIs are available. The default setup is headless, since Library already contains its own interface. Add --with-dashboard if you also want to build Core's dashboard.

Start and check​

After installation, setup prints exact launch commands. With the default path, run Core in one terminal:

~/foxlight-sovereign-preview/bin/foxlight-preservation-preview core

Then open Library in another terminal:

~/foxlight-sovereign-preview/bin/foxlight-preservation-preview library

Pass the same --directory to both commands if you chose a custom directory. To recover without a registry connection after software is installed, start Core with SKULK_OFFLINE=true before the same foreground Core command. Runtime software and dependencies must already be present.

Core uses API port 53415 and Model Store port 13415; its libp2p port is assigned by the OS. A conflicting service is not replaced. Stop each foreground command with Ctrl+C. Closing Library does not stop jobs accepted by Core. Stopping Core interrupts uncertain work for explicit review. Finite sessions do not restart. Persistent mirroring resumes only with its exact unexpired permission and prior running intent; Stop clears that intent.

To inspect a running Core without opening Library or creating storage:

~/foxlight-sovereign-preview/bin/foxlight-preservation-library --core-url http://127.0.0.1:53415 --check

The check reads the actual Model Store owner and its bounded API description. It reports Library, peer discovery, peer software setup, source discovery, folder storage, recovery-kit, publishing/receiving, persistent-mirror and complete public-copy review API availability, and exits with status 2 when any group is missing. It does not qualify filesystem behavior, network reachability, engine execution or hardware. Current packaged Skulk 2.0.2 does not provide all these APIs. Existing compatible operators can install only Library and use its normal --core-url option.

Choose storage​

In Guided setup, choose Use this device or Use a folder or NAS. In Storage, choose Add folder or NAS, enter a path on the machine running Core and a storage name, then choose Review storage. The review shows the selected folder, observed free space and whether one private folder will be created. Confirm Use this storage to enroll it for new Preserve reviews. This copies no models and starts no sharing.

The browser cannot select a folder on a different machine using a file upload picker. Mount a NAS or remote filesystem through your operating system first. Choose an empty owner-only folder, or a new single folder directly beneath an existing connected parent. Setup never creates missing mount paths, configures network credentials or changes permissions on a shared NAS root. Core state, Model Store and custom-card folders cannot become backup destinations. Direct cloud-bucket APIs are separate from an already mounted filesystem.

Library retains the chosen default across restarts. Use for new copies changes subsequent Preserve reviews; existing copies, plans and jobs keep their original destination. A disconnected default blocks new copies without falling back to the system disk. A copy on another connected destination remains usable. Reconnect the exact enrolled root when it disappears or changes identity.

If setup was interrupted after enrollment but before its public key snapshot was written, review the same enrolled folder and confirm again. Unregistered populated folders are kept and refused. An empty crash-created leaf can be explicitly reviewed again. Up to sixteen private destinations can be enrolled. Core runs mounted-storage metadata in a bounded background I/O lane. A slow availability check reports unavailable or still checking without queueing repeated probes or blocking the node event loop. Setup cancellation and shutdown retain ownership until actual filesystem calls and directory closes finish; a stalled operating-system mount can delay shutdown. Specific NAS/provider and mount behavior still need qualification with that operating system and configuration.

Retain recovery evidence​

Private means private audience, not encryption. Protect storage permissions, credentials and encryption independently. Capture signing keys stay in protected Core storage; an external archive retains only archive-trust.json, containing public verification keys. Keep an independent record of its fingerprint and the exact manifest identity. Replacing both a bundle and its bundled keys can replace an unanchored identity.

Save a .foxkit through Library to storage independent of the original Core. On a fresh compatible Core, the header's Restore works before archive setup. If only a raw archive remains, the standalone portable tools can verify its manifest and export a kit using its public trust snapshot without the old Core, private signing key or registry. Required companions and original provenance are retained. Card extensions remain captured bytes; upgrading the reader can add interpretation without rewriting the backup. Installation, repository-code consent and registry assurance remain separate from integrity.

PMF-capable source cohort​

The released 0.6 wheel above remains available. For automatic PMF preservation and recovery with the current source cohort, install Library from the public repository instead:

uv tool install --force --python 3.13 'git+https://github.com/Foxlight-Foundation/foxlight-model-preservation.git@main#subdirectory=capability'

Then use the same setup, core and library commands above with a new preview directory. The installer pins a reviewed PMF-capable Core revision and its exact installer checksum. Source setup reads the installed Library's resolved public Git commit and installs that same cohort in the preview; a later change to main cannot silently replace it during setup. Installations obtained from an official release URL reuse that exact URL. Local directory/wheel or index-only installs can use an existing Core, but preview setup refuses them before creating a new profile. Use the public Git command above for a reproducible source cohort. Unsupported identities never become arbitrary installer input.

Preserve, Check, Save recovery kit and Restore use their normal reviewed jobs. PMF kits use explicit v2 framing; old v1 kits still work. Every captured model, companion and source record is hash-checked. Runtime profile support, registry proof and repository-code permission remain separate from capture-key trust. Neither installing nor launching joins a torrent swarm or starts a mirror. Library 0.8 source/installed-component acceptance is distinct from a published 0.8 release, stable/frozen distribution or inference qualification.

The source cohort also includes Find and Guided source following. No source is enrolled by setup. Get a source bootstrap file from a trusted operator, inspect it offline, then explicitly follow and refresh. Search is local; model details, download and Restore retain separate trust and network reviews. See the Library discovery flow.