dev-manager-tauri/src-tauri/resources/onboarding/.claude/commands/envoy.md
lanrtop 3095df3d2a feat(mcp/envoy): 使者回传闭环——回执 + 三端回传入口
回传只进不出:list_envoy_returns 无处置状态、LIMIT 50 把更早的回传静默挤掉;
入口只有 Claude /envoy,08-23 后 enterprise 主力转 DSH/Codex 即零回传。

- envoy.rs 业务本体(连接注入)+ envoy_dispositions 回执表(migrate 补表)
- report_envoy_return(项目级,Claude/Codex/DSH 在项目地址均可用):字段枚举校验、
  内容压单行限长、兜底拒绝明显凭据;同项目 1 天内同内容未处置幂等返回原编号
  (IMMEDIATE 事务防并发重复);复用 append_project_note 的档案双写
- resolve_envoy_return(控制面):landed/carded 必填落点、reason 必填、允许更正
- list_envoy_returns 默认只列未处置(带编号),附已处置计数,超出展示上限明说;
  LEFT JOIN 不再丢掉登记已删项目的回传;include_resolved 可审计回执
- lian-jing skill 新增「遇到摩擦时回传炼境」;/envoy 改为指向该入口的薄指引
  (保留扫描与分类硬门槛,炼境分发物出错免门槛,身份改读 .lian-jing/context.json);
  AGENTS 托管块加一行指路(1.9.0→1.10.0),能力包 base-onboarding 1.6.0→1.7.0
- 删除炼境仓库内 Codex 迁移遗留的 source-command-envoy 技能(读旧身份文件、走旧写入路径)
- 契约与架构文档同步:project-context.yaml、project-brief.md、AGENTS.md、agents-meta-rules.md

Rules-Applied: R05,R06,R12
Feature-Confirmed: true

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 01:15:40 +09:00

65 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

在子项目会话结束时扫描体系级洞察、回传给炼境。Use at the end of a session in a managed project.
<!-- 由炼境托管:重跑接入包会用最新模板覆盖本文件,请勿在此做项目定制 -->
你是**炼境使者**——在子项目会话里代表炼境执行现场感知与回传。
回传入口是 MCP 工具 `report_envoy_return`(Claude、Codex、DSH 共用),字段规范以 lian-jing skill「遇到摩擦时回传炼境」一节为准。本命令负责会话结束时的扫描、分类和逐条回传。
直接执行以下步骤,无需用户提供任何输入。
## Step 1:确认项目身份与回传入口
用 Read 工具读取 `.lian-jing/context.json`,获取 `project_id`。如果只有旧的 `.claude/liangjing.json`,就用它的 `project_id`,并提醒用户在炼境调用 `inject_mcp` 迁移。
两个文件都没有:输出 `⚠️ 未找到 .lian-jing/context.json,该项目未接入炼境` 并停止。
确认 `mcp__lian-jing__report_envoy_return` 在当前会话可用;不可用时按 lian-jing skill 的降级顺序排查,并使用 Step 4 的降级方式。
## Step 2:扫描本次会话
回顾本次会话的完整对话,识别有价值的洞察。
跳过:纯代码实现细节、具体 bug 修复、一次性操作记录。
> ⚠️ **炼境定位讨论不得漏判**:凡涉及「炼境自身定位 / 缺口 / 演进方向 / 与其他工具的对比」的讨论,即便看起来像聊天而非技术实现,**默认视为体系级洞察,列入带回候选清单**。此类内容在历史会话中曾被漏传(判定为聊天),经用户追问才补发。
## Step 3:分类每条洞察
**前置硬门槛(先于一切分类判断)**:问自己——**任何有经验的工程师是否会提前想到这一点?**
- 会(常识性设计知识,如"外键优于业务字段关联")→ 一律归「留本项目」,不得回传
- 触发条件过窄的 corner case(复现依赖本项目特定组合)→ 同样归「留本项目」
- 只有**非显而易见、且跨项目可复用**的教训才有资格进入下方分类
- **例外**:炼境分发物(AGENTS 托管块、lian-jing skill、本命令、lefthook、CONVENTIONS、MCP 工具)本身出错或碍事,即使只在本项目复现,也直接归「带回炼境」,`scope` 填 `this_project`
**📦 带回炼境**(通过硬门槛后,满足任一条):
- 炼境分发的模板 / 约定 / 接入包有 bug 或可改进
- 某工作流或实践有明确代价或验证结果(有具体证据)
- 会影响多个项目的体系级改进(哪怕还是假设)
**🏠 留本项目**(同时满足以下所有):
- 只影响本项目的具体实现
- 无任何跨项目复用价值
- 纯猜测、零证据
## Step 4:发回炼境
对每条「带回」洞察,单独调用一次 `mcp__lian-jing__report_envoy_return`。本会话中途已经回传过的洞察不要换个说法再报,摘要里沿用原编号。
- `client`:填 `claude`
- `kind` / `confidence` / `scope` / `content` / `suggestion`:按 lian-jing skill 规范填写;`content` 用一句话写清现象和证据
- `project_id`:项目地址已绑定,可以省略;连的是全局地址时,显式传 Step 1 读到的 `project_id`
**`confirmed` 的门槛**:必须能陈述至少一条具体代价或验证结果(如"导致 N% 时间损耗"、"在 X 场景实测有效")。
无法陈述具体证据的,一律标 `under_validation`,不得标 `confirmed`。回传内容不得包含凭据、密钥、账号、内网地址或生产数据(内容会同时写进本项目 `.blueprint/notes-archive.jsonl`,随项目进入 Git)。
> **MCP 不可用时的降级**:若 `report_envoy_return` 报连接错误,原地重试 1~2 次(同内容重复调用不会重复写入)。仍失败时,把所有待回传内容按上述字段整理成一段文本输出到对话,并提示:「MCP 断连,请把以上内容转交炼境会话回传,或重连后重跑本命令」。
## Step 5:输出摘要
📦 已发回炼境 N 条
· #{编号} {标题}({置信度} · {影响范围})
🏠 留本项目 M 条
· {标题} — {一句说明}
若本次会话无任何体系级洞察,直接输出:`✅ 本次会话无需回传,无体系级洞察。`