# 内部公文模块剩余细节与边界结论 ## 1. 文档目的 本文档只回答 2 个问题: - 当前内部公文模块还差哪些细节没有真正收口 - 哪些问题属于运行部署边界,不能再误判成业务逻辑问题 本文档基于 2026-05-17 当前仓库、当前机器、当前联调结果整理。 --- ## 2. 先给结论 截至当前,内部公文模块不再是“没接上”的状态。 更准确的结论是: - 业务语义主线已经对齐 - 前后端主链路已经接通 - 报告产物主闭环已经补齐 - 当前最大的剩余问题是运行部署收口,而不是公文业务逻辑方向错误 因此后续动作应坚持一个边界: - 可以继续补齐平台化能力和运行稳定性 - 但不要再为了排查运行问题去改动公文业务语义 --- ## 3. 当前已经成立的事实 ### 3.1 业务主语义已经成立 当前内部公文模块的业务主语义已经能稳定描述为: - 主对象是 `document` - 审查历史通过 `run` 保留 - 详情默认展示文档当前最新一次运行结果 - 结果语义仍然包括 `summary / findings / checkedRules / entities / structure / outline` 这与旧 `govdoc-audit` 的业务方向是一致的,只是承载方式换成了当前平台的 `document + run + artifact` 模型。 ### 3.2 页面与接口链路已经成立 当前链路已经核实通过: 1. 浏览器访问 `5173` 2. `nginx` 转发到 `5193` 3. `legal-platform-frontend` 页面走 `/api/govdoc/*` 4. `/api/govdoc/*` 代理到当前后端 `8096/api/govdoc/*` 5. 当前后端路由已能实际处理请求 因此: - 现在再出现 `401`,说明链路已经通了,只是没有有效登录态 - 现在再出现跳 `/login`,优先说明会话 cookie 不完整,而不是页面路由不存在 ### 3.3 正式报告产物闭环已经成立 当前真实运行已验证以下产物可以生成并落库: - `annotated_docx` - `html_report` - `paragraph_html` 并且: - 列表与详情已经能感知这些产物是否存在 - HTML 报告、DOCX 报告、段落视图都已有当前仓库侧实现 --- ## 4. 现在还差的细节 ### 4.1 旧 worker 干扰还没清掉 当前机器上仍有旧进程: - `python start_worker_with_routing.py --config-port 8096` - `cwd=/home/wren-dev/Porject/docauditai` 这件事的影响非常直接: - 它会让“当前页面 + 旧执行链”混在一起 - 它会导致故障判断失真 - 它会让人误以为是当前仓库业务没实现 这不是业务逻辑缺口,而是运行环境没有彻底收口。 ### 4.2 正式启动方式还不够固化 当前 `./leaudit.sh start` 在当前机器上可以把链路拉起来,但仍需注意: - 临时 shell 启动不等于正式守护方式 - 需要确保正式重启、后台保活、日志落点都固定在当前仓库 - 要避免以后又混回旧仓库进程 ### 4.3 登录态验收还没完整做完 当前已经确认: - 未登录访问 `/govdoc/audits` 会被 `requireAuth()` 正常重定向到 `/login` - `/api/*` 请求的 `Authorization` 依赖 `access_token` cookie 注入 但还没有完成一轮带真实登录态的完整验收,包括: - 列表加载 - 详情打开 - HTML 报告打开 - DOCX 报告下载 - 段落视图联动 - 重跑与历史 run 切换 ### 4.4 历史运行数据需要补跑 修复前已经成功但没有正式产物的旧 run,不会自动补齐。 因此仍需: - 对需要交付报告的历史文档重新触发审查 - 确认 `current_run_id` 指向最新有效 run ### 4.5 规则来源策略还没有平台化 当前 `govdoc` 已经有可用规则文件: - `rules/govdoc/govdoc_general/rules.yaml` 但当前仍是“单路径硬编码解析”: - 还没有按文种/类型切换规则 - 还没有按版本切换规则 - 还没有接入统一规则管理 这不是阻塞当前链路跑通的 P0 问题,但它是后续正式化必须收口的 P1。 ### 4.6 产物语义仍有两个小尾巴 当前最关键的正式产物已经补齐,但还有两点没完全平台化: - `canonical.docx` 还没有作为显式产物沉淀 - `result.json` 还没有作为显式产物沉淀 这不会阻塞当前页面使用,但会影响与旧系统“完整产物语义”一一对应的程度。 --- ## 5. 哪些问题不要再误判 ### 5.1 跳 `/login` 不等于页面坏了 当前 `/govdoc/audits` 在服务端布局阶段就会做鉴权。 所以: - 没有 `user_info` cookie 时跳转是正常行为 - 这不代表 `govdoc` 页面不存在 ### 5.2 `401` 不等于没接后端 当前 `/api/govdoc/documents` 返回 `401` 时,更准确的含义是: - 请求已经到达当前后端 - 只是当前请求没有有效凭证 ### 5.3 旧 worker 活着时,不能只看页面表象下判断 只要旧 `docauditai` worker 还在: - 页面报错不一定是当前仓库逻辑错 - 任务结果异常也不一定是当前仓库执行错 必须先判断任务到底被谁消费。 --- ## 6. 后续实施边界 后续如果继续推进,建议边界固定如下: 1. 不改内部公文核心业务语义。 2. 允许继续按当前平台规范补齐运行、规则管理、产物治理。 3. 先处理运行收口,再做带登录态验收。 4. 只有在运行链路完全收口后,才继续判断剩余产品细节是否需要调整。 --- ## 7. 一句话结论 内部公文模块当前已经进入“运行部署收口 + 平台化细节补齐”阶段。 主业务逻辑方向当前没有发现需要推翻重做的问题,真正还没做好的,主要是旧链路清退、真实登录态验收、历史数据补跑、规则来源平台化和少量产物治理细节。