Commit Graph

224 Commits

Author SHA1 Message Date
lanrtop
4a37438a58 fix(credential): 修复并行测试偶发失败——Credential Manager 调用串行化,模拟 Gitea 改阻塞读
All checks were successful
Push & PR Check / check (push) Successful in 1m29s
全量并行 cargo test 10 次失败 3 次(单跑稳定通过),两个独立根因:

- 同进程并发 CredWriteW/CredDeleteW 会丢更新:写入并校验成功的凭据随后读回 NOT_FOUND,
  删除成功的条目又被并发写回。R10 readiness 报 needs_repair、开发变量试点报「凭证引用缺失」
  均源于此(诊断日志证实无跨测试删除;8 线程压力实验直接复现)。windows_store 的
  put/get/delete 经进程级锁串行,生产中 MCP 与 UI 并发写凭据同样受益;跨进程不在保护范围
- Windows 上从 nonblocking listener accept 的 socket 继承 nonblocking,set_read_timeout
  不生效,请求晚到即 WouldBlock。mcp_server 两处模拟 Gitea 补 set_nonblocking(false),
  与 commands/gitea.rs 既有写法一致

验证:修复后全量并行 cargo test 连续 30 次 0 失败(247 passed、5 ignored)。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:52:05 +09:00
lanrtop
ae6de1d324 docs(blueprint/blueprint-buff): 立卡 B1 files 重叠推断降为兜底,进行中
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:32:02 +09:00
lanrtop
f8d658b790 docs(blueprint/agent-client-parity): P9 人终验通过,标记完成
All checks were successful
Push & PR Check / check (push) Successful in 1m4s
Push & PR Check / check (pull_request) Successful in 1m6s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 16:32:21 +09:00
lanrtop
fe0458fe97 fix(mcp/parity): P9 审查修复——受限子代理不挂载、条目 id 带版本、插件缺失守卫、规范路径键
All checks were successful
Push & PR Check / check (push) Successful in 1m6s
Push & PR Check / check (pull_request) Successful in 1m4s
对抗审查(11 个 agent,6 条成立,均 low):
- 受限子代理(toolFilter)会绕过限制:挂在子代理自己作用域的工具不受过滤。改为经 tools.view 判断,
  受限或无法判断即不挂;根会话与未受限子代理照常挂载
- 版本号只编进文件名时,运行中的 DSH 不会重载新插件(同 id 只改 name 不重载):条目 id 改为
  lianjing-session-mcp-v1,与文件名同一版本;新增内容哈希测试,改插件漏升版本即失败;块外手写按前缀拒绝
- 插件文件缺失时 DSH 0.1.x 启动失败:条目加 `disabled: !!js` 文件存在性守卫
- GUI 会话工作目录是 realpath:白名单同时写入登记路径的规范形态(junction、8.3 短名)
- 补测试:分层停止哨兵、取认证失败与超时(.cmd 夹具)、受限/未受限/无法判断的子代理
- 蓝图如实更正首轮端到端只有插件一行;补测完整托管块

验证:cargo test 247 passed;vitest 16 passed(插件 8 条)、typecheck 通过;完整托管块端到端在
DSH 0.2.0-rc.2 与 0.1.5-rc.2 上项目会话带认证连上项目地址、其他会话无请求;插件文件缺失时两版都正常启动。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 15:04:54 +09:00
lanrtop
f21345bf1a feat(mcp/parity): DSH 桌面 GUI 按工作区连项目地址(会话级插件,P9)
DSH 桌面版只有一个 Host 进程、启动目录固定,托管块的 !!js 只在启动时求值,拿不到会话信息;
web/acp 同样一个进程服务多个工作区。改由炼境分发一个会话级插件:会话创建(agent/created)时
按会话工作目录匹配炼境登记的项目白名单,命中才在该会话作用域挂连项目专用地址的 mcp-client,
同名工具覆盖全局 lian-jing,其他会话不受影响。

- 插件随二进制打包(resources/dsh/lianjing-session-mcp.v1.mjs),刷新 DSH 托管块时写到
  %USERPROFILE%\.lian-jing\dsh\;文件名带版本号(Node 按 URL 缓存 ESM)
- 托管块在全局行之后追加插件条目(port、shim、roots 以 JSON 写入);插件文件写失败时只保留全局行
- 插件防御:headless 交给全局行;特性探测不符即降级为全局;取认证 ≤3 秒、整次挂载 ≤5 秒;
  所有回调吞掉异常(Host 对未处理异常会崩溃,agent/created 串行失败会让会话创建失败)
- 块外手写的 lianjing-session-mcp 条目同样拒绝覆盖

验证:cargo test 246 passed;vitest 插件用例 6 条通过、typecheck 通过;端到端在 DSH 0.2.0-rc.2
与 0.1.5-rc.2 上,项目会话经真实稳定入口带认证连上项目地址,其他会话无请求。

Feature-Confirmed: true
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 13:33:45 +09:00
lanrtop
019d81c60e fix(onboarding): 审查修复——JSON 按语义比较,CI workflow 与生成文件同内容不重写
All checks were successful
Push & PR Check / check (pull_request) Successful in 1m3s
对抗审查(9 个 agent,2 条成立):
- settings.json / context.json 改为按 JSON 语义比较:Claude Code 改写后键序与末尾换行不同,
  按文本比较仍会让每次注入整文件重排
- plan_cicd_workflow 忽略行尾判 noop:原按字节比较,autocrlf 检出的同内容 workflow 会被判 update,
  并请用户确认一次无变化的写入;apply 与 generate_workflow 只在内容变化时落盘
- 同类遗漏统一改用 write_if_content_changed:agent_infra 生成文件(未变时报 skipped)、notes-archive 回填
- lib.rs 抽出 same_text_ignoring_eol,与 write_if_content_changed 共用同一比较规则

