feat(huanxi+memcore): 全量修正 huanxi 技能描述漂移 + memcore 七项优化

- huanxi: 更新 MCP URL 至 huanxi.office.yixiong-tech.com
- huanxi: 修正所有技能与后端 docstring 漂移
  · report items 字段表(补 module_id 必填、progress→progress_update、去除虚构 status)
  · weekly_report_save week→week_number
  · task end_date(非 due_date)、critical(非 urgent)、not_started(非 todo)
  · 用户/模块 ID 字段名统一为 id(非 user_id)
  · 所有 references 顶部声明"参数细节以 MCP docstring 为准"
- memcore: 新增 memcore-shared 共享层(路径锁定 + 全局常量 + PROJECT_DIR 跨平台解析)
- memcore: lint_report 增量保活(NEED-HUMAN 稳定 ID + resolved 跳过)
- memcore: synonyms.md 自动登记入索引
- memcore: SYNTHESIS_THRESHOLD / LINT_STALE_*_DAYS / MULTI_HOST_WARN_DAYS 常量化
- memcore: update Phase 1 增加 Base commit 兜底,防锚点丢失雪崩
- memcore: Phase 3C 引用快扫脚本改用 grep -F + -- 兼容中文/空格 title

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
SkyJourney
2026-06-12 19:13:21 +08:00
co-authored by Claude Opus 4.7
parent 4bf58796cf
commit 38beecb2d0
17 changed files with 362 additions and 112 deletions
+15 -6
View File
@@ -37,6 +37,8 @@ description: "寰汐任务管理:创建任务(+create)、更新任务状
## +update:更新任务
> ⚠️ 参数细节以 MCP `task_update` 的 docstring 为准,本节仅做工作流引导。
```
Step 1: 确认任务 ID
→ 若用户已提供 task_id:直接使用
@@ -48,17 +50,24 @@ Step 1: 确认任务 ID
Step 2: 展示当前任务状态,引导用户填写要修改的字段
Step 3: mcp__huanxi__task_update(task_id, {
title? : "新标题",
description? : "新描述",
progress? : 80, ← 0-100 整数
status? : "in_progress" | "done" | "todo",
due_date? : "YYYY-MM-DD",
priority? : "low" | "medium" | "high"
title? : "新标题",
description? : "新描述",
progress? : 80, ← 0-100 整数
progress_before? : 60, ← 修改 progress 时必传当前值(乐观锁,防并发覆盖)
status? : "not_started" | "in_progress" | "done" | "cancelled" | "on_hold",
end_date? : "YYYY-MM-DD", ← 字段名是 end_date,不是 due_date
priority? : "low" | "medium" | "high" | "critical"
})
Step 4: 告知更新结果
```
⚠️ **历史踩坑**
- 字段名 `due_date` 错误,后端为 `end_date`
- 状态值 `todo` 错误,后端为 `not_started`
- priority 缺 `critical`,没有 `urgent`
- 改 progress 不传 `progress_before` 会 409 冲突
---
## +assign:设置执行人
@@ -1,17 +1,21 @@
# 创建任务(+create
> ⚠️ 参数细节以 MCP `task_create` 的 docstring 为准,本文档仅做工作流引导。
## 必填信息收集
在调用 `task_create` 前,引导用户提供:
| 字段 | 必填 | 说明 |
|------|------|------|
| `module_id` | ✅ | 所属模块(从缓存解析名字 → ID) |
| `module_id` | ✅ | 所属模块 UUID(从缓存解析名字 → ID |
| `title` | ✅ | 任务标题(简洁明了)|
| `description` | 可选 | 任务详情、背景、验收标准 |
| `due_date` | 可选 | 截止日期(YYYY-MM-DD 格式|
| `priority` | 可选 | `low` / `medium` / `high` / `urgent`,默认 medium |
| `assignee_ids` | 可选 | 执行人(从缓存解析人名 → user_id)|
| `description` | 可选 | 任务详情、背景、验收标准Markdown |
| `end_date` | 可选 | 截止日期(YYYY-MM-DD 格式**字段名是 end_date,不是 due_date** |
| `priority` | 可选 | `low` / `medium` / `high` / `critical`,默认 `medium`**没有 urgent** |
| `status` | 可选 | `not_started`(默认)/ `in_progress` |
| `parent_task_id` | 可选 | 父任务 UUID,传此字段即为子任务 |
| `assignee_ids` | 可选 | 执行人 user_id 列表,**可在创建时一并传入**(无需再单独调 `task_set_assignees` |
---
@@ -22,21 +26,23 @@ Step 1: 解析模块名 → module_id
→ Read ~/.claude/huanxi-cache/modules.json
→ 模糊匹配模块名(详见 huanxi-org resolve-ids.md
Step 2: [若用户提到执行人] 解析人名 → user_id
Step 2: [若用户提到执行人] 解析人名 → user_iduser 对象的 id 字段)
→ Read ~/.claude/huanxi-cache/users.json
→ 未命中 → mcp__huanxi__user_list(name=<人名>) → 追加写缓存
Step 3: 创建任务
Step 3: 创建任务(推荐一次性把执行人也带上)
→ mcp__huanxi__task_create(
module_id = "<模块ID>",
title = "任务标题",
description = "...", ← 可选
due_date = "YYYY-MM-DD", ← 可选
priority = "medium" ← 可选
module_id = "<模块ID>",
title = "任务标题",
description = "...", ← 可选
end_date = "YYYY-MM-DD", ← 可选;字段名 end_date
priority = "medium", ← 可选low/medium/high/critical
status = "not_started", ← 可选;默认 not_started
assignee_ids = ["<user_id>"] ← 可选;若 Step 2 有解析到,建议一并传入
)
→ 返回:task_id
Step 4: 设置执行人(若 Step 2 有解析到)
Step 4: [仅当 Step 3 未传 assignee_ids 时] 单独设置执行人
→ mcp__huanxi__task_set_assignees(
task_id = "<刚创建的 task_id>",
assignee_ids = ["<user_id>"]
@@ -67,3 +73,14 @@ mcp__huanxi__task_create(
parent_task_id = "<父任务ID>" ← 传此字段即为子任务
)
```
---
## 字段名速查(避免漂移)
| 概念 | 正确字段名 | 错误写法 |
|------|----------|---------|
| 截止日期 | `end_date` | ~~due_date~~ |
| 紧急优先级 | `critical` | ~~urgent~~ |
| 未开始状态 | `not_started` | ~~todo~~ |
| 父任务 ID | `parent_task_id` | ~~parent_id~~(后端 body 内是 parent_id,但 MCP 参数是 parent_task_id |
@@ -1,22 +1,27 @@
# 任务看板(+board
> ⚠️ 参数细节以 MCP `task_list_mine` / `task_list_by_module` / `people_get_board` 的 docstring 为准,本文档仅做工作流引导。
## 查看我的任务
```
Step 1: mcp__huanxi__task_list_mine()
→ 返回我认领的所有任务(跨模块)
→ 每条含:id / title / status / priority / progress / module_name / end_date / assignees
Step 2: 按状态分组展示:
Step 2: 按状态分组展示(状态值与后端枚举一致)
────────────────────────────────────
📋 待处理(todo
· [前端开发] 完成登录页面 UI 优化 ← 截止: 04-15
📋 未开始(not_started
· [前端开发] 完成登录页面 UI 优化 ← end_date: 04-15
· [后端API] 接口文档更新 ← 无截止日
🔄 进行中(in_progress
· [前端开发] 接口联调 60% ← 截止: 04-20
· [前端开发] 接口联调 60% ← end_date: 04-20
✅ 已完成(done)
· [前端开发] 初始化项目结构 100%
⏸️ 已挂起(on_hold / ❌ 已取消(cancelled)— 默认折叠
────────────────────────────────────
```
@@ -47,5 +52,5 @@ Step 2: 展示每人的任务负载情况(适合分配任务前参考)
|------|------|
| "我今天要做什么" | task_list_mine() → 过滤 status=in_progress + 截止日临近 |
| "某个模块的任务" | task_list_by_module(module_id) |
| "即将到期的任务" | task_list_mine() → 筛选 due_date ≤ 今日+3天 |
| "即将到期的任务" | task_list_mine() → 筛选 end_date ≤ 今日+3天 |
| "团队任务分布" | people_get_board() |