lanrtop
|
ce3ef6e14e
|
feat(onboarding): 接入包模板 AGENTS.md v1.4.0——acceptance 分层/Playwright 版本锁定/API typecheck 提示/envoy 命令纳入分发
|
2026-07-09 16:09:55 +09:00 |
|
lanrtop
|
92da0fda0d
|
fix(mcp): list_envoy_returns SQL 修复——pw.name 改为 JOIN project_profiles pp 取 pp.name
|
2026-07-09 16:09:38 +09:00 |
|
lanrtop
|
1c44bfe30a
|
test(onboarding): 版本号从模板动态取,消除硬编码
Push & PR Check / check (push) Successful in 1m0s
模板升版(1.2.0→1.3.0)暴露测试硬编码版本号——每次升版测试必断。
改为 extract_managed_block + block_version 动态取,升版不再碰测试。
|
2026-07-06 22:59:24 +09:00 |
|
lanrtop
|
46640783f9
|
chore(onboarding): 模板版本升级 AGENTS 1.3.0 / git-workflow 1.4.0
Push & PR Check / check (push) Successful in 51s
内容已在前两次提交中更新(自验报告纪律第 6 条 / 单一 lian-jing 寻址),
但 ONBOARDING_MANAGED 块版本号未动导致批量分发全部 skipped——
版本判断是分发引擎的唯一升级信号,改模板必须同步升版本。
|
2026-07-06 22:58:02 +09:00 |
|
lanrtop
|
86995f7472
|
docs(conventions): 自验报告纪律三条——负面披露/改断言报备/两把尺子
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
|
31f93adbb2
|
chore(build): 新增 build:local 脚本——本地构建关闭 updater 签名产物
Push & PR Check / check (push) Successful in 50s
本地构建用于装机自验,不需要签名产物;此前会因
TAURI_SIGNING_PRIVATE_KEY 缺失 exit 1(bundle 已产出但脚本层报错)。
签名私钥保持只存于 Gitea secrets(CI 单一发版通道,已验证
OSS latest.json v0.1.19 签名完整),本地不配 key——最小暴露面。
|
2026-07-06 21:21:57 +09:00 |
|
lanrtop
|
0d1427f4e9
|
fix(mcp-inject): git-bash 路径多位置探测——修复 Scoop 安装 Git 时 claude CLI 调用全挂
Push & PR Check / check (push) Successful in 1m32s
迁移实测发现:CLAUDE_CODE_GIT_BASH_PATH 回退路径硬编码
C:\Program Files\Git\bin\bash.exe,Scoop 安装的 Git 不在该位置,
导致 claude mcp add/remove 全部非零退出(存量 bug,组级时代同样存在)。
- find_git_bash():env(校验存在)→ Program Files / Scoop → where git.exe 推导
- try_register_globally 返回 bool;同名 already exists(exit 1)视为成功,
不再每次 inject 刷 warn 日志
- migrate_to_single_server 标记位改以注册成功为条件——CLI 链路不通时
不落标记,下次启动重试(幂等)
|
2026-07-06 20:10:53 +09:00 |
|
lanrtop
|
df7d52a084
|
feat(mcp): T6 删除旧 /mcp/group 路由与兼容层——提前并入本次发版
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)
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
|
bce9a0a37c
|
fix(mcp-inject): liangjing.json 改为合并写入,重注入可回填缺失的 group_id
Push & PR Check / check (push) Successful in 1m18s
旧版注入的项目 liangjing.json 缺 group_id,外部 agent 每个会话都要
先调 list_all_projects 反查归属组(多一次探路调用 + 权限弹框)。
group_id 写入已在 2116e54 补上,本次将整文件覆盖改为读取-合并-写回:
只更新 project_id / group_id / mcp_port 三个字段,保留文件已有其他字段。
存量修复路径:对旧项目重新执行 inject_mcp 即可回填。
文档同步说明:移入新产品组时自动刷新;group_id 缺失/过期时重新注入。
|
2026-07-06 18:43:44 +09:00 |
|
lanrtop
|
84ed61ac97
|
chore(release): bump version to 0.1.19
Push & PR Check / check (push) Successful in 1m14s
Release / release (push) Successful in 5m20s
docs(git-workflow): 分支策略升级为复杂度感知模型 v1.3.0(单文件小改直推主分支,功能性改动开 feat/* + PR)
|
2026-07-04 21:05:13 +09:00 |
|
lanrtop
|
38d5cec53e
|
feat(mcp): 新增 setup_gitea_repo agent 按钮——一键建仓库配 remote
调用默认 Gitea 实例为项目创建远程仓库,同时配置本地 git remote origin。
幂等设计:仓库已存在(409)直接绑定,remote 已有则 set-url 更新。
背景:此前 agent 无法自助完成"项目在 Gitea 建仓库"流程,需要手动
拼凑 curl + git 命令,本工具将整个流程收归炼境 MCP 调用层。
|
2026-07-04 18:27:01 +09:00 |
|
lanrtop
|
892e5977ed
|
fix(onboarding): lefthook.yml.tmpl 用 COMMIT_EDITMSG 替换 {1}
lefthook v2 在 Windows 上解析 YAML 时会将 {1} 与模板变量混淆,
改为直接读取 .git/COMMIT_EDITMSG,与 react-phone-apps 修复保持一致。
|
2026-07-04 16:50:55 +09:00 |
|
lanrtop
|
f03e4178fc
|
feat(mcp): unregister_project agent 按钮——登记卫生工具对补全
Push & PR Check / check (push) Successful in 54s
Push & PR Check / check (pull_request) Successful in 56s
scan_unregistered_projects 发现漏网,unregister_project 清理死账。
薄包装调 delete_project 本体(UI 删除按钮同源),delete_local
硬编码 false——MCP 侧永不暴露删本地文件能力(安全边界)。
工具描述内置约束:删除不可逆,调用前须向用户列清单确认。
Rules-Applied: R12,R13
|
2026-07-04 14:49:05 +09:00 |
|
lanrtop
|
a77cb4ec96
|
feat(flywheel): ingest_git_history agent 按钮——全量导入双投影
Push & PR Check / check (push) Successful in 53s
Push & PR Check / check (pull_request) Successful in 58s
消费者验证暴露的死角:「全量导入」只有 UI 投影,agent 够不到,
存量 trailer 回填只能靠人点按钮。按双投影原则补 MCP 投影:
- 不传 project_id 遍历所有 win_path 项目跑 ingest_full_git_history,
传则单项目;返回逐项目 imported/skipped 汇总,单项目失败不中断
- 能力本体(ingest_full_git_history)不动,UI 与 MCP 调同一函数
- tools_list_result 断言驻军,92 测试全绿
Rules-Applied: R12,R13
|
2026-07-04 14:36:28 +09:00 |
|
lanrtop
|
a5cb30734d
|
feat(flywheel): 返工热区 UI + get_high_risk_scopes 命令,阶段三收官
Push & PR Check / check (push) Successful in 50s
Push & PR Check / check (pull_request) Successful in 50s
- risk.rs 新增 Tauri command get_high_risk_scopes(薄包装)+ lib.rs 注册
- commands.ts 封装 HighRiskScope 类型与调用(R01)
- FlywheelPanel 新增「返工热区」块:跨项目返工率降序,
分级配色与 classify_risk 阈值一致(≥35% 红 / ≥15% 琥珀)
- 蓝图:P3-A~E 五卡全部 done,附 L 级复盘笔记,模块 progress 98
Rules-Applied: R01,R13
|
2026-07-04 14:22:52 +09:00 |
|
lanrtop
|
66dc6209a8
|
feat(flywheel): 梦核 prompt 注入跨项目高风险 scope 数据段
- risk.rs 新增 high_risk_scopes:样本 ≥5 且有非 CI 返工的 scope
按返工率降序 top 10,项目名 LEFT JOIN project_profiles(缺失回退 id)
- generate_muhe_prompt 新增「跨项目高风险 scope」表格段,附分析指引
(反复返工 scope = 结构性脆弱点 → 固化环节输出预防性规范)
- rule_hits 段 pool() 改 try_pool():原实现测试环境必 panic,
generate_muhe_prompt 因此不可测;改后两段在无 DB 时走占位文案
- prompt 构建测试断言两个数据段存在 + 聚合排序/最小样本过滤测试,92 全绿
Rules-Applied: R06,R07
|
2026-07-04 14:18:04 +09:00 |
|
lanrtop
|
330ddc24dd
|
feat(flywheel): predict_task_risk 风险画像 MCP 工具——预测层落地
- 新增 commands/risk.rs:scope 级(前缀匹配子 scope)+ 文件级
(commit_files JOIN commit_metrics)历史返工率聚合
- classify_risk 分级:返工率 ≥0.35 high、≥0.15 medium、其余 low;
有效返工率取 scope 与文件(样本 ≥3)的较高者
- 可信度防线:样本 <5 或 conventional 率 <0.5(脏历史)→
confidence=low 并附原因 notes,不让脏数据装可信
- CI 自修 commit(is_ci_auto)不计返工,与 L0 口径一致
- MCP 注册 predict_task_risk:agent 开工前按任务卡 scope/files
查询风险,工具清单测试断言驻军
- 7 个单测(in-memory DB + conn 注入),90 全绿
Rules-Applied: R01,R06,R07,R13
|
2026-07-04 14:12:35 +09:00 |
|
lanrtop
|
0ac809970f
|
feat(flywheel): commit_files 采集——文件级风险画像数据地基
- 新表 commit_files(sha,path 联合主键 + path 索引),migration 入 migrate()
- read_git_log 加 --name-only:单次 git 调用同时取 conventional 指标、
Rules-Applied trailer 与触碰文件,零额外进程开销
- parse_git_log_output 纯函数解析 header/文件行混排输出(含 \x1f 的行
是 header,其后非空行归属该 commit)
- record_commit_entry 落库文件清单(INSERT OR IGNORE 幂等),buff 增量
与 ingest 全量两条链路自动覆盖,无需各自改动
Rules-Applied: R05,R06,R07
|
2026-07-04 14:07:57 +09:00 |
|
lanrtop
|
08e8d6d719
|
fix(flywheel): 修复 Rules-Applied trailer 死链,git log 原生提取 + UPSERT 回填
R1 管道自建成以来是死链:buff 与 ingest 两处 git log 都用 %s 只取
subject,trailer 在 body 里永远读不到(炼境自身 11 条带 trailer 的
commit,DB rules_applied 全空);单测喂全文所以全绿。
- GIT_LOG_FMT 加 %(trailers:key=Rules-Applied,valueonly,separator=%x2C),
git 原生 trailer 解析,保持单行一条记录
- read_git_log 升为增量/全量统一取数入口(GitLogRange),buff 的
get_new_commits 委托之,消灭两处重复 format 定义
- record_commit_entry + upsert_metrics:ON CONFLICT 仅回填
rules_applied IS NULL 的存量行,绝不覆盖已有值,回填幂等
- ingest_full_git_history 改走 record_commit_entry,消灭第三处重复 INSERT
- get_new_commits 的 WSL 分支随 2026-07-04 裁决顺手清理
- 测试:真 git 仓库 e2e trailer 提取回归 + UPSERT 四态语义,82 全绿
Rules-Applied: R06,R07,R13
|
2026-07-04 14:04:20 +09:00 |
|
lanrtop
|
05d7673990
|
feat(onboarding): T2+B3 复杂度感知分支策略 + agent 按钮载体声明体系
T2 git-workflow 模板升 v1.3.0:
- 分支策略从强制 dev→main 改为复杂度感知
(简单改动直推 main/master,功能性改动开 feat/<name> 分支+PR)
- PR 创建 MCP 示例 head 从 "dev" 改为 "feat/<name>"
B3 agent 按钮载体声明闭环:
- CONVENTIONS.md manifest.yaml 规范新增 agent_button_carrier 字段
(tauri/http/cli/playwright,新建蓝图时必填)
- splitter SKILL.md 三级优先载体继承:manifest字段 > architect声明 > 就近推断
- 炼境自身 manifest.yaml 补 agent_button_carrier: tauri
- AGENTS.md.tmpl 项目概况 TODO 提示新增载体字段填写指引
Rules-Applied: R04,R13
|
2026-07-04 13:44:02 +09:00 |
|
lanrtop
|
2116e54e29
|
feat(mcp-inject): 注入时同步注册全局 ~/.claude.json + liangjing.json 补 group_id
- inject_project_mcp 末尾新增 try_register_globally 调用,通过
find_claude_bin 自动定位 claude CLI 并执行 claude mcp add -s user,
让新接入项目的产品组 MCP 立即对 Claude Code 可用
- write_liangjing_context 增加 group_id 参数,子项目读取后可直接
构造 lian-jing-{group_id} ToolSearch 查询,无需额外推断
- try_register_globally 为 best-effort:CLI 未找到或调用失败时
仅写日志,不影响 settings.json 注入结果
|
2026-07-04 13:29:40 +09:00 |
|
lanrtop
|
ccbc26acf3
|
feat(mcp): 新增 scan_unregistered_projects 工具,扫描文件系统找出未登记炼境的本地项目
|
2026-07-04 12:19:12 +09:00 |
|
lanrtop
|
95310890a3
|
docs(agent-button): 删除说谎的 pnpm test 按钮,CONVENTIONS 前端测试规范加 Tauri 项目类型限定
|
2026-07-04 12:12:29 +09:00 |
|
lanrtop
|
3df7550337
|
fix(onboarding): lefthook commit-msg 单行避免 Windows shell {-block 解析失败
|
2026-07-04 12:02:49 +09:00 |
|
lanrtop
|
f68d172687
|
fix(onboarding): Windows PATH 兜底补 lefthook.cmd shim 解析
Push & PR Check / check (push) Successful in 48s
pnpm add -g lefthook 安装的是 .cmd shim,CreateProcess 对裸名
"lefthook" 只解析 .exe,导致 PATH 兜底永远 missing_binary
(批量接入 6 项目实测踩坑)。兜底顺序改为逐候选尝试:
本地 .bin → 全局 lefthook → 全局 lefthook.cmd(仅 Windows)。
Rules-Applied: R10
|
2026-07-04 11:33:11 +09:00 |
|
lanrtop
|
ccf87ae09a
|
feat(onboarding): V1 接入生效验收——lefthook 分发即激活 + verify_onboarding 六项检查链
Push Check / check (push) Successful in 45s
分发成功 ≠ 功能生效:接入包此前只写 lefthook.yml 从不激活,
文件在 hook 死 → conventional 不强制 → 飞轮数据脏。
- apply_onboarding_pack 分发后自动 lefthook install(本地 .bin 优先/
PATH 兜底/静默),OnboardingReport 新增 hook 三态
- 新 MCP 工具 verify_onboarding:管理块版本/hook 真挂/origin 命中
Gitea 实例/CI workflow 存在/近 30 天飞轮数据 六项检查链 JSON
- 判定纯函数化 5 条单测 + in-memory DB 全链集成测试
- commands.ts 补 TemplateResult 缺失的 updated/appended 态(T1 旧债)
- AGENTS.md 去掉写死的工具计数(防腐:以 tools_list_result 自省为准)
Rules-Applied: R01,R06,R07,R13
|
2026-07-04 08:27:39 +09:00 |
|
lanrtop
|
dc501f74e2
|
fix(cicd): PR CI 模板同款 lint 语法雷,防止复制到子项目
Push Check / check (push) Successful in 51s
炼境自身 pr-check.yml 刚踩的 pnpm lint --if-present 必挂 bug,
源头就是 build_pr_ci_workflow 模板——每个经炼境生成 CI 的子项目
都会领到坏 workflow。改为 pnpm run --if-present 语法(本地实测
exit 0),并在 pr_ci_template_is_correct 加回归断言驻军。
Rules-Applied: R07,R10
|
2026-07-04 08:08:01 +09:00 |
|
lanrtop
|
3b9de9a23c
|
refactor(mcp)+fix(ci)+fix(test): 三项优化
Push Check / check (push) Failing after 1m7s
- CI: pr-check 改为 push master 触发 + tsc --noEmit(原 branches: [main] 永不触发)
- mcp_server.rs 拆分:mcp_tools.rs(工具schema+dispatch+实现)+ mcp_webhook.rs(webhook+测试)
mcp_server.rs 从 1385 行瘦身至 145 行(纯协议路由层)
- mcp_tools 新增工具 schema 完整性测试(73 passed,较之前 +2 条)
- onboarding 测试版本号跟进 v1.1.0 → v1.2.0(模板版本升级后断言未同步)
|
2026-07-03 21:38:20 +09:00 |
|
lanrtop
|
731fa11456
|
feat(onboarding+skill): B3 acceptance 可执行化 + template v1.2.0 + skill 升级
- AGENTS.md.tmpl: v1.2.0,新增 rule#5 acceptance 可执行化([载体] 调用→断言)
- 炼境 AGENTS.md: ONBOARDING_MANAGED 同步至 v1.2.0
- /architect: 新增 Step 3.5 声明验证路径载体(Tauri/HTTP/CLI/Playwright 优先级表)
- /splitter: acceptance 格式升级为可执行验证路径,含三类示例
|
2026-07-03 21:12:22 +09:00 |
|
lanrtop
|
def53d739c
|
fix(gitea)+feat(mcp): PR 409 容错 + apply_onboarding_pack/list_all_projects agent 按钮
- gitea_api_create_pull_request: 409 时自动查 open PR 列表,返回已存在的 PR
- MCP 新增 apply_onboarding_pack(接入包分发 UI 按钮的 agent 投影)
- MCP 新增 list_all_projects(绕过 group 限制,列出全库项目及注入状态)
|
2026-07-03 21:12:06 +09:00 |
|
lanrtop
|
dccca234b5
|
fix(mcp): get_ci_status 兼容 Gitea 1.22 的 status 字段(非 state)
|
2026-07-03 19:59:00 +09:00 |
|
lanrtop
|
14fe02ec7d
|
feat(mcp): 补全 agent 按钮体系——5 个新工具关闭三项结构性缺口
P0 PR 生命周期闭环:
- get_ci_status(project_id, commit_sha):查 Gitea CI pass/fail/pending
- merge_pull_request(project_id, pr_number):CI 绿灯后合并 PR
至此 /ship 流程全自主:推送→开 PR→查 CI→合并→poll_now
P1 飞轮数据对子项目透明:
- get_pr_events(project_id, limit?):读 pr_events 表,PR 生命周期历史
- get_commit_metrics(project_id, days?):读 commit_metrics,提交类型/返工分布
P2 分发层 agent 可自修复:
- distribute_cicd(project_id, workflow_type):写入 CI 模板,无需预存配置
|
2026-07-03 19:55:12 +09:00 |
|
lanrtop
|
d4cb236ace
|
fix(mcp): SSE 消息端点立即返回 202,后台异步处理工具调用
poll_now 等耗时工具(发出 HTTP 请求到 Gitea)阻塞了 handle_sse_message,
导致客户端 POST 超时。改为 tokio::spawn 在后台处理 + SSE 推回结果,
HTTP 握手立即完成,符合 MCP SSE 传输规范。
另:新增 docs/ai-context/git-workflow.md(分支策略 + Conventional Commits),
.gitignore 排除炼境实例数据(.claude/liangjing.json / dev_manager.db)。
|
2026-07-03 19:17:25 +09:00 |
|
lanrtop
|
6d10c71d15
|
feat(gitea+mcp): PR 状态轮询 + poll_now agent 按钮(公网 Gitea webhook 不可达降级方案)
|
2026-07-03 18:59:19 +09:00 |
|
lanrtop
|
97b116857f
|
feat(mcp): 新增 setup_webhook + inject_mcp agent 按钮(UI 操作的 MCP 投影)
|
2026-07-03 18:52:30 +09:00 |
|
lanrtop
|
35a8212472
|
fix(cicd): 模板默认 runner 改为 windows,deepseek_review 加 shell: bash
|
2026-07-03 18:11:44 +09:00 |
|
lanrtop
|
69183fb06c
|
fix(cicd): 将 GITEA_TOKEN/URL 重命名为 LJ_TOKEN/URL(GITEA_ 前缀被 Gitea 保留)
|
2026-07-03 17:54:12 +09:00 |
|
lanrtop
|
8432aa4f45
|
feat(cicd+mcp): PR 事件追踪 + create_pull_request MCP 工具 + CI/AI 审查模板 + bypassPermissions 注入
炼境子项目工作流全链路打通:
- mcp_server: 新增 create_pull_request MCP 工具(凭证代理,子项目无需持有 token)
- mcp_server: webhook 路由拆分 push/pull_request,PR 事件写入 pr_events 表
- mcp_inject: 注入 bypassPermissions + 写入 liangjing.json(project_id + mcp_port)
- db: 新增 pr_events 表 + idx_pr_events_project 索引
- gitea.rs: gitea_api_create_pull_request() pub 函数;webhook 订阅补 pull_request 事件
- onboarding/git-workflow: v1.2.0,新增 PR 创建通过炼境 MCP 的说明与禁止条款
- cicd: 新增 pr_ci(PR 质量检查)+ deepseek_review(AI 代码审查)模板 + 4 项测试
- CicdModal: 类型选择器扩展为 4 项,deepseek_review 加 Secrets 提示面板
|
2026-07-03 16:57:36 +09:00 |
|
lanrtop
|
965d095820
|
chore(release): v0.1.18
Release / release (push) Successful in 4m18s
|
2026-07-03 13:24:32 +09:00 |
|
lanrtop
|
6efde66c42
|
feat(onboarding): T1 模板版本化三态分发 + B1 CONVENTIONS 1.10.0(R12/R13) + B2 agent 按钮章节
- dispatch_versioned:不存在写全新 / 有标记同版本跳过 / 版本不同原位升级块 / 无标记末尾追加块,块外用户内容永不触碰
- AGENTS.md.tmpl 重写为三分区:用户 TODO 区 + ONBOARDING_MANAGED v1.1.0 块(含 agent 按钮与验证路径章节)+ 四支柱防腐元规则
- git-workflow.md.tmpl 全文入管理块 v1.1.0
- CONVENTIONS 升 1.10.0:R12 边界单点实现、R13 验收路径须真实走通(含载体就近选择表)
- lefthook.yml 保持存在即跳过(用户深度定制不适用块机制)
Rules-Applied: R05-skip, R12, R13
|
2026-07-03 13:23:41 +09:00 |
|
lanrtop
|
8c8423e0a4
|
feat(mcp): 治理三件套的 agent 投影——能力双投影首次实践
get_blueprint_status / generate_blueprint_prompt / sync_blueprint_rules
注册为 MCP 工具,与 UI 治理按钮共享同一后端函数(统一验证路径空间)。
工具描述声明对应 UI 按钮与使用约束。agent 从此可走正规流程完成
"拿提示词 → 子项目执行 → 验证蓝图"闭环,不再绕道。
Rules-Applied: R01, R10
|
2026-07-03 11:29:28 +09:00 |
|
lanrtop
|
d4cb3c0567
|
fix(blueprint): 提示词嵌入 manifest 硬约束骨架——防子项目 AI 产出非法格式
noteapp 事故:新导入项目执行"更新蓝图描绘"后 manifest 解析失败
(missing field area)——子项目 AI 写出 project:/stable/in-progress/
depends_on 等自造格式。根因:CONVENTIONS 全文 900+ 行随提示词下发,
manifest 规范埋在中间被忽略,且无"现有文件不合法必须重写"指令。
init/sync 双模板注入就近的严格 schema 骨架:合法字段清单、status 枚举、
非法示例点名、强制重写指令。
Rules-Applied: R02, R10
|
2026-07-03 10:37:18 +09:00 |
|
lanrtop
|
4f5cf431f6
|
fix(agent-infra): 腐化诊断修复指引死循环——明示评分基于 git 提交时间
用户按指引"重新生成三件套"两轮无法清除红色诊断:生成只改工作区文件,
而评分比较的是 git 提交时间戳。修复指引现明确要求 commit。
enterprise-system 实测:commit project-context.yaml 后诊断转绿。
Rules-Applied: R11
|
2026-07-03 08:55:15 +09:00 |
|
lanrtop
|
45ce0ad9be
|
chore: 升级版本号至 0.1.17
Release / release (push) Successful in 4m33s
|
2026-07-02 20:06:38 +09:00 |
|
lanrtop
|
f4ff83d94e
|
feat(governance): 规则分发跨工具化——AGENTS.md 成为蓝图工作流单一来源
sync_blueprint_rules 改为双文件写入:
- AGENTS.md:完整蓝图工作流 MANAGED 块(开放标准,Qwen/Cursor/Copilot 均读),
措辞去 Claude 专属化("Claude 应做的"→"AI 应做的",技能引用改为通用流程描述)
- CLAUDE.md:MANAGED 块瘦身为 @AGENTS.md 薄引用(保留 version marker,
版本检测不受影响),内容永不分叉
- 抽 upsert_managed_block 公共 helper(created/updated/appended 三态),
附 tempdir 单元测试;SyncResult 新增 agents_md_action
背景:批量同步后发现所有项目只落 CLAUDE.md,跨工具内容被锁进单一工具
私有文件,违反宪章「跨工具单一来源 = AGENTS.md」。
下次批量同步时全部项目自动迁移到新结构(marker 机制天然幂等)。
Rules-Applied: R01, R07
|
2026-07-02 19:49:22 +09:00 |
|
lanrtop
|
08986130af
|
chore(onboarding): git-workflow 模板补 Rules-Applied trailer 约定——规则数据源扩展到全部接入项目
- 接入包 git-workflow.md.tmpl 新增 trailer 章节:此前只有炼境自身 commit 携带
规则命中记录,外部项目无此约定,规则有效性数据源仅覆盖 1 个项目;
随接入包分发后所有项目的 AI 会话都会回传规则命中
- cicd-workflow 模块注记刷新:Gitea Actions 改造完成(R0 实测)
Rules-Applied: R01
|
2026-07-02 19:06:21 +09:00 |
|
lanrtop
|
75c3cdd8a9
|
chore(updater): 更换自动更新签名密钥对
Release / release (push) Successful in 4m43s
旧钥密码丢失(无任何留痕可寻回),按单人场景换钥方案处理:
新钥密码已双写存储(Gitea Secrets + 炼境密钥库)。
本版本(0.1.16)需手动安装一次以内置新公钥,之后自动更新恢复。
|
2026-07-02 18:39:28 +09:00 |
|
lanrtop
|
8b7038fd1b
|
chore: 升级版本号至 0.1.16
Release / release (push) Failing after 3m53s
|
2026-07-02 17:27:08 +09:00 |
|
lanrtop
|
8a64b29445
|
feat(gitea): G6 远端轮询采集——公网 Gitea + 内网炼境拓扑的观测面方案
- poll_all_repos:后台线程每 10 分钟出站拉取所有绑定仓库最新 commit
(GET /repos/:owner/:repo/commits),record_commit 幂等写入,与本地
watcher / 全量导入三路径共存不重复计数
- gitea_poll_now 命令 + GiteaPanel「立即拉取」按钮与拓扑说明
- 决策记录:webhook 仅作同网补充,否决 frp 全端口映射(MCP 路由无鉴权,
27190 保持零公网暴露);飞轮为统计系统,10 分钟延迟无影响
验证:cargo test 67 passed(新增轮询解析 2 测试)、typecheck 全绿
Rules-Applied: R01, R07
|
2026-07-02 16:36:18 +09:00 |
|