验证:cargo test 245 passed / 5 ignored(新增 JSON 语义与 CI CRLF 回归断言)。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 11:51:33 +09:00
lanrtop
d098905f28 fix(onboarding): 接入写入幂等——内容不变不重写,Codex 托管块不再累积空行
enterprise 未提交改动归属梳理发现两处炼境侧缺陷:
- Codex 托管块自带结尾换行,又原样保留 END 之后的换行,每次注入多一个空行(enterprise 已累积 16 行)
- sync_blueprint_rules 与注入在内容不变时也用 LF 重写文件:子项目开 core.autocrlf,CRLF 检出的
  同内容文件被 git status 误报为改动,修改时间也被刷新,干扰改动归属判断

修复:
- lib.rs 新增 write_if_content_changed(忽略行尾比较,内容不变不写)
- sync_blueprint_rules 的 CONVENTIONS 与 AGENTS/CLAUDE 托管块、context.json、.claude/settings.json、
  Codex 托管块统一改用它;托管块未变时返回 unchanged
- Codex 托管块写入吸收 END 之后的空行,块外后续内容以一个空行分隔
- 蓝图记 P3b(本修复)、P10(接入包升级前检测块外未提交改动,待做),P9 补可行性实测记录

验证:cargo test 246 passed;实测 enterprise 注入后 .codex/config.toml 末尾空行 16→0,
再次注入四个托管文件修改时间均不变。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 11:35:18 +09:00
lanrtop
c4241f075d fix(mcp/parity): 更正 Codex Desktop 取认证失败的根因,撤销基于错误前提的 exe 副本逻辑
All checks were successful
Push & PR Check / check (push) Successful in 1m37s
Push & PR Check / check (pull_request) Successful in 1m2s
2b0a55a 判断「Codex Desktop(MSIX)看不见其安装后在 AppData 下新建的顶层目录」是错的:当时的对照
目录本身也是在 Claude 桌面版的包环境里建的。真正原因:worktree 版炼境由 Claude 桌面版(MSIX)里的
agent 启动,继承了其包环境,写到 %LOCALAPPDATA%\lian-jing 的入口被重定向进
%LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Local\,只有 Claude 的进程树看得到。
对照:经 WMI 启动的非包进程在 AppData 下新建的顶层目录,Codex 包内可见;%USERPROFILE% 根不做重定向。

- 入口迁至 %USERPROFILE%\.lian-jing\bin 仍是正解(与炼境在什么环境里启动无关),保留
- 撤销「exe 在 AppData 下就复制副本」逻辑及其测试:exe 总在真实路径上,前提不成立(按「退出」原则)
- 更正代码注释、verify_onboarding 的 Legacy 提示、契约文档与蓝图 P3 返工记录

验证:cargo test 243 passed / 5 ignored(删去 2 个只测副本逻辑的测试)。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 11:31:59 +09:00
lanrtop
cca3bf9db1 fix(mcp/parity): 审查修复——shim 单行退出、副本刷盘后改名、DSH 仅 headless 按目录路由
All checks were successful
Push & PR Check / check (push) Successful in 1m28s
Push & PR Check / check (pull_request) Successful in 1m5s
对抗审查(14 个 agent,3 条核实成立)与 DSH 桌面版只读调研的修复:

- shim 改为调用与退出同一行(`& call exit /b %%ERRORLEVEL%%`):cmd 在命令返回后按字节偏移重读
  批处理,入口恰在 helper 运行期间被改写时,分行写法会执行到错位片段(实测 exit 9009)
- helper exe 副本 sync_all 后再改名:避免断电留下残缺副本却因同名被一直复用
- 旧副本改为入口写好之后再清理;旧位置入口写失败时暂不清理,避免入口悬空
- DSH 托管块只在 headless profile 按启动目录路由:web/acp/tui 一个进程可服务多个工作区,
  按启动目录会让别的工作区会话连到该项目并带上认证(跨项目越权);profile 取 profileContext.name,
  DSH 0.1.x 无该服务时退回看启动参数
- AGENTS.md 入口路径补全反斜杠;蓝图立 P9(DSH 桌面 GUI 会话级插件,待人确认)

验证:cargo test 245 passed;shim 认证成功 exit 0 / 92 字节、错误 digest exit 1;DSH url 表达式按
Loader 方式求值 7 种情形均符合预期;四路零凭据探针(Codex 包内、Codex 包外、Claude、DSH 无头)复跑通过。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 20:06:14 +09:00
lanrtop
2b0a55adcd fix(mcp/parity): helper 入口迁至 %USERPROFILE%,修复 Codex Desktop(MSIX)取认证失败
人终验发现 Codex Desktop 会话里 lian-jing 完全未加载,Codex 日志为 headers helper exit 1。
根因:Codex Desktop 是 MSIX 打包应用,看不见它安装之后在 %LOCALAPPDATA% / %APPDATA% 下新建的
顶层目录(Invoke-CommandInDesktopPackage 在包上下文对照实测:lian-jing 与新建对照目录均不可见,
与 ACL 无关;已有目录内的新文件、%USERPROFILE% 下的新目录可见)。原验收用包外的 codex exec,未覆盖。

- shim 迁至 %USERPROFILE%\.lian-jing\bin\;Codex 配置、Claude local 条目、DSH 托管块统一引用新入口
- 炼境 exe 位于 AppData 下(安装版默认位置)时,按大小+修改时间指纹复制到入口目录,清理旧副本;
  复制失败退回直接调用当前 exe 并记 warn
- 旧 %LOCALAPPDATA% 入口迁移期同步写入;verify_onboarding 把旧写法报 Legacy 引导 inject_mcp 升级
  (测试断言随之由 Ready 改为 Legacy,理由同上)
