# 架构决策记录 (ADR)

本目录记录 CipherFS 项目的重要架构决策。

## ADR 列表

| ID | 标题 | 状态 | 日期 |
|----|------|------|------|
| [001](001-database-redb.zh.md) | 使用 redb 替代 SQLite | 已采纳 | 2024 |
| [002](002-encryption-xchacha20.zh.md) | 默认使用 XChaCha20-Poly1305 | 已采纳；AES-256-GCM 与 ChaCha20-Poly1305 后续作为可选内容算法加入 | 2024 |
| [003](003-chunking-fastcdc.zh.md) | 使用 FastCDC 替代固定分块 | 已采纳；固定分块保留为可选策略 | 2024 |
| [003](003-sync-refactoring.zh.md) | 同步模块从核心分离 | 已采纳 | 2026-01 |
| [004](004-algorithm-agility.zh.md) | 算法敏捷性 | 已采纳 | 2026-01 |

向量时钟同步与小文件 Blob 分片的早期决策已被[已确认需求](../requirements.zh.md)中的设备独立签名因果日志和统一内容引用取代。ADR 记录当时的决策背景，当前行为以仓库 README 为准。

## ADR 模板

```markdown
# ADR-XXX: 标题

## 状态
已采纳 / 已废弃 / 待定

## 背景
为什么需要做这个决策？

## 决策
我们决定...

## 考虑的选项
1. 选项 A
2. 选项 B
3. 选项 C

## 后果
- 优点：...
- 缺点：...
```
