# 知识库模块 - 状态机文档

> **版本**: v1.0  
> **最后更新**: 2026-01-09  
> **维护者**: Product Team

> 🚧 Draft：本文件为最小占位，待与 03-architecture.md/05-data-model.md 对齐后完善。

---

## 📋 概述

### 状态机用途

管理知识库文档生命周期（主要对应 SharePoint 自定义字段 `DocLifecycleStatus`）。

### 核心对象

- **对象类型**: 知识库文档（含原生文章与 SharePoint 索引）
- **状态字段**: `docLifecycleStatus`
- **数据库表**: `platform_knowledge.knowledge_documents`（待确认）

---

## 🎯 状态定义

| 状态代码 | 状态名称 | 中文名 | 说明 | 终态 |
|---------|---------|--------|------|-----|
| `DRAFT` | Draft | 草稿 | 初始草稿 | ❌ |
| `UNDER_REVIEW` | UnderReview | 审核中 | 提交审核中 | ❌ |
| `PUBLISHED` | Published | 已发布 | 对用户可见 | ❌ |
| `ARCHIVED` | Archived | 已归档 | 归档不可编辑 | ✅ |
| `DEPRECATED` | Deprecated | 已废弃 | 不参与检索 | ✅ |

---

## 🔄 状态流转图

```mermaid
stateDiagram-v2
    [*] --> DRAFT: 创建

    DRAFT --> UNDER_REVIEW: 提交审核
    UNDER_REVIEW --> PUBLISHED: 审核通过
    UNDER_REVIEW --> DRAFT: 退回修改

    PUBLISHED --> ARCHIVED: 归档
    PUBLISHED --> DEPRECATED: 标记废弃

    ARCHIVED --> [*]
    DEPRECATED --> [*]
```

---

## ✅ 合法状态流转

| 当前状态 | 可流转到 | 触发动作 | 执行者 | 前置条件 |
|---------|---------|---------|--------|---------|
| `DRAFT` | `UNDER_REVIEW` | 提交审核 | 贡献者 | 内容完整 |
| `UNDER_REVIEW` | `PUBLISHED` | 通过 | 管理员 | 审核通过 |
| `UNDER_REVIEW` | `DRAFT` | 退回 | 管理员 | 需修改 |
| `PUBLISHED` | `ARCHIVED` | 归档 | 管理员 | 过期/替代 |
| `PUBLISHED` | `DEPRECATED` | 废弃 | 管理员 | 风险/错误 |

> 说明：MVP 阶段文档生命周期主要来自 SharePoint 字段映射，KB 不直接修改状态（待确认）。

---

## ❌ 非法状态流转

| 当前状态 | 不可流转到 | 原因 |
|---------|-----------|------|
| `ARCHIVED` | 任何状态 | 终态，不可变更 |
| `DEPRECATED` | 任何状态 | 终态，不可变更 |

---

## 👥 角色与状态关系（草案）

| 状态 | 贡献者 | 管理员 | 查看 | 编辑 |
|------|--------|--------|------|------|
| `DRAFT` | ✅ | ✅ | ✅ | ✅ |
| `UNDER_REVIEW` | ✅ | ✅ | ✅ | ❌ |
| `PUBLISHED` | ✅ | ✅ | ✅ | ❌ |
| `ARCHIVED` | ❌ | ✅ | ✅ | ❌ |
| `DEPRECATED` | ❌ | ✅ | ✅ | ❌ |