- 新增 helper 副本与 AppData 判定测试

复验:Codex 包内(等价 Desktop)、Codex 包外、Claude、DSH 无头四路零凭据探针均返回「开发需求未登记」
(修复前 Codex 包内为「工具不可用」);cargo test 245 passed / 5 ignored。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 18:58:50 +09:00
lanrtop
1888f71626 docs(blueprint/agent-client-parity): P1 收尾审查记录与已知限制更新为 claude mcp get 为准的方案
All checks were successful
Push & PR Check / check (push) Successful in 1m32s
Push & PR Check / check (pull_request) Successful in 1m5s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 16:57:26 +09:00
lanrtop
92e6450403 docs(blueprint/agent-client-parity): 更新 P1 审查记录与已知限制为最终方案
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 15:41:08 +09:00
lanrtop
1f90dcdeb0 docs(blueprint/agent-client-parity): P1/P3 完成,记录三端验收与审查证据
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 14:44:00 +09:00
lanrtop
7b702a9d88 docs(blueprint): 新建 architecture-evolution 模块,记录技术栈评估与 A1–A4
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 13:49:59 +09:00
lanrtop
0bf5bd6994 docs(blueprint/agent-client-parity): 立卡 P8 一键接入
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:58:09 +09:00
lanrtop
9a1635a225 docs(blueprint/agent-client-parity): P1 进行中
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 10:43:58 +09:00
lanrtop
5d15520e73 docs(blueprint/agent-client-parity): 定位为 agent 客户端兼容层,立卡 P6/P7
All checks were successful
Push & PR Check / check (push) Successful in 1m3s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 09:53:48 +09:00
lanrtop
f4e75dc91f feat(onboarding): lian-jing skill 双投影到 Claude,接入包升至 1.6.0
All checks were successful
Push & PR Check / check (push) Successful in 1m4s
- 同一模板同时写 .agents/skills(Codex、DSH)与 .claude/skills(Claude Code)
- verify_onboarding 新增「Claude 炼境技能已分发」检查
- skill 降级步骤改为三端通用,提示无开发变量工具即连的是全局地址
- capability-packs supported_clients 增加 dsh

Feature-Confirmed: true
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 09:11:32 +09:00
lanrtop
8babc545c3 docs(blueprint/agent-client-parity): H2/H4 零凭据实测成立,三端可共用 shim
All checks were successful
Push & PR Check / check (push) Successful in 1m33s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 08:58:27 +09:00
lanrtop
bbdc98b93f docs(blueprint/agent-client-parity): 记录 H1–H4 实测与对抗复核结果
All checks were successful
Push & PR Check / check (push) Successful in 1m14s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 22:03:02 +09:00
lanrtop
d1e75d2270 docs(blueprint): 新建 agent-client-parity 模块,记录三端无头基线
All checks were successful
Push & PR Check / check (push) Successful in 1m26s
- 三端(Claude Code / Codex / DSH 桌面版)同一只读任务的 A–F 矩阵作为基线证据
- 立 P1–P5:统一项目专用地址、Claude skill 投影、稳定 helper 入口、
  探针固化、落地兜底;原 V17/V18 迁入 P1/P3
- manifest 项目描述同步为「管家」定位

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 19:12:03 +09:00
lanrtop
487ea86806 docs(blueprint/dev-variables): V17+V18 合并设计——稳定 helper 入口与各客户端认证
All checks were successful
Push & PR Check / check (push) Successful in 1m4s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 16:34:30 +09:00
lanrtop
9aa70eefd9 docs(blueprint/dev-variables): 记录 Enterprise 真实分发与取值证据,立卡 V14–V18
All checks were successful
Push & PR Check / check (push) Successful in 1m4s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 15:22:45 +09:00
lanrtop
57062d6053 docs(blueprint/dev-variables): 记录两轮 UI 终验结论
All checks were successful
Push & PR Check / check (push) Successful in 1m28s
Push & PR Check / check (pull_request) Successful in 1m4s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 14:31:33 +09:00
lanrtop
663a723b3b feat(dev-variables): 修改时显式查看原值,并提示 agent 先查炼境测试账户
All checks were successful
Push & PR Check / check (push) Successful in 1m5s
Push & PR Check / check (pull_request) Successful in 1m9s
- V12:新增人用 Tauri command reveal_project_dev_variable(不进 MCP),
  点「修改」预填原账号与密码,密码默认遮罩可切换显示
- V13:lian-jing skill 新增第 8 步——需要测试账号先 list/read,
  没有则登记并请用户在 UI 填写;禁止对话索要明文;base-onboarding 升至 1.5.0
- 契约同步 project-context.yaml;materialize 提案顺延为 V14–V16

Feature-Confirmed: true
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 14:22:54 +09:00
lanrtop
9211883a9b test(dev-variables/mcp): 以隔离宿主完成 V7 真实 Codex 跨会话试点
All checks were successful
Push & PR Check / check (push) Successful in 1m7s
Push & PR Check / check (pull_request) Successful in 1m5s
新增 ignored 宿主 isolated_dev_variables_client_pilot:内存 DB + 随机合成账户 +
临时 scoped MCP,认证走真实 helper。真实 Codex CLI 三会话完成登记→代填→跨会话
读取→撤销后读取失败,宿主断言目录无 .env/token/密码且凭据清理。

