awrecover

Snapshot a directory, and get it back.

pip install awrecover

awrecover snapshot ./run --store .snaps --label pre-finetune
awrecover verify   --store .snaps --label pre-finetune      # RESTORES it
awrecover restore  --store .snaps --label pre-finetune --dest ./run

Deliberately thin. A snapshot is an awshare bundle, so archiving, digesting, atomic writes and path containment are not reimplemented here. awrecover adds only what awshare does not have: a label index, and a restore that either fully lands or does not land at all.

Two rules it exists to enforce

A backup nobody has restored is a hypothesis. verify restores into a scratch directory and compares. The cheap check — “the archive exists and is non-empty” — passes for a snapshot of the wrong directory, a truncated one, and one taken of nothing.

A half-restore is worse than no restore. It destroys the working state and fails to deliver the snapshot. So a restore stages beside the target, verifies, then swaps; the window where neither is in place is one rename wide. The tree it replaced is moved aside, not deleted — if the swap fails, the old state is still under a name you can find.

Exit 1 when a snapshot is checked and found unrestorable; exit 2 when it could not be checked at all.

Licence

Apache-2.0.


The aw family

Standalone tools that share one idea: replace something you would otherwise have to trust with something you can check.

Each installs on its own, works offline, and needs no account.

  instead of trusting you check
awnix that the box is what you left it as an immutable image you built, with atomic rollback
awnode a vendor’s cloud with every prompt a local gateway routing to backends you chose
awgit that no one else is editing this file a lease, refused at commit time if you do not hold it
awgraph that grep found everything an AST + tree-sitter call graph an agent can traverse
awseal that the artifact came from who you think an Ed25519 seal — the key that verifies is not the key that forges
awshare that the download is intact content-addressed bundles, verified on fetch
awrelay a SaaS in the middle of your agents findings, alerts and coordination over your own transport
awm that memory stayed in its lane tenant:user:project scopes, so a write cannot cross a boundary
awrecover (you are here) that the restore worked a restore that fully lands or does not land at all

awnix is the ground floor — a bootable, immutable Linux base for machines where software writes software.

Aitherium open-source ecosystem

This repo is one piece of a connected set. All public, MIT/BSL-licensed:

repo what it is pages
awrecover Labelled snapshots with an all-or-nothing restore docs
awshare Publish an artifact and fetch it back verified docs
awseal Sign an artifact so a stranger can verify it docs
awnode Lightweight local gateway — your apps to backends you chose docs
awnix A bootable, immutable Linux base for agent-run machines docs
awdk Build AI agent fleets — 3 lines, any backend docs
awskills Free agent skills, scripts & automations docs
AitherZero PowerShell 7+ automation framework docs
awgit Semantic version control on top of git docs
awgraph Code knowledge graph for AI agents docs
aitherkvcache Near-optimal KV cache quantization docs
awrelay Agent-to-agent messaging over any chat server docs
awm A small world model (LeWM JEPA + MLP) to bootstrap your own docs
AitherConnect Browser extension: federated AI search & desktop bridge
homebrew-tap brew tap aitherium/tap

Built by Aitherium.


Part of the aw family — standalone tools that replace something you would otherwise have to trust with something you can check. Apache-2.0.

This site uses Just the Docs, a documentation theme for Jekyll.