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
|
de961d0e95
|
feat(flywheel): Gitea Actions 模板 + Rules-Applied trailer 自吸——规则有效性闭环接通
Gitea Actions workflow 生成(gitea-integration 收官卡):
- generate_workflow 输出 .gitea/workflows/;tauri_oss 模板去掉 GitHub Release
步骤(发布走 OSS),构建改 pnpm tauri build + 签名环境变量,runs-on 改
自建 windows runner 标签;CicdModal Secrets 文案改 Gitea 路径
- 单元测试断言模板无 github.com / GITHUB_TOKEN / gh-release 残留
R1 Rules-Applied trailer 被动自吸(flywheel-intelligence):
- smart-commit 技能:commit message 末尾附 Rules-Applied: R01,R06 trailer
(仅真实触发的规则,防数据污染)
- commit_metrics 新增 rules_applied 列(增量 migration)+ parse_rules_applied
解析(token 校验/去重/规范化)+ rule_hit_stats 跨项目"命中×返工"聚合
- 梦核 prompt 新增「规则命中×返工交叉」数据段 + 【规则置信度】分析任务
(升/降 confidence、按 R11 细化边界)——R01-R10 置信度首次有真实数据来源
验证:cargo test 65 passed(新增 7 测试,其中一个抓到 trailer 解析的
? 提前返回 bug)、typecheck 全绿
Rules-Applied: R01, R05, R06, R07
|
2026-07-02 15:10:26 +09:00 |
|
lanrtop
|
b13dc83b90
|
fix(flywheel): 补全项目名解析——project_profiles prof- 关联 + 路径末段提取
之前 get_all_commit_health 只有两条名称解析路径,导致:
1. 孤儿 UUID(blueprint_buffs 记录已删但 commit_metrics 数据保留)显示为 UUID 字符串
2. blueprint_buffs 有路径但 projects 表无对应项目时显示完整路径
本次新增第三条路径:LEFT JOIN project_profiles ON id = 'prof-' + UUID,
可解析 makemd-2026、enterprise-system、beast-mode、my-docs、yljt-index 等 10 个孤儿 UUID;
Rust 端对最终名称进行路径末段提取,将剩余路径字符串(react-phone-apps、ReadBorne 等)清理为目录名。
|
2026-06-29 21:30:43 +09:00 |
|
lanrtop
|
d41e0f1707
|
fix(flywheel): 修复 commit_metrics project_id 双路径冲突,表格能显示所有项目
blueprint_buffs 用 UUID 写 commit_metrics,全量导入用名称字符串写,
同一 sha 在 sha PRIMARY KEY 约束下只能存一条,导致全量导入被 INSERT OR IGNORE 全部跳过,
表格无法查到 UUID 格式的历史数据。
修复点:
- ingest_full_git_history 自动查 blueprint_buffs,若该路径已有 UUID project_id 则优先用 UUID
- 新增 get_all_commit_health 命令,SQL 关联 blueprint_buffs / projects 解析名称,不需要前端传 project_ids
- FlywheelPanel 切换到 getAllCommitHealth,表格直接用后端返回的 project_name,无需前端 lookup
|
2026-06-29 21:21:23 +09:00 |
|
lanrtop
|
9c2064e3d0
|
feat(flywheel-L0): F1 全量历史导入 + 跨项目 Git 健康度聚合
- ingest_full_git_history: 最多 500 条历史,INSERT OR IGNORE 幂等,事务批量写入
- get_project_commit_health: 直接聚合 commit_metrics,返回规范化率/返工率/top_scopes
- 前端 commands.ts 补 IngestResult/ProjectCommitHealth/ScopeActivity 封装
- 新增 4 个单元测试(空项目排除、聚合正确性、scope 排序、写入幂等)
|
2026-06-29 20:55:11 +09:00 |
|
lanrtop
|
58d2c79c74
|
feat(onboarding): 接入包数据可信度提示(commit 规范化比例)
get_commit_stats 暴露项目 commit 规范化统计(total/conventional/rework);治理面板常驻展示规范化比例 + 返工数,比例 <60% 提示种 lefthook。接入包 A/B/C1/C2/D 全部完成。
|
2026-06-19 13:52:09 +09:00 |
|
lanrtop
|
3befc50d20
|
feat(flywheel): L0 从 git 自吸执行质量(commit_metrics)
buff watcher 解析每条新 commit 的 conventional type/scope,将返工(fix)/CI自修信号写入 commit_metrics 表;append_usage_snapshot 的 rework_count 改由此表聚合,取代枯竭的复盘笔记解析。avg_rounds_M 暂留空(需 PR 边界,待档2)。含 parse_conventional 纯解析器 + 11 单测、project_id 索引、事务批量写入、首次限 50 条。
|
2026-06-19 12:23:40 +09:00 |
|