# EXNILIUM Infinite Storage Engine

The EXNILIUM Infinite Storage Engine is a portable, governed, local-first storage body.

It exists so the user is not trapped by one machine, one disk, or one runtime.

## What it does

- Splits files into deterministic chunks.
- Stores chunks with hash proof.
- Indexes manifests for restore.
- Restores the original payload from owned chunks.
- Syncs storage state into EXNILIUM memory, cluster routing, proof ledger, and portable download surfaces.
- Exposes public proof endpoints for installation, pulse, manifest, absorb, chunks, restore, and sync.

## Public routes

- `/exnilium/storage`
- `/api/exnilium/storage`
- `/api/exnilium/storage/download`
- `/api/exnilium/storage/install`
- `/api/exnilium/storage/manifest`
- `/api/exnilium/storage/pulse`
- `/api/exnilium/storage/absorb`
- `/api/exnilium/storage/chunks`
- `/api/exnilium/storage/restore`
- `/api/exnilium/storage/sync`
- `/api/exnilium/storage/package`
- `/api/exnilium/storage/readme`

## Install doctrine

No one should be trapped by one machine running out of space.

Storage becomes distributed, governed, chunked, portable, downloadable.

The user owns the memory body.

EXNILIUM stores, indexes, proves, restores, and syncs.

## Verification

A valid installation must prove:

- build passed
- PM2 restarted
- health returned HTTP 200
- package endpoint returned HTTP 200
- README endpoint returned HTTP 200
- install endpoint returned HTTP 200
- download endpoint returned HTTP 200
- restore hash matched
- sync succeeded
