docs(data): spec§18.9 实施记录——四项偏差+可自主验收项全部实证入档 [nas]
CI/CD / test (push) Failing after 0s
CI/CD / nas-deploy (push) Has been skipped
CI/CD / nas-verify (push) Has been skipped

T1/T2/T4/T5+T6 可自主项(主容器restart免疫/docker stop断点续跑/锁让路/
容量闸门真卷演练/verify PASS)入档;四项实测倒逼偏差(szse_stock.json池/
flock跨容器锁/业绩快报标题谓词/年序新→旧);待数据累积项与运维要点留痕
This commit is contained in:
2026-09-07 02:46:47 +08:00
parent 308d4931e3
commit aefa341cc9
@@ -644,6 +644,41 @@ NAS 其余=数值副本(sync 链产物)+大体积历史(minute_kline/ 2.1G=cfdai
Mac=开发 fixture 无生产数据。corpus 不是第三种根——就是既有 `/volume1/stock` 数据根下的
新子目录,与 CLAUDE.md「NAS 部署目录」表一致。
### 18.9 实施记录(2026-09-06/07 开工夜,T1/T2/T4/T5+T6 可自主项已验)
commit 链 62a3a65→308d493(全 [nas],CI 绿,终版已部署 NAS /app)。两 lane 真数据冒烟
rc=0: daily 431s/205 unit(news +100×2 股、全文 199 篇均值 3584 字、复合键零重、
--limit 零 marker);backfill 13s/8 unit(①2026 层真公告 59+125、④真 PDF 1.09MB+索引)。
verify_corpus.py(只读验收器,晨检一条命令)真数据 PASS:三域 dups=0、账本=唯一键数、
PDF 索引=文件数。文件全 admin 属主;容器时区 CST 与 NAS 对齐。
**与 §18.3 字面的四项实施偏差(均为实测倒逼,语义不劣化)**:
1. 股票池源=巨潮 `szse_stock.json`(6247 含退市 000003+北交 920001→A 前缀过滤 6168),
非 NAS 副本库 distinct symbol——orgId 是按股查询硬前提且退市覆盖实测更全。
2. 单实例锁=flock(非 5m 的 pid 活性同款)——docker run --rm 各容器独立 PID namespace,
pid 检测跨容器失效;flock 内核级经 bind mount 同 inode 跨容器互斥,进程死自动释放
无陈旧锁(让路契约同款,实测二实例 EXIT=3)。
3. 业绩快报无服务端类别码(category_yjkb_* 无效码被服务端**静默忽略返回全量**,官方
history-notice.js 码表无此项,单股对照实测)——PDF 六类=五服务端码+客户端标题谓词
「业绩快报」(announcementType 数字码 012111 仅作参考);announcementTypeName 恒 null,
ann_meta.ann_type 存原始数字码串。
4. backfill ①年序=新→旧(字面「2000→今」与 §18.7「回补~1周后即可供 factor」自相矛盾,
翻转后 day1 即近年数据;全量完结不受影响)。
**§18.5 验收进度**: 5/5b/6 已过——主容器 restart 期间 corpus 容器存活且 marker 在涨
(实测);docker stop 断点冻结 27 unit→重启从 000028_2026 精确接续零重拉(实测);单实例
锁二实例让路 EXIT=3(实测);容量闸门真卷演练(临时阈值 99999G>free 644G→段首暂停
零下载+capacity_paused.json,工件即清);测试 270 绿+CI 绿。**待数据累积后补**:
验收 1(5 股抽查)/2(600519 2001 起)/3(news 2023-09 硬顶)/4(PDF 抽 20 份)+限速
合规 stats 复核——依赖 DSM 任务注册后数日运行。
**运维要点**: wrapper=repo `scripts/nas_sync/run_corpus_standalone.sh`→NAS `/volume1/
stock/corpus/run_corpus.sh`(scp -O 手动同步);容器必带 `--user 1024:100 --group-add 101`
(Synology ACL 只授权 administrators 组,漏组=Permission denied)+`--name sanguo-corpus`
(杀=docker stop);东财 search-api 无 UA 返 200 空 body(全 fetcher 统一带 UA);
--until 语义=完成当前 unit 后停(首 unit 必跑);day-1 全文洪峰由 daily --until 10:30
墙钟+backfill ③账本反扫兜底。
## 参考(调查来源)
- xtdata 官方:https://dict.thinktrader.net/nativeApi/xtdata.html