2026-06-04
2026-06-04 daniel 工作日志
Section titled “2026-06-04 daniel 工作日志”反馈环三策略统一收口(跨 tab 持久化 + 封顶升级告警 + 采样中枢措辞),推价/守价预览笔数按预算封顶,做活跃度方向伯努利化 + AC2 笔数下限前置拦截;多处口径/文案/nonce 修复,本期收口产物已部署(main.ccfbb000.js)。
FEAT-009 做市引擎 v2.1 —— 反馈环三策略统一收口 + 守价封顶升级告警
Section titled “FEAT-009 做市引擎 v2.1 —— 反馈环三策略统一收口 + 守价封顶升级告警”主线节奏:承接 06-03 守价反馈环深修,今日把「反馈环 + ±20% 封顶 + 30min 回看」一类问题从守价推广到三策略统一口径,并补齐守价封顶持续越界的升级告警(PM damao 2026-06-04 拍板门槛/文案)。
🔧 反馈环口径收口(4 commit):
9bb178d:±20% 封顶部分咬合时不再谎报「积极拉回 ×1.15」——名义 ×1.15 被启动基线 +20% 夹到实际 ×1.04 时,据实报「实际 ×1.04(已达 ±20% 封顶)」(factorPhrase据 before→after 实算生效倍数)。承接昨日1d46b11(完全夹平变体),二者覆盖夹平/部分咬合两态。详见 [[feat-009-feedback-clamp-partial-bite-factor]]。bb86f93:反馈环 base 金额改标**「采样中枢」**而非裸「单笔」——base 是对数正态采样中心、每笔围绕它随机浮动,「单笔 $X」会被读成每笔定额而与实际成交对不上(QA「单笔 $7.88 实际 $8~19」);三策略统一formatParamDelta/held[]。详见 [[feat-009-feedback-toast-base-label-sampling-center]]。8cbdc7c:多 tab persist 整 blob last-writer-wins 覆盖致守价回看 mark(pendingFollowups)/反馈环日志丢失——反馈环只在 leader tab 跑,follower tab 任意一次写(syncFromBackend)就把 leader 刚写的 mark 覆盖 → 30min 回看永不触发。加storage事件 rehydrate(别的 tab 写novamm-tasks时本 tab 重挂最新快照),+taskStore.crossTabSync.test。详见 [[feat-009-crosstab-followup-clobber]]。
🚨 守价封顶 + 持续越界升级告警(3 commit,PM damao 2026-06-04 拍板):
2a2b5b0:λ 顶 ±20% 上限仍拉不回时不再静默——按门槛 + 限频发一条 warn 告警(非 AC14 回看:回看是「调整后效果复盘」,这里没调整,复用会写误导句 + 每 tick 刷屏)。问题1/2/3 正确实现(升级判定用priceOutOfBandRatio与护盘同源、不碰 UI 静态带免漂移误报;展示字段用静态配置带 + 现价),门槛/文案先留 PM 占位。bbad47c:落 PM damao 拍板值——门槛 15min(对齐反馈环 cadence)、重复 30min、正式文案;本期 FE-local(不推 BE、不进通知中心,硬熔断 H5 顺延下期)。f1eaae7:升级告警文案两处取值修正——①带内态偏离钳到 0(滚动带触发但未破静态配置带时,避免「持续下越界 −2.3%」自相矛盾);②「锚价」名实不符改标「配置支撑/配置阻力」(取的是静态配置带边、非引擎滚动锚)。
📌 QA 答疑:做活跃度「回看日志没有」其实正常(非 bug):QA console 查 pendingFollowups=undefined、回看=[],看着像做活跃度漏回看。系统化排查后定性:回看是净变化门控、三策略共用同一条调度(scheduleAdjustmentFollowup),做活跃度 over-pace 顶死封顶时每 tick 无净变化 → 按设计不排回看(「维持不变」);空快照 = 早期/封顶态 + stale/follower tab。换 leader tab 查 QA 实跑任务(f927bade)即见 1 条已触发回看 + 1 条 pending + 调整日志全自洽,证回看功能正常。
FEAT-009 做活跃度(volume_wash)—— 方向伯努利化 + AC2 笔数下限前置拦截
Section titled “FEAT-009 做活跃度(volume_wash)—— 方向伯努利化 + AC2 笔数下限前置拦截”6a1e45c:做活跃度买卖方向改伯努利采样(PRD §5 Step3 防识别)——区别于推价的 100% 单向(推价单向是有意的、接伯努利会被反向单抵消推力,见 [[feat-009-pump-direction-single-not-bernoulli]]),做活跃度需要双向随机以防被识别。75f109a:做活跃度目标量加 AC2 笔数下限前置拦截(方向 A,PM damao 2026-06-04)——目标量÷单笔均额算出的排期笔数低于下限时启动前拦截,避免「目标量太小→笔数趋零→分母异常」一类(呼应 [[feat-009-volume-wash-89x-and-stale-tab]] 的分母趋零根因)。
FEAT-009 推价(pump_dump)—— 单笔地板 + 预览笔数/用时/eta 按预算封顶
Section titled “FEAT-009 推价(pump_dump)—— 单笔地板 + 预览笔数/用时/eta 按预算封顶”ce023df(Ada):推价单笔守 sizeMin 地板——预算尾笔收尾 + σ=0 兜底也裁剪到 [sizeMin,sizeMax]。a0db206:推价小池预览笔数/用时按预算封顶,消除「预估 ≫ 实跑」——小池/弹药不足时预览笔数不该按满节奏理论值显示。c6caac0:推价 eta 两处取整对齐 + 用时统一为用时上限口径(与守价预览笔数封顶同思路,事件/预算驱动时用时是上限非精确值)。
FEAT-009 守价 + 通用 UI —— 预览笔数封顶 / 参数标签 / 口径收口
Section titled “FEAT-009 守价 + 通用 UI —— 预览笔数封顶 / 参数标签 / 口径收口”74b24a5:守价预览笔数按预算弹药封顶,消除小池预估 ≫ 实跑(同推价a0db206,守价事件驱动用时故意保留不缩)。详见 [[feat-009-price-support-preview-budget-cap]]。a4537f5:守价参数标签「间隔」→「检查间隔」——守价是越界才出手、非定时下单,「间隔」会被误读成定时节奏。1f7c414:已停止卡片顶部成交笔数/量与底部成本报告口径不一——顶部改取 BE 真值(超时落链笔 FE 本地乐观计数会漏算 → BE 结构性 ≥ FE,已拍 BE 为准)。详见 [[feat-009-fe-txcount-undercounts-be]]。ad82a3b:移除用户界面残留的内部 spec 引用文案(PRD §AC18 / BE-400)。
通用 —— 侧栏刷新 + 同源批量转账 nonce
Section titled “通用 —— 侧栏刷新 + 同源批量转账 nonce”236c933:归档/恢复代币后命令式 refresh 侧栏,消除需手动强刷才显示。9e402df:同源批量转账 per-EOA 显式 nonce 排序,消除最后一笔nonce too low——真因是多节点 RPC nonce 现读滞后(非并发碰撞),改 per-EOA 读一次本地递增显式下发。详见 [[transfer-nonce-too-low-multi-rpc]]。
关键决策记录
Section titled “关键决策记录”- 反馈环回看「跨 tab 丢失」是 persist 层问题、非写入逻辑 bug:zustand persist 默认不订阅 storage、整 blob last-writer-wins;storage 事件 rehydrate 是 robust 解;「封顶维持不排回看」是另一层(有意,无净变化无可复盘)。
- 守价封顶升级告警本期 FE-local:不推 BE、不进通知中心、内存态锚刷新即重置——偏保守的已知局限本期接受,推 BE + 持久化连续判定随守价硬熔断 H5 下期一起做(与 bob 2026-06-02「下期」一致)。
- 做活跃度伯努利 vs 推价单向:§5 伯努利只适用做活跃度(防识别需双向),推价 100% 单向是达价模型的有意设计、不可接伯努利。
- 预览笔数 = 满节奏/排期上限,用时 = 上限:守价/推价小池或预算不足时,预览笔数按预算弹药封顶、用时保留上限不缩;别把「笔数封顶 vs 用时不缩」当不一致 bug。
- build/ 产物吃仓库:改源码后必须重建
build:bsc:test+ push(部署吃仓库 build/),故今日多次 chore(build);查 bundle 中文须搜\u转义。详见 [[grep-built-bundle-unicode-escaped]]。
今日 commit(test 分支)
Section titled “今日 commit(test 分支)”6a1e45cfeat(engine): 做活跃度方向改伯努利采样 (PRD §5 Step3 防识别)9bb178dfix(feedback): ±20% 封顶部分咬合时不再谎报「积极拉回 ×1.15」,据实报实际倍数8cbdc7cfix(store): 多 tab persist 整 blob 覆盖致守价回看 mark/反馈环日志丢失,加 storage 事件 rehydrate2a2b5b0feat(engine): 守价封顶+持续越界升级告警(问题1/2/3正确实现,门槛文案留 PM 占位)1f7c414fix(ui): 已停止卡片顶部成交笔数/量与成本报告口径不一,顶部改取 BE 真值bb86f93fix(feedback): 反馈环 base 金额改标「采样中枢」,三策略统一,消除「每笔=$X」误读bbad47cfeat(engine): 守价封顶升级告警落 PM damao 2026-06-04 拍板值(门槛15min/重复30min/正式文案)75f109afeat(strategy): 做活跃度目标量加 AC2 笔数下限前置拦截 (方向 A, PM damao)f1eaae7fix(feedback): 守价升级告警文案两处取值修正 (PM damao 模板)ad82a3bfix(ui): 移除用户界面残留的内部 spec 引用文案 (PRD §AC18 / BE-400)ce023dffix(engine): 推价单笔守 sizeMin 地板——预算尾笔收尾 + σ=0 兜底也裁剪 (Ada)a0db206fix(strategy): 推价小池预览笔数/用时按预算封顶,消除预估≫实跑236c933fix(sidebar): 归档/恢复代币后命令式 refresh 侧栏,消除需强刷才显示74b24a5fix(strategy): 守价预览笔数按预算弹药封顶,消除小池预估≫实跑a4537f5fix(frontend): 守价参数标签「间隔」改「检查间隔」消除定时下单误读c6caac0fix(strategy): 推价 eta 两处取整对齐 + 用时统一为用时上限9e402dffix(frontend): 同源批量转账 per-EOA 显式 nonce 排序,消除最后一笔 nonce too low- (另含多次
chore(build): 重建 bsc 测试构建产物,最终态 main.ccfbb000.js 已部署)
- 三策略反馈环复测收尾:盯 QA 在新构建(main.ccfbb000.js)复测——跨 tab 回看不再丢、封顶部分咬合据实报倍数、采样中枢措辞、守价封顶升级告警(15min 门槛/30min 重复/PM 文案);做活跃度 AC2 笔数下限拦截 + 伯努利方向。
- 做活跃度/推价封顶可见性(待 PM 拍):顶死封顶时目前靠「维持不变」info 日志可见;守价式 warn 告警是否补由 PM 定,注意需按 progress ratio + λ 封顶判定、不能照搬守价(做活跃度 base 常态封顶会误报)。
- 推本地文档到 docs-site(
docs-push-gitlab):对账清单/交接 doc 本期收口 + FEAT-009-v2-fe-breakdown 更新。 - 跟 BE 确认:守价升级告警是否需要推 BE(本期 FE-local)、做活跃度
/derived路由测试服可达性(QA 实跑见Failed to fetch)。
- 守价升级告警本期 FE-local 的已知局限:内存态锚刷新即重置 → 连续越界判定偏保守,推 BE + 持久化随硬熔断 H5 下期解决。
- 做活跃度/推价封顶无升级告警:顶死封顶时静默(仅「维持不变」),是否补守价同款可见性待 PM 拍。
- QA 实跑见
/derivedPATCHFailed to fetch:后端不可达/路由未挂(测试服未部署最新?),反馈环已本地兜底(本地已应用 + 待下轮重试),但需 BE 确认测试服路由状态。 - PM 文档待办(非阻塞 FE):守价升级告警门槛/文案已拍并落地,剩余 PRD §5/§6/§AC13/示例1 同步 + B3 做活跃度系数混合口径钦定(承接 06-03 未决项)。