fix(memcore): 强制 memory-update/lint 路径锁定,禁止写入系统自动记忆路径
三个技能均追加"⚠ 路径锁定"块,明确唯一操作路径为 $PROJECT_DIR/.claude/memory/,严禁写入 ~/.claude/projects/*/memory/, 消除 auto memory 系统并发干扰;memory-sync Phase 3 补方向锁定注释, 确认远程同步窗口唯一为 Phase 10。 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
74cf0310b4
commit
9c913829ab
@@ -1,11 +1,33 @@
|
||||
---
|
||||
name: memory-lint
|
||||
description: 检查本地记忆文件的健康状况。AUTO-FIX类问题直接修改本地文件,NEED-HUMAN类问题写入lint_report.md。以本地.claude/memory/为唯一权威,不推送远程。可独立执行,也作为/memory-sync流程的一部分。调用命令: /memory-lint
|
||||
description: 检查本地记忆文件的健康状况。AUTO-FIX类问题直接修改本地文件,NEED-HUMAN类问题写入lint_report.md。唯一操作路径为 $PROJECT_DIR/.claude/memory/,严禁读写 ~/.claude/projects/*/memory/ 等项目目录外的任何路径,也不触发 auto memory 系统写入。可独立执行,也作为/memory-sync流程的一部分。调用命令: /memory-lint
|
||||
---
|
||||
|
||||
# memory-lint
|
||||
|
||||
健康检查 `.claude/memory/`:AUTO-FIX 直修,NEED-HUMAN 写入 `lint_report.md`。**本地权威,不推送远程**。会话目录 = `$PROJECT_DIR`。
|
||||
健康检查 `.claude/memory/`:AUTO-FIX 直修,NEED-HUMAN 写入 `lint_report.md`。会话目录 = `$PROJECT_DIR`。
|
||||
|
||||
---
|
||||
|
||||
## ⚠ 路径锁定(执行前必读)
|
||||
|
||||
**唯一操作路径**:`$PROJECT_DIR/.claude/memory/`(项目根目录内的 `.claude/memory/`)
|
||||
|
||||
**严禁读写的路径**:
|
||||
- `~/.claude/projects/*/memory/`(系统自动记忆路径,由 auto memory 系统单独管理)
|
||||
- `~/.claude/` 下任何其他目录
|
||||
- 项目目录(`$PROJECT_DIR`)以外的任何路径
|
||||
|
||||
**不触发 auto memory**:本技能执行期间产生的所有 lint 修正和报告,均**不写入** auto memory 系统(`~/.claude/projects/{PROJECT_KEY}/memory/`),该路径仅由 `/memory-sync` 的 Phase 10 统一管理。
|
||||
|
||||
**执行前断言**:
|
||||
```bash
|
||||
TARGET="$PROJECT_DIR/.claude/memory"
|
||||
echo "memory-lint 目标路径:$TARGET"
|
||||
case "$TARGET" in *"/.claude/projects/"*)
|
||||
echo "ERROR: 路径含系统自动记忆目录,中止" && exit 1 ;;
|
||||
esac
|
||||
```
|
||||
|
||||
目录不存在 → 输出 `⚠ 未找到 .claude/memory/,建议先执行 /memory-sync` 并终止。
|
||||
|
||||
|
||||
@@ -53,6 +53,8 @@ ls "$PROJECT_DIR/.claude/memory/" 2>/dev/null
|
||||
|
||||
## Phase 3 — 远程 → 本地(只补不覆)
|
||||
|
||||
> **方向锁定**:本 Phase 唯一操作是从 `~/.claude/projects/{PROJECT_KEY}/memory/` 补充到 `$PROJECT_DIR/.claude/memory/`(缺失文件单向复制)。Phase 5(memory-update)和 Phase 6(memory-lint)严禁反向写入远程路径,所有远程同步只由 Phase 10 统一执行。
|
||||
|
||||
```bash
|
||||
for f in ~/.claude/projects/{PROJECT_KEY}/memory/*.md; do
|
||||
fn=$(basename "$f"); local="$PROJECT_DIR/.claude/memory/$fn"
|
||||
|
||||
@@ -1,11 +1,35 @@
|
||||
---
|
||||
name: memory-update
|
||||
description: 根据git diff增量范围,更新本地记忆文件和MEMORY.md索引。以本地.claude/memory/为唯一权威,不推送远程。可独立执行,也作为/memory-sync流程的一部分。调用命令: /memory-update
|
||||
description: 根据git diff增量范围,更新本地记忆文件和MEMORY.md索引。唯一操作路径为 $PROJECT_DIR/.claude/memory/,严禁写入 ~/.claude/projects/*/memory/ 等项目目录外的任何路径,也不触发 auto memory 系统写入。可独立执行,也作为/memory-sync流程的一部分。调用命令: /memory-update
|
||||
---
|
||||
|
||||
# memory-update
|
||||
|
||||
按 git diff 增量更新本地 `.claude/memory/`。**本地权威,仅操作本地文件**。会话目录 = `$PROJECT_DIR`;目录不存在则 `mkdir -p`。
|
||||
按 git diff 增量更新本地 `.claude/memory/`。会话目录 = `$PROJECT_DIR`;目录不存在则 `mkdir -p`。
|
||||
|
||||
---
|
||||
|
||||
## ⚠ 路径锁定(执行前必读)
|
||||
|
||||
**唯一操作路径**:`$PROJECT_DIR/.claude/memory/`(项目根目录内的 `.claude/memory/`)
|
||||
|
||||
**严禁写入的路径**:
|
||||
- `~/.claude/projects/*/memory/`(系统自动记忆路径,由 auto memory 系统单独管理)
|
||||
- `~/.claude/` 下任何其他目录
|
||||
- 项目目录(`$PROJECT_DIR`)以外的任何路径
|
||||
|
||||
**不触发 auto memory**:本技能执行期间产生的所有记忆内容,均**不写入** auto memory 系统(`~/.claude/projects/{PROJECT_KEY}/memory/`),该路径仅由 `/memory-sync` 的 Phase 10 统一管理。
|
||||
|
||||
**执行前断言**:
|
||||
```bash
|
||||
# 确认目标路径在项目目录内
|
||||
TARGET="$PROJECT_DIR/.claude/memory"
|
||||
echo "memory-update 目标路径:$TARGET"
|
||||
# 路径含 .claude/projects 则中止
|
||||
case "$TARGET" in *"/.claude/projects/"*)
|
||||
echo "ERROR: 路径含系统自动记忆目录,中止" && exit 1 ;;
|
||||
esac
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user