Rules-Applied: R03,R05,R10,R13
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 12:42:44 +09:00
lanrtop
4a6fbf9863 chore(merge): 合入 master 的管家定位与设计简报
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 12:04:40 +09:00
lanrtop
8f3be6b948 docs(blueprint): 回收 9-23 草稿有效部分并落定管家方向设计简报
All checks were successful
Push & PR Check / check (push) Successful in 1m57s
- api-keys:按现状改为 Credential Manager 存储(R2/R3/R6 已完成)
- manifest:补 project-resource-broker 两条依赖边
- notes-archive:补 R1 复盘
- blueprint-governance:指向 handoff-pilot 待议证据包
- docs/tasks:handoff-pilot(含蓝图规则并入能力包目标)+ dev-variables 落地增量提案

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 11:48:32 +09:00
lanrtop
8e13bb4cf5 docs(dev-variables/contract): 记录测试账户边界与验收证据
同步 scoped MCP、Tauri DTO 契约及 V8–V11 验收状态;V7 客户端限制与人工终验继续保留。
2026-09-28 01:46:19 +09:00
lanrtop
0b0bc18ce4 docs(resource/dev-variables): record Codex approval blocker
Three isolated real-client attempts were denied before dispatch by approval policy=never. Keep V7 blocked pending an explicitly approved pilot.

Rules-Applied: R03,R10,R13
2026-09-26 16:57:58 +09:00
lanrtop
fe71536f33 docs(resource/dev-variables): record scoped plaintext exception and validation
Document V1-V6 evidence and keep V7 in progress until a real Codex tool-call and human UI pilot complete.

Rules-Applied: R03,R05,R10,R13
2026-09-26 16:48:57 +09:00
lanrtop
c2b4c30f50 docs(resource/broker): 记录 R11 客户端试点验收
All checks were successful
Push & PR Check / check (push) Successful in 3m13s
Push & PR Check / check (pull_request) Successful in 3m4s
真实 Codex CLI 经临时 scoped MCP 完成非秘密 readiness、跨项目拒绝与模拟 PR;明确审批门槛及未验证边界。

Rules-Applied: R02,R03
2026-09-26 09:44:29 +09:00
lanrtop
7ae547e1f6 test(resource/broker): 添加隔离客户端试点宿主
All checks were successful
Push & PR Check / check (push) Successful in 4m12s
提供仅测试可用的 scoped MCP 临时宿主和合成凭证/Gitea fixture;保留 R11 进行中状态,等待真实客户端会话终验。

Rules-Applied: R02
2026-09-26 09:30:59 +09:00
lanrtop
5f23cf85b1 test(resource/broker): 补齐 scoped MCP 合成 PR 端到端回归
All checks were successful
Push & PR Check / check (pull_request) Successful in 1m7s
Rules-Applied: R03,R13
2026-09-24 08:22:38 +09:00
lanrtop
e1e98e2b7b docs(resource/broker): 记录 PR 审查修复验收
All checks were successful
Push & PR Check / check (push) Successful in 59s
Push & PR Check / check (pull_request) Successful in 59s
2026-09-23 21:17:32 +09:00
lanrtop
c7333038c5 docs(resource/broker): 记录设计边界与逐卡验收证据
All checks were successful
Push & PR Check / check (push) Successful in 1m20s
Push & PR Check / check (pull_request) Successful in 58s
同步蓝图、契约映射和本机凭证迁移前备份约束;UI 与真实环境终验保持待办。

Rules-Applied: R01,R05,R07
2026-09-23 18:46:12 +09:00
lanrtop
f04cc8d43d docs(blueprint/project-capability): 记录 P3 验收结果
All checks were successful
Push & PR Check / check (push) Successful in 59s
记录隔离镜像切换与 production 双证据,并启动收益观测。

Rules-Applied: R13
2026-09-23 13:07:16 +09:00
lanrtop
dbc1b068ab fix(delivery): avoid false deployed timestamp
All checks were successful
Push & PR Check / check (push) Successful in 59s
Push & PR Check / check (pull_request) Successful in 1m0s
Rules-Applied: R07,R13
2026-09-23 12:09:38 +09:00
lanrtop
8bc33aaab9 fix(delivery): distinguish skipped production deploy
All checks were successful
Push & PR Check / check (push) Successful in 1m18s
Push & PR Check / check (pull_request) Successful in 58s
2026-09-23 11:08:10 +09:00
lanrtop
02b9f1ec36 feat(delivery): observe production revision with dual evidence
Read project-owned production profile, verify Gitea deploy context and public version probe, and surface explicit degraded states.

Feature-Confirmed: true
2026-09-23 10:37:07 +09:00
lanrtop
7fc3011411 docs(blueprint/agent): 完成访问可靠性正式版验收
All checks were successful
Push & PR Check / check (push) Successful in 1m1s
Rules-Applied: R03,R08,R13
2026-09-23 09:45:39 +09:00
lanrtop
43a4e4382a docs(blueprint/agent): 记录设置页视觉终验
All checks were successful
Push & PR Check / check (push) Successful in 57s
Rules-Applied: R08,R13
2026-09-23 04:53:04 +09:00
lanrtop
42bb0a068a docs(blueprint/agent): 收口双项目原生 MCP 验收
Rules-Applied: R03,R08,R10,R13
2026-09-23 04:19:08 +09:00
lanrtop
7c62a1c148 test(agent/access): 固化自启动幂等边界
All checks were successful
Push & PR Check / check (push) Successful in 57s
Push & PR Check / check (pull_request) Successful in 56s
Rules-Applied: R01,R06,R07,R08,R10,R12,R13
2026-09-23 03:38:12 +09:00
lanrtop
17eb25c62e docs(blueprint/agent): 记录正式安装包验证证据
补充 NSIS/MSI 本地构建结果与安装后 human verify 边界。

Rules-Applied: R13
2026-09-23 03:28:28 +09:00
lanrtop
327f3d78ab feat(agent/access): 强化项目级运行态接入
MCP 改为 loopback 并绑定项目 scope,补齐越界拒绝、风险元数据和结构化状态。

