3203574b6a
fix(HEL-562): 人气榜批内已合并重复键不再硬失败
...
扩展软数据集(popularity 等)在 staging 已按业务键去重后,
quality gate 仍把原始抓取的 duplicate keys 记为 hard_fail,
导致 20260915 人气榜 integrity_gate 拒发。现降为 warning(soft_fail/
degraded 仍可发布),核心七类与 moneyflow/auction 判重口径不变。
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-09-15 23:21:25 +08:00
78931f9c42
restore main tree to deployed 3bafd30 (HEL-529 校准)
...
Revert the full revert 6f99ee9 so main's tree content is byte-identical
to 3bafd30 , which is the commit currently deployed and healthy on the
8766 xiaobai-datahub container (image hel531-3bafd30). No history
rewrite, no force push; this is a normal forward commit on top of main.
Co-authored-by: multica-agent <github@multica.ai >
2026-09-15 15:03:14 +08:00
leefer and multica-agent
6f99ee9d9e
revert 3bafd30aad
...
revert feat(HEL-529): 按定稿100%重做三页数据中枢 + 数据修正1-5
视觉:admin/app.js 按已确认打样 hub-kimi.html 逐行重写三页 DOM 与动效
(sparkline/缓存年龄秒增/延迟变化闪烁/EVENT TAPE 预装滚动/分组接口表/
更新频率列/时钟冒号 blink/雷达 blip),CSS 补真实调用脉冲 node-ping。
数据修正:
1) pipeline._stage 批内按暂存表业务键确定性去重(保留最后一条),
修复人气榜/龙虎榜自 09-07 起每日 UNIQUE constraint 落库失败;
2) overview.anomalies 收敛为「最新批次未成功且当日未发布」的当前异常,
历史已恢复批次留在审计明细;
3) source_catalog 接口补真实批次分组 + 观测 join(接口名或数据集名
双向匹配,标注 observed/observed_basis),消除「全部未配置/0/30」误报;
4) lineage 逐数据集按其服务接口过滤健康行(接口级状态),
provisional 已配置无观测显示「已配置 · 待观测」,仅 iFinD 为未配置;
5) lineage 补 update_freq 真实频率字段。
测试:新增 tests/test_hel529_rework.py(8 项),全套 191 项通过
(1 项环境依赖失败在基线 d9358ab 上同样复现,与本改动无关)。
Co-authored-by: multica-agent <github@multica.ai >
2026-09-15 09:34:59 +08:00
施工员2号 and multica-agent
3bafd30aad
feat(HEL-529): 按定稿100%重做三页数据中枢 + 数据修正1-5
...
视觉:admin/app.js 按已确认打样 hub-kimi.html 逐行重写三页 DOM 与动效
(sparkline/缓存年龄秒增/延迟变化闪烁/EVENT TAPE 预装滚动/分组接口表/
更新频率列/时钟冒号 blink/雷达 blip),CSS 补真实调用脉冲 node-ping。
数据修正:
1) pipeline._stage 批内按暂存表业务键确定性去重(保留最后一条),
修复人气榜/龙虎榜自 09-07 起每日 UNIQUE constraint 落库失败;
2) overview.anomalies 收敛为「最新批次未成功且当日未发布」的当前异常,
历史已恢复批次留在审计明细;
3) source_catalog 接口补真实批次分组 + 观测 join(接口名或数据集名
双向匹配,标注 observed/observed_basis),消除「全部未配置/0/30」误报;
4) lineage 逐数据集按其服务接口过滤健康行(接口级状态),
provisional 已配置无观测显示「已配置 · 待观测」,仅 iFinD 为未配置;
5) lineage 补 update_freq 真实频率字段。
测试:新增 tests/test_hel529_rework.py(8 项),全套 191 项通过
(1 项环境依赖失败在基线 d9358ab 上同样复现,与本改动无关)。
Co-authored-by: multica-agent <github@multica.ai >
2026-09-15 08:57:29 +08:00
ad70d8fccc
HEL-543: add data hub observability side-channel (provider status, source catalog, lineage)
...
- New provider_call_log/provider_health tables (additive-only schema),
wired via a fail-open observability.observe()/record_call() helper.
- Tushare pipeline keeps its existing src_calls record unchanged and now
also feeds the unified provider_health/provider_call_log side channel.
- Eastmoney/Tencent realtime_serve.py call sites and the iFinD steward
call site are wrapped with observability.observe() at the call site
only; no adapter internals, routing, fallback order, or return values
are touched.
- New read-only admin API endpoints: /admin/api/providers/status,
/admin/api/source-catalog, /admin/api/lineage,
/admin/api/lineage/affected.
- New static, read-only source_catalog.py and lineage.py registries
documenting existing providers/interfaces/datasets and known
main-site consumers (cited against backend/features/screener and
backend/features/heaven call sites).
- provider_call_log is purged by the existing pipeline.cleanup() job
alongside src_calls/job_runs.
- 47 new unit/integration tests covering classification, fail-open
behavior under DB/log failures, unchanged payloads/exceptions on
success and failure paths, and the new HTTP endpoints. Full suite:
173 tests, all green.
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-09-14 18:34:59 +08:00
总管 and multica-agent
41f8509a98
fix(HEL-494): retry incomplete sector publications
...
Co-authored-by: multica-agent <github@multica.ai >
2026-09-09 00:46:18 +08:00
3e828b346c
fix(HEL-494): 修复个股缺失指标、问天遮罩、四爻外显并回补250日K
...
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-09-08 16:26:13 +08:00
c8a9376adb
fix(HEL-490): 真实装配接通中枢并收编估值晚间复核
...
把 query/行情钩子绑到内层 TushareClient,图表接受不完整日K窗口;收编现网 HEL-423 未提交的估值复核,避免换版丢掉。
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-09-08 15:03:34 +08:00
605f97e5df
feat(HEL-463): 接入剩余行情数据到 datahub
...
扩展盘后正式集(涨跌停/人气/龙虎榜/板块日线)与盘中观察 API(报价/指数/分时),网站 bridge 按开关接入并回退旧链路;问天改为按数据依赖跟随开关,不再整栈强制旧路径。
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-09-05 17:30:58 +08:00
16ba83ec01
fix(HEL-461): 切换事务失败写入 release-group 审计日志
...
整组切换中断时除回滚与废弃批次外,同步记录
action=release-group 的失败审计,便于后台追踪。
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-09-05 16:02:11 +08:00
75c2e33b68
fix(HEL-461): CLI/后台强制重发改为整组边界切换
...
eod-refresh --force 与管理后台补数不再单数据集发布,
统一走 force_republish_boundary,避免绕过 A/B 完整边界。
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-09-05 11:26:27 +08:00
32f565ecb9
fix(HEL-461): 整批发布按完整边界重暂存,主档与快照同事务
...
边界内任有缺失则整组重暂存后统一切换,避免旧新批次混发;
refresh_stocks 失败时主档保持旧值,并补齐回归测试。
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-09-05 08:52:50 +08:00
16841e9ae3
fix(HEL-459): 影子比较按请求字段投影,盘后整批原子发布
...
比较侧只对网站本次请求字段计业务差异,忽略数据中枢额外列;
盘后 A/B/重发改为先整批暂存与交叉校验,再单事务切换公开版本。
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-09-05 08:39:31 +08:00
multica-agent and multica-agent
bed6450992
feat(HEL-457): 估值字段级质量门、股票主档每日发布和资金流历史回补
...
- field_gates 按数据集配置关键字段非空率下限/非有限比例/相对上一批次的塌陷保护,
字段大面积为空的批次拒发并保留上一正式批次,可读失败原因入 batches.error
- 股票主档交易日 20:00/23:10 自动刷新并发布版本化快照(eod_stocks + publications),
覆盖新上市/简称变化/N前缀摘除;/v1/stocks 携带 batch_id/published_at,无变化跳过
- moneyflow 历史回补(默认 60 交易日,跳过已发布日期);未发布点查返回
available_from/available_to 与 history_not_backfilled 标记,缺失不再静默
- eod-refresh 新增 --force --dataset 安全重发(仍走全部质量门,上一批次可回滚)
- 保持 HEL-435 盘后重试机制;新增 22 项测试覆盖字段拒发/正常通过/旧批保留/
主档新增改名/资金流覆盖/重复执行幂等
Co-authored-by: multica-agent <github@multica.ai >
2026-09-04 21:36:20 +08:00
总工 and multica-agent
c9892050c3
feat(HEL-435): 盘后未出数时晚间自动重试并提供安全补跑
...
Co-authored-by: multica-agent <github@multica.ai >
2026-09-03 22:30:15 +08:00
a836cda1b2
feat(HEL-421): 回补历史日历和指数并标记区间不完整
...
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-09-02 22:16:05 +08:00
f5dc0f8076
fix(HEL-396): 禁止空数据批次冒充正式发布
...
统一发布入口在有效行数为 0 时不再写成 published,也不推进正式批次指针。
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-09-02 15:56:29 +08:00
031eefab4d
fix(HEL-386): 清理任务按 ISO 截止时间删除 job_runs/src_calls
...
YYYYMMDD 与 ISO 字符串比较会把同年保留期内记录全部误删。
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-09-02 12:26:09 +08:00
3498dd7a4b
feat(HEL-382): 搭建 datahub 底座和盘后正式数据链路
...
新增独立 xiaobai-datahub 服务(SQLite WAL、Tushare 盘后发布、/v1 契约和管理后台),不改现站页面与数据链路。
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: multica-agent <github@multica.ai >
2026-09-02 12:05:26 +08:00