待办事项(TODO)¶
汇总自代码扫描(
serve.py占位、report_migration/草稿、NotImplementedError、Phase 注释)。 按优先级分组。来源位置用file:line标注。
P0 — 未实现功能(阻塞使用)¶
T0-1 Web 界面(serve 命令占位)¶
位置:
src/certflow/cli/commands/serve.py:55-65现状:CLI 子命令
certflow serve已定义,但certflow.web模块不存在,from certflow.web import create_app抛ImportError,输出"Web 模块尚未实现"。待办:选定方案(Flask / FastAPI / PySide6 WebEngine),实现
certflow.web.create_app(),提供浏览器访问入口。建议优先级:取决于远程访问需求;纯单机使用可延后。
T0-2 报告迁移草稿区未并入主源¶
位置:
src/certflow/services/report_migration/material_provider.py:45, 166现状:
material_provider.py抛NotImplementedError;report_fill_engine.py、report_data_builder.py为草稿,ruff 已豁免 C901(见pyproject.toml:210-213)。待办:将草稿并入
src/certflow/services/,重写material_provider的抽象方法实现,移除NotImplementedError。影响:当前报告生成走
report_fill_service.py(已实现),草稿区不阻塞日常使用,但长期需收敛两套实现。
P1 — 扩展待补¶
T1-1 Action 注册表 Phase 3.2 收尾¶
位置:
src/certflow/actions/registry.py:127-128现状:注释说明 lambda 类 action 已提升为
_action_*命名方法并注册;main_window 导航已在 Phase 2.1 接入。待办:核对 Phase 3.2 是否还有未提升的 lambda action;确认
REGISTRY已覆盖所有ui.yaml中声明的 action 名。验证方式:扫描
ui.yaml中action:字段,与REGISTRYkeys 对比。
T1-2 占位目录预建(B0-4)默认关闭¶
位置:
config/import.yaml→create_placeholder_dirs(默认False);模型src/certflow/config/models.py:1222-1239ImportPlaceholderConfig。现状:VBA 式导入期按订单组预建占位项目文件夹的功能已实现但默认关闭。
待办:若需启用,在
config/import.yaml设create_placeholder_dirs: true并验证目录命名模板{ym}/{rq}/{customer}/{project}。文档:
04a-import-flow.md需说明该开关。
P2 — 平台与兼容性¶
T2-1 Access 导出跨平台受限¶
位置:
src/certflow/cli/commands/export_access.py现状:导出到
SignDB.mdb依赖 Windows Access 驱动;pyodbc在pyproject.toml:29已注释(不支持 Access)。待办:评估替代方案(如
pyscape已在依赖中),或在文档中明确仅 Windows 可用。
T2-2 Git LFS 自动安装覆盖范围¶
位置:
start.sh:362-395现状:支持 apt/brew/winget 自动安装 Git LFS;其他平台需手动。
待办:无(文档化即可)。
P3 — 文档待补¶
T3-1 操作者手册子文档¶
待办:按
docs/04-operator-guide.md索引补全 9 个子文档(04a~04i),每个子文档需包含:操作入口(GUI 菜单/按钮 + CLI 命令)
逐步操作截图或步骤列表
涉及的配置项(链接到
03-configuration.md)涉及的 Service/Controller/View 文件(链接到
06-developer-guide.md)常见问题与回退操作
T3-2 CLI 命令完整参数文档¶
待办:
05-cli-reference.md需为 24 个子命令逐个列出--help输出、参数表、示例。
T3-3 配置项与代码映射表¶
待办:
03-configuration.md需为每个config/*.yaml字段标注:类型、默认值、影响的代码位置、是否需要重启生效。
P4 — 代码质量¶
T4-1 复杂度豁免收敛¶
位置:
pyproject.toml:193-213现状:多个文件/函数豁免 C901(
bom_material_service.py、bom_part_classifier.py、report_fill_service.py、views/query_view.py用函数级# noqa: C901,构建脚本用文件级豁免)。待办:逐步重构降低复杂度,移除豁免。
T4-2 pyodbc 依赖注释¶
位置:
pyproject.toml:29现状:注释为"不支持 access 数据库"。
待办:确认是否永久移除,或换用其他驱动;更新依赖列表。
已完成(参考)¶
以下原 TODO 项已实现,仅作记录:
✅ Action 注册表统一派发(Phase 2.1 / 2.2 / 3.2,
actions/registry.py)✅ 空库自动播种基础字典(
main.py::_maybe_seed_base_data)✅ 数据库四库模型(A/B/C/D,
start.sh阶段10)✅ 配置
!include拆分(config.yaml)✅
paths.local.yaml本地覆盖(config/paths_override.py)