4.8 KiB
4.8 KiB
| id | name | status | progress |
|---|---|---|---|
| agent-client-capability-packs | Agent 客户端能力包 | done | 100 |
概述
炼境为项目提供稳定的本地控制面与信号;客户端能力包只负责将同一项目规则、MCP 与工作流投影给 Codex、Claude 等 Agent。项目根目录与 canonical context 是锚点,不能把任一客户端的项目 UI、插件安装状态或全局配置当作项目身份。
已确认边界
项目根目录
├── .lian-jing/context.json ← canonical project_id 与兼容版本
├── .codex/config.toml ← 项目级 Codex MCP 投影(P0 已有)
├── .claude/liangjing.json ← 历史兼容投影
└── .agents/skills/lian-jing/ ← 项目内工作流说明
Codex 用户级插件
└── Skill-only:指导读取项目状态并调用已存在的 MCP;不存 project_id、MCP URL、凭证或部署命令
不在本模块实现 IDE UI、客户端项目同步、staging、云部署或生产发布。手工定义的同名 MCP server 必须继续拒绝覆盖。
任务卡
✅ P2-A. 工具无关的 canonical 项目上下文与兼容迁移
- status: done
- complexity: M
- files: src-tauri/src/mcp_inject.rs, src-tauri/src/commands/onboarding.rs, src-tauri/src/mcp_tools.rs, docs/ai-context/project-context.yaml
- acceptance: "[cargo test] 对仅含
.claude/liangjing.json的临时项目执行接入/验证 → 写入.lian-jing/context.json且 project_id 一致;已有 context 的未知字段保留;手工[mcp_servers.lian-jing]配置仍拒绝覆盖。" - done_note: "2026-09-21:inject_mcp 先写
.lian-jing/context.json(schema_version=1、project_id),再写 Codex/Claude 投影;canonical 文件保留未知字段,旧 Claude context 继续保留运行时端口。"
✅ P2-B. 能力包描述符与 onboarding 自检报告
- status: done
- complexity: M
- depends: P2-A. 工具无关的 canonical 项目上下文与兼容迁移
- files: src-tauri/src/commands/onboarding.rs, src-tauri/src/mcp_tools.rs, src-tauri/resources/onboarding/, docs/ai-context/project-context.yaml
- acceptance: "[cargo test] verify_onboarding(project_id) → 对 canonical 缺失、legacy-only、pack 版本不符、Codex MCP 不可用分别返回可区分的 ready/missing/legacy/version_mismatch/unavailable 信号,且不将任一状态伪报为 ready。"
- done_note: "2026-09-21:新增
.lian-jing/capability-packs.json基线描述符;verify_onboarding 对项目上下文、能力包、Codex skill/MCP 和既有基线逐项返回结构化状态与可执行升级提示。"
✅ P2-C. Codex Skill-only 可移植能力包
- status: done
- complexity: M
- depends: P2-B. 能力包描述符与 onboarding 自检报告
- files: plugins/lian-jing-codex/plugin.json, plugins/lian-jing-codex/.codex-plugin/plugin.json, plugins/lian-jing-codex/skills/lian-jing/SKILL.md, plugins/README.md
- acceptance: "[插件结构检查] manifest 与 skill 路径均在插件根目录内,skill 不含 project_id、127.0.0.1 MCP URL、凭证或部署命令;[新 Codex 会话] 已接入项目可按 skill 调用既有 MCP,未接入项目输出接入诊断而非虚构状态。"
- done_note: "2026-09-21:个人本地 marketplace 安装后,新 Codex 会话确认 Skill 已加载;未接入项目如实报告 canonical context 与 MCP 缺失,未猜测 project_id、凭证或交付状态。"
✅ P2-D. 接入包版本、升级说明与架构防腐同步
- status: done
- complexity: M
- depends: P2-B. 能力包描述符与 onboarding 自检报告, P2-C. Codex Skill-only 可移植能力包
- files: AGENTS.md, docs/ai-context/project-brief.md, docs/ai-context/project-context.yaml, docs/templates/agents-meta-rules.md, resources/onboarding/
- acceptance: "[cargo test] 接入包升级检查 → 旧 context/旧能力包给出明确 upgrade_hint 且不自动覆盖用户配置;[rg] 常驻架构文档将炼境描述为项目控制面、客户端描述为 adapter,且不把客户端插件表述为凭证或部署所有者。"
- done_note: "2026-09-21:base-onboarding 升至 v1.1.0;旧能力包会显式返回 version_mismatch 与升级提示。托管模板、Git 工作流与常驻架构文档统一为 canonical context / 控制面 / 客户端 adapter 边界。"
✅ P2-E. 自定义 lefthook 等价能力自检
- status: done
- complexity: S
- files: src-tauri/src/commands/onboarding.rs
- acceptance: "[cargo test] verify_onboarding 的 lefthook 自检 → web/API 分层 typecheck 与 commit-msg scripts 中的 Conventional 校验被识别为 ready;缺少等价能力时仍返回 missing,不因注释或无关键误报。"
- done_note: "2026-09-21:自检保留模板为基线,但支持命名为 typecheck-* 的分层 pre-commit 命令,以及 commit-msg scripts 中含 conventional 的校验;其余基线能力仍要求明确存在,避免自定义配置被误报或宽松放行。"