2.1 KiB
ASL/STORE-LAYOUT/1 -- On-Disk Store Layout
Status: Draft Owner: Architecture Version: 0.1.0 SoT: No Last Updated: 2026-01-17 Tags: [ops, store, layout, filesystem]
Document ID: ASL/STORE-LAYOUT/1
Layer: O2 -- Operational layout profile
Depends on (normative):
ASL-STORE-INDEX
Informative references:
ASL/HOST/1
0. Conventions
The key words MUST, MUST NOT, REQUIRED, SHOULD, and MAY are to be interpreted as in RFC 2119.
ASL/STORE-LAYOUT/1 defines a recommended filesystem layout for an ASL store. It does not define semantic behavior.
1. Purpose
Provide a practical, POSIX-friendly on-disk layout that preserves ASL store semantics while remaining compatible with ZFS or other backends.
2. Minimum Required Components (Informative)
An ASL store requires:
- Immutable blocks
- Append-only log
- Sealed snapshots
- Deterministic replay
Directory layout is an implementation choice. This document defines a recommended layout.
3. Recommended Domain Layout
Per domain, use:
/asl/domains/<domain-id>/
meta/
blocks/
index/
log/
snapshots/
tmp/
All paths are domain-local.
4. Blocks
blocks/
open/
blk_<uuid>.tmp
sealed/
00/
<blockid>.blk
ff/
<blockid>.blk
Rules:
- Open blocks are never visible.
- Sealed blocks are immutable.
- Sealed blocks are sharded by prefix for filesystem scalability.
5. Index Segments
index/
shard-000/
segment-0001.idx
segment-0002.idx
bloom.bin
shard-001/
...
Rules:
- Segments are append-only while open.
- Sealed segments are immutable and log-visible.
- Shards are deterministic per snapshot.
6. Log and Snapshots
log/
asl.log
snapshots/
<snapshot-id>/
Rules:
- Log is append-only.
- Snapshots pin index and block state for replay.
7. Temporary and Metadata Paths
tmp/is for transient files only.meta/contains domain metadata (DAM, policy, host state).
8. Non-Goals
ASL/STORE-LAYOUT/1 does not define:
- Device selection or mount options
- Snapshot mechanism (ZFS vs other)
- Encryption or key management