From ec7959aacc32f939beb998c37df418480279bf4e Mon Sep 17 00:00:00 2001 From: xxiaoxiong Date: Sat, 1 Aug 2026 09:27:49 +0800 Subject: [PATCH] =?UTF-8?q?docs(changelog):=20=E4=B8=8E=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E8=A1=8C=E4=B8=BA=E5=AF=B9=E9=BD=90=20PR=20#2129=20dotted-pref?= =?UTF-8?q?ix=20=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit reviewer 指出当前 Unreleased 条目写着 SH.000999 按 contract #3 降级为该交易所股票候选,但 src/services/stock_list_parser.py 与 tests/test_stock_list_parser.py 已把 SH.000999 / BJ.600519 / HK.600519 / SS.000999 固定为 unsupported,白名单交易所的合法 dotted-prefix(如 sz399001.SZ / sz399006.SZ)才命中 INDEX。 同步修正文案: - invalid base dotted-prefix 不被 strict-suffix 误拒、亦不静默降级为畸形 canonical stock,统一返回 unsupported - 白名单交易所的合法 dotted-prefix(如 sz399001.SZ / sz399006.SZ)才命中 INDEX 非阻断修订,不改代码。 --- docs/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 6c923ba19..5714b2059 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -16,7 +16,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/). - [新功能] 新增按 individual SkillAgent 自身 signal、版本化 engine 与本地已存同源日线窗口计算并持久化 `skill_opinion_outcomes` 的核心服务;本阶段不提供管理员 API、表现统计、样本充足度或权重调整。 - [新功能] STOCK_LIST 解析新增 `parse_analysis_target()` 单条目解析契约,支持 sh/sz/bj/hk/us 前缀校验、裸码默认归股票、未命中前缀降级为股票三段语义;保留现有 `split_stock_list()`/`serialize_stock_list()` 行为不变,并对外暴露 `IndexRegistry`、`AnalysisTarget`、`ParseStatus`、`default_index_registry()` 以便上层注入自定义指数白名单(关联 issue #2063 Phase 1) - [修复] `parse_analysis_target()` 在显式交易所后缀输入被规范化层拒绝时(如 `600519.BJ`、`600000.HK`、`1234567.SH`、`abc.SH`),不再静默改写为 `sh` 或继续走裸码分类导致误判为 US,而是直接返回 `unsupported` 并携带可定位原因;保留 `000300.SH` / `sh000300.SH` 等已知 INDEX alias 的索引命中路径(关闭 PR #2122 review blocker OR-COR-607f1395 / OR-COR-26596201 / OR-COR-d6afd0d6) -- [修复] `parse_analysis_target()` 收敛显式交易所后缀输入的 3 个新 correctness blocker:畸形混合 alias(如 `sh0x00300.SH`)不再被数字过滤后重建为已注册指数;dotted-prefix 形态(如 `SH.000999`)按 contract #3 降级为该交易所股票候选,不再误走 strict-suffix reject;外盘半显式 suffix(.T/.KS/.KQ/.TW/.TWO)非法 base 不再静默回退到 US stock,而是返回 `unsupported` 并标记外盘 suffix(关闭 PR #2129 review blocker OR-COR-d83a3580 / OR-COR-b3e32200 / OR-COR-e21e9de5) +- [修复] `parse_analysis_target()` 收敛显式交易所后缀输入的 3 个新 correctness blocker:畸形混合 alias(如 `sh0x00300.SH`)不再被数字过滤后重建为已注册指数;dotted-prefix 形态(如 `SH.000999`)在 invalid base 时不被 strict-suffix 误拒,亦不静默降级为畸形 canonical stock,统一返回 `unsupported`(白名单交易所的合法 alias 通过 `sz399001.SZ` / `sz399006.SZ` 等命中 INDEX);外盘半显式 suffix(.T/.KS/.KQ/.TW/.TWO)非法 base 不再静默回退到 US stock,而是返回 `unsupported` 并标记外盘 suffix(关闭 PR #2129 review blocker OR-COR-d83a3580 / OR-COR-b3e32200 / OR-COR-e21e9de5) - [修复] 本地 CLI 的 `stdout_preview` / `stderr_preview` 按环境变量、JSON、YAML/日志标量与 URL 的独立契约脱敏短凭证,避免小于 32 字符的 API key、secret 或 token 进入诊断;普通字段仅按敏感名称判定,未加引号的 YAML 敏感标量则 fail-closed 脱敏至行尾(refs #1784)。