# 股票估值端到端协调层 V2 编码方案 V005 创建人员:`dev.developer.project.secondary / infodev-2` 开发事项:`DEV-ANA-STOCK-VALUATION-PIPELINE-V2-20260801-001` 性质:V003+V004 实现阶段真实 smoke 发现后的最小 provider 合同修订。 当前状态:`PENDING_PROVIDER_DELTA_REVIEW`;本文件 PASS 前不实施新增端点,不把缺失金融资产填 0。 ## 1. 触发证据 方案 PASS 后首次真实 smoke 使用 `001270.SZ / 2026-08-01`,在 1.47 秒内以 `BLOCKED` 如实结束,失败包为 `dev/tmp/valuation-v2-real-smoke-001/cold.failed-b036e888ea644a1db66df5d967ffa26f/`。原因是已审简版 `RPT_DMSK_FN_BALANCE` 的真实响应只暴露 `MONETARYFUNDS,TOTAL_EQUITY,TOTAL_ASSETS,TOTAL_LIABILITIES,SHORT_LOAN,AVAILABLE_SALE_FINASSET` 等摘要列,没有已知非经营性金融资产明细;原始 blob hash=`819144da9256200c0feeb1b03bb2e3715b08827817ec58871c7761ca5dd60f81`。实现按合同阻断,没有以 0 降级。 同一已登记公开 host `datacenter-web.eastmoney.com` 的 `reportName=RPT_F10_FINANCE_GBALANCE` 返回完整资产负债字段;受控只读核对 `001270.SZ / 2026-03-31` 得到:`MONETARYFUNDS=179539263.25`、`TOTAL_EQUITY=1560369145.27`、`TRADE_FINASSET_NOTFVTPL=95338761.64`、`NONCURRENT_LIAB_1YEAR=458204.55`、`LEASE_LIAB=367261.65`,后二者合计 `825466.20`,与冻结快照完全一致。 另一个真实差异是 as-of `2026-08-01` 为非交易日;若 kline `beg=end=as-of` 会得到空数组,而业务合同要求取不晚于 as-of 的最近交易日。 ## 2. 唯一请求修订 V003 第 6 节 Eastmoney finance 表中的 balance 请求由: `reportName=RPT_DMSK_FN_BALANCE` 替换为: `reportName=RPT_F10_FINANCE_GBALANCE` host、HTTPS、GET、filter、分页、排序、响应上限、adapter version、B1+A1 回链、as-of 和停止规则均不变;不增加新域名或自由回退。字段映射固定: - 权益=`TOTAL_EQUITY`;现金=`MONETARYFUNDS`;少数股东权益=`MINORITY_EQUITY|null→0`; - 非经营性金融资产仅对响应中实际存在的下列字段求和:`TRADE_FINASSET,TRADE_FINASSET_NOTFVTPL,DERIVE_FINASSET,BUY_RESALE_FINASSET,CREDITOR_INVEST,OTHER_CREDITOR_INVEST,OTHER_EQUITY_INVEST,OTHER_NONCURRENT_FINASSET,FVTPL_FINASSET,FVTOCI_FINASSET,FVTOCI_NCFINASSET`;一个字段都不存在时 `BLOCKED`,不得填 0; - 有息债务仅对响应中实际存在的 `SHORT_LOAN,NONCURRENT_LIAB_1YEAR,LONG_LOAN,BOND_PAYABLE,LEASE_LIAB,SHORT_BOND_PAYABLE` 求和;一个字段都不存在时 `BLOCKED`;存在但为 null 可按法定表中无该项目计 0; - 仍须 `NOTICE_DATE<=as-of`、`REPORT_DATE<=as-of`,并回链同报告期 A1 公告。 ## 3. 非交易日行情修订 kline 请求 `end=requested_as_of`,`beg=requested_as_of-14 calendar days`;适配器在返回记录中只保留 `f51<=as-of` 并取最大 `f51`。14 日窗口无记录即 `BLOCKED`,不扩大窗口、不换站。该变化只实现既有“取不晚于 as-of 的最近交易日”合同,不改变行情来源或字段。 ## 4. fixture 与测试增量 - fixture 的 balance 文件改为完整端点响应前像,并补 `TRADE_FINASSET_NOTFVTPL=95338761.64`、`NONCURRENT_LIAB_1YEAR=458204.55`、`LEASE_LIAB=367261.65`;expected 不变; - 新增简版 balance 缺明细必须 BLOCKED、完整 balance 精确求和、全部明细字段存在但为 null 得 0、所有字段都不存在 BLOCKED; - 新增周末 as-of 在 14 日窗口取 2026-07-31、窗口空记录 BLOCKED、未来 kline 被排除; - 实施后重跑 V2 全套、V1 10/10、fixture 冷/热和真实 cold/warm smoke。 ## 5. 继承与门禁 V003=`28030 bytes / 358C37EE1FE7F5F832FAF33EBDEB1B1714DE46F315A55A1C1D53AF43D687C61F`、V004=`12117 bytes / 50DE1F7E765E8B828DEF1C25D6D5BEA32C3C0B07FD034929542AAE0CB4E84799` 的其余合同全部继承。V005 不修改 `ana-dev`,不增加 provider、域名、网络预算或交易结论。只有 `dev.reviewer.project` 对本 delta PASS 后才实施本节变更。