claude_dev
|
d374e03bb2
|
feat(api): 弹药速览读最新——icStats/icFullT数据源改根层∪daily/子目录取as_of新者(根层10-04旧schema无factor_stats不再挡住daily真值),判定层三端点仍只读根层一行不动;前端末次月度批标签改末次评估批(2026-10-11双层分工补丁B1,设计见4b4fc16) [vps] [no-doc]
|
2026-10-11 09:44:51 +08:00 |
|
claude_dev
|
8da7d48e02
|
fix(frontend): 决议O终审修复波——spec判死按钮querySelectorAll泛型收窄修build红(C1)+判死按钮分解中禁用(C2)+陪葬含promoted/decaying生产因子红色二级警示(I2)+422/409 detail前端直出(M1) [vps]
CI/CD / test (push) Successful in 43s
CI/CD / nas-deploy (push) Successful in 38s
CI/CD / nas-verify (push) Successful in 14s
|
2026-10-10 23:07:19 +08:00 |
|
claude_dev
|
8e8005e7b9
|
feat(frontend): 决议O②判死卡片危险区按钮+陪葬确认弹窗(列活因子清单+死因必填;强断言想法死,实现陪葬) [vps]
|
2026-10-10 22:45:06 +08:00 |
|
claude_dev
|
bbdea6ece4
|
feat(frontend): 决议O③卡角标☠n/N(部分死=卡留活跃池)+死因子行态(划线/☠前缀/死因tooltip/不可点修404) [vps]
|
2026-10-10 22:39:36 +08:00 |
|
claude_dev
|
6aa0632595
|
fix(frontend): v4 原型样式原样移植——竖向地铁图(圆环dot/站名/N个对象+贯穿线▶+pending琥珀pulse)+edges六条着色渲染+健康水位独立卡五chip+决策卡chip徽标与去处理按钮 [vps]
CI/CD / test (push) Successful in 56s
CI/CD / nas-deploy (push) Successful in 33s
CI/CD / nas-verify (push) Successful in 9s
|
2026-10-10 20:44:56 +08:00 |
|
claude_dev
|
9bba796dfe
|
feat(frontend): 三路对拍四列表头加 ⓘ tooltip——样外IC/ICIR/Q5-Q1多空/有效天数口径注记(用户「几列也加上说明」;采样=日频Spearman秩相关/ICIR未年化/Q5-Q1近似五分位/有效天数=截面≥5只且常数信号日计入) [vps]
|
2026-10-10 20:31:49 +08:00 |
|
claude_dev
|
5e0f2ae373
|
feat(pipeline): D1 地铁图融总览落地——GET /pipeline/stations 七站聚合+SubwayBar 站点条+Home 改版(用户指认 v4 稿完整形态)
新端点 stations:七站计数(假设池=活跃卡+琥珀 pending/因子工厂非graveyard/
晋级评审 assessable+t≥2 同门/合成层固定2/策略出生诚实0/孵化梯+实盘 stage
计数)+HEALTH 五格(衰减告警/集体水位/数据缺口/数据链路/as_of)+edges 六条
迁移边(D4 数据先备,渲染二期);前端 SubwayBar(dot 灯/badge/琥珀+N/who
hover/点站跳转)+Home 流水线全景卡+等你决策卡(tag 徽标+灯色)+零待办安静态;
测试=TestStations 两件(隔离须连 ensure_runtime_registry 自举 mock,种子
merge 会向 tmp 空档灌真条目)+Home spec 三件 [vps]
|
2026-10-10 20:31:45 +08:00 |
|
claude_dev
|
67edf26024
|
feat(frontend): 弹药升级进速览区——stats-row 扩六格(近窗t/全史t/全期IC/正IC占比/末次月度批/版本)+逐年IC单行;出生档案卡原弹药行退役(用户指位:近窗t那组就是弹药该在的地方,近窗vs全史天然对照) [vps]
CI/CD / test (push) Successful in 45s
CI/CD / nas-deploy (push) Successful in 29s
CI/CD / nas-verify (push) Successful in 9s
|
2026-10-10 19:56:04 +08:00 |
|
claude_dev
|
cecbd52fff
|
fix(frontend): 三路对拍恒空态根修——getCompositeChallenge 少解构 axios response(r.challenge=undefined 恒走空态模板;浏览器实证空态文案 vs API curl 真数据矛盾定位;mock 测试盲区=mockResolvedValue 绕过真实函数解构,真环境才暴露) [vps]
CI/CD / test (push) Successful in 43s
CI/CD / nas-deploy (push) Successful in 37s
CI/CD / nas-verify (push) Successful in 11s
|
2026-10-10 19:43:00 +08:00 |
|
claude_dev
|
e109c06b0f
|
feat(composite): 三路对拍前端可见性——合成层页第二卡(三路对比表+规则判读+特征贡献+冗余chips+空态)+GET challenge 端点(最新件/坏件skip);修 challenger CLI 断链(__main__ guard 缺失=python -m 静默空跑,11-01 stage6 必空,部署验证现场抓获);spec §4.4 落账含 QA 无合成 UI 核实 [vps]
CI/CD / test (push) Failing after 5s
CI/CD / nas-deploy (push) Has been skipped
CI/CD / nas-verify (push) Has been skipped
|
2026-10-10 18:57:25 +08:00 |
|
claude_dev
|
bfd08561fc
|
fix(frontend): codex review——弹药行字段级渲染(tAll=null 单独显示—,其余字段照常,区分无报告与样本不足) [vps]
|
2026-10-10 11:14:57 +08:00 |
|
claude_dev
|
031348c9a3
|
feat(frontend): 因子详情全期弹药行+疑似换皮徽标(工厂列表/详情两触点) [vps]
|
2026-10-10 10:37:28 +08:00 |
|
claude_dev
|
97764cee80
|
fix(frontend): 工厂来源列单行收敛——链接缩为🔗标识 hover 见卡号,退役长链接文字(行高被撑两三行) [no-doc] [vps]
CI/CD / test (push) Successful in 45s
CI/CD / nas-deploy (push) Successful in 28s
CI/CD / nas-verify (push) Successful in 7s
|
2026-10-09 22:44:02 +08:00 |
|
claude_dev
|
2490034b3d
|
feat(pipeline): 因子墓园可见性——factors/graveyard 端点+假设池墓园 tab 判死因子区(用户验收暴露:判死后无任何视图;老编号因子无卡回写也兜底) [vps]
CI/CD / test (push) Successful in 46s
CI/CD / nas-deploy (push) Successful in 57s
CI/CD / nas-verify (push) Successful in 8s
|
2026-10-09 22:39:37 +08:00 |
|
claude_dev
|
86f80fbdad
|
feat(frontend): 因子详情页存量因子档案制度前说明行——manual 且无表达式/承载时明示非数据丢失 [no-doc] [vps]
CI/CD / test (push) Successful in 47s
CI/CD / nas-deploy (push) Successful in 33s
CI/CD / nas-verify (push) Successful in 9s
|
2026-10-09 22:19:25 +08:00 |
|
claude_dev
|
1e84b07d42
|
fix(frontend): spec 文件 mountDetail 参数类型修正——vue-tsc -b 与 CI 对齐 [vps]
CI/CD / test (push) Successful in 39s
CI/CD / nas-deploy (push) Successful in 30s
CI/CD / nas-verify (push) Successful in 8s
|
2026-10-09 20:30:20 +08:00 |
|
claude_dev
|
9475836c38
|
fix(api+frontend): codex review 六件——死因空白strip/终态422防500/落盘回读断言/validator精确断言/promoted确认路径/文案不越权承诺 [vps]
CI/CD / test (push) Successful in 41s
CI/CD / nas-deploy (push) Failing after 14s
CI/CD / nas-verify (push) Has been skipped
|
2026-10-09 20:21:23 +08:00 |
|
claude_dev
|
84d7daf139
|
feat(frontend): 因子详情页档案自述行+危险区送墓园(生产态重确认/死因必填) [vps]
CI/CD / test (push) Failing after 5s
CI/CD / nas-deploy (push) Has been skipped
CI/CD / nas-verify (push) Has been skipped
|
2026-10-09 19:59:26 +08:00 |
|
claude_dev
|
8d009dc233
|
feat(frontend): 工厂看板因子名副行展示出生 description [vps]
|
2026-10-09 19:57:39 +08:00 |
|
claude_dev
|
c6db2958df
|
feat(frontend): 因子页三修——指标列头ⓘ悬浮解释/因子列加宽防折行/列表页IC趋势卡退役(详情页承接) [vps]
CI/CD / test (push) Successful in 45s
CI/CD / nas-deploy (push) Successful in 33s
CI/CD / nas-verify (push) Successful in 9s
|
2026-10-09 19:34:18 +08:00 |
|
claude_dev
|
7f512f1461
|
feat(frontend+api): 因子清单加批次分割线——台账反查出生批次分组显示 [vps]
CI/CD / test (push) Successful in 45s
CI/CD / nas-deploy (push) Successful in 31s
CI/CD / nas-verify (push) Successful in 9s
用户复验追加小需求:21 条因子平铺看不出批次归属。
- 后端:hypotheses_list 每条 factor 附 batch(台账 registered
name→job 映射,新→旧先见者胜;查不到=null 归「早期」);
清单排序改按批次新→旧,无批次垫底
- 前端:批次切换处插虚线行「── 第 MM-DD HH:MM 批 · job-… ──」,
无批次段前插「── 早期(无批次记录) ──」
测试:factors[0].batch.jobId 断言;后端 28 绿+前端 76 绿+构建过
|
2026-10-09 13:01:22 +08:00 |
|
claude_dev
|
c04bd8dd0c
|
feat(api+frontend): D7 验收反馈——因子详情页(出生档案)+来源列布局+进度首轮报轮次 [vps]
CI/CD / test (push) Successful in 47s
CI/CD / nas-deploy (push) Successful in 28s
CI/CD / nas-verify (push) Successful in 7s
用户 VPS 实测四条反馈(877723a 首班):
① 因子详情页:卡片因子点名/工厂行点击原都只切工厂页或无反应
- GET /pipeline/factors/{name}/detail:registry 条目(origin/
hypothesis/首版 expression/source/justification/effective_from)
+出生批次=decompose_jobs 台账中 registered 含该名的最新 job
- 前端 FactorDetail.vue(/pipeline/factors/:name):出生档案卡
(来源假设回链/出生方式/批次回链/表达式/承载逻辑)+近窗 t+IC 趋势
② 总览无变化=数据驱动确认,非缺陷(唯一卡已 building;落新卡即现
琥珀项;地铁图属 D1-D6 后续批次)——spec 记录,无代码
③ 工厂来源列:width 130→min-width 200,徽标与回链竖排(挤行修复)
④ 轮次进度起跑即报「第 1/3 轮 · 生成候选中(≤8 条)…」——
初代 LLM 生成期不带轮次字样,像没进循环(用户质询点出)
测试:detail 端点+出生档案断言(decomposer birth/manual null/404)
+FactorDetail.spec 两件;前端 76 绿+构建过+后端 1707 绿
|
2026-10-09 12:44:57 +08:00 |
|
claude_dev
|
877723ab4a
|
feat(api+frontend): D7 落成边亮灯——假设→因子边可见性三处 [vps]
CI/CD / test (push) Successful in 40s
CI/CD / nas-deploy (push) Successful in 30s
CI/CD / nas-verify (push) Successful in 9s
体验稿(8823)逐条过审拍板后动工,不造新机器只做可见性:
件① 三件套(spec §7):
- 1a 卡片已产因子清单:列表项内联 factors(registry hypothesis
血统反查:名/表达式/origin/落成日);单因子名 factorId 前端退役
- 1b 分解批次历史:GET /pipeline/hypotheses/{id}/decompose-jobs
台账新→旧(QA tasks/list 端点形状照抄),卡片折叠区按需拉取
- 1c 轮次进度:run_decompose 每轮 on_progress 回调→内存 job
progress(currentRound/totalRounds/passed/regen;真轮数非 QA 摆设),
台账仍只记起跑+终态;worker 协议改收 job_id
件② 工厂来源列:factors 端点带 origin/hypothesis 血统,
⚡decomposer/✍manual 徽标+回链假设池
件③ 琥珀待办:todos 聚合加 queued/data_check 卡(已确认未分解),
分解转 building 即消行——人工卡点②显性化
件④ 结果持久落卡:前端一次性弹层退役,终态摘要+清单+批次全在卡
测试:后端 TestD7Visibility 六件(历史端点/内联清单/进度中飞可见/
终态不带过程态/琥珀消行/工厂血统)+前端三件套三测;8 目录 2780 绿
|
2026-10-09 11:51:00 +08:00 |
|
claude_dev
|
168520014d
|
feat(api+frontend): 分解 job 化——POST 立返+后台任务+卡片轮询,治响应孤儿化 [vps]
CI/CD / test (push) Successful in 38s
CI/CD / nas-deploy (push) Successful in 29s
CI/CD / nas-verify (push) Successful in 8s
10-09 终局诊断:分解服务端已成功(registry 落册)而浏览器先超时断开,
uvicorn 对断连请求不写访问日志——当日全部「静默卡死/按钮复活无提示」
同源。分钟级 LLM 任务架在同步 HTTP 上是架构错配,前端 300s+模块级
在飞登记两缓解随本刀退役(7ae6edd/3de3cb0 完成 mission)。
移植 QuantaAlpha frontend-v2/backend/app.py 任务字典范式:
- POST /pipeline/hypotheses/{id}/decompose → 202 立返 job;前置校验
同步 fail-fast(404/状态 409/LLM 未配 503);同卡在飞 409 互斥
(治重复点击堆积 21 条)
- sanguo_api/decompose_jobs.py:内存 job 字典(在飞真相,QA tasks 同款)
+ asyncio.create_task 后台跑原 worker(_DECOMPOSE_LOCK/P2-5 竞态
守卫语义不变);LLM 失败固定文案不泄露上游体(P3-8)
- pipeline_store.decompose_jobs 表:跨重启 run 台账(QA 没有,我们补
——run 台账先于页面);台账 running 无主=重启打断,读侧判 failed 回写
- GET /pipeline/hypotheses 卡片项附 decomposeJob(内存→台账→僵尸判死)
- 前端:4s 轮询 getHypotheses 单一到终态;挂载即续接服务端在飞任务
(切页/刷新不丢);卡片新增「分解」摘要行(上次通过/失败持久可见)
- 测试:TestDecompose 全类改 job 契约(fixture with TestClient 保活
后台任务)+新增 TestDecomposeJobs(202 立返/在飞 409/台账跨重启/
僵尸 running 判死);api+portfolio+factor 1700 绿
- spec:总设计 §13 P5.3 追加 job 化决议;UX 重设计 §7 件④地基已落
|
2026-10-09 10:08:36 +08:00 |
|
claude_dev
|
3de3cb0fa7
|
fix(frontend): LLM 在飞状态提模块级——修切页重挂后按钮可重复点击 [vps]
CI/CD / test (push) Successful in 49s
CI/CD / nas-deploy (push) Successful in 31s
CI/CD / nas-verify (push) Successful in 9s
根因(10-09 用户实测): decomposing/busy 是组件内存态,执行中切路由=
组件卸载,回来重挂全部归零,在飞守卫消失。分解双发有服务端锁+状态机
兜底(排队+UI 错乱),草稿双发无任何服务端守卫=白烧 LLM 两次。
修复: api/pipeline.ts 增模块级 draftInflight/decomposeInflight(响应式,
路由切换不丢,immutable 更新),组件 decomposing 改 computed 读模块态,
向导按钮/生成守卫同步接模块标志;请求函数入口双保险拒重入。
|
2026-10-09 09:15:27 +08:00 |
|
claude_dev
|
7ae6eddb72
|
fix(frontend): 分解请求单点超时 60s→300s+按钮耗时提示——修「AI 分解」假失败 [vps]
CI/CD / test (push) Successful in 43s
CI/CD / nas-deploy (push) Successful in 4s
CI/CD / nas-verify (push) Successful in 10s
根因(10-09 VPS 实测): 分解=多轮 LLM 生成+确定性校验,真实耗时远超全局
60s axios 超时——前端先断开,uvicorn 随即取消 handler(不留访问日志/无
连接/线程 idle, 曾误判"卡死"),UI 显「分解失败」而服务端工作被腰斩。
decomposeHypothesis 单点放宽至 300s(草稿等快请求不受影响),按钮转
「分解中(约 1-3 分钟,勿关页)」防重复点击与提前关页。
|
2026-10-09 08:58:05 +08:00 |
|
claude_dev
|
d174ed2cdd
|
fix(pipeline): 一问提示文案对齐数据实况——icFullT 无全史数据源(routes_pipeline 硬 None),文案不再承诺页面给不了的「全史 t≥2」,改以月度批评全史表现为辅,修三矛盾③ [vps] [no-doc]
|
2026-10-08 10:19:06 +08:00 |
|
claude_dev
|
447b6d682d
|
feat(pipeline): 工厂页可判徽标悬停说明——「可判=够格被评审;近窗 t≥2 才进评审页」,两页标准差异摊开在徽标上,修三矛盾①另一面 [vps] [no-doc]
|
2026-10-08 10:18:32 +08:00 |
|
claude_dev
|
d87e6a5c16
|
feat(pipeline): 评审页落选原因行+过滤逻辑抽共享模块——可判却未达 t 门(无数据/t 不显著)的因子在下拉下方列明原因,3 可判 vs 1 可评的鸿沟可见;isReviewCandidate/exclusionReason 供下拉与落选行共用单一口径,修三矛盾① [vps] [no-doc]
|
2026-10-08 10:18:06 +08:00 |
|
claude_dev
|
93d7acef50
|
fix(monitor+frontend): 审计剩余认同件批——T-1 watch_targets_union 真调 poll_once(旧版重抄实现自证恒绿;补 DUAL 双源路径覆盖例)/storm 读不动文件计 unreadable_files 入 evidence 不静默(P3 漏报向,灯色不动)/no_restart CreationDate 解析失败计违例=保守向复核留痕/_dual_track_pairs 兼返 unpaired 清单+零配对不再伪装 no-live-desk(可见性收敛,灯色不动)/weekday 死闸门随迁退役(monitor 门+registry docstring)/前端存量红 4 例清零(Result+TradesTable 空表渲染路径 scope 守卫+两断言对齐现 UI:收益概述已改指标卡/时间选择器已收编 head-meta, vitest 22 文件 67/67 绿);spec §4.1/§4.2-4,9/§9.A-17/§12 随码 [vps]
CI/CD / test (push) Successful in 46s
CI/CD / nas-deploy (push) Has been cancelled
CI/CD / nas-verify (push) Has been cancelled
|
2026-10-05 12:51:10 +08:00 |
|
claude_dev
|
5c015920c3
|
fix(frontend): 设置页诚实态分态+两小修——LLM 卡读取失败显式态(不再永挂「读取中…」)+月度卡三态(logFound 真/日志缺席/端点失败分文案,宁缺毋假)+resetEditing 清 testNote+smoke 测试名去计数 (终审顺手修波) [vps] [no-doc]
CI/CD / test (push) Successful in 45s
CI/CD / nas-deploy (push) Has been cancelled
CI/CD / nas-verify (push) Has been cancelled
|
2026-10-05 10:25:37 +08:00 |
|
claude_dev
|
1e67db3d0e
|
fix(frontend): P5.4 三小修+流程位文案——①孵化梯毕业口令未配置前置警示(读 env-status,探针失败不误报)+reviewIssue 可选输入透传(后端早支持前端从未传) ②闸门保存加 catch 错误分支+changed_by 改登录用户名(审计「谁」不再硬编码 console) ③Home todos 失败降级不白屏 ④合成树死按钮改「线下流程位」文案说明(设计如此非缺功能) (spec §13 P5.4/P5.5) [vps] [no-doc]
|
2026-10-05 10:15:06 +08:00 |
|
claude_dev
|
4830ebe86a
|
feat(frontend): 设置页两状态卡——环境依赖卡五项信号灯(毕业口令/LLM/Gitea token/双注册表,口令类 env-only 只读)+月度批评卡各段 rc 三色表(0 绿/2 橙有效信号/其他红,日志缺席如实展示);三卡并发加载各自 catch 降级 (spec §13 P5.2/P5.6) [vps] [no-doc]
|
2026-10-05 10:05:15 +08:00 |
|
claude_dev
|
a4212d7a6e
|
feat(frontend): 假设卡「AI 分解」按钮——仅 queued/data_check/building 可点(对齐后端 409),结果面板=通过注册清单(名/源/表达式/理由)+失败违规明细+轮数,503 带「去设置页」链接/502 可重试/409 状态提示;api 补 decomposeHypothesis 封装(17 端点唯一孤儿归位) (spec §13 P5.3) [vps] [no-doc]
|
2026-10-05 09:58:31 +08:00 |
|
claude_dev
|
6c9bceee1c
|
feat(frontend): 流水线设置页 LLM 连接卡——打码回显+眼睛切换+留空不改+掩码串后端双保险不回写+isDirty 保存+测试连接(ok/latency/error)+未生效横幅+逐字段来源角标(DB/env/默认)+审计行;路由/侧边栏/快捷项三处接线 (spec §13 P5.1) [vps] [no-doc]
|
2026-10-05 09:51:14 +08:00 |
|
claude_dev
|
b35287f78d
|
test(frontend): pipelineWiring ic-trend 断言改 toBeUndefined——P1 接真后 mock 已删漏同步(#84 顺手件;issue 勘误:文件名实为 pipelineWiring 非 pipelineWinding) [vps] [no-doc]
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
2026-10-02 08:58:27 +08:00 |
|
claude_dev
|
ca8673e031
|
refactor(strategy): P1-13 删除 TET Phase2 _ex 四副本——退役链收官 [vps]
CI/CD / test (push) Successful in 44s
CI/CD / nas-deploy (push) Successful in 3s
CI/CD / nas-verify (push) Successful in 9s
前置已毕: 四实例(57/60/61/62) 10-01 16:08 停退(infra UPDATE stopped + supervisor
自收割), 10-02 08:05 morn 班 engines_expected/actual/no_restart 三绿 3/3,
vps_count_engines SHADOW=3 亲核 → 文件头自述的 Phase 3 删除授权生效。
本波: 删 4 文件 + live_strategy 工厂表 4 项 + strategies/__init__ 导出 +
runner_backtest choices/分发 4 支/_register_schedule isinstance 五处 +
前端标签表/回测下拉 4 选项 + 测试五回退(value_selection 空名单守卫 parametrize/
sizing 双列 parametrize/portfolio_live 工厂例/live_reconcile 3 标签/
routes_strategy 白名单示例换在册名)。provider get_*_ex strict 接口保留
(TET 契约); paper_accounts 四 stopped 行保留(手工重启得干净 ValueError)。
档随码走: joinquant SUMMARY 产出清单行闭环 + audit 处置档 §四.1 执行闭环
(工序两坑: 守卫列=strategies 非 name; 只 UPDATE 勿先 kill)。
本地 CI 同款 8 目录 2486 passed。
Co-Authored-By: Claude Code <reply@anthropic.com>
|
2026-10-02 08:34:34 +08:00 |
|
claude_dev
|
e3e8ccc017
|
test(frontend): 陈年红清账第一批——auth.test 补 jsdom29 无 localStorage 的内存 stub(3 红转绿)+Result.spec mock 工厂补 getLog 导出(4 红剥掉第一层;余 EP slot 兼容层记账 deferred,CI 不跑 vitest 不挡班车) [vps] [no-doc]
|
2026-10-02 08:12:55 +08:00 |
|
claude_dev
|
7befde0bd5
|
feat(pipeline): 假设池向导 UI——一句话→五字段草稿回填可编辑→确认落卡刷新;可证伪声明行上卡;错误中文直显(tickflow 回填范式) [vps] [no-doc]
|
2026-10-01 23:46:42 +08:00 |
|
claude_dev
|
aa607d7e82
|
feat(api): monthly-review/ic-trend 接真——10-01 用户拍板「接真不删页」P1 件 [vps]
CI/CD / test (push) Successful in 46s
CI/CD / nas-deploy (push) Successful in 3s
CI/CD / nas-verify (push) Successful in 7s
审计 10-01 P1-12 三 mock 端点之二接真(读现成月度批评产物,hypotheses 留 P4):
- GET /pipeline/monthly-review: 本机 monthly dir 最新报告 JSON 原文→
period/runDate/factorsEvaluated/consensusMedianT(collective.median)/
consensusThreshold(collective.floor);首班 10-04 前 null(前端 PanelCard
隐藏不造数);crossCheck 仅同 as_of 双 host 报告同 dir 才出双行(单机=空
列表,不伪造"一致"),maxAbsDiff=同因子 t 差最大值,>0.05(起步默认)判分歧
- GET /pipeline/factors/{name}/ic-trend: 最新报告 monthly_points 月度 t
序列(t=None 月如实跳过);baseline=晋级 promotion_t×0.5(相对降幅过半
红线,衰减条件①),未晋级=2.0 绝对地板(条件②);无报告/无点 404
- mock/index.ts: 两端点条目退役(逐端点删条目纪律,composite 先例);
PIPELINE_MOCK 仅剩 hypotheses(P4);全接真后删机制=在案退出条件
- spec §7 数据行接真进度同步(档随码走)
- 测试 tests/api/test_routes_pipeline_monthly.py 8 例(单机/双机一致/分歧/
baseline 两态/404 两态)
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
2026-10-01 09:51:27 +08:00 |
|
claude_dev
|
c089190111
|
fix(frontend): 流水线 P0 mock 改 DEV 门——生产构建不再短路假数据 [vps]
审计 10-01 P1-12:PIPELINE_MOCK 硬编码 true+client.ts 短路不受 MOCK_ON 限制,
build/NAS/VPS dist 全生效。VPS 已挂生产控制台,hypotheses/monthly-review/ic-trend
三端点(后端无对应路由)的生产假数会误导晋级判读。
- mock/index.ts: PIPELINE_MOCK=import.meta.env.DEV(与 MOCK_ON 同门,build 关)
- client.ts:57 短路保留但仅 DEV 活(P4 开发预览仍可用;三端点全接真后再删机制)
- HypothesisPool/FactorFactory: 未接真端点 .catch 退化空态/隐藏 PanelCard,
不裸抛 unhandled rejection;FactorFactory 真端点 factors 列表不受拖累
- spec §7 数据行同步(档随码走):mock 门变更+接真进度快照
- specs 不动三端点本身:接真或删页=P1/P4 排期决策,不在吸收波单方处置
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
2026-10-01 09:15:57 +08:00 |
|
claude_dev
|
93dacba109
|
feat(web): 运维告警页类别扩展——策略异常(source=strategy)进分类与过滤 [nas]
sourceLabel 映射与 SOURCE_TABS 的 strategy 条目已随 453b133 落位(核实现状在位);
本条补齐验收缺口:alertsLogic.spec 加 sourceLabel('strategy')='策略' 断言 +
filterAlerts 按 source='strategy' 过滤一例(照既有用例风格,fixture 加 strategy 告警,
空过滤计数 3→4)。7/7 绿。前端只部署 NAS 不触及 VPS runtime→[nas]。
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
2026-09-28 13:08:40 +08:00 |
|
claude_dev
|
55bcde798b
|
feat(api): 控制台可读化波——合成层族切换器+归因页整页重构(用户令:多策略就绪+人类可读) [vps]
CI/CD / test (push) Successful in 37s
CI/CD / nas-deploy (push) Successful in 7s
CI/CD / nas-verify (push) Successful in 8s
①合成层多族就绪: /pipeline/composite 加 ?family= 选族+families 清单
(前端下拉切换器)——以策略为锚,新策略钉住新合成层上位时登记新树,
无策略消费的单代族不进树; 未知族 fail-soft items=[]+清单照常。
前端: 族下拉+族说明+「新族自动出现」提示+空态+版本角色徽标
(在位者/挑战者)+TE 未算人话文案; sub 明示「页面上没有也不该有一键
换因子(决议 A)」。
②归因页整页人类可读重构(用户令: 按策略归因颗粒度讲清楚):
- ?variant=incumbent|challenger 切在位者/挑战者归因件(challenger=
生效位 challenger/ 子目录)+attributionMeta(asOf/windowEnd/months)
- 前端: variant 切换条+口径条(数值含义+数据截至+覆盖月数+更新节律);
右块分组=「收益结构·风格四桶」(market/size/industry/specific 带
tooltip 人话解释)与「选股因子贡献·12 源」(组级说明=暴露×因子收益
=贡献,长期负贡献=降权/退役候选); 合计行(恒等式加总≈同窗组合总
收益); 空态=「归因批未产出(首次 10-04)非故障」; 左块加偏差含义
说明+IS 金额行脚注; 条宽 min(…,100)% 防溢出。
- 测试: tests/api 202→208(families/未知族/challenger 子目录/meta/
variant 422); 前端 pipeline+mock 34 过(分组+合计+空态+variant 重拉+
族切换/空态); vue-tsc 过; spec §4.7 端点节同步(档随码走)。
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
2026-09-27 18:43:21 +08:00 |
|
claude_dev
|
fdbbb488dc
|
fix(api): 控制台归因页崩修复+合成层版本树接真——两波同修(用户拍板 factor 域) [vps]
CI/CD / test (push) Failing after 39s
CI/CD / nas-deploy (push) Has been skipped
CI/CD / nas-verify (push) Has been skipped
①归因页契位修复(infra 派单): 020e610 产物 factorContribution=月度长表
{factor,month,contribution_ret}(1008 条含 market/size/industry/specific
三桶行)直通撞前端 P0 短表契约 {factorId,contributionPct}——首行
contributionPct undefined → AttributionResearch.vue toFixed 整页崩
(双机实锤)。修=_aggregate_monthly_contribution 聚合适配:
- 口径=近 12 月 Σ contribution_ret×100(滚动年窗;全期 market +65%
溢出前端横条 3.2×;量级 0.1~6% 恰配)
- 三桶(market/size/industry/specific)与 12 源同板上板(研判核心结构)
- 不足 12 月(挑战者件 8 月)退化全窗 Σ;脏行跳过;降序返回
- 真件端到端验证: 1008 行→16 行与实探量级一致(market+5.85/kup+2.22)
- 前端补 typeof 兜底 filter(缺字段行滤掉防再整页崩)
②合成层版本树接真(追加派单): /pipeline/composite 真端点+mock 条目退役
- 两节点: quant12_v2a(L1 档案 resolved 权重=在位者 szneul_reb63 钉住,
releasedAt=档案 created)/quant12_v1(等权基线=#69 挑战者)
- 影子对照挂挑战者节点: 读 szneul_eq_reb63 周报 weeks_counted/
te_annual; 09-28 首跑前无周报→如实 0/4 周+TE null+进行中(不造数);
满 4 周 TE≤影子阈值达标/超阈
- 因子侧坏档 fail-soft items=[](宁空勿 500,同归因页纪律)
- 前端: 标题接 family 真名(告别 fund8 硬编码)/cand+gate 条件改
shadowCompare(告别 v3 硬编码)/TE null 显示「未算」/类型
trackingError number|null
- spec §4.7 端点节+控制台功能表两行同步(档随码走)
- 测试: tests/api +13(attribution 7+composite 6,含 jwt secret 每测试
现签防全量套件串扰); tests/api 202 全绿+tests/factor 438 全绿
+前端 vitest 17 过+vue-tsc 过
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
2026-09-27 17:54:20 +08:00 |
|
claude_dev
|
453b133d60
|
feat(web): 运维告警页 /ops-alerts(四类tab+红黄/状态筛选+evidence展开+ack+导航红点角标,spec §20.15.4) [nas]
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
2026-09-25 23:04:21 +08:00 |
|
claude_dev
|
fbf5d3f6ed
|
fix(p3-verdict-card): 终审修复——submitRuling catch+ElMessage(P2 M3 范式)+非 dict 守卫+unused imports [vps]
- AttributionResearch.vue submitRuling 补 catch:409/422/网络错误弹 ElMessage.error(含响应 detail,兜底「裁决提交失败」),照 IncubationLadder/PromotionReview 同款写法;finally 保留
- 新增失败路径测试:post 拒绝 {response:{data:{detail:'当月已有裁决'}}} → 弹出该文案、post 恰一次、卡不重拉
- verdict_replay.load_latest_monthly 与 research_card 端点:json.load 后非 dict 跳过(回退更旧文件 / replay_doc=None)
- 清理 test_verdict_replay.py unused import os、test_verdict_records.py unused import json
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
2026-09-25 11:15:07 +08:00 |
|
claude_dev
|
ada09dd657
|
feat(web): 研判卡接真——删 mock 拦截+裁决控件(选档/理由/已裁决态,提交后重拉卡) [vps]
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
2026-09-25 11:05:47 +08:00 |
|
claude_dev
|
f4c8ea3317
|
fix(frontend): 删 factors mock 路由——看板/候选下拉接真注册表 [nas] [no-doc]
删 pipelineRoutes 的 /pipeline/factors 一行即接真(适配层签名不变);P.factorsMock
定义保留(FactorFactory.spec 仍用作 api-mock 数据)。wiring spec 同 commit 更新
(factors 改断言不拦/delete 直达 mock 行)——同 P2 ladder/todos 删 mock 先例
(2cc707d),否则 vitest 撞已删路由。
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
2026-09-24 22:56:26 +08:00 |
|
claude_dev
|
8fd495ab54
|
fix(frontend): 孵化梯/晋级评审吞错修——catch 显式解析 detail 弹错误消息 [nas] [no-doc]
M3:doGraduate 此前 catch 只注释不报错、submit 干脆无 catch——403 口令不符/
422 gate 未过·周报待算·reviewIssue 校验等后端详情用户全看不到。统一解析
response.data.detail(string 直显,对象 JSON 化),ElMessage.error 呈现。
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
2026-09-24 21:57:56 +08:00 |
|
claude_dev
|
2cc707d26d
|
feat(frontend): 孵化梯接真——删 ladder/todos mock+毕业口令表单+闸门阈值页+评审按钮 [nas] [no-doc]
spec §4.5 决议 L 六件之 4 前端侧:适配层签名不变;GateConfig 两级阈值+审计;
graduate 走后端口令闸门;三按钮留痕 registry_events。
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
2026-09-24 21:31:51 +08:00 |
|