新增分层 readiness、配置迁移与设置页投影;正式安装版可选择登录自启动,debug 与非安装路径明确拒绝。

Feature-Confirmed: true

Rules-Applied: R01,R06,R07,R08,R10,R12,R13
2026-09-23 03:21:38 +09:00
lanrtop
cd9d5ffc57 chore(blueprint/toolchain): 收口工具链能力包状态
同步 PR #16 已合并事实,将 T9 与模块进度标记为完成。
2026-09-23 03:19:06 +09:00
lanrtop
806205b8b0 feat(cicd): add safe agent workflow projection
All checks were successful
Push & PR Check / check (push) Successful in 1m0s
Push & PR Check / check (pull_request) Successful in 58s
Add preview-and-apply workflow commands with digest confirmation, project boundary checks, and MCP/Tauri projections. Sync onboarding capability packs and Codex skill guidance.

Feature-Confirmed: true

Rules-Applied: R01,R02,R06,R07,R12,R13
2026-09-22 23:27:34 +09:00
lanrtop
9bf2d579ea feat(cicd): align templates with project toolchain
All checks were successful
Push & PR Check / check (push) Successful in 57s
Push & PR Check / check (pull_request) Successful in 56s
Reuse the canonical Node/pnpm contract when generating workflows, preserve per-tool legacy fallbacks, and reject conflicting declarations with evidence.

Feature-Confirmed: true

Rules-Applied: R02,R12
2026-09-22 22:38:06 +09:00
lanrtop
bdee5ea67f chore(blueprint): 收口炼境工具链契约
All checks were successful
Push & PR Check / check (push) Successful in 58s
Rules-Applied: R11,R13
2026-09-22 22:18:59 +09:00
lanrtop
23e9c297ca fix(ci): 使用项目工具链版本声明
All checks were successful
Push & PR Check / check (push) Successful in 1m7s
Push & PR Check / check (pull_request) Successful in 53s
Rules-Applied: R13
2026-09-22 22:09:28 +09:00
lanrtop
ff3f3d40d6 feat(toolchain): 补齐炼境自身工具链契约
Some checks failed
Push & PR Check / check (push) Failing after 31s
Push & PR Check / check (pull_request) Failing after 25s
Feature-Confirmed: true
Rules-Applied: R02,R13
2026-09-22 22:01:35 +09:00
lanrtop
c9e92f7af4 chore(blueprint): 收口 Agent PR 合并门禁
All checks were successful
Push & PR Check / check (push) Successful in 1m20s
记录 PR #14 的真实 SHA 绑定合并与交付状态回读证据,并写入 M 级任务复盘。

Rules-Applied: R03,R13
2026-09-22 21:23:01 +09:00
lanrtop
b6d7490254 chore(onboarding): 完成炼境自身 Codex 接入
All checks were successful
Push & PR Check / check (push) Successful in 1m18s
Push & PR Check / check (pull_request) Successful in 58s
建立 canonical project context、Codex MCP 配置、项目级炼境 skill 与能力包版本记录,并补齐蓝图任务和复盘证据。

Rules-Applied: R03,R10,R13
2026-09-22 21:10:42 +09:00
lanrtop
0141b8b09a feat(delivery/gitea): 归一化 Gitea 部署状态信号
All checks were successful
Push & PR Check / check (push) Successful in 1m4s
Push & PR Check / check (pull_request) Successful in 59s
保留目标 SHA、context、时间与跳转证据,按精确 context 提取部署结果,并修正 Gitea 1.22 skipped job 被编码为 success 的误判。同步落账 production 只读双证据方案与 P3-A 完成状态。

Rules-Applied: R07,R10,R13

Feature-Confirmed: true
2026-09-22 19:54:43 +09:00
lanrtop
a1c0ef5ad7 docs(blueprint): 收官工具链消费者试点
All checks were successful
Push & PR Check / check (push) Successful in 1m3s
2026-09-22 16:19:56 +09:00
lanrtop
9ab9dc4f71 docs(blueprint): reconcile capability task status
All checks were successful
Push & PR Check / check (push) Successful in 1m21s
Mark the canonical context task complete from verified P2 evidence and retain the latest flywheel snapshot.

Rules-Applied: R09,R13
2026-09-22 10:46:03 +09:00
lanrtop
32b32438d1 docs(blueprint): record toolchain consumer pilot
All checks were successful
Push & PR Check / check (pull_request) Successful in 57s
Record the verified Windows mise path and keep Enterprise CI plus new-session validation open.

Rules-Applied: R13
2026-09-22 01:59:57 +09:00
lanrtop
ccbd2b0e23 style(env): 扩大环境工具模态框
All checks were successful
Push & PR Check / check (push) Successful in 1m2s
Push & PR Check / check (pull_request) Successful in 59s
根据 human_verify 调整响应式宽高与内容间距,并将工具链 UI 任务标记完成。

Rules-Applied: R08,R13
2026-09-22 01:41:30 +09:00
lanrtop
8376bcbfd2 fix(toolchain): 修复 Windows wrapper 版本探测
优先选择 .exe/.cmd/.bat 路径并直接执行版本命令,补充含空格路径测试;运行态 MCP 已确认 Enterprise 的 Node 与 pnpm 版本可正确识别。

Rules-Applied: R07,R08,R10,R13
2026-09-22 01:23:34 +09:00
lanrtop
ead35ad12a feat(toolchain): 增加项目级运行时能力包
以 .nvmrc 与 packageManager 作为 Node/pnpm 版本事实,新增 Windows-only 的状态诊断、受控 mise 准备、MCP/Tauri/UI 双投影及 onboarding 自检。

Feature-Confirmed: true

