lex-store 0.3.0

Content-addressed on-disk store for Lex stages, branches, and traces.
Documentation

M6: content-addressed store. Spec §4.

Filesystem layout (§4.2):

<root>/
├── stages/
│   └── <SigId>/
│       ├── implementations/
│       │   ├── <StageId>.ast.json
│       │   └── <StageId>.metadata.json
│       ├── tests/
│       │   └── <test_id>.json
│       ├── specs/
│       │   └── <spec_id>.json
│       └── lifecycle.json
└── traces/
    └── <run_id>/
        └── trace.json

The filesystem is canonical. We don't ship index.db (the spec calls it a cache); the in-memory index is rebuilt on Store::open by scanning the filesystem. Acceptance §4.6 requires that this rebuild produces identical results regardless of cache state — the obvious way to honor that is to keep the cache trivially derivable.