43 lines
7.3 KiB
HTML
43 lines
7.3 KiB
HTML
<!doctype html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>财务 Agent 改进路线图</title>
|
|
<style>
|
|
:root{color-scheme:light;--ink:#202725;--muted:#58645f;--line:#d8dfdc;--green:#17664f;--amber:#9a5200;--red:#a72f3d;--bg:#f5f7f6}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.75 system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif}header{background:#fff;border-bottom:3px solid var(--green);padding:28px 20px}main,header>div,footer{max-width:1080px;margin:auto}main{padding:0 20px 36px}h1{font-size:30px;margin:4px 0 8px}h2{font-size:21px;margin:0 0 12px}h3{font-size:17px;margin:0 0 8px}p{margin:8px 0}.meta{color:var(--muted);font-size:13px}.status{padding:14px 18px;margin:20px 0;background:#fff4e5;border-left:4px solid var(--amber)}section{padding:24px 0;border-bottom:1px solid var(--line)}.item{padding:16px 18px;margin:12px 0;background:#fff;border-left:4px solid var(--line)}.p0{border-color:var(--red)}.p1{border-color:var(--amber)}.p2{border-color:var(--green)}.tag{font-size:12px;font-weight:700;color:var(--muted)}table{border-collapse:collapse;width:100%;background:#fff}th,td{padding:10px 12px;border:1px solid var(--line);text-align:left;vertical-align:top}th{background:#eaf0ed}code{overflow-wrap:anywhere}footer{padding:22px 20px 36px;color:var(--muted)}@media(max-width:640px){h1{font-size:25px}table{font-size:13px}th,td{padding:8px}}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<header><div><div class="meta">TRACEIQ / 工程质量与产品改进 / 2026-09-24</div><h1>财务 Agent 改进路线图</h1><p>按财务正确性、测试可信度、业务覆盖和发布风险排序;实现状态与验收状态分开记录。</p></div></header>
|
|
<main>
|
|
<div class="status"><strong>当前结论:</strong>对话新增指标、缺项追问、白名单公式编译与公式工作簿已实现;本轮专项后端 6 项、Ruff、前端类型检查及生产构建通过。生产发布仍被空的历史测试源码、公式引擎重算、真实附件规模和财务/AI 合规审批阻断。</div>
|
|
<section><h2>P0 · 发布阻断</h2>
|
|
<article class="item p0"><div class="tag">P0.1 · 阻断中</div><h3>恢复完整源码测试基线</h3><p><code>tests/test_finance.py</code> 当前为 0 字节,导致既有财务、权限、导入、分析与公式导出回归测试缺失。先从可靠备份恢复,再运行 pytest、Ruff、Django、迁移、生产构建及 Playwright。旧 .pyc 的 69 passed、1 failed、1 skipped 使用旧断言,不是当前源码验收证据。</p></article>
|
|
<article class="item p0"><div class="tag">P0.2 · LibreOffice 自定义公式与缓存已验证;Excel 待验</div><h3>公式/缓存一致性验证</h3><p>人数逻辑使用 CustomerRoster + <code>COUNTIFS</code>。本轮从当前源码生成基础及新增列工作簿,交由 LibreOffice 重算后读取;含自定义列的文件保留 136 个公式单元格,自定义“收入成本差”公式缓存及汇总引用缓存均为 2,000。仍需补足缺失期、零分母及负值等边界对账,并在 Microsoft Excel 桌面版复验。</p></article>
|
|
<article class="item p0"><div class="tag">P0.3 · 待目标环境</div><h3>Microsoft Excel Windows/Mac 验收</h3><p>在目标桌面 Excel 打开、强制重算、保存,读取公式和结果缓存;覆盖缺期、零人数、退款/负数、两种 ROI、毛利来源及编辑金额后的依赖变化。</p></article>
|
|
<article class="item p0"><div class="tag">P0.4 · 范围阻断</div><h3>332,830 行附件全量导出与资源预算</h3><p>当前上限 100,000 行/200 组。用原映射和可靠 PostgreSQL 验证完整导出、行数/金额/人数对账、耗时、峰值内存、文件体积及 Excel 首开/重算;未经实测不放宽限制,不静默截断。</p></article>
|
|
<article class="item p0"><div class="tag">P0.5 · 外部决策</div><h3>财务口径与 AI 合规</h3><p>签署实际收入/实收、退款、成本归属、毛利、ROI、自营范围和舍入口径;完成外部模型联调、隐私/数据出境审批及故障演练。批准前保持外部 AI 关闭。</p></article>
|
|
</section>
|
|
<section><h2>P1 · 可靠性与运行质量</h2>
|
|
<article class="item p1"><div class="tag">P1.1 · 已实现;专项 3 项通过</div><h3>过期工作簿与孤儿临时文件清理</h3><p>新增 <code>cleanup_formula_exports</code> 管理命令和 Compose 常驻清理服务。仅清理过期成品及超过 24 小时的临时文件,限制导出根目录,跳过符号链接;清理异常保留重试线索。已覆盖过期文件、临时文件年龄和目录外路径测试。</p></article>
|
|
<article class="item p1"><div class="tag">P1.2 · 功能实现;单测及新增列 E2E 通过</div><h3>对话定义新增汇总列并导出公式</h3><p>用户可描述列名、含义、计算、范围及缺失/零分母策略;缺项时模型必须追问,确认后服务端只接受白名单表达式树并编译为 Excel 公式。工作簿包含汇总及自定义指标页、使用说明和对账页。专项单测覆盖追问、表达式拒绝与公式输出;本轮 Playwright 已验证登录、字段导入、缺项追问、补充确认、工作簿生成和下载。</p></article>
|
|
<article class="item p1"><div class="tag">P1.3 · 待目标环境</div><h3>部署、安全与灾备验收</h3><p>完成镜像构建、TLS、数据库认证、备份恢复和 RPO/RTO 演练、并发/SLA 测试、渗透测试、密钥轮换、审计告警及商用依赖许可证核查。</p></article>
|
|
</section>
|
|
<section><h2>P2 · 产品能力扩展</h2>
|
|
<article class="item p2"><div class="tag">P2.1</div><h3>已签口径下补充分析能力</h3><p>多收入字段与消费比率、生效期毛利率、退款切换、结构占比、历史异常阈值和告警投递。</p></article>
|
|
<article class="item p2"><div class="tag">P2.2</div><h3>自定义指标定义复用</h3><p>定义保存/版本与差异审阅;新运算符、聚合或缺失策略须通过白名单、独立财务样例和安全审查。</p></article>
|
|
<article class="item p2"><div class="tag">P2.3</div><h3>工作簿及跨平台体验</h3><p>证据期间切换、平板与无障碍优化、可读的公式错误状态、更多电子表格引擎兼容验证。</p></article>
|
|
</section>
|
|
<section><h2>完成门禁</h2><table><thead><tr><th>门禁</th><th>证据</th><th>状态</th></tr></thead><tbody>
|
|
<tr><td>源码测试</td><td>恢复原测试文件并完整执行</td><td>阻断:源码缺失</td></tr>
|
|
<tr><td>静态与构建</td><td>Ruff、Django、迁移、前端构建</td><td>本轮独立复跑通过;源码恢复后仍需联跑</td></tr>
|
|
<tr><td>网页工作流</td><td>新增指标、桌面、手机 Playwright</td><td>3 项通过,1 项原附件全量场景按配置跳过</td></tr>
|
|
<tr><td>公式重算</td><td>当前版本 LibreOffice 与 Microsoft Excel</td><td>LibreOffice 自定义公式重算/缓存通过;边界样例与 Excel 待验</td></tr>
|
|
<tr><td>真实规模</td><td>原附件全量导出与资源报告</td><td>待验;当前上限 100,000 行</td></tr>
|
|
<tr><td>商业发布</td><td>财务签字、AI 合规、安全与灾备</td><td>待外部审批/目标环境</td></tr>
|
|
</tbody></table></section>
|
|
</main><footer>执行顺序:P0.1 → P0.2 → P0.3/P0.4 → P0.5 → P1 → P2。外部环境和审批不可用时保留为明确门禁,不以模拟结果替代验收。</footer>
|
|
</body>
|
|
</html>
|