Rules-Applied: R01,R04,R06,R07,R08,R10,R12
2026-09-22 01:08:31 +09:00
lanrtop
057c2b3a10 fix(onboarding): recognize custom lefthook checks
All checks were successful
Push & PR Check / check (pull_request) Successful in 1m1s
2026-09-21 22:42:03 +09:00
lanrtop
f5b66aba4a feat(onboarding): version capability packs
Feature-Confirmed: true
2026-09-21 19:23:54 +09:00
lanrtop
250adfba24 feat(codex-plugin): add lian-jing skill
Feature-Confirmed: true
2026-09-21 18:37:53 +09:00
lanrtop
122864f340 feat(onboarding): add capability pack status
Feature-Confirmed: true
2026-09-21 18:33:12 +09:00
lanrtop
167fcf9880 feat(agent-context): add canonical project context
Feature-Confirmed: true
2026-09-21 18:16:32 +09:00
lanrtop
383b5b35d7 feat(delivery): add project delivery status
All checks were successful
Push & PR Check / check (push) Successful in 1m0s
Push & PR Check / check (pull_request) Successful in 58s
Feature-Confirmed: true
2026-09-21 15:16:40 +09:00
lanrtop
99d41d5939 chore(blueprint): plan Codex model switch 2026-09-21 12:53:25 +09:00
lanrtop
8c592943f6 chore(blueprint): dsh-takeover 纪律1补三行归因留痕——格式主场 enterprise,T3 随薄指针带入
All checks were successful
Push & PR Check / check (push) Successful in 57s
辩证收敛:不建案例库/不加 note 类别/不立独立规则文件(消化端未修不扩生产端),
commit message 为唯一自带消费路径的落点

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-11 23:19:04 +09:00
lanrtop
1e1acad60e chore(blueprint): notes 档案真机终验留痕——156/156 归档,同路径覆盖 bug 修复实证
All checks were successful
Push & PR Check / check (push) Successful in 57s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-11 22:33:23 +09:00
lanrtop
87494ba055 chore(blueprint): 三卡收官——ship 体检实补3处/envoy 零改动收官/分诊先核现状教训入账
All checks were successful
Push & PR Check / check (push) Successful in 55s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-11 22:27:30 +09:00
lanrtop
e345cc6a90 chore(blueprint): notes 档案卡收官——归宿翻转声明 + 验收留痕
All checks were successful
Push & PR Check / check (push) Successful in 1m10s
Push & PR Check / check (pull_request) Successful in 55s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-11 22:23:02 +09:00
lanrtop
797b3e5030 chore(blueprint): DSH 三件套辩证收敛落账——envoy 挂触发/CI 门主体归位/纸上模板否决,消化端优先
All checks were successful
Push & PR Check / check (push) Successful in 55s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-11 22:14:29 +09:00
lanrtop
b7f937d606 chore(blueprint): DSH 子项目友好性盘点——三断点入卡(CI 门舰队洞/技能双轨/回传断流)
All checks were successful
Push & PR Check / check (push) Successful in 57s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-11 22:06:10 +09:00
lanrtop
91d9ca1346 chore(blueprint): 使者回传第二轮分诊 36 条落账——已消化6/过时1/待行动3卡/归档19,回执缺口实锤升级
All checks were successful
Push & PR Check / check (push) Successful in 54s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-11 22:03:12 +09:00
lanrtop
d2818b2832 chore(blueprint): T1/T2 跟进建议辩证收敛落账——4 项仅存 1.5,AGENTS 补双层校验事实
All checks were successful
Push & PR Check / check (push) Successful in 54s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-11 21:37:03 +09:00
lanrtop
ed2b95b90d chore(blueprint): dsh-takeover T1/T2 收官——记忆回流 AGENTS/cicd-workflow + CI 校验验收留痕
All checks were successful
Push & PR Check / check (push) Successful in 55s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-11 21:28:39 +09:00
lanrtop
246d562b15 chore(blueprint): 立项 dsh-takeover-readiness(DSH 接管准备,协作模式=DSH 干活+Claude 调教)
All checks were successful
Push & PR Check / check (push) Successful in 2m31s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-11 21:10:46 +09:00
lanrtop
2a6d902e5d chore(blueprint): 存档 enterprise 框架重构否决结论 + DevPath 双卡 💭 + 模式库闸门敲响 2026-08-23 16:54:31 +09:00
lanrtop
0d4c2adc54 feat(onboarding): 同源同边界补收束语与需求对称两时间尺度(v1.7.0 内补遗)
「人在意的点 agent 读得懂」补机制脚注使其自洽,不做空头承诺:
- 当下会话:同源路径即时对称(结构直接保证,无需额外机制)
- 跨会话:否决理由落账→复盘笔记→梦核蒸馏,反复在意的维度迁移进可断言规则
- 人裁决区是飞轮推进的前线,不是墙上的洞
- 1.7.0 尚未分发,内容补遗不再升号

Feature-Confirmed: true
2026-08-23 16:41:14 +09:00
lanrtop
08db3c2323 chore(blueprint): 同步 onboarding-pack V2 卡收官 2026-08-23 16:31:42 +09:00
lanrtop
1bb4ce978e chore(blueprint): 沉淀开发侧世界模型透镜 + staleness 卡收官 + notes 档案卡就绪 2026-08-23 15:46:41 +09:00
lanrtop
1bc0629827 chore(blueprint): 知识库模板任务卡收卡——agent_verify 已过,human_verify 待实测
All checks were successful
Push & PR Check / check (push) Successful in 54s
2026-07-18 10:26:07 +09:00
lanrtop
55ee5a483c feat(templates): 新增内置模板「知识库(择升环)」
三层晋升结构的知识沉淀文档库初始化:dialogues 对话原料 → concepts 概念卡
→ CORE.md 稳定核心(上限 300 行强制过滤),cases/ 为检验层。
晋升/降级规则与写作纪律内置于模板 AGENTS.md,agent 进库即按择升环工作流运转;
init_commands 为 git init,建库即版本化。

