## 0. 核心公理 (Core Axioms - 最高优先级)
1.  **行动验证原则 (Action-Verified Only)**
    *   **定义**：任何写入 L1/L2/L3 的信息，必须源自**成功的工具调用结果**（如 `shell` 执行成功、`file_read` 确认内容存在、代码运行通过）。
    *   **禁止**：严禁将模型的“固有知识”、“推理猜测”、“未执行的计划”或“未验证的假设”作为事实写入。
    *   **口号**：**No Execution, No Memory. (无行动，不记忆)**
2.  **神圣不可删改性 (Sanctity of Verified Data)**
    *   **定义**：凡是经过行动验证的有效配置、避坑指南、关键路径，在重构（Refactoring/GC）时**严禁丢弃**。
    *   **操作**：可以压缩文字、可以迁移层级（从 L2 移到 L3），但绝不能丢失信息的准确性和可追溯性。
    *   记忆修改时请极度小心，尽量不要overwrite或code run。只能少量patch，改不动宁愿不改。
3.  **禁止存储易变状态 (No Volatile State)**
    *   **定义**：严禁存储随时间/会话高频变化的数据。
    *   **示例**：当前时间戳、临时 Session ID、正在运行的 PID、某个具体绝对路径、连接的设备信息
4.  **最小充分指针 (Minimum Sufficient Pointer)**
    *   上层只留能定位下层的最短标识，多一词即冗余。
---
## 记忆层级架构
```
L1: global_mem_insight.txt (极简索引层 - 严格控制 ≤30 行)  
    ↓ 导航指向 (Pointer)  
L2: global_mem.txt (事实库层 - 现短但会膨胀)  
    ↓ 详细引用 (Reference)  
L3: ../memory/ (记录库层 - 包含 .md/.py 等各类文件)  
L4: ../memory/L4_raw_sessions/ (历史会话层 - scheduler反射自动收集，可定位过往上下文)  
```
---
## 各层职责与原则
### L1：全局内存索引 (global_mem_insight.txt)
**职责**：为 L2 和 L3 提供极简导航索引，确保关键能力可被发现。
**特征**：
- 体积限制：≤ 30 行（硬约束），< 1k tokens（期望）。严禁填写细节（除非极高频任务）
- 内容：两层「场景关键词→记忆定位」映射 + RULES（红线规则 + 高频犯错点）
  - 第一层：高频场景 key→value（直接给出 sop/py/L2 section 名），自包含名称只写一词不重复翻译
  - 第二层：低频场景仅列关键词，需要时 read L2 或 ls L3 自行定位
  - 核心：场景触发词极重要（不索引则不知有此能力），但严禁写How-to细节
  - RULES：压缩版避坑准则，包含：
    - 红线规则（致命型）：违反会导致进程终止或系统崩溃（如 `禁无条件杀python(会杀自己)`）
    - 红线规则（隐蔽型）：违反不报错但产生错误结果（如 `搜索用google不用百度`）
    - 高频犯错点：容易遗忘的关键约束（如 `es(PATH有)` 防止找路径）
- 更新：L2/L3 有新增/删除时，判断频率归入对应层。修改时请极度小心，不允许overwrite或code run。只能少量patch，改不动宁愿不改。
**禁止**：严禁写入密码、API Key。允许内联非敏感触发参数（如代理端口）。不写 "How to" 或详细解释。严禁包含特定任务的技术细节（特定任务细节应该在L3）。更加严禁写入日志记录！
---
### L2：全局事实库 (global_mem.txt)
**职责**：存储全局环境性事实（路径、凭证、配置、常量等）。
**特征**：
- 趋势：随环境扩展而膨胀（可接受）
- 内容：按 `## [SECTION]` 组织的事实条目
- 同步：变化时更新 L1 的相应 TOPIC 导航行，只能导航
**禁止**：禁止存储易变状态、禁止存储猜测、严禁存储大模型可推理的通用常识
---
### L3：任务级精简记录库 (../memory/)
职责：补充 L1/L2 无法容纳、但对**特定任务**未来复用至关重要的少量详细信息。内容必须在满足复用需求的前提下**尽可能短**。
原则：
- 只记录：跨会话仍重要、且难以通过少量 file_read / web_scan / 简单脚本快速重建的要点。
- 优先写：该任务特有的隐藏前置条件、典型易踩坑点，一旦遗忘会导致高成本重试的信息。
- 不记录：普通操作步骤、可在几步探测中重新获得的路径或状态信息。
形式：
- SOP（*_sop.md）：为单一任务或小类任务保留极简的「关键前置 + 典型坑」清单，避免长篇教程。
- 工具脚本（*.py）：仅封装高复用、逻辑相对复杂且不希望每次都重新推理的处理流程。
---
## L1 ↔ L2/L3 同步规则
| 操作 | L1 同步 |
|---------|--------|
| L2/L3 新增场景 | 新建默认低频→L3列表加文件名（自解释不加描述，反直觉场景才能加括号触发词） |
| L2/L3 删除场景 | 删除对应层的关键词/映射行 |
| L2/L3 修改值 | 若不影响场景定位则不动 L1 |
| 发现通用避坑规律 | 压缩为一句加入 RULES |

> **同步红线**：L1 只写关键词/名称，禁搬细节。括号内只写反直觉的场景触发词(2-4字)，禁写机制/方法/步骤。需要评估L1中的token数和索引效用。
> 反例：❌ sop_name(场景A:方法1+方法2+方法3) → ✅ sop_name(场景A)
> 反例：名字已自解释时 ❌ discord_slate_sop(Slate输入框) → ✅ discord_slate_sop

---
## 信息分类快速决策树
```
"这条信息该放哪层？"

是『环境特异性事实』? (IP、非标路径、凭证、ID、API 密钥等，大模型 Zero-shot 无法生成准确)
  ├─ YES → L2 (global_mem.txt)
  │        然后 → 按频率归入 L1 第一层(key→value)或第二层(仅关键词)
  │
  └─ NO
       ↓
       是『通用操作规律』? (全局性避坑指南、排查方法、不针对特定任务的通用准则)
       ├─ YES → L1 [RULES] (仅限 1 句压缩准则)
       │
       └─ NO
            ↓
            是『特定任务技术』? (艰难尝试才能成功，且未来还能用到的任务，如：微信解析参数、特定游戏坐标、临时工具配置)
            ├─ YES → L3 (../memory/ 专项 SOP 或脚本)
            │
            └─ NO → 判定为『通用常识』或『冗余信息』: 严禁存储，直接丢弃
```