2026-11-12 3号采集逻辑整改结果
本轮从台北00:17:44开始记录十分钟预算，在00:27:20设定保守绝对截止；已于截止前停止所有采集并完成交付。没有重置总时钟。

已修改并部署
默认update_daily.py/run_daily.py改为recent-v1-20261112；新增recent_fetch.py。只请求七个日历日，55标的同一队列、最多8个网络工作线程，每来源家族最多2或3个并发，数据库单一写入者。
主源和首备源对齐完整请求日期后，按原有收盘价容差一致即停止。缺失/冲突/访问失败才升级，允许两份可比备源确认；腾讯原价与前复权不算两份独立票。未扩大容差：证券0.001、加密0.005，仅收盘价比较，分红/复权/成交量不因此获认证。
默认不再运行旧ECB/FRED独立全量任务、全库报告、全库备份核验、历史审计或工单修复。旧collector auto/incremental入口拒绝执行；独立旧resilience入口须显式历史维护标志，避免旁路自动巡检。旧源码保存在Linux /opt/investment-data/archive-recent-20261112，历史研究和数据未删除。
正式行数据只查询/写入明确近期窗口；最多读取一个前序有效收盘作边界检查。发现历史价格或复权修订时，不自动重抓或拼接，把原响应和近期观测保存在raw_responses/recent_observations并标记canonical暂缓。此次实际无canonical写入异常。
StockAnalysis公共页面没有已验证的日期范围参数，近期入口不会为第三源拉额外50日页面；若其为唯一剩余来源则明确未完成，不能伪装已查。

硬截止
run_daily独立监督worker进程组，首轮不超过300秒，总截止不超过同一请求起点600秒，并接受更早的绝对截止。HTTP、信号量、SQLite执行和Windows SSH等待传递剩余预算。超时杀死并回收worker进程组，保存已完成/待完成和实际发出的请求日志，不留后台继续跑。
失败后的诊断/修正再试必须沿用原--deadline-epoch；本次78秒已遍历完55标的，剩余是外汇口径不足，非超时。未对同一不可比参考源盲目重试，也未以增加预算或放宽容差追求55/55。

真实55标的验证
请求范围2026-11-05至2026-11-11，按各市场已经完成的交易日比较。
整批实际运行78.46970582秒，55个标的都有结果，pending为空；53个price_confirmed、2个unresolved，因此success=false，不能说55/55全部验证通过。
请求计数：Yahoo55、Nasdaq46、腾讯5、搜狐5、Coinbase2、ECB2、加拿大央行2，总计117。未调用EODHD或收费接口。
48个标的首备源一致后即停止。5个国内ETF因Yahoo当次11月11日有效数据不足而升级；腾讯与搜狐在窗口内一致。没有请求其余美股/加密备源。
所有55个标的请求日期内available_dates无缺口；但CNY=X、JPY=X只有ECB定盘和BoC日均参考，无法与Yahoo收盘同口径认证。这两项保留未完成，未采购/引入未经验证的新源。
本次价格确认不改变之前TLT/BIL公司行动遗漏和C6独立研究调整版本的结论。

测试、部署和停止状态
本机及Linux五项针对性测试通过：缺失/冲突拒绝、一致短路、失败升级、截止后零请求、300/600预算计算。
真实短截止测试确认worker进程组被杀死并回收，返回incomplete、success=false，未发出网络请求；未以等待完整300秒做阻塞压力测试。实时请求统计在recent-attempts-<pipeline_id>.jsonl，含请求启动和完成，超时也可保留真实请求数。
真实运行后无残留run_daily --worker进程。采集service为failed是两项未确认导致非零退出的如实结果，不是后台仍运行；health和repair服务inactive。三者Restart=no，三个timer均disabled，未重启健康服务。
实际运行核心recent_fetch/run_daily/update_daily字节与最终部署一致；最后补上的collector/resilience旧旁路保护未重新跑全池，Linux定向测试通过，部署哈希已封存。

证据
实际55标的结果.json：逐标的、日期、逐源请求/升级原因/缺失冲突及入库结果。
最终部署与截止清理验证.json：最终代码SHA256、测试结果、截止清理、停止/调度状态。
部署与测试.txt：首次部署及Linux测试。
deployment-final.zip：本次修改后的源码包，文件索引与验收.json保存指纹。

未完成
2项外汇的同口径备源认证；没有把参考定盘价强认作收盘备源。真实网络阻塞时的完整300秒压力场景未另跑。后续明确授权的历史任务仍须单独给定范围；旧full模式只为显式历史维护保留，不作为日常入口。