Feature-Confirmed: true
2026-07-18 10:25:01 +09:00
lanrtop
cbc1d46c4e fix(mcp-inject): inject 链路空路径单点防护——补齐 07-15 空路径事故第二入口
All checks were successful
Push & PR Check / check (push) Successful in 52s
辩证收缩实战产出:清理污染文件时追问「删文件是不是正确动作层」,
发现 473cf7e 只拦了 apply 链路,inject 链路 project_root() 对空串
win_path 穿透(ok_or_else 拦 NULL 不拦空串),settings.json/
liangjing.json 正是经此写进 src-tauri/。

- validate_registered_path 单点校验:拒空串/空白/相对路径(顺带堵
  相对路径解析到 cwd 的边角),WSL 分支拒空 wsl_path
- 2 条回归测试驻军(纯函数无 DB,cargo test 105 全绿)
- 台账同步:污染文件已移出、两条空路径僵尸登记已注销

Rules-Applied: R06,R07
2026-07-18 10:24:03 +09:00
lanrtop
d15d3895d7 docs(conventions): v1.12.0——动工前辩证收缩进约定 + 使者回传处置台账
All checks were successful
Push & PR Check / check (push) Successful in 1m24s
- CONVENTIONS 飞轮工作流阶段 2 末新增「动工前辩证收缩」(M/L 卡必做),
  附 07-15 实证:3 张初稿卡直做会错 2/3,辩证后 U3/B4 零返工
- governance-feedback-loop 落 23 条使者回传处置台账:本轮 3 项落地
  (/ship 铁律与规模闸修正、MCP 重试说明、envoy 硬门槛)、
  11 条核实此前已落地、5 项 log_for_review 待观察、2 个遗留尾巴
2026-07-18 09:43:57 +09:00
lanrtop
ade767894f docs(blueprint): 补 U1 复盘笔记——实调双坑与辩证收缩的返工率对照
All checks were successful
Push & PR Check / check (push) Successful in 52s
2026-07-15 23:05:42 +09:00
lanrtop
f7ab6dbbb8 chore(self-onboarding): 炼境自身接入产物治理——块外恢复被抹定制 + lefthook 检查段补齐
All checks were successful
Push & PR Check / check (push) Successful in 50s
批量分发实调反噬实锤:分支策略表/Agent 按钮清单/降级约定/启动协议
第 4 条曾写在 MANAGED 托管块内,v1.6.0/1.11.0 块升级原位覆盖时被抹。
全部恢复至块外「炼境自身约定」区,教训入决策记录(本地定制严禁写
进托管块)。顺带:块外与块内重复的通用约束去重(单一事实来源)、
lefthook 补齐 blueprint-gate/conventional/feature-confirmed 检查段
(verify_onboarding 复验 7/7)、收编 envoy/blueprint-gate 接入产物。

Rules-Applied: R13
2026-07-15 22:19:16 +09:00
lanrtop
7cfbfb1b86 chore(blueprint): onboarding-pack 模块收官——U1/U3/B4 实调终验通过
All checks were successful
Push & PR Check / check (push) Successful in 51s
批量分发 25 项目 0 失败(envoy/gate 全托管升级生效)、ingest 清洗
链路贯通、verify 七项链准确检出 lefthook 缺失键。模块 status→done。
2026-07-15 19:53:49 +09:00
lanrtop
1672b071e4 feat(onboarding/upgrade-channel): 全托管文件升级通道 + 批量重分发(U1)
All checks were successful
Push & PR Check / check (push) Successful in 51s
Push & PR Check / check (pull_request) Successful in 51s
三档升级语义落地:envoy.md/blueprint-gate.cjs 切全托管
(内容不一致即覆盖,CRLF 归一化防抖动),文件头加托管声明;
verify_onboarding 第 7 项「lefthook 检查段齐全」从内嵌模板自省
键集合,零硬编码;MCP apply_onboarding_pack 缺省 project_id
时批量分发全部已登记项目,替代 batch_apply.py 手摇脚本。

Rules-Applied: R06,R07

Feature-Confirmed: true
2026-07-15 14:20:22 +09:00
lanrtop
2fe576b75a feat(mcp/diagnostics): get_diagnostics 新增使者回传覆盖率「沉默项目」信号(B4)
All checks were successful
Push & PR Check / check (push) Successful in 49s
近 30 天有 commit 采集但零使者回传的已登记项目浮出水面,
提示去该项目跑 /envoy——回流触发不自动化(辩证决策 2026-07-15),
用可观测性让遗忘可见,人留在过滤环里。

Rules-Applied: R06,R07
2026-07-15 14:10:28 +09:00
lanrtop
aaf3343133 feat(flywheel/rules-validation): Rules-Applied 规则 ID ingest 层真实性校验(U3)
All checks were successful
Push & PR Check / check (push) Successful in 1m17s
校验单点放统计消费端(R12 边界单点):extract_rule_ids 从项目
CONVENTIONS.md 提取合法 ID 集合,filter_valid_rules 在入库前剔除
幻觉/typo ID(无 CONVENTIONS.md 时 fail-open 不校验)。接入全部
4 条写入链路(buff 增量/webhook/gitea 轮询/全量导入);
sanitize_rules_applied 提供回溯清洗,重跑全量导入即可清历史污染。

