Compare commits
No commits in common. "ab23784f9b55458fbc0a1f4da877b6f5e9e399e1" and "4c113e24bdc8ba5214194e6ba8247dcd3b1b357a" have entirely different histories.
ab23784f9b
...
4c113e24bd
@ -484,9 +484,9 @@ modules:
|
||||
name: Agent 访问可靠性
|
||||
area: infra
|
||||
status: in_progress
|
||||
progress: 96
|
||||
progress: 89
|
||||
updated: 2026-09-23
|
||||
note: "A1-A9 的 Agent 路径已闭环:关闭开发态窗口后托盘 MCP 仍可用,炼境与 Enterprise 新 Codex 任务均原生发现 scoped 工具。仅余设置页视觉与正式安装版 autostart human_verify。"
|
||||
note: "A1-A8 已闭环;A9 已通过双项目 scoped HTTP、越界拒绝及完全退出 unavailable 验证,等待关闭窗口托盘、新任务、UI 与正式安装版 autostart human_verify。"
|
||||
position: [2750, 950]
|
||||
|
||||
edges:
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
id: agent-access-reliability
|
||||
name: Agent 访问可靠性
|
||||
status: in_progress
|
||||
progress: 96
|
||||
progress: 89
|
||||
---
|
||||
|
||||
## 设计决策:Agent Access Reliability v1
|
||||
@ -145,13 +145,13 @@ Codex / Claude 项目
|
||||
- acceptance: "[cargo test] 旧 unscoped Codex 配置重跑 onboarding → 报 legacy/upgrade_hint 且不覆盖手工同名 server;新配置指向当前 project_id 的 scoped URL;[Skill] MCP 缺失时按 configured→reachable→reload 顺序降级,不猜测状态或要求复制凭证。"
|
||||
- done_note: "verify_onboarding 已区分 scoped ready、旧 /mcp legacy 与错误项目;炼境托管块可幂等迁移到 scoped URL,手工同名 server 仍拒绝覆盖。接入包与私有插件 Skill 均采用 configured→reachable→reload;相关回归及 Rust 全量 176/176 通过。"
|
||||
|
||||
### ✅ A9. 炼境与 Enterprise 消费者端到端验收
|
||||
- status: done
|
||||
### 🔵 A9. 炼境与 Enterprise 消费者端到端验收
|
||||
- status: in_progress
|
||||
- complexity: M
|
||||
- depends: A7. Agent 连接状态与自启动 UI 投影, A8. 项目作用域配置迁移与 Skill 降级指引
|
||||
- files: .blueprint/modules/agent-access-reliability.md, .blueprint/manifest.yaml, docs/ai-context/agent-button-system.md
|
||||
- acceptance: "agent_verify: [HTTP MCP] 炼境与 Enterprise scoped endpoint 分别握手 → 只读取本项目状态,跨项目调用被拒绝;关闭窗口保留托盘后仍可调用,完全退出后 readiness=unavailable;新 Codex 任务重载后核心工具可见。human_verify: 用户在两个项目各打开一次新任务,均无需手工提供 project_id 或凭证即可读取自身状态。"
|
||||
- done_note: "真实开发实例仅监听 127.0.0.1;炼境与 Enterprise scoped endpoint 均完成 initialize、tools/list、get_delivery_status,跨项目读取和 scoped 全局写工具返回 scope_violation;完全退出后 27190 unavailable。用户关闭窗口但保留托盘后,进程与 health 仍存活、26 个 scoped tools 可见且 get_delivery_status 可调用。新建的炼境任务 01a0ca89-8162-7010-8447-7468fce0a8a3 与 Enterprise 任务 01a0ca8a-1ef0-7d41-8eb7-afbf23185805 均产生原生 lian-jing/get_delivery_status MCP tool marker,分别绑定 dev-manager-tauri 与 d248554e-582d-4131-9e16-43ece91cd203,未使用 shell/手写 HTTP/本地文件兜底。"
|
||||
- progress_note: "真实开发实例已只监听 127.0.0.1;炼境与 Enterprise scoped endpoint 均完成 initialize、tools/list、get_delivery_status,返回各自 project_id;跨项目读取和 scoped 全局写工具均返回 scope_violation。两项目 managed config 已经各自 scoped inject_mcp 迁移;完全退出后确认 27190 无 LISTENING。待新任务、关闭窗口保留托盘、UI 与正式安装版 autostart human_verify。"
|
||||
|
||||
## 执行顺序
|
||||
|
||||
|
||||
@ -21,4 +21,3 @@
|
||||
{"content":"【复盘】notes 档案分片双写 + backfill 自愈(governance-feedback-loop 缺口①地基)\n任务类型: MCP工具\n复杂度: M\n实际轮数: 1轮(预估1-2轮)\n是否返工: 否\n有效策略: 动工前辩证翻转归宿设计(集中式→按项目分片),翻转依据全部来自侦察事实(安装态进程定位不了炼境仓库/usage.json 先例本就 per-project/可拆除性按项目成立);实现前把 project_root 重构出 DI 版而非复制 WSL 转换逻辑,单一实现;三个测试对着 acceptance 逐条写(双写匹配/回填幂等+死登记跳过/并发不交错),110 全绿一次过;PR #5 CI 双侧绿后 MCP 合并\n遗留风险: MCP 实调(append 双写 + backfill 存量落盘)待重建安装后终验——本条笔记即终验样本(重建后跑 backfill_notes_archive,应出现在 dev-manager-tauri/.blueprint/notes-archive.jsonl 尾部);WSL 项目分片路径未真机验;子项目档案文件的 git 收编节奏未约定(沿 usage.json 惯例)\n附带产出: /ship 体检实补3处(push 提前信号/新文件占比口径/机械阈值归 lint);/envoy 体检零改动收官——两项均早已消化,沉淀教训「分诊定态前先核实目标文件现状」","created_at":"2026-09-11 22:27:48","id":164,"project_id":"dev-manager-tauri","source":"mcp"}
|
||||
{"content":"【复盘】P3-S1 炼境自身 Codex 接入闭环\n任务类型: MCP工具\n复杂度: M\n实际轮数: 2轮(预估2轮)\n是否返工: 否\n有效策略: 先由 inject_mcp 建立工具无关 canonical context,再由 apply_onboarding_pack 分发版本化能力包;最终通过 verify_onboarding 11/11 与 get_delivery_status 实机调用验证,未读取或复制 Gitea token。\n遗留风险: 当前 Codex 任务不能热加载新 MCP 配置,需在新任务验证原生工具发现;个人 marketplace 指向的 lian-jing-codex 源目录缺失,仓库插件源码已更新但本机插件缓存尚未刷新。\nauto_applied_rules: R10,R13\nrule_effectiveness: R10=有效,R13=有效","created_at":"2026-09-22 21:08:45","id":175,"project_id":"dev-manager-tauri","source":"mcp"}
|
||||
{"content":"【复盘】P3-S2 Agent PR 合并安全门禁\n任务类型: MCP工具\n复杂度: M\n实际轮数: 2轮(预估2轮)\n是否返工: 是\n返工原因: 初版只在发起 merge 前读取并比较 head SHA,代码审查发现检查与执行之间仍有 TOCTOU 窗口;补充 Gitea head_commit_id 由服务端在合并时再次绑定确认 SHA。\n有效策略: 将 confirmed、完整 expected_head_sha、PR open/mergeable、CI、review 全部收敛在 Rust 能力本体;MCP 仅传参。先用错误 SHA 验证拒绝,再在用户确认 PR #14 与 b6d749025458928b86ab607a5a7f31479f8db85f 后真实合并并回读状态。\n遗留风险: review=pending 在当前轻量治理策略中允许合并;若未来需要强制审批,应新增项目级 required-review policy,不应在客户端复制判断。\nauto_applied_rules: R06,R07,R10,R12,R13\nrule_effectiveness: R06=有效,R07=有效,R10=有效,R12=有效,R13=有效","created_at":"2026-09-22 21:20:28","id":176,"project_id":"dev-manager-tauri","source":"mcp"}
|
||||
{"content":"【复盘】A9 炼境与 Enterprise 消费者端到端验收\n任务类型: MCP工具\n复杂度: M\n实际轮数: 3轮(预估2轮)\n是否返工: 是\n返工原因: 初次只验证 scoped HTTP,尚不能证明 Codex 新任务已原生加载工具;随后增加新任务 tool marker 与托盘关闭后存活证据。\n有效策略: 以 127.0.0.1 scoped endpoint 先验证作用域、跨项目拒绝与 unavailable 边界,再用两个全新 Codex 任务禁止 shell/HTTP/file fallback,确认 lian-jing/get_delivery_status 原生 tool marker;关闭窗口后继续验证进程、health、26 个工具与交付状态。\n遗留风险: Settings 页视觉 human_verify 与正式安装版 autostart human_verify 尚未完成;开发态继续优先 pnpm tauri dev,正式包仅在安装/自启动/升级/发布里程碑验收。","created_at":"2026-09-23 04:20:52","id":177,"project_id":"dev-manager-tauri","source":"mcp"}
|
||||
|
||||
@ -133,7 +133,6 @@ acceptance 是 agent 自验的唯一判断依据,必须是可执行断言:
|
||||
- readiness 分为 `configured → reachable → handshake → tools_ready → reload_required`。配置存在不等于当前任务已加载;停在哪层,就只修哪一层。
|
||||
- `.lian-jing/context.json` 是项目身份唯一来源;Skill 和插件不复制项目身份、Gitea 凭证或 MCP 实现。
|
||||
- Windows 登录自启动只服务正式安装版,默认关闭且由用户主动启用;debug 和 `target/release` 直接运行明确拒绝注册。single-instance 继续保证同一时间只有一个炼境实例。
|
||||
- 日常开发优先运行 `pnpm tauri dev`,Agent 直接消费同一 loopback MCP;正式安装包只在安装、自启动、升级或发布里程碑做一次验收,不作为每次提交的前置条件。
|
||||
- 开发炼境前先从托盘完全退出正式安装版;不得把正式版与 `pnpm tauri dev` 并行运行。single-instance 是运行时兜底,不替代这一开发约定。
|
||||
- updater 是独立的发布能力,不属于自启动或 readiness 的完成条件。
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user