Files

27 lines
1.6 KiB
Markdown

---
name: resolve
description: 根据目标模块、项目技术事实和当前会话已发现的技术提供方解析 Profile 能力,返回匹配结果、资料入口和缺口。适用于多语言项目的能力选择与诊断;项目初始化、业务设计或直接实现不应触发。
---
# Profile 解析
根据项目证据选择技术能力,不扫描用户插件缓存,也不写入项目画像。
## 工作流
1. 读取目标路径、所需能力和 `.craftkit/project.json`;项目画像缺失时只使用构建文件、锁文件和源码中的可验证事实。
2. 按模块根最长匹配规则确定目标模块;同长度命中多个模块时返回 `ambiguous`。
3. 从当前会话可用 Skill 判断提供方是否已被发现,不推断未暴露插件的安装状态。
4. 已发现提供方时,由对应 Profile Skill 读取自身清单并返回候选;本 Skill 不拼接其他插件物理路径。
5. 按[解析规则](references/resolution.md)选择候选,并按[回退规则](references/fallback.md)处理缺失、未知和冲突。
6. 返回标准能力上下文,区分事实、选择、逻辑资料标识、项目覆盖入口和缺口。
详细字段和能力枚举见[契约](references/contract.md),提供方发现边界见[发现协议](references/discovery.md)。
## 边界
- Profile 提供的命令只是选择建议,不构成执行授权。
- 项目规范的合并和覆盖由 `guidance` 负责。
- 稳定项目事实只有在用户要求初始化或更新画像时才由 `knowledge:init` 写入。
- 逻辑资料标识只用于诊断;消费者不能将其转换成用户目录绝对路径。