• Data Governance Dev's avatar
    refactor(web): Step 5 去 LLM 推测 + Step 2 UI 隐藏 + hidden step 提交过滤 · 50b48135
    Data Governance Dev authored
    本批 3 个独立任务合并提交(互相有依赖:hidden 机制引入 → 暴露了一个 bug → 修复)。
    
    【Step 5 缺失注释字段检查:去 LLM 推测,改纯规则】
    - web/core/step_impl/step5_missing_comments.py(全文重写)
      · 删 LLMClient 导入 / llm 参数 / 整段批量推测逻辑
      · TabProtocol 简化为 4 列:表名+注释 / 字段名 / 类型 / 可空
      · 新增 _is_missing() 工具函数
      · 输出 missing_comments[:200](限制条数,避免渲染过大)
    - web/core/orchestrator.py
      · _run_missing_comments 不再向 step5 传 llm(签名保留 # noqa: ARG001)
      · register_step("missing_comments", ...) llm_mode="none" + title/desc/detail 全重写
      · CRITICAL_STEPS: {"merge_redundancy", "missing_comments"} → {"merge_redundancy"}
      · 顶部 docstring L9 同步
    - CLAUDE.md
      · 目标 L10 加变更说明
      · LLM 依赖表 Step 5: required → none,预检提示改 "Step 2"
    
    【Step 2「表合并与冗余字段分析」UI 隐藏:通用 hidden 机制】
    - web/core/orchestrator.py
      · StepDef 加 hidden: bool = False 字段
      · register_step() 同步加 hidden 入参
      · merge_redundancy 注册设 hidden=True
      · 顶部 docstring L7 加 "UI 隐藏" 标注
    - web/api/routes.py(/api/analysis-tree)
      · by_id 过滤 sd.hidden
      · 遍历 children 时 hidden/unregistered 不记入 missing(避免误导)
      · 「未分组」兜底组自然不会泄露 hidden step
    - web/configs/analysis_tree.json
      · 「基础检查」组直接删掉 merge_redundancy 那行(之前用 // 注释导致 JSON 解析失败,已纠正)
    - CLAUDE.md · LLM 依赖表 Step 2 加 "2026-08-11 起 UI 隐藏,但代码保留"
    
    【hidden step 提交过滤(隐藏 step 仍被执行 的 bug 修复)】
    - web/api/routes.py(/api/steps)
      · 与 /api/analysis-tree 一致:for sd in get_step_defs() if not sd.hidden
    - web/static/index.html(loadSteps)
      · 新增兜底分支:form.steps 非空时也清掉残留 hidden step
        (应对浏览器未刷新 / Vue 状态缓存)
    
    【关键:hidden 只影响 UI 入口】
    - 后端 run_job() 不加 hidden 校验 —— 保留「代码保留可手动触发」的灵活性
    - 手动 POST /api/jobs 指定 hidden step 仍能跑(内测可用)
    - CRITICAL_STEPS 不动 —— hidden step 不在提交路径上,自然不会失败终止
    
    【未提交】
    - scripts/_tmp_build_violations_md.py(一次性调试脚本)
    - data_dictionary/standard_fields_violations_report.md(生成报告)
    
    docs/WORKLOG.md 顶部已追加本次 3 个任务的完整记录(含根因 + 验证 + 后续如何加回 LLM)。
    50b48135
WORKLOG.md 108 KB