Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions docs/COMPARISON.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
| **流式响应** | ✅ SSE | ✅ SSE | 相同 |
| **并发控制** | ✅ Fencing Lock | ✅ 分布式锁 | 相同 |
| **事件去重** | ✅ Dedup Set | ✅ 去重 | 相同 |
| **配置热更新** | ✅ 5 秒 | ❌ 需重启 | **MemoryOS 优势** |
| **配置热更新** | ⚠️ 受限(需重启) | ❌ 需重启 | 均需重启 |
| **实时健康检查** | ✅ 动态探测 | ❌ 静态 | **MemoryOS 优势** |
| **优雅降级** | ✅ 三层 | ⚠️ 部分 | **MemoryOS 优势** |
| **多租户** | ✅ user_id | ✅ user_id | 相同 |
Expand Down Expand Up @@ -56,7 +56,7 @@
├── HTTP Server (Axum)
├── Routes (健康检查, 聊天, 记忆)
├── 3-Tier Router (智能路由)
└── State Management (配置热更新, 实时健康检查)
└── State Management (状态管理, 实时健康检查)
```

**特点**:
Expand Down Expand Up @@ -368,7 +368,7 @@ GET /v1/users/{user_id}/memories/

### 优势

1. **配置热更新** - MemoryOS-Rust 有,Mem0 无
1. **配置热更新** - 均需重启,MemoryOS-Rust 已文档化限制
2. **实时健康检查** - MemoryOS-Rust 有,Mem0 无
3. **优雅降级** - MemoryOS-Rust 更完善
4. **性能** - MemoryOS-Rust 预期更高
Expand Down Expand Up @@ -432,7 +432,7 @@ v1.0.0 (2026-07-01) - 正式发布 + 生产验证 → 100%

### 主要优势

- 配置热更新
- 配置管理(受限热更新,见 CONFIG_HOT_RELOAD_LIMITATION.md)
- 实时健康检查
- 优雅降级
- 性能(预期,Rust vs Python)
Expand Down
15 changes: 8 additions & 7 deletions docs/DESIGN.md
Original file line number Diff line number Diff line change
Expand Up @@ -212,21 +212,22 @@ match (redis_available, qdrant_available) {

### 1. 配置热更新

#### 实现原理
> ⚠️ **限制**: 当前实现中,AppState 持有启动时的配置快照。大部分配置变更需要重启服务。
> 详见 [CONFIG_HOT_RELOAD_LIMITATION.md](CONFIG_HOT_RELOAD_LIMITATION.md)

#### 设计意图(未完全实现)

```rust
// 1. 后台任务
// 设计目标:后台任务定期检查配置变更
// 当前状态:后台轮询任务已移除,配置在启动时加载一次
// 原因:AppState 持有 Arc<Config> 快照,运行时替换需要重构状态管理
tokio::spawn(async move {
let mut interval = tokio::time::interval(Duration::from_secs(5));
loop {
interval.tick().await;

// 2. 检查文件修改时间
if config_manager.file_changed() {
// 3. 重新加载配置
match config_manager.reload() {
Ok(new_config) => {
// 4. 原子更新(ArcSwap)
config.store(Arc::new(new_config));
info!("✅ Config hot-reloaded");
}
Expand All @@ -242,7 +243,7 @@ tokio::spawn(async move {
- `tokio::spawn`: 后台异步任务
- `SystemTime`: 文件修改时间检测

**优势**:
**当前状态**:
- ⚠️ 受限 — AppState 持有启动时快照,大部分配置变更需重启
- ⚠️ 详见 docs/CONFIG_HOT_RELOAD_LIMITATION.md
- ✅ 无锁读取(高性能)
Expand Down
31 changes: 30 additions & 1 deletion docs/RELEASE_CHECKLIST.md
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,19 @@

---

## 六条准则审查 Round 11 (PR #109 后)

| 准则 | 结果 | 修复 |
|------|------|------|
| 1. Bug/功能缺陷 | ✅ 通过 — cargo check + clippy 零警告 | — |
| 2. 文档同步 | ⚠️ COMPARISON.md 仍有 "✅ 5秒" hot-reload 声明 | ✅ 修正 4 处 |
| 3. 进度追踪 | ⚠️ PR #107/#108/#109 未记录 | ✅ 已更新 |
| 4. 代码-文档偏差 | ⚠️ ROADMAP.md 比较表 + 优先级列表 hot-reload 声明不准确 | ✅ 修正 |
| 5. 技术栈一致性 | ✅ 通过 — 无 sqlx/postgres/mysql | — |
| 6. 基座复用 | ✅ 通过 | — |

---

## 六条准则审查 Round 10 (PR #105 后)

| 准则 | 结果 |
Expand Down Expand Up @@ -218,6 +231,20 @@
| 1 | 🔴 DevOps: 容器不以 root 运行 | DevOps/SRE | Dockerfile, Dockerfile.worker | ✅ 添加 memoryos 非 root 用户 |
| 2 | 🟡 Rust: cargo clippy 干净 | Rust 工程师 | error.rs, local.rs, tools.rs, fastapi_extractor.rs | ✅ 修复 4 个 Clippy 警告 |

### AGENTS.md 审计 Round 3

| # | 违规规则 | 角色 | 文件 | 修复 |
|---|---------|------|------|------|
| 1 | 🟡 Clippy: no_effect_replace | Rust 工程师 | fastapi_extractor.rs, spring_extractor.rs | ✅ 移除无效 replace 调用 |
| 2 | 🟡 Clippy: manual_strip | Rust 工程师 | confluence_backend.rs | ✅ `&line[2..]` → `strip_prefix` |
| 3 | 🟡 Clippy: type_complexity | Rust 工程师 | gdpr.rs | ✅ 提取 `GdprSnapshotData` 类型别名 |
| 4 | 🟡 Clippy: module_inception | Rust 工程师 | storage/tests.rs | ✅ 移除嵌套 `mod tests` |
| 5 | 🟡 unexpected_cfgs | Rust 工程师 | gateway/Cargo.toml | ✅ 添加 `memory-route-tests-disabled` feature |
| 6 | 🔴 Rust: unwrap() in production | Rust 工程师 | wiki-gen/lib.rs | ✅ `unwrap()` → `expect("BUG: ...")` |
| 7 | 🟡 Clippy: too_many_arguments | Rust 工程师 | parser/*.rs | ✅ `#[allow]` + 文档说明(tree-sitter visitor 模式) |

Clippy 警告: 15+ → 0

---

## 六条准则审查 Round 9 (PR #103 后)
Expand Down Expand Up @@ -302,4 +329,6 @@
| #104 | 六条准则审查 Round 9 | ✅ merged |
| #105 | 修复剩余 hot-reload 文档声明 | ✅ merged |
| #106 | 六条准则审查 Round 10 | ✅ merged |
| #??? | AGENTS.md 规则审计 — 代码质量修复 | 🔄 pending |
| #107 | AGENTS.md 规则审计 Round 1 — 代码质量修复 | ✅ merged |
| #108 | AGENTS.md 规则审计 Round 2 — 非 root Docker + Clippy | ✅ merged |
| #109 | AGENTS.md 规则审计 Round 3 — Clippy 零警告 | ✅ merged |
4 changes: 2 additions & 2 deletions docs/ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -387,7 +387,7 @@
| **数据加密** | ✅ AES-256-GCM | ⚠️ | ✅ 领先 |
| **审计日志** | ✅ 持久化 | ❌ | ✅ 领先 |
| **GDPR 合规** | ✅ 完整 | ⚠️ | ✅ 领先 |
| **配置热更新** | | ❌ | ✅ 领先 |
| **配置热更新** | ⚠️ 受限 | ❌ | 均需重启 |
| **实时健康检查** | ✅ | ❌ | ✅ 领先 |
| **优雅降级** | ✅ | ⚠️ | ✅ 领先 |
| **性能** | 高(Rust) | 中(Python) | ✅ 领先 |
Expand Down Expand Up @@ -455,7 +455,7 @@ v1.0.0 ██████████████████░░ 90%
## 🎯 优先级

### P0 - 必须完成(v1.0.0 前)
1. 配置热更新
1. ⚠️ 配置热更新(受限 — 见 docs/CONFIG_HOT_RELOAD_LIMITATION.md)
2. ✅ 实时健康检查
3. ✅ 优雅降级
4. ✅ FAQ Router Tier 0 集成(v0.3.0)
Expand Down