docs: 记录里程碑2 Task4 实现验证日志

This commit is contained in:
lhl
2026-08-08 23:07:05 +08:00
parent 63d0c90940
commit 0051ad52b4
+2 -1
View File
@@ -24,5 +24,6 @@
| 2026-08-08 | 测试验证 | Phase1 里程碑1 验证:pytest 全绿(14 passed:冒烟/data_models/config),配置加载覆盖 yaml 映射、默认值、env 覆盖、env 新增键、占位符展开、脱敏;git 提交 4 次(e865a78/9d69bb3/dc62670 + 计划 b4587aa | tests/, src/genesis/ | deepseek-v4-flash-free |
| 2026-08-08 | Agent 实现 | 里程碑2 Task1 实现:parsers 包基础与来源标注。新建 src/genesis/parsers/__init__/provenance/excel_reader)、测试辅助 tests/excel_helpers.pynew_workbook/save_workbook 供全任务复用)与 tests/test_excel_reader.py3 用例:source_uri 格式、open_workbook+sheet_matrix、拒绝 .xls);TDD 验证 REDModuleNotFoundError)→ GREEN3 passed);pytest 全量 17 passed;提交 df9427c | src/genesis/parsers/__init__.py, src/genesis/parsers/provenance.py, src/genesis/parsers/excel_reader.py, tests/excel_helpers.py, tests/test_excel_reader.py | deepseek-v4-flash-free |
| 2026-08-08 | Agent 实现 | 里程碑2 Task2 实现:SheetDetector 类型识别。新建 src/genesis/parsers/sheet_detector.py(名称关键词→表头关键词→GENERIC 三级判定,detect_sheet_type(sheet_name, matrix)->SheetType)与 tests/test_sheet_detector.py3 用例:名称/表头/未知);TDD 验证 REDModuleNotFoundError)→ GREEN3 passed);修正 brief 缺陷:brief 原始 NAME_KEYWORDS 无法匹配「コード管理」判为 MASTER(不含"マスタ"),最小补入 ("コード", MASTER)pytest 全量 20 passed;提交 66753e4 | src/genesis/parsers/sheet_detector.py, tests/test_sheet_detector.py | deepseek-v4-flash-free |
| 2026-08-08 | Agent 实现 | 里程碑2 Task3 实现:Sheet 性质判定。新建 src/genesis/parsers/sheet_nature.py(纯函数:SheetNature 枚举 TABLE/FREE_TEXT/MIXED、find_header_row 表头行定位、classify_sheet 按 design §3.5.2 启发式判定:空行占比>30%、单列、无表头 → FREE_TEXT;表头后「・/■」碎片行 → MIXED;否则 TABLE)与 tests/test_sheet_nature.py4 用例:table/单列自由文本/多空行自由文本/表头行定位);TDD 验证 REDModuleNotFoundError)→ GREEN4 passedpytest 全量 24 passed;提交 | src/genesis/parsers/sheet_nature.py, tests/test_sheet_nature.py | deepseek-v4-flash-free |
| 2026-08-08 | Agent 实现 | 里程碑2 Task3 实现:Sheet 性质判定。新建 src/genesis/parsers/sheet_nature.py(纯函数:SheetNature 枚举 TABLE/FREE_TEXT/MIXED、find_header_row 表头行定位、classify_sheet 按 design §3.5.2 启发式判定)与 tests/test_sheet_nature.py4 用例);TDD RED→GREENpytest 全量 24 passed | src/genesis/parsers/sheet_nature.py, tests/test_sheet_nature.py | deepseek-v4-flash-free |
| 2026-08-08 23:04 | Agent 实现 | 里程碑2 Task4 实现:MergeHandler 与 TableExtractor。新建 src/genesis/parsers/merge_fill.pyforward_fill 合并单元格展开,(min_row,min_col,max_row,max_col) 1-based 范围用左上主格值填充,边界保护)与 src/genesis/parsers/table_extractor.pycolumn_letter 1→A/27→AAextract_table 首行表头→其后为数据行,构建 CellValue+Provenance(row=r-header_row 从 1 起、column 字母、column_header),无矩阵时返回空表)及 tests/test_table_extractor.py4 用例:纵向/横向合并、列字母、基本提取);TDD 验证 REDImportError: No module named 'genesis.parsers.merge_fill')→ GREEN4 passed);pytest 全量 28 passeddata_models.py 未改动;提交 63d0c90 | src/genesis/parsers/merge_fill.py, src/genesis/parsers/table_extractor.py, tests/test_table_extractor.py | deepseek-v4-flash-free |