Commit Graph

791 Commits

Author SHA1 Message Date
mumu
0ab94a8c3e fix: support KR stock autocomplete suggestions (#1723)
* fix: support KR stock autocomplete suggestions

* fix(review-feedback-1723): 补充自动补全 JP/KR 建议渲染截图、前后对比或无法截图说明

* fix(review-feedback-1723): 补充 Web 自动补全 JP/KR 建议渲染的截图或无法截图说明

* fix(review-feedback-1723): docs/review-evidence-kr-autocomplete-ui.md 是针对本 PR

* fix(review-feedback-1723): 修正 PR 描述与当前 head 的实际改动、验证范围不一致问题

* fix(review-feedback-1723): 修正 PR 描述与当前 diff 的实质性不一致,避免合入记录误导后续维护者

* fix(review-feedback-1723): 收敛 PR 描述与实际 diff 的契约不一致,避免用户误以为裸 005930 已会解析为 005930.KS

* fix(review-feedback-1723): 把描述、验证证据和兼容性说明收敛到当前 6 个改动文件真实范围,或补齐描述中声称的后端/历史链路实现与测试

* fix(review-feedback-1723): 收敛 PR 描述与实际 diff,避免把未实现的 bare-code/历史展示能力作为本 PR 已交付内容合入

* fix(review-feedback-1723): 补上相应真实代码与测试后再审

* fix(review-feedback-1723): 补齐所声称的后端实现与测试后再评审

* fix(review-feedback-1723): PR description 与当前完整 diff 不一致:描述声称新增 bare JP/KR code

* fix(review-feedback-1723): PR 描述与当前完整 diff 不一致

* fix(review-feedback-1723): 补充 Refs 1718,方便后续追踪

* fix(review-feedback-1723): 收敛描述与验证证据

* fix: resolve JP KR bare stock codes

* fix: backfill JP KR daily analysis context

* fix(review-feedback-1723): preserve persisted phase timing

* fix: align JP KR history lookup keys

* fix(review-feedback-1723): preserve raw code for snapshot lookups

* fix(review-feedback-1723): 收敛
2026-06-20 10:39:40 +08:00
Alfred
bc673b0ddb docs: close out decision signal p7 (#1727) 2026-06-20 10:37:35 +08:00
Alfred
dda5269123 fix: address P6 signal linkage gaps (#1724) 2026-06-19 23:04:52 +08:00
mumu
ec6c8fbbcf fix: support JP/KR web autocomplete (#1721) 2026-06-19 13:34:21 +08:00
mumu
9ea2dab7ad fix: backfill report decision signals (#1719)
* fix: backfill report decision signals

* fix(review-feedback-1719): 确认并修复“不明确建议”可能被默认回填成 hold 信号的正确性风险 and persist the report date in

* fix(review-feedback-1719): 修复 legacy decision type 被当作明确 action 导致误回填的问题

* fix(review-feedback-1719): Prevent stale backfills from staying active

* fix(review-feedback-1719): anchor the same metadata-based TTL that default expires at uses to the

* fix(review-feedback-1719): 修复或明确处理懒回填时间锚点的时区/时间域不一致风险
2026-06-19 13:26:52 +08:00
mumu
e49301a79f feat: 支持日本/韩国 suffix-only 个股分析 (#1720)
* feat: support JP/KR suffix stock analysis

* fix(review-feedback-1720): 解决冲突后再合入
2026-06-19 11:59:59 +08:00
Alfred
cc98a26cf1 feat: add legacy message stability audit (#1716) 2026-06-19 09:44:09 +08:00
Alfred
a7876fe11c feat: link decision signals with alerts and portfolio risk (#1715)
Co-authored-by: mumu <42829555+ZhuLinsen@users.noreply.github.com>
2026-06-19 09:43:40 +08:00
mumu
626b63c144 feat: feed intelligence sources into analysis contexts (#1709)
* feat: add intelligence source ingestion baseline

* feat: feed local intelligence into analysis contexts

* fix(review-feedback-1708): Reject DNS names that resolve privately and Validate redirect targets

* fix(review-feedback-1709): 处理大盘复盘本地资讯可能被搜索结果截断掉的问题,并澄清结构化检测到的外部模型/API 或运行时配置风险是否为真实变更

* fix(review-feedback-1708): Pin DNS resolution before fetching and Stream feeds before enforcing

* fix(review-feedback-1709): filter by published at for analysis evidence, or keep missing publish

* fix(review-feedback-1708): Sanitize fetch errors before returning them and Normalize nullable

* fix(review-feedback-1709): Normalize symbol scope before lookup

* fix(review-feedback-1708): Avoid rolling back prior item inserts on duplicate races and Reject

* fix(review-feedback-1709): Use the effective news window for local evidence and add the plain

* fix(review-feedback-1708): 落地可配置 RSS/Atom 情报源、存储、查询、retention 和基础安全边界

* fix(review-feedback-1709): 补充“revert 本 PR 或移除本地资讯接入入口/清退本地资讯源配置数据”级别说明即可

* fix(review-feedback-1708): 落地 RSS/Atom 情报源的存储、拉取、查询、retention 和基础安全边界

* fix(review-feedback-1709): 补 Refs 1707

* fix(review-feedback-1709): 解决冲突后再合入

* fix(review-feedback-1709): src/services/intelligence service.py 回退了资讯源 URL 安全防护:移除了 hostname DNS

* fix: harden intelligence source ingestion

* fix(review-feedback-1709): Sanitize upstream fetch errors before returning them

* feat: add NewsNow intelligence sources

* fix(review-feedback-1709): 确认并修复

* fix(review-feedback-1709): 补一个未命中敏感规则的异常回归测试

* fix(review-feedback-1709): 处理

* docs: enhance NEWSNOW_BASE_URL compatibility guidance with official links

- Add official NewsNow GitHub deployment guide link to .env.example
- Include curl-based API contract verification example for production validation
- Update CHANGELOG.md with official repository reference and deployment recommendation
- Clarify risk of public example instance and necessity for self-hosted in production
- All HTTP 500 responses already use sanitize_diagnostic_text for privacy

Ref #1707
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix(review-feedback-1709): 补齐官方 NewsNow 实例链接文档或 API 契约确认,明确指出公开实例风险(需结合当前部署指南文档,更新 .env.example

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-19 09:42:42 +08:00
mumu
0ed601022f fix: 升级 AlphaSift 并兼容热点详情龙头股字段 (#1714)
* fix: update AlphaSift pin and hotspot detail fields

* fix(review-feedback-1714): fix still returning no concept stocks despite the leaders being
2026-06-19 09:28:32 +08:00
mumu
cd37608506 feat: add intelligence source ingestion baseline (#1708)
* feat: add intelligence source ingestion baseline

* fix(review-feedback-1708): Reject DNS names that resolve privately and Validate redirect targets

* fix(review-feedback-1708): Pin DNS resolution before fetching and Stream feeds before enforcing

* fix(review-feedback-1708): Sanitize fetch errors before returning them and Normalize nullable

* fix(review-feedback-1708): Avoid rolling back prior item inserts on duplicate races and Reject

* fix(review-feedback-1708): 落地可配置 RSS/Atom 情报源、存储、查询、retention 和基础安全边界

* fix(review-feedback-1708): 落地 RSS/Atom 情报源的存储、拉取、查询、retention 和基础安全边界
2026-06-18 21:43:33 +08:00
mumu
689a69df79 feat: 在移动端问股页面将策略勾选区域改为可收缩显示,减少对对话内容的遮挡… (#1646) (#1697)
* feat(issue-1646): [feature]-建议调整下移动问股页面的布局

* fix(review-feedback-1697): 补齐移动端问股页面的截图/前后对比或等价可视证据,并同步 PR 描述中的前端验证结论

* fix(review-feedback-1697): PR 描述缺少移动端问股页变更截图或等价可视证据

* fix(review-feedback-1697): apps/dsa-web/src/pages/ChatPage.tsx 引入移动端策略选择默认收起/展开,这是用户可见 Web UI 变化

* fix(review-feedback-1697): apps/dsa-web/src/pages/ChatPage.tsx 改动了问股页移动端可见交互,PR

* fix(review-feedback-1697): apps/dsa-web/src/pages/ChatPage.tsx 改动了问股页移动端可见交互,但 PR

* fix(review-feedback-1697): docs/CHANGELOG.md 新增了“如截图不可获取,替代可视证据见测试用例”这类 PR 验收/审查过程说明
2026-06-18 21:23:46 +08:00
Alfred
1f9ce289d2 feat: 新增 DecisionSignal 反馈、后验验证与统计 P5 (#1710)
* feat: add decision signal outcomes and feedback

* fix: align outcome filters and retry rotation
2026-06-18 21:23:11 +08:00
Alfred
ee14c3972f feat: add decision signal web surfaces (#1703) 2026-06-17 18:47:57 +08:00
Alfred
4fa81a421c feat: add legacy LLM usage telemetry (#1698) 2026-06-17 18:46:01 +08:00
Amorend
ef7264f76a feat: add token usage dashboard (#1667)
* feat: add token usage dashboard

* fix: correct usage metadata inference

* refactor: scope token usage dashboard

* fix: guard token usage period refresh

* fix: polish token usage dashboard i18n

---------

Co-authored-by: knight0940 <evilgenius0256@gmail.com>
Co-authored-by: zhulinsen <zhuls97@163.com>
2026-06-15 22:33:01 +08:00
Alfred
c0321de3f5 feat: 补齐 #1390 P3 决策信号生命周期与去重 (#1692)
* Implement decision signal lifecycle deduplication

* Fix API router prefix compatibility

* Fix null decision signal expiry defaults
2026-06-15 20:32:54 +08:00
mumu
e126c7913a fix: 增强 AlphaSift 热点题材缓存回退 (#1691)
* fix: harden alphasift hotspot fallback

* fix(review-feedback-1691): either copy directories recursively or enumerate the cache files and

* fix: address alphasift hotspot review feedback

* fix(review-feedback-1691): route the migration through the new recursive helper or explicitly and

* fix(review-feedback-1691): only use the new friendly refresh-failure message here, or localize
2026-06-14 20:35:10 +08:00
mumu
3b5ef16144 feat: harden AlphaSift data source routing (#1680)
* feat: harden alphasift data source routing

* fix(review-feedback-1680): Keep the sample AlphaSift pin in sync and Avoid circuit-breaking

* fix(review-feedback-1680): Defer half-open health checks until a source is attempted and Treat

* fix(review-feedback-1680): fix only bypasses this branch for fetchers that opt into allow empty

* fix(review-feedback-1680): Avoid accepting truncated Tencent histories

* fix(review-feedback-1680): 修正 .env.example 的 AlphaSift 快照源默认说明,并避免在 docs/CHANGELOG.md

* fix(review-feedback-1680): src/config.py、src/services/alphasift service.py

* fix(review-feedback-1680): requirements.txt、src/config.py、.env.example、src/services/alphasift

* fix(review-feedback-1680): 修复 TencentFetcher 对显式历史窗口的处理问题

* fix(review-feedback-1680): Check the cap was hit before rejecting Tencent history

* fix(review-feedback-1680): Use Tencent's hyphenated date format and Convert Tencent daily volume

* fix(review-feedback-1680): Accept the executor timeout argument and preserve capped windows with

* fix: limit empty daily data opt-in behavior

* docs: restore AlphaSift 3.22 changelog entry
2026-06-14 18:47:41 +08:00
Alfred
6d4c93d2b7 feat: extract decision signals from analysis reports (#1686) 2026-06-14 18:26:30 +08:00
LouisHong
145ee6b5a5 fix: [issue #1652] stabilize run-flow live states and layout polish (#1682)
* fix: polish run-flow topology layout and i18n

* fix: prevent task panel layout squeeze

* test: update run flow frontend coverage

* fix: isolate market context run flow

* fix: handle completed task flow refresh

* feat: show running run-flow nodes

* fix: show chip provider runs in flow

* fix: stabilize stock run flow live updates

* fix: refine run-flow history lookup and spacing

* fix: update run-flow edge states and layout gaps

* fix: polish run-flow task panel text
2026-06-14 17:57:16 +08:00
mumu
b9f5989a21 fix(issue-1683): [bug]-发布说明生成在作者查询失败时缺少诊断日志 (#1684) 2026-06-14 17:55:52 +08:00
ZhuLinsen
02ca95efd1 ci: simplify release notes generation 2026-06-13 19:27:14 +08:00
ZhuLinsen
7afbc33e0c docs: prepare v3.22.0 changelog v3.22.0 2026-06-13 19:01:57 +08:00
mumu
a81dc3b4af fix: optimize alphasift hotspot details (#1677) 2026-06-13 18:57:43 +08:00
mumu
89fab774f6 fix: 过滤低质量股票新闻结果 (#1674)
* fix: filter low-quality stock news results

* fix: filter adult spam news results

* fix(review-feedback-1674): Require content evidence before dropping URL-only hits and Match

* fix(review-feedback-1674): Move admission filtering before dimension limiting

* fix(review-feedback-1674): Match app/download terms as tokens before filtering

* fix(review-feedback-1674): Recognize Chinese numeric ratings in app-page filter

* fix(review-feedback-1674): 收敛后再合入

* fix(review-feedback-1674): 收敛后再合入

* fix: tighten stock news admission signals

* fix: narrow noisy news admission heuristics

* fix: handle app metric news admission

* fix: require context for app listing spam

* fix: preserve app metric news results

* fix: require strong app spam evidence

* fix: honor official source labels

* fix: preserve official labels and app metrics

* fix: detect separated adult contact ids

* fix: preserve app metrics and service news

* fix: match alphanumeric adult contacts

* fix: require adult spam solicitation signals

* fix: preserve neutral mobile app metrics

* fix: reduce app and adult false positives
2026-06-13 15:19:44 +08:00
mumu
3902670f02 docs: add README tutorial links (#1676) 2026-06-13 15:19:04 +08:00
mumu
ecc370e50b feat: adapt AlphaSift hotspot contract (#1675)
* feat: adapt alphasift hotspot contract

* fix(review-feedback-1675): update sample install spec with new allowed pin

* fix(review-feedback-1675): 补充 “revert 本 PR / 恢复旧 AlphaSift pin” 级别的回滚说明,并明确无关联 issue 或补充 Refs

* fix: harden alphasift hotspot metadata migration

* fix(review-feedback-1675): preserve hotspot route events in the new detail path

* fix(review-feedback-1675): 修正旧 AlphaSift pin 回滚/重装路径说明,避免运维按文档操作时被 install allow-list 拒绝

* fix(review-feedback-1675): src/services/alphasift service.py:当 AlphaSift v2 detail payload

* fix(review-feedback-1675): 补对应回归测试
2026-06-13 14:46:18 +08:00
mumu
a82ae51ca8 feat: enable daily market context by default (#1673) 2026-06-13 10:58:18 +08:00
mumu
716128d1d2 fix: avoid live AlphaSift hotspot import on cache miss (#1671) 2026-06-13 10:34:07 +08:00
LouisHong
65d698b970 feat: [issue #1652] improve run-flow topology drilldown (#1657)
* feat: improve run-flow topology model and drilldown

* fix: tighten run-flow topology review handling

* fix: prevent live run-flow reverse provider edges
2026-06-13 10:33:40 +08:00
mumu
0db0c78da8 feat: 个股分析接入当日大盘上下文 (#1623)
* feat: add daily market context for stock analysis

* fix(review-feedback-1623): Share the market context service across worker threads and Use the

* fix(review-feedback-1623): Avoid overwriting per-region context reports and Expand history lookup

* fix(review-feedback-1623): add position even though the guardrail supposedly softened the

* fix(review-feedback-1623): Avoid generating the CLI market review twice

* fix(review-feedback-1623): 修正

* fix(review-feedback-1623): 修复普通 CLI/调度运行中大盘复盘被上下文预热摘要替代的问题,并收敛 PR 描述与当前实现范围

* fix(review-feedback-1623): 修正保守护栏的误判风险,并同步收敛 PR 描述范围

* fix(review-feedback-1623): 处理并发生成大盘上下文的锁语义风险,并澄清/补充外部模型或运行时配置风险检测的依据

* fix(review-feedback-1623): 收敛大盘上下文预热对用户可见大盘复盘的行为影响,并补齐外部模型/API 与运行时配置检测风险的澄清或验证证据

* fix(review-feedback-1623): Do not skip multi-market reviews after one cached context and Do not

* fix(review-feedback-1623): Prime context with the effective trading date

* fix(review-feedback-1623): 收敛 PR 描述与实际 diff 的范围不一致,并澄清结构化检测提示的 provider/model/base

* fix(review-feedback-1623): 补一句“本 PR 不修改 LLM provider/model/base url、默认模型、配置清理或迁移逻辑”,避免后续审查继续误判

* fix(review-feedback-1623): 收敛 PR 描述与实际 diff 的范围矛盾

* fix(review-feedback-1623): 补齐这些承诺的实现

* fix(review-feedback-1623): 收敛 PR 描述与实际 diff 范围,避免以未实现能力作为验收项

* fix(review-feedback-1623): 收敛 PR 描述与实际范围,并澄清外部模型/API 与运行时配置检测风险

* fix(review-feedback-1623): Match freshly saved reviews to the target trade date

* fix(review-feedback-1623): preserve structured market-light risk signals

* fix(review-feedback-1623): Escape market-summary sentinels before prompting

* fix(review-feedback-1623): 修复同日缓存复用时把低敏摘要当完整大盘复盘输出的行为风险,并收敛 PR 描述与实际 diff

* fix(review-feedback-1623): 收敛

* fix(review-feedback-1623): 收敛 PR 描述与实际 scope

* fix(review-feedback-1623): 修正大盘复盘复用语义,并让 PR 描述与实际 scope 对齐

* fix(review-feedback-1623): 修正同日大盘上下文缓存复用语义,并让 PR 描述与实际 scope 对齐

* fix(review-feedback-1623): Disable cached market context when skipping market review

* fix(review-feedback-1623): 收敛 PR 描述与实际 scope,并补充外部模型/API 与运行时配置语义未变化的可核验证据

* fix(review-feedback-1623): 修正 PR 描述与实际 scope 的实质性不一致,并补齐或澄清 LLM/provider/model/base URL

* fix(review-feedback-1623): 修正 operation advice 契约漂移,并让 PR 描述/验收范围与当前实际 diff 对齐

* fix(review-feedback-1623): 收敛 main.py 中大盘复盘复用导致的通知/执行语义变化,并补对应回归测试

* fix(review-feedback-1623): 修复生成型大盘上下文未绑定当前 query id 的行为风险,并收敛 PR body 与实际 diff 范围

* fix(review-feedback-1623): 修复缓存语言匹配问题,并收敛 PR 描述与实际 diff/验收范围的一致性

* fix(review-feedback-1623): 收敛当前实现与描述/文档中的验收边界,并澄清 schedule/CLI 首次运行无历史大盘复盘时是否应生成并注入上下文

* fix(review-feedback-1623): 收敛 PR 描述与 docs/CHANGELOG.md 中关于验收边界的表述,避免与实际 diff 实质性矛盾

* fix(review-feedback-1623): 修正 PR 描述与实际 diff 的范围漂移

* fix(review-feedback-1623): Reuse the cached runtime market context on fallback

* fix(review-feedback-1623): PR 描述:当前完整改动文件列表没有 api/ 、apps/dsa-web/ 、日报状态表或四阶段日报持久化相关实现,但 PR

* fix(review-feedback-1623): 收敛描述范围

* fix(review-feedback-1623): 收敛并发生成复用路径的正确性风险,并修正 PR 描述的实际范围与验收项

* fix(review-feedback-1623): 收敛描述和验收范围

* fix(review-feedback-1623): PR 描述的 Background / Acceptance Criteria 仍包含独立 API、Web

* fix(review-feedback-1623): 收敛 PR 描述与实际实现边界,并补齐 LLM/provider/base url 相关兼容性说明或验证证据

* fix(review-feedback-1623): PR 描述与实际 diff 范围不一致:描述和验收项仍写有独立 API、Web

* fix(review-feedback-1623): Wait long enough for in-flight market reviews

* fix(review-feedback-1623): 修复共享 market review lock 释放后仍不生成匹配上下文的行为风险,并同步收敛 PR description 的实际范围

* fix(review-feedback-1623): 修复锁竞争 fallback 下丢失运行时服务的问题,并同步收敛 PR description 与实际 diff 范围

* fix(review-feedback-1623): 收敛 PR description 与实际改动范围

* fix(review-feedback-1623): PR 描述与实际 diff 存在实质性矛盾:描述声称提供独立 API、Web

* fix(review-feedback-1623): reuse runtime market context and handle English negations

* fix: honor daily market context config

* docs: remove unrelated changelog entries

* fix(review-feedback-1623): preserve the skipped market-review artifact

* fix(review-feedback-1623): add low position cap and are not in CONSERVATIVE TEXT MARKERS , so an
2026-06-13 10:33:04 +08:00
mumu
4b3f679b2d feat: adapt AlphaSift hotspot topics (#1635)
* feat: adapt AlphaSift hotspot topics

* fix(review-feedback-1635): preserve cached hotspots when refresh returns no rows and Avoid

* fix(review-feedback-1635): Reload detail when refreshing the selected hotspot and Fall back when

* fix(review-feedback-1635): update by the requested topic or a request token

* fix(review-feedback-1635): preserve analysis when optional serve startup fails and Fall back when

* fix(review-feedback-1635): 当前 CI 状态为 failure,且 backend-gate 为 cancelled、docker-build 为 skipped

* fix(review-feedback-1635): 让 backend-gate / docker-build 在当前 head 上完成并通过,或给出可接受的维护者级豁免说明

* fix(review-feedback-1635): 当前 CI 仍未闭环:结构化事实显示 backend-gate 被取消、docker-build skipped

* fix(review-feedback-1635): 修复 hotspot detail 的上游 schema 容错问题,并让当前 head 的阻断 CI 重新跑通

* fix(review-feedback-1635): docs/CHANGELOG.md:当前 diff 不是在 [Unreleased] 扁平格式下追加本 PR

* fix(review-feedback-1635): CI 闭环未完成:结构化事实显示当前 CI 状态为 failure,backend-gate cancelled、docker-build

* fix(review-feedback-1635): 让当前 head 的阻断型 CI 完整通过,并修正文档中的 AlphaSift commit hash 不一致

* fix(review-feedback-1635): CI 仍未在当前 head 完整通过:结构化事实显示

* fix(review-feedback-1635): 修复 docs/CHANGELOG.md 对主线既有 [Unreleased] 条目的删除,并补齐 AlphaSift

* fix(review-feedback-1635): Accept slash-containing hotspot topics

* fix(review-feedback-1635): Try industry constituents for industry hotspots

* fix(review-feedback-1635): Clear old hotspot details when loading a new topic and preserve the

* test: isolate main schedule environment

* chore: clean AlphaSift PR scope

* fix: respect AlphaSift hotspot fallbacks
2026-06-12 22:38:42 +08:00
LouisHong
efa41e0ada feat: [issue #1652] add live run-flow diagnostics (#1656)
* feat: add live run-flow updates and diagnostics

* feat: update task status filter to include 'cancel_requested'

* feat: enhance run-flow diagnostics and task management with cancel-requested status handling

* fix: stabilize run flow live updates

* fix: align live run-flow review contracts

* fix: sanitize live run-flow events
2026-06-12 20:58:58 +08:00
Alfred
4082c0d012 改进: 补充 #1390 P1 DecisionSignal 前端契约与隔离测试 (#1666)
* feat: add decision signal web contract wrapper

* fix: reject unsupported decision signal latest paths

* fix: tighten decision signal list response contract
2026-06-11 22:13:24 +08:00
LouisHong
f7ac00bda9 feat:[issue #1652] add web run-flow viewer (#1654)
* feat: add web run-flow viewer

* docs: document run-flow web viewer contracts

* fix: add market review run flow entry
2026-06-11 22:08:55 +08:00
LouisHong
fa9d9b0084 feat: [issue #1652] add run-flow snapshot contract and APIs (#1653)
* feat: add run-flow snapshot contract and APIs

* fix: address run-flow contract review notes

---------

Co-authored-by: mumu <42829555+ZhuLinsen@users.noreply.github.com>
2026-06-10 22:50:35 +08:00
volcanoAlbert
f587459ed1 feat: add portfolio account archive action 持仓管理页面添加账户删除功能 (#1647)
* feat: add portfolio account archive action

* fix: exclude archived accounts from risk snapshots
2026-06-10 22:48:08 +08:00
Alfred
ad15ebcec5 feat: 新增 DecisionSignal 持久化 API(#1390 P1) (#1645)
* feat: add decision signal persistence api

Refs #1390

* fix: handle HK decision signal filters without market
2026-06-10 22:46:33 +08:00
Alfred
da274f7061 fix: 锁定问股追问的当前标的上下文 P2 (#1619)
* fix: keep ask-stock follow-ups scoped

* fix: normalize watchlist stock comparisons

* docs: document watchlist stock code equivalence

* fix: tighten ask-stock tool scope guard

* fix: close ask-stock review gaps

* fix: close ask-stock review gaps
2026-06-10 22:45:58 +08:00
LouisHong
4f536026f8 fix: clarify runtime logging context (#1643)
* fix: clarify market review logging context

* docs: update changelog for logging context
2026-06-09 01:08:55 +08:00
Alfred
ff6494b5d7 feat: 新增建议动作 taxonomy 字段边界 P0 (#1631)
* feat: add decision action taxonomy fields

* fix: tighten decision action fallback handling

* fix: align legacy decision action guard fallback

* fix: tighten legacy decision action word boundaries

* fix: align decision action compound parsing

* fix: clean decision action residue

* fix: align web action label contract

* fix: classify avoided sell actions as hold
v3.21.1
2026-06-08 07:24:07 +08:00
mumu
e2fe6e3056 fix: verify packaged AlphaSift adapter at runtime (#1637)
* fix: verify packaged AlphaSift adapter at runtime

* fix(review-feedback-1637): Wait for the windowed probe process

* fix(review-feedback-1637): 收敛 docs/CHANGELOG.md 的范围漂移/描述不一致问题

* fix(review-feedback-1637): 收敛 docs/CHANGELOG.md 的无关历史改动,只保留本 PR 对 [Unreleased] 的新增修复条目
2026-06-08 07:21:59 +08:00
zhulinsen
40c5c75b2e chore: prepare v3.21.0 release v3.21.0 2026-06-07 22:41:33 +08:00
mumu
12a7e6d3c7 fix: make AlphaSift screening recoverable (#1628)
* fix: make AlphaSift screening recoverable

* fix(review-feedback-1628): Keep polling state across transient status errors
2026-06-07 16:22:36 +08:00
mumu
513271bd5f fix(issue-1626): [bug]-web-英文界面仍残留中文文案 (#1632) 2026-06-07 16:08:43 +08:00
mumu
8909168a64 fix: run manual market review on non-trading days (#1627) 2026-06-07 09:39:00 +08:00
mumu
649f7757ae chore: remove one-off PR screenshot assets (#1625)
* chore: remove one-off PR screenshots

* chore: remove one-off issue screenshots
2026-06-06 22:54:41 +08:00
mumu
d704fe377d feat: add Web UI language switch (#1621)
* feat: add Web UI language switch

* fix(review-feedback-1621): 补充 zh/en 切换后的登录页、首页、设置页和侧边导航截图或可访问构建预览证据

* fix(review-feedback-1621): 补对应回归测试

* fix(review-feedback-1621): Pin the smoke test's initial language

* fix(review-feedback-1621): Web UI 改动缺少截图或等价可视证据

* fix(review-feedback-1621): 补一个 storage accessor 抛错时 fallback 到 zh 或 navigator 语言的回归测试

* fix(review-feedback-1621): 修复前端 lint/build 失败并补齐 Web 验证证据

* fix(review-feedback-1621): apps/dsa-web/ :本 PR 新增语言切换入口并改动

* fix(review-feedback-1621): 解决冲突

* fix(review-feedback-1621): 解决冲突,并补齐 Web UI 变更的可视证据与 Web 侧验证说明

* fix(review-feedback-1621): 解决冲突并重新确认 diff 与 CI 结果

* fix(review-feedback-1621): 解决冲突

* fix(review-feedback-1621): add a file-level test

* fix: complete Web UI language switch evidence

* fix(review-feedback-1621): 确认设置页英文字段 label 语义回归、Playwright smoke locale 稳定性,以及结构化检测命中的外部模型/API

* fix(review-feedback-1621): 修正 PR 描述与实际实现不一致,并补齐 Playwright smoke 验证结果或明确未执行原因

* fix: complete web language behavior

* fix(review-feedback-1621): src/services/task queue.py / src/services/analysis service.py /

* fix: honor market review request language

* fix(review-feedback-1621): Keep UI language from overriding report language and Use localized

* fix(review-feedback-1621): docs/full-guide.md / docs/full-guide EN.md 把 PR 评审证据、执行命令、沙箱

* fix(review-feedback-1621): 修正 PR 描述与当前实现不一致的问题,并补齐运行时模型配置相关的兼容性/迁移证据

* fix(review-feedback-1621): 收敛后再合入
2026-06-06 21:45:20 +08:00
mumu
617b11d62d fix: restore market review in stock bar (#1620)
* fix: restore market review in stock bar

* fix(review-feedback-1620): Refresh market history non-silently after deleting MARKET
2026-06-06 10:03:17 +08:00