Baselines & recovery

Export an immutable checkpoint and make a backup that survives losing a disk.

What a baseline keeps

Current creates an immutable baseline every 300 seconds by default. A baseline is a content-addressed manifest of the complete namespace, including deletion versions. It references existing chunks; unchanged asset data is not copied again.

After storing a baseline durably, current compacts covered events. Clients that have fallen behind can catch up from the latest baseline and the remaining event tail.

Find a checkpoint

From a project with a configured remote:

cor baselines

The result includes hashes and sequences, newest first, up to 100 per page. To see older references, pass the oldest displayed sequence as --before SEQUENCE. In a brand-new repository, wait for a baseline after your first upload if the available one is still empty.

Export into a new folder

Choose a displayed baseline hash and a destination that does not already exist:

cor export --hash BASELINE_HASH --output ../recovered-game

Export downloads the required chunks, verifies their hashes, and reconstructs the baseline’s files. It refuses an existing output directory. A failed export leaves partial output for inspection; choose a new destination for a fresh attempt.

Export does not rewind current

The recovered folder is a standalone copy, not an attached client. Exporting leaves the shared current namespace and your live workspace unchanged.

Restore selected work

  1. Export the baseline to a new folder.
  2. Stop the affected workspace’s worker.
  3. Compare files, then copy the desired recovered content into your working project. If you want to restore a deletion, remove that working file deliberately.
  4. Restart cor work. The restored content is submitted as ordinary new changes under the same whole-package rules.

A concurrent update can still cause a conflict. There is no command that silently moves everyone back to an older baseline.

Make a manual baseline

Stop current, then run this from its server folder:

cor baseline
cor current

If current uses a custom data directory, supply that same --data PATH to both commands. Automatic frequency is configurable with cor current --baseline-seconds 300.

Make an independent backup

A baseline on the same disk does not protect against disk loss

Stop current and back up its entire data directory to another disk or host. That includes SQLite data, chunks, baselines, and credentials. Restart current after the copy finishes.

For the default layout, the complete data directory is .laplace/current inside the server folder. Do not copy only the baseline JSON or only the database: each needs the referenced chunk data.

Client conflict and recovery archives are local. Back up those separately if they contain unresolved or otherwise valuable work. Restoring a server backup older than a connected client’s received sequence is detected as a rollback on client open; do not delete client state to bypass that check and risk losing unsynchronized work.

Retention today

Garbage collection is not implemented. Old baselines, receipts, orphan uploaded chunks, local caches, and recovery/conflict copies accumulate. Plan storage capacity accordingly and never delete chunks manually while a retained baseline or current file may reference them.

NextCodex & Claude helpers

Search documentation

Search the guides, tutorials, and command reference.

↑ ↓ to navigate↵ to open · esc to close