Skip to content

docs(logs): add Log 07-08 for dmesg parser and lightweight commit ingestion (2026-06-07, 2026-06-10)

赵烜熠 requested to merge zxy into main

📝 变更概述 (Overview)

本次提交属于文档更新,主要归档“灵枢”项目的第七篇与第八篇开发日志(Log 07、Log 08)。

在前期完成标准化 JSON Schema 设计与跨模块数据接口梳理后,项目开始逐步推进真实模块的基础验证。本次归档记录了两个连续阶段:

  1. Log 07:dmesg 基础解析器实现与单元测试验证 围绕多模态故障特征提取模块,梳理并验证了 dmesg 日志中的内核版本、Call Trace、基础错误签名、子系统提示和规则化故障假说提取逻辑。

  2. Log 08:轻量 Commit 采集脚本原型梳理与 JSONL 输出初步验证 围绕补丁知识库的数据入口,梳理现有 scripts/ingest_commits.py 的轻量处理流程,并通过最小样例验证原始 commit 文本 dump 到 JSONL 候选数据的基础链路。

当前官方 benchmark 仍在准备过程中,因此本阶段仍以小规模模块验证、接口稳定性和数据链路梳理为主,暂不涉及百万级向量入库或实际命中率评测。

🔍 详细变更列表 (Changes)

1. 归档 Log 07:dmesg 基础解析器与单元测试

新增日志记录了基础 dmesg parser 的实现与验证思路,主要包括:

  • 从日志中提取 Linux 内核版本;
  • 解析 Call Trace: 区段中的关键调用栈条目;
  • 在缺少显式 Call Trace: 标记时提供 fallback 提取逻辑;
  • 基于关键词初步推断相关内核子系统;
  • 支持 BUGPANICOOPS 三类基础错误签名;
  • 基于内核版本、子系统和调用栈构造规则化故障假说;
  • 梳理 dmesg parser 与现有 pipeline 的衔接方式;
  • 记录 dmesg parser 与 API 健康检查的基础测试结果。

2. 归档 Log 08:轻量 Commit 摄取原型与 JSONL 输出

新增日志记录了 scripts/ingest_commits.py 当前轻量版本的数据处理流程,主要包括:

  • 读取原始 commit 文本 dump;
  • 按 commit 边界拆分记录;
  • 使用正则表达式识别 Fixes:Cc: stablebug 等修复信号;
  • 筛选疑似修复类提交;
  • 输出包含 commit_idtitlehas_fix_tag 的轻量 JSONL;
  • 说明 JSONL 对流式处理、抽样检查和后续向量化的价值;
  • 明确当前轻量脚本与未来完整 GitPython 采集器之间的差异。

3. 记录最小样例验证中发现的边界问题

通过小规模输入样例检查,进一步发现了当前轻量 commit 解析脚本中的两个待修正问题:

  • 首条 Commit ID 解析问题:首条记录可能保留 commit 前缀,导致哈希值提取不一致;
  • 标题提取问题:直接读取 block 最后一行时,可能误将 Fixes:Cc: 等标签行作为标题。

后续将优先修正这些边界问题,并补充基础测试,再逐步扩展真实 upstream commit 数据采集能力。

📂 日志归档位置

本次新增日志已归档至:

  • docs/logs/2026-06-07-log07-dmesg-parser-unit-test.md
  • docs/logs/2026-06-10-log08-lightweight-commit-ingestion.md

📌 后续计划

下一阶段将围绕轻量 Commit 采集脚本的解析逻辑修正与测试补充继续推进,重点包括:

  • 统一首条 commit 与后续 commit 的前缀处理方式;
  • 修正 commit_id 提取逻辑;
  • 优化 commit 标题解析规则;
  • 跳过 Fixes:Cc:Signed-off-by: 等标签行;
  • 补充 commit ingestion 基础测试样例;
  • 为后续 GitPython 仓库遍历和真实补丁数据接入预留扩展接口;
  • 持续关注官方 benchmark 的发布进度。

注:本次合并仅涉及 docs/logs/ 目录下的开发日志归档,不包含业务逻辑代码修改。

Merge request reports