Files
fa-agent/docs/improvement-roadmap.html
2026-09-26 01:12:10 +08:00

45 lines
9.4 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>TraceIQ 财务 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.7 system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif}header{background:#fff;border-bottom:3px solid var(--green);padding:26px 20px}header>div,main,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,.tag{color:var(--muted);font-size:13px}.status{padding:14px 18px;margin:20px 0;background:#fff4e5;border-left:4px solid var(--amber)}section{padding:22px 0;border-bottom:1px solid var(--line)}.item{padding:15px 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-weight:700}table{border-collapse:collapse;width:100%;background:#fff}th,td{padding:9px 11px;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:7px}}
</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>公式导出审查已修复文本条件、未分类对账、公式注入、任务路径、文件权限与失败恢复问题,并改为流式写入;后端 61 passed、finance 覆盖率 87.66%,LibreOfficeDev 公式重算共 4 项通过。100,000 行产品上限实测峰值 RSS 约 136.4 MB。Microsoft Excel 实机、原附件 332,830 行范围方案、真实 AI/财务审批和目标环境验收仍未完成,不能认定具备生产商用资格。</div>
<section><h2>P0 · 正确性与发布阻断</h2>
<article class="item p0"><div class="tag">P0.1 · 本机 LibreOffice 回归通过</div><h3>公式重算建立可重复黄金测试</h3><p>当前共 4 项 LibreOfficeDev 重算测试:test_formula_recalculation.py 3 项、test_formula_recalculation_gross.py 1 项,覆盖自定义汇总及变化率、明细收入编辑联动、零成本 ROI、缺失基期及 direct/lookup 毛利来源。它们只证明这些具体样例在 LibreOffice 中的结果,不代表 Microsoft Excel 兼容或财务签字。</p></article>
<article class="item p0"><div class="tag">P0.2 · 目标环境门禁</div><h3>Microsoft Excel Windows / Mac 实机验收</h3><p>本机曾以 Microsoft Excel 打开测试工作簿,公式栏确认汇总公式包含 COUNTIFS / SUMIFS;但 Excel 显示只读(View Only / 需激活 Microsoft 365),无法保存重算副本,且检查到的样例分组为 Test、与预期不匹配。故仅有“公式可见”的证据,Excel 重算结果、缓存和业务样例均未验收。后续须在可编辑的目标 Windows/Mac Excel 中用受控正确样例强制重算、保存,并核验函数兼容、数据表引用、错误单元格和输入修改依赖链。</p></article>
<article class="item p0"><div class="tag">P0.3 · 100,000 行产品上限已优化并实测</div><h3>流式公式工作簿与原附件范围决策</h3><p>公式版本 3 已将所有工作表改为 openpyxl write-only 顺序写入,同时保留 Data 与 CustomerRoster 表格、结构化引用、说明、证据和对账。隔离 SQLite 合成基准:20,000 行 5.26 秒、3.27 MB、峰值 RSS 77.9 MB;100,000 行 25.96 秒、16.22 MB、峰值 RSS 136.4 MB,ZIP/OOXML 完整性及公式读取通过。生产限制仍为 100,000 行/200 组;真实附件 332,830 行不在当前产品范围,下一步必须选择可审计分卷或明确提高上限后再做原附件流式资源、打开和重算验收。</p></article>
<article class="item p0"><div class="tag">P0.4 · 财务审批</div><h3>冻结收入、退款、毛利及 ROI 口径</h3><p>由财务负责人签署 N 列实际收入与 I 列实收、原价、退款、成本归属、毛利率、自营产品集、升单定义与舍入精度。原附件成本全缺,ROI 应维持不可用;不得以技术测试替代业务签字。</p></article>
<article class="item p0"><div class="tag">P0.5 · 隐私 / 模型外部审批</div><h3>外部 AI 真实联调与数据处理审批</h3><p>在批准前保持 AI 关闭。审批后验证模型版本、超时、限流、拒答、审计脱敏、数据处理与出境依据;模型只提出列定义,服务端继续严格校验白名单表达式并要求用户确认。</p></article>
</section>
<section><h2>P1 · 商用运维与可恢复性</h2>
<article class="item p1"><div class="tag">P1.1 · 本地待执行 / 环境受限</div><h3>Docker 镜像与生产 Compose 验收</h3><p>本轮完整生产变量下 Django <code>check --deploy</code> 无告警,依赖审计为零已知漏洞;Docker daemon 当前不可连接,镜像构建尚未验证。daemon 恢复后构建镜像、运行迁移和健康检查,确认非 root、只读根文件系统、卷权限及 worker。</p></article>
<article class="item p1"><div class="tag">P1.2 · 目标环境门禁</div><h3>备份恢复、并发和安全运营</h3><p>验收 TLS、密钥轮换、最小权限、加密备份及恢复 RPO/RTO、队列积压/失败告警、访问日志脱敏、容量阈值、并发 SLA 和独立安全审查;AG Grid Enterprise 使用前确认商业许可。</p></article>
<article class="item p1"><div class="tag">P1.3 · 部分已实现;范围受限</div><h3>对话定义新增汇总列并导出公式</h3><p>用户可描述列名、含义、计算、适用范围及缺失处理;信息不全时追问并结合完整对话复核。公式只使用数据集当前可计算的既有指标与白名单运算,服务端再次校验数据映射;确认后写入公式工作簿并带说明。任意 Excel 函数、跨明细新聚合、定义保存复用及导出后自动扩行未实现。</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>补齐平板、键盘/屏幕阅读器、证据期间切换和目标表格软件兼容矩阵;Web 可复用不等同于 Excel 文件跨引擎兼容。</p></article>
</section>
<section><h2>本轮证据</h2><table><thead><tr><th>项目</th><th>结果</th><th>边界</th></tr></thead><tbody>
<tr><td>后端及覆盖率</td><td>61 passed;finance 87.66%</td><td>SQLite 测试;包含流式工作簿、公式语义、注入防护、任务路径/权限/恢复及 LibreOffice 重算;未替代 PostgreSQL CI</td></tr>
<tr><td>LibreOffice 公式重算</td><td>共 4 项通过(test_formula_recalculation.py 3 项、test_formula_recalculation_gross.py 1 项),direct/lookup 毛利来源测试包含在这 4 项内</td><td>LibreOfficeDev;Microsoft Excel 仅确认公式可见,未完成可保存重算验收</td></tr>
<tr><td>流式容量基准</td><td>100,000 行:25.96 秒、16.22 MB、峰值 RSS 136.4 MB;20,000 行:5.26 秒、3.27 MB、峰值 RSS 77.9 MB</td><td>隔离 SQLite 合成数据,本机单次测量;生产上限保持 100,000 行,不能替代目标环境并发 SLA</td></tr>
<tr><td>浏览器回归</td><td>3 passed,1 skipped</td><td>跳过需显式指定附件的原附件 E2E</td></tr>
<tr><td>构建 / 静态检查</td><td>Ruff、Prettier、TypeScript/Vite、Django check、迁移检查通过</td><td>依赖审计报告 0 个已知漏洞;不等于渗透测试</td></tr>
<tr><td>生产配置检查</td><td>完整临时生产配置下 <code>check --deploy</code> 无告警</td><td>不代表目标基础设施上线验收</td></tr>
<tr><td>Compose / Docker</td><td>未通过</td><td>仓库无真实 .env;Docker daemon 未运行,未构建镜像</td></tr>
<tr><td>Excel / 原附件公式</td><td>Excel 打开样本并确认公式存在;PostgreSQL 对账完成;旧非流式版本曾生成 332,830 行</td><td>Excel 只读,无法保存重算副本;所见分组与预期不匹配。原附件超过 100,000 行产品上限,公式版本 3 尚未对 332,830 行做越界放宽测试</td></tr>
</tbody></table></section>
<section><h2>执行顺序与完成规则</h2><p>顺序:维护 P0.1 黄金重算 → P0.2 Microsoft Excel → P0.3 资源优化 → P0.4 / P0.5 外部审批 → P1 → P2。本轮补齐了可重复的金额编辑、零成本与缺失基期重算测试,并复核新增列映射保护。LibreOffice 不替代 Excel,财务/AI 审批和目标基础设施测试需对应责任方及环境。</p><p>测试必须覆盖代码实际行为;每项门禁记录日期、环境、版本、样例、结果和限制。不能用 mock、静态公式存在或 build 通过声称生产已验收。</p></section>
</main><footer>路线图是执行与验收记录,不是生产准入授权。详见 <a href="acceptance.md">验收状态与上线门禁</a>。</footer>
</body>
</html>