Rules-Applied: R01,R06,R07
2026-07-15 14:05:13 +09:00
lanrtop
86995f7472 docs(conventions): 自验报告纪律三条——负面披露/改断言报备/两把尺子
All checks were successful
Push & PR Check / check (push) Successful in 51s
用户确立 agent 协作协议执行版(多角度辩证后选最小成本版落地):
1. 交人终验前反馈必含「没验什么」一节(负面披露收窄已知盲区)
2. 自修中改断言/验收标准需显式声明(封 Goodhart 最短路径,diff 可审计)
3. agent 自验对 acceptance、人终验对意图(acceptance 可能继承需求
   理解偏差,两把尺子不可合一)

三处同步:AGENTS.md(单一来源)+ 接入包模板(分发子项目)+
agents-meta-rules(设计草案)。完整辩证(五张力/四调节器/三缝隙)
存档于 governance-feedback-loop 模块设计档案节。
实证案例:mcp-single-server 自验全绿但 git-bash 层全挂,端到端终验抓住。
2026-07-06 22:46:04 +09:00
lanrtop
4226372423 docs(blueprint): 登记 governance-feedback-loop concept 模块——治理反馈闭环
All checks were successful
Push & PR Check / check (push) Successful in 50s
老板-员工手册隐喻:用户反馈子项目问题 → 结构化落账 → 梦核蒸馏进
规则/模板 → 批量分发 → 飞轮观测生效。治理管线已存在大半
(governance 规则同步 / feedback 梦核 / onboarding 模板版本化),
三处断环:治理反馈入口、反馈进梦核高权重输入、接入包批量重分发。
L 级,待 /architect。
2026-07-06 21:35:41 +09:00
lanrtop
a05fb49347 docs(blueprint): mcp-single-server 模块收官——T4 端到端终验通过
All checks were successful
Push & PR Check / check (push) Successful in 49s
验证:~/.claude.json 仅剩 lian-jing(12 条旧注册清零)、3 项目抽查
新格式通过、新路由握手 + get_diagnostics 实调通过、旧路由 404。
T4 暴露 git-bash 硬编码存量 bug 已修(0d1427f)。
遗留:同路径重复登记(legacy id 与 uuid id 并存)待登记卫生清理。
2026-07-06 20:18:32 +09:00
lanrtop
df7d52a084 feat(mcp): T6 删除旧 /mcp/group 路由与兼容层——提前并入本次发版
All checks were successful
Push & PR Check / check (push) Successful in 1m6s
Push & PR Check / check (pull_request) Successful in 49s
原计划后置一个版本,经评估提前:迁移在新版启动时自动重写全部
客户端配置(settings.json/liangjing.json/全局注册),旧路由的实际
消费者只剩升级前的存量会话,而服务重启后它们本就断开重连。
单人环境下双路由过渡的保留价值趋近于零,一次收口减少一轮发版。

- tools_call 签名去 Option 组上下文,process_rpc 单参数化
- list_group_projects 的 group_id 改为 required 参数
- grep 'mcp/group' src-tauri/src/ 零命中,cargo test 93 全绿
2026-07-06 19:34:51 +09:00
lanrtop
a41161f7d1 feat(mcp): 单一全局 lian-jing 服务器——组级挂载收敛(T1-T3+T5)
All checks were successful
Push & PR Check / check (push) Successful in 1m4s
T1 服务器层:新增全局 /mcp + /mcp/messages 路由,process_rpc 组上下文
Option 化;旧 /mcp/group/:gid 路由保留过渡,T6 移除。驻军测试 2 条。
T2 工具层:resolve_project_root 按 project_id 直查 project_workspaces,
删除 3 处组归属校验(实测无隔离价值);list_group_projects 改显式传参。
T3 注入层:settings.json 收敛为单 "lian-jing" key(URL /mcp),注入时
清理旧 lian-jing:group-* key;liangjing.json 主动删除 group_id;
启动时一次性迁移(重注入全量 + 清理旧全局注册两种命名格式,标记位防重)。
T5 同步:git-workflow 文档/模板、retro-catchup 技能 Python 兜底、
设置页 URL 展示、mcp-config-inject 模块取代注记。

收益:MCP 客户端配置成本 O(N组)→O(1),授权一次永久生效;
group_id 缺失/过期/移组同步一整类问题从根上消失。
2026-07-06 19:30:01 +09:00
lanrtop
daed723438 docs(blueprint): mcp-single-server 设计定稿 + 拆卡 T1-T6
All checks were successful
Push & PR Check / check (push) Successful in 47s
方案 B 双路由过渡:全局 /mcp 新路由与旧 /mcp/group/:gid 并存一个版本。
关键决策:工具层 resolve_project_root 去组化(组归属校验实测无隔离价值)、
迁移内建于重注入(reinject_all_mcp 即批量迁移器)、旧全局注册两种命名
格式(完整 UUID/短 8 位)都清理。webhook 路由已核实不受影响。
2026-07-06 19:15:59 +09:00
lanrtop
138a06aa17 docs(blueprint): 登记 mcp-single-server concept 模块——组级挂载收敛为单一全局服务器
All checks were successful
Push & PR Check / check (push) Successful in 48s
动机:MCP 客户端配置成本随产品组数线性增长(12 组 × 28 工具),
与飞轮'项目越多越强'方向相反;实测组级挂载无隔离价值(任意组
服务器可操作任意项目)。单一服务器后 liangjing.json 只需
project_id,group_id 同步问题从根上消失。L 级,待 /architect。
2026-07-06 19:04:04 +09:00
lanrtop
a914c8c219 docs(blueprint): unregister_project 登记卫生工具对补卡(事后登记)
All checks were successful
Push & PR Check / check (push) Successful in 49s
Push & PR Check / check (pull_request) Successful in 50s
Rules-Applied: R13
2026-07-04 15:04:29 +09:00