chore(logs): split agent change log outputs
This commit is contained in:
@@ -0,0 +1,116 @@
|
||||
# 写日志技能拆分 概念文档
|
||||
|
||||
更新时间:2026-06-25
|
||||
|
||||
文档路径:document/development/2026-06-25/feature/agent-change-log-split/CONCEPT.md
|
||||
|
||||
## 功能一句话
|
||||
|
||||
把原来单文件三段式工作日志拆成按日期聚合的功能点文档、bug 修复日志和每日 17:00 综合工作日志。
|
||||
|
||||
## 背景与问题
|
||||
|
||||
- 当前现状:旧 `agent-change-log` 把所有变更追加到 `document/work-log/YYYY-MM-DD.md`,并固定包含 `当日工作内容`、`遗留问题`、`TODO`。
|
||||
- 用户痛点:功能点规划、bug 修复和当天综合复盘混在一个日志文件里,后续追溯时难以按功能或问题拆开看。
|
||||
- 业务影响:开发资料会越来越长,bug 修复证据和功能点设计边界容易互相干扰。
|
||||
- 为什么现在需要做:`write-development-docs` 已经改为 `document/development/YYYY-MM-DD/feature/<功能点>/`,日志能力也需要跟随同一日期根目录拆分。
|
||||
|
||||
## 目标与非目标
|
||||
|
||||
### 目标
|
||||
|
||||
- [G1] bug 修复记录落到 `document/development/YYYY-MM-DD/dev-logs/bugs/<bug-slug>.md`。
|
||||
- [G2] bug 日志只保留修复记录,不再写 `遗留问题` 和 `TODO` 两块。
|
||||
- [G3] 每天 17:00 汇总当天 `feature/` 和 `dev-logs/bugs/`,生成 `work-logs.med`。
|
||||
- [G4] 保留 Git 双向检查,继续识别 upstream 新提交和本地 ahead 提交。
|
||||
|
||||
### 非目标
|
||||
|
||||
- [NG1] 本轮不迁移历史 `document/work-log/*.md`。
|
||||
- [NG2] 本轮不删除旧历史日志,避免破坏既有追溯。
|
||||
- [NG3] 本轮不把非 bug 提交强行写入 bug 日志。
|
||||
|
||||
## 用户与场景
|
||||
|
||||
- 目标用户:使用 Codex/Agent 维护 X-Financial 的开发者和后续接手的智能体。
|
||||
- 使用入口:`agent-change-log` Skill、`tools/agent-change-log/update_change_log.py`、post-commit hook、每日 17:00 Codex automation。
|
||||
- 核心场景:
|
||||
1. 修复 bug 后写入当天 `dev-logs/bugs/<bug-slug>.md`。
|
||||
2. 非 bug 功能点通过 `feature/<功能点>/CONCEPT.md` 和 `TODO.md` 沉淀。
|
||||
3. 每天 17:00 汇总功能点与 bug,生成 `work-logs.med`。
|
||||
- 异常场景:
|
||||
- 没有 feature 或 bug 时,综合日志明确写“未发现”。
|
||||
- 提交标题不像 bug 时,post-commit 自动日志跳过。
|
||||
|
||||
## 功能能力
|
||||
|
||||
- [C1] 输入能力:支持 `--kind bug`、`--kind auto`、`--kind summary` 三种模式。
|
||||
- [C2] 处理能力:按日期创建 `dev-logs/bugs`,按 bug slug 记录修复内容。
|
||||
- [C3] 输出能力:输出 bug 修复记录或每日 `work-logs.med`。
|
||||
- [C4] 状态与权限:沿用 Git fetch/status/log 检查,不主动 merge/rebase。
|
||||
- [C5] 边界与降级:官方 skill 校验脚本不可用时,用脚本单测、frontmatter 和 diff check 兜底。
|
||||
|
||||
## 方案设计
|
||||
|
||||
### 前端
|
||||
|
||||
当前不涉及。
|
||||
|
||||
### 后端
|
||||
|
||||
当前不涉及业务后端;只修改仓库级 Skill、脚本和 hook。
|
||||
|
||||
### 算法与规则
|
||||
|
||||
- 输入:commit subject、用户传入的 bug title/slug、当天 feature 和 bug 文档。
|
||||
- 流程:bug 模式写入 bug 文件;auto 模式识别 bug-like commit;summary 模式扫描 `feature/` 和 `dev-logs/bugs/` 后生成综合日志。
|
||||
- 输出:`dev-logs/bugs/*.md` 或 `work-logs.med`。
|
||||
- 解释:summary 中保留来源目录和综合分析,便于复盘追溯。
|
||||
|
||||
### 数据与契约
|
||||
|
||||
- 核心字段:日期、bug slug、bug title、Git 提交检查、修改、操作、验证、影响。
|
||||
- 状态枚举:`auto`、`bug`、`summary`。
|
||||
- 兼容策略:保留旧 `document/work-log` 历史,不新增旧格式。
|
||||
- 版本/审计:本轮变更通过本地 checkpoint commit 保留。
|
||||
|
||||
## 算法与公式
|
||||
|
||||
当前功能不涉及显式数学公式。
|
||||
|
||||
## 测试方案
|
||||
|
||||
后端:
|
||||
|
||||
- 当前不涉及后端服务。
|
||||
|
||||
前端:
|
||||
|
||||
- 当前不涉及前端构建。
|
||||
|
||||
集成:
|
||||
|
||||
- 运行 `python3 tools/agent-change-log/test_update_change_log.py`,覆盖 bug 日志、非 bug 自动跳过、每日综合日志聚合。
|
||||
|
||||
手工验证:
|
||||
|
||||
- 运行 `update_change_log.py --kind bug --dry-run` 和 `--kind summary --dry-run` 检查目标路径和输出内容。
|
||||
|
||||
## 指标与验收
|
||||
|
||||
- [A1] 功能验收:bug 日志路径为 `document/development/YYYY-MM-DD/dev-logs/bugs/<bug-slug>.md`。
|
||||
- [A2] 性能指标:脚本单测在 60s 内完成。
|
||||
- [A3] 质量指标:不再为新日志写入旧三段式 `document/work-log/YYYY-MM-DD.md`。
|
||||
- [A4] 安全/权限指标:脚本不做 merge/rebase,不删除历史日志。
|
||||
- [A5] 可观测性:17:00 automation 生成 `work-logs.med` 后报告路径和是否发现 feature/bug。
|
||||
|
||||
## 风险与开放问题
|
||||
|
||||
- 风险:`work-logs.med` 是按用户原文保留的扩展名,可能与常见 `.md` 扩展名不一致。
|
||||
- 已处理依赖:已创建 Codex automation 执行每日 17:00 summary。
|
||||
- 待确认:后续是否需要迁移历史 `document/work-log`。
|
||||
- 降级策略:automation 不可用时可手动运行 `python3 tools/agent-change-log/update_change_log.py --kind summary`。
|
||||
|
||||
## 本轮实现记录
|
||||
|
||||
- 2026-06-25:重写 `agent-change-log` Skill 和脚本,新增 split log 测试,创建每日 17:00 Codex automation。
|
||||
@@ -0,0 +1,61 @@
|
||||
# 写日志技能拆分 开发 TODO
|
||||
|
||||
更新时间:2026-06-25
|
||||
|
||||
文档路径:document/development/2026-06-25/feature/agent-change-log-split/TODO.md
|
||||
|
||||
## 使用规则
|
||||
|
||||
- 每个 TODO 必须对应 `CONCEPT.md` 中的目标、能力、方案或验收点。
|
||||
- 只有完成并验证后,才能把 `[ ]` 改成 `[x]`。
|
||||
- 勾选时在任务后补充简短证据,例如文件、接口、命令或验证结果。
|
||||
- 如果需求发生变化,先更新 `CONCEPT.md`,再调整本 TODO。
|
||||
|
||||
## 1. 调研与边界
|
||||
|
||||
- [x] [CONCEPT: 背景与问题] 确认旧日志 Skill、脚本、hook 和 AGENTS 仍指向 `document/work-log/YYYY-MM-DD.md`。
|
||||
证据:`rg -n "document/work-log|当日工作内容|遗留问题|TODO" AGENTS.md .codex/skills/agent-change-log tools/agent-change-log .githooks/post-commit`。
|
||||
- [x] [CONCEPT: 目标与非目标] 明确本轮不迁移历史 `document/work-log/*.md`。
|
||||
证据:`CONCEPT.md` 非目标已列明历史不迁移。
|
||||
|
||||
## 2. 契约与设计
|
||||
|
||||
- [x] [CONCEPT: 功能能力] 定义 `auto`、`bug`、`summary` 三种脚本模式。
|
||||
证据:`tools/agent-change-log/update_change_log.py` 的 `--kind` 参数。
|
||||
- [x] [CONCEPT: 数据与契约] 固定新路径 `document/development/YYYY-MM-DD/dev-logs/bugs` 与 `work-logs.med`。
|
||||
证据:`agent-change-log` Skill、AGENTS 和脚本常量。
|
||||
|
||||
## 3. 后端实现
|
||||
|
||||
- [x] [CONCEPT: 后端] 重写日志脚本,支持 bug 记录、auto 跳过非 bug、summary 聚合。
|
||||
证据:`tools/agent-change-log/update_change_log.py`。
|
||||
- [x] [CONCEPT: 后端] 更新 post-commit hook,改为 `--kind auto`。
|
||||
证据:`.githooks/post-commit`。
|
||||
|
||||
## 4. 算法/规则实现
|
||||
|
||||
- [x] [CONCEPT: 算法与规则] 实现 bug-like commit 识别规则。
|
||||
证据:`looks_like_bug()` 覆盖 `fix`、`bugfix`、`修复`、`失败`、`异常` 等关键词。
|
||||
- [x] [CONCEPT: 算法与规则] 实现 feature 和 bug 汇总生成 `work-logs.med`。
|
||||
证据:`build_daily_summary()`。
|
||||
|
||||
## 5. 前端实现
|
||||
|
||||
- [x] [CONCEPT: 前端] 当前不涉及前端页面。
|
||||
证据:本轮只修改仓库 Skill、脚本、hook、文档和 automation。
|
||||
|
||||
## 6. 测试与验证
|
||||
|
||||
- [x] [CONCEPT: 测试方案] 补充脚本回归测试。
|
||||
证据:`tools/agent-change-log/test_update_change_log.py`。
|
||||
- [x] [CONCEPT: 测试方案] 运行脚本单测。
|
||||
证据:`python3 tools/agent-change-log/test_update_change_log.py`,3 tests OK。
|
||||
- [x] [CONCEPT: 测试方案] dry-run 验证 bug 路径和 summary 路径。
|
||||
证据:`--kind bug --dry-run` 输出 `document/development/2026-06-25/dev-logs/bugs/draft-preview-disappears.md`;`--kind summary --dry-run` 输出 `document/development/2026-06-25/work-logs.med`。
|
||||
|
||||
## 7. 文档收尾
|
||||
|
||||
- [x] [CONCEPT: 指标与验收] 更新 `agent-change-log` Skill、AGENTS 和 README。
|
||||
证据:`.codex/skills/agent-change-log/SKILL.md`、`AGENTS.md`、`tools/agent-change-log/README.md`。
|
||||
- [x] [CONCEPT: 指标与验收] 创建每日 17:00 Codex automation。
|
||||
证据:automation id `x-financial-daily-split-work-log`。
|
||||
Reference in New Issue
Block a user