Enterprise 2026-10-03 实测:为避开主工作区里其他会话的在制品,在独立 worktree
分支上开 PR 交付时,get_delivery_status 只读主工作区当前分支,返回「当前分支没有
开放 PR」、CI 停在主工作区 HEAD,传 pr_number 也被忽略,只能用 git ls-remote 与
get_ci_status(commit_sha) 兜底。
- MCP schema 新增可选 pr_number(优先)与 branch;都不给时保持原行为
- pr_number:GET /pulls/{n} 取 head 分支与 head SHA,CI 与 review 均绑定该 PR;
PR 不存在(404)返回 not_found,与 Gitea 不可达(unavailable)区分;
同时传 branch 且与 PR head 分支不一致时以 pr_number 为准并在 detail 提示
- branch:匹配该分支的开放 PR 并以其 head SHA 查 CI;无开放 PR 时取 Gitea 上
该分支 head SHA;远端分支不存在时 CI 为 unknown
- 顶层新增 target(mode/pr_number/branch/head_sha/source/detail),
pull_request.data 增 head_sha;git 字段仍反映主工作区,既有字段兼容
- 取值校验在能力本体 DeliveryQuery 单点实现,MCP 只解析 JSON 类型;显式给出的
非法值直接报错,不静默回退主工作区
- Gitea 读取拆为本地/PR/分支三种目标,凭证存储注入以便合成 Gitea 测试;
merge_pull_request 门禁代码未改
- lian-jing skill 第 6 条改为 get_delivery_status(project_id, pr_number),
base-onboarding 1.8.0→1.9.0(BASE_ONBOARDING_PACK_VERSION、模板
capability-packs.json、TEMPLATE_FINGERPRINTS);Codex 插件 skill 同步
- 契约说明同步 docs/ai-context/project-context.yaml;蓝图 P3-F 标 ✅
Feature-Confirmed: true
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
31 lines
1.1 KiB
JSON
31 lines
1.1 KiB
JSON
{
|
||
"schema_version": 1,
|
||
"packs": [
|
||
{
|
||
"pack_id": "base-onboarding",
|
||
"version": "1.9.0",
|
||
"supported_clients": ["codex", "claude", "dsh"],
|
||
"project_artifacts": [
|
||
"AGENTS.md",
|
||
".agents/skills/lian-jing/SKILL.md",
|
||
".claude/skills/lian-jing/SKILL.md",
|
||
".lian-jing/context.json"
|
||
],
|
||
"self_check": "verify_onboarding",
|
||
"upgrade_hint": "调用 apply_onboarding_pack(project_id) 更新版本化基线;项目身份上下文由 inject_mcp(project_id) 创建或迁移。该升级仅覆盖炼境托管的接入包文件,不覆盖项目定制或手工 MCP 配置。"
|
||
},
|
||
{
|
||
"pack_id": "toolchain-node-pnpm",
|
||
"version": "1.0.0",
|
||
"supported_clients": ["codex", "claude", "human-shell"],
|
||
"project_artifacts": [
|
||
".nvmrc",
|
||
"package.json#packageManager",
|
||
"mise.toml"
|
||
],
|
||
"self_check": "get_toolchain_status",
|
||
"upgrade_hint": "重跑 apply_onboarding_pack(project_id) 可为已声明 .nvmrc 与 pnpm packageManager 的项目补充分离版本事实的最小 mise resolver;已有 mise.toml 永不覆盖。"
|
||
}
|
||
]
|
||
}
|