在子项目会话结束时扫描体系级洞察、回传给炼境。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 条 · {标题} — {一句说明} 若本次会话无任何体系级洞察,直接输出:`✅ 本次会话无需回传,无体系级洞察。`