From 82f4f008480e4426c03b30c089415e7e71ace14d Mon Sep 17 00:00:00 2001 From: baobao Date: Mon, 19 Oct 2026 14:33:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=A4=E6=8E=A5=E5=89=AF=E6=9C=AC=E5=90=8C?= =?UTF-8?q?=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DEVLOG.md | 11 +++ docs/交接_每日选股计划完善_2026-10-15.md | 67 +++++++++++++++++++ docs/开发规格_买卖方向冲突修复_2026-10-19.md | 33 +++++++++ ...�日选股计划完善方案与开发规格_2026-10-15.md | 67 +++++++++++++++++++ 4 files changed, 178 insertions(+) diff --git a/DEVLOG.md b/DEVLOG.md index 3f55b82..ae932ff 100644 --- a/DEVLOG.md +++ b/DEVLOG.md @@ -2044,3 +2044,14 @@ fad1bb1于14:19:39在155四容器生效。镜像2e5213b9d37f9c7337f4857ab0401e74 补查人工清仓:T+1不可卖时原路径会采纳但不留指令。 改为保留不超过确认量与当前总持仓的清仓任务;持仓已归零仍停止旧买入。 新增两项专项,共24例。本项待候选镜像和第二次部署;没有代替用户采纳。 + + +### 2026-10-19 14:30 最终补修生效 + +28053f3于14:27:22统一重建四容器。镜像06493afa19ec4cd61d07b7834472a11c550d0ec0a341e251dcdb64626a4139c0。 +24专项、45批本地与镜像禁网回归通过。14:28全量原值比对通过,21持仓、283批次与93指令执行进度保持。 +只有科士达旧买入按授权终止,停止审计6912、6913不重复,清仓等待可卖。 +QMT在线,无补同步要求,健康正常,正常回放0差异。93行指令读数耗时0.344秒。 +本地Chrome替身页面零错误,线上服务读回进展正确;生产登录浏览器未直接验收。 +人工T+1、失败撤单与并发边界仅离线验证,不制造交易,188未操作。 +四仓规格与交接逐字同步,完整备份和回退见14:30交接。 diff --git a/docs/交接_每日选股计划完善_2026-10-15.md b/docs/交接_每日选股计划完善_2026-10-15.md index d54f43c..a3722bf 100644 --- a/docs/交接_每日选股计划完善_2026-10-15.md +++ b/docs/交接_每日选股计划完善_2026-10-15.md @@ -916,3 +916,70 @@ PMS 本轮没有重建,188 真实 PMS 未操作。 只读命令 `python -m build_readiness` 现在预期退出 0,显示 2026-10-16 日期已对齐。 本轮故障恢复判收完成。既有五分钟业务任务继续运行。 不另加五日模拟观察,已暂停的 Codex 心跳保持暂停。 + + +## 2026-10-19 14:30 买卖方向冲突修复与部署判收 + +用户要求立即修复科士达买入与清仓并存,并检查其他流程。 +只操作155模拟PMS。178和桥本轮仅同步文档,188未操作。 +修复前科士达旧建仓600股、累计成交400股,仍有200股未执行。 +09:51择时系统95%置信度卖出触发清仓400股,09:52卖出200股。 +剩余200股为当日买入,可卖为零。三个真实子委托均已成交。 +页面把父指令DISPATCHED都写为已挂单,导致误解。 +14:10检查全量活跃指令,只有科士达存在同票买卖重叠。 + +修复覆盖命令、信号、技术面离场、人工采纳和跟踪止盈的清仓入口。 +完整清仓统一停止旧买入指令、买入提议和未解锁批次。 +普通减仓期间暂停买入发出,不永久取消建仓或策略。 +T0_ROUND自身配对不误判为清仓,外部完整清仓仍终止其原买入安排。 +停止依据追加到动作账本,避免并发旧进度覆盖后恢复买入。 +下发进度回写不得把终态指令重新改回DISPATCHED。 +出口先处理撤单,认领排除待撤委托,发送前重查来源及方向。 +旧卖出理由的audit_reason和component_scores.reason现可透传。 +历史已落账的泛化理由不伪造回填。 +人工清仓补查:T+1可卖量为零时仍保留清仓任务。 +数量不超过用户确认量与当前持仓量,实际出手仍受可卖量约束。 +当前已归零时不再生成卖单,但会停止旧买入。 +普通减仓数量口径保持。 +正式规格见同仓《开发规格_买卖方向冲突修复_2026-10-19.md》。 + +最终功能提交28053f3,包含fad1bb1。 +24项专项与45批本地配置隔离禁网测试通过。 +最终候选镜像45批在--network none下通过,包含三页面守卫。 +原版本的五项行为反例在离线副本中全部失败,修复版本通过。 +本地Chrome使用接口替身渲染,等待可卖、等待下一批显示正常,页面错误零。 +生产读数对应清仓等待可卖、旧买入已撤销。 +登录后的生产浏览器会话未在本轮直接操作,不将替身渲染充作该项验收。 + +首版于14:19:39统一重建四容器,正常14:20调度完成旧买入收尾。 +最终补修于14:27:22再次统一重建web、worker、beat、ws。 +最终镜像sha256:06493afa19ec4cd61d07b7834472a11c550d0ec0a341e251dcdb64626a4139c0。 +回退镜像pms:rollback-before-conflict-20261019保留本轮前版本。 +另有pms:rollback-before-manual-exit-20261019保留第一次修复版本。 +155的/app仍绑定挂载,回退要先反向提交并git pull,再重建四容器。 +回退不得恢复已经撤销的买入指令或删除真实成交与停止记录。 +服务器本地scripts/deploy.sh哈希前后一致,未覆盖其他本地文件。 + +14:20:05,正常intraday_exec将INS_20261016_002518SZ_OPEN_001置CANCELLED。 +目标600、实成400保持。停止依据6912,撤销记录6913,均记system。 +INS_20261019_002518SZ_EXIT_95100仍400/200,显示等待可卖。 +14:21及14:28正常调度保持,无重复停止记录、无新委托。 +14:28:20全量比较:15项核验参数相同,21条持仓账务字段相同,283条批次账相同。 +93条父指令执行数量相同,状态仅科士达旧买入由DISPATCHED变CANCELLED。 +七条历史暂停指令未恢复。没有改写费用、历史峰值、旧批次或净值。 +QMT ONLINE,resync_flag=0,last_error为空,水位1299667。 +健康status=ok、db_ok=true、日历未降级;正常回放对账diffs=0、severity=OK。 +93行指令列表与实际进展只读取数耗时0.344秒。 + +写前备份155 ~/pms_logs/conflict-predeploy-20261019.json,SHA256 +fb5edeccc4712de12e8e702d196f7ebfdee573055ae494085a62c42fec7235f8。 +最终只读快照conflict-final-20261019.json,SHA256 +881a4f3a39f5f2b9f4ec5088722bc89a552ce65d9f4b820800e598bfcdc1d8dd。 +原始证据kstar-conflict-20261019-1402.json、kstar-signal-20261019.json仍保留。 +构建与测试日志conflict-final-build-20261019.log、conflict-final-tests-20261019.log。 +桥台账076保存决定。用户原有未提交文档与探针保留。 + +人工T+1确认、撤单失败、迟到成交与并发竞态已离线覆盖。 +本轮没有自然事件逐项生产复现,不宣称所有边界均真机判收。 +未采纳提议或制造交易。交易时段、择时阈值、仓位档位、排序与自动修订安排保持。 +不增加模拟观察期,也不重启已暂停的Codex心跳。 diff --git a/docs/开发规格_买卖方向冲突修复_2026-10-19.md b/docs/开发规格_买卖方向冲突修复_2026-10-19.md index 4c2257b..9e8baf5 100644 --- a/docs/开发规格_买卖方向冲突修复_2026-10-19.md +++ b/docs/开发规格_买卖方向冲突修复_2026-10-19.md @@ -53,3 +53,36 @@ 改为按已确认数量与当前总持仓取较小值,执行器继续按当日可卖量分批,不扩大用户授权数量。 持仓已经归零时不再生成卖单,但仍停止未完成的旧买入。普通减仓保持按可卖量处理。 增加两项回归,专项共24例。此项为代码发现的边界,尚无自然人工确认事件判收。 + +## 最终交付与验证入口 + +功能28053f3已于2026-10-19 14:27:22在155四容器生效。 +镜像06493afa19ec4cd61d07b7834472a11c550d0ec0a341e251dcdb64626a4139c0。 +本地和候选镜像45批全部通过,专项24例。 +科士达旧建仓已终止,真实600/400及清仓400/200保留。 +参数与全部持仓、批次账一致,零新增委托,对账正常。 +两条system审计6912、6913未重复。完整证据见同仓每日计划交接14:30节。 + +```bash +# 开发机 · tradingSystem 仓库根目录 +/private/tmp/pms-conflict-20261019-venv/bin/python scripts/unit_test_guard.py scripts/test_batch41_units.py +/private/tmp/pms-conflict-20261019-venv/bin/python scripts/run_tests.py +``` + +预期24项专项OK,完整入口ALL SUITES PASS。测试中故意注入失败的日志属于回归场景。 + +```bash +# 155模拟机 · ~/project/tradingSystem,只读 +cd ~/project/tradingSystem +docker compose exec -T -e PYTHONPATH=/app pms-web python - <<'CHECK' +from app.repo import pms_repo +from app.services.execution_conflicts import instruction_progress +for r in instruction_progress(pms_repo.list_instructions(ts_code='002518.SZ', limit=10)): + print(r['instruction_id'], r['status'], r['qty'], r['exec_qty'], r.get('execution_label')) +CHECK +``` + +14:28判收时旧建仓CANCELLED、600/400、已撤销;清仓DISPATCHED、400/200、等待可卖。 +后续真实成交会推进清仓进度,不能恢复判收时点的历史数量。 +人工T+1与故障竞态尚无本轮自然生产事件,禁止为验收造单。 +本地Chrome替身渲染和生产接口读数已核验;未直接操作用户登录的生产浏览器。 diff --git a/docs/每日选股计划完善方案与开发规格_2026-10-15.md b/docs/每日选股计划完善方案与开发规格_2026-10-15.md index 45147b9..166038f 100644 --- a/docs/每日选股计划完善方案与开发规格_2026-10-15.md +++ b/docs/每日选股计划完善方案与开发规格_2026-10-15.md @@ -478,3 +478,70 @@ PMS 本轮没有重建,188 真实 PMS 未操作。 只读命令 `python -m build_readiness` 现在预期退出 0,显示 2026-10-16 日期已对齐。 本轮故障恢复判收完成。既有五分钟业务任务继续运行。 不另加五日模拟观察,已暂停的 Codex 心跳保持暂停。 + + +## 2026-10-19 14:30 买卖方向冲突修复与部署判收 + +用户要求立即修复科士达买入与清仓并存,并检查其他流程。 +只操作155模拟PMS。178和桥本轮仅同步文档,188未操作。 +修复前科士达旧建仓600股、累计成交400股,仍有200股未执行。 +09:51择时系统95%置信度卖出触发清仓400股,09:52卖出200股。 +剩余200股为当日买入,可卖为零。三个真实子委托均已成交。 +页面把父指令DISPATCHED都写为已挂单,导致误解。 +14:10检查全量活跃指令,只有科士达存在同票买卖重叠。 + +修复覆盖命令、信号、技术面离场、人工采纳和跟踪止盈的清仓入口。 +完整清仓统一停止旧买入指令、买入提议和未解锁批次。 +普通减仓期间暂停买入发出,不永久取消建仓或策略。 +T0_ROUND自身配对不误判为清仓,外部完整清仓仍终止其原买入安排。 +停止依据追加到动作账本,避免并发旧进度覆盖后恢复买入。 +下发进度回写不得把终态指令重新改回DISPATCHED。 +出口先处理撤单,认领排除待撤委托,发送前重查来源及方向。 +旧卖出理由的audit_reason和component_scores.reason现可透传。 +历史已落账的泛化理由不伪造回填。 +人工清仓补查:T+1可卖量为零时仍保留清仓任务。 +数量不超过用户确认量与当前持仓量,实际出手仍受可卖量约束。 +当前已归零时不再生成卖单,但会停止旧买入。 +普通减仓数量口径保持。 +正式规格见同仓《开发规格_买卖方向冲突修复_2026-10-19.md》。 + +最终功能提交28053f3,包含fad1bb1。 +24项专项与45批本地配置隔离禁网测试通过。 +最终候选镜像45批在--network none下通过,包含三页面守卫。 +原版本的五项行为反例在离线副本中全部失败,修复版本通过。 +本地Chrome使用接口替身渲染,等待可卖、等待下一批显示正常,页面错误零。 +生产读数对应清仓等待可卖、旧买入已撤销。 +登录后的生产浏览器会话未在本轮直接操作,不将替身渲染充作该项验收。 + +首版于14:19:39统一重建四容器,正常14:20调度完成旧买入收尾。 +最终补修于14:27:22再次统一重建web、worker、beat、ws。 +最终镜像sha256:06493afa19ec4cd61d07b7834472a11c550d0ec0a341e251dcdb64626a4139c0。 +回退镜像pms:rollback-before-conflict-20261019保留本轮前版本。 +另有pms:rollback-before-manual-exit-20261019保留第一次修复版本。 +155的/app仍绑定挂载,回退要先反向提交并git pull,再重建四容器。 +回退不得恢复已经撤销的买入指令或删除真实成交与停止记录。 +服务器本地scripts/deploy.sh哈希前后一致,未覆盖其他本地文件。 + +14:20:05,正常intraday_exec将INS_20261016_002518SZ_OPEN_001置CANCELLED。 +目标600、实成400保持。停止依据6912,撤销记录6913,均记system。 +INS_20261019_002518SZ_EXIT_95100仍400/200,显示等待可卖。 +14:21及14:28正常调度保持,无重复停止记录、无新委托。 +14:28:20全量比较:15项核验参数相同,21条持仓账务字段相同,283条批次账相同。 +93条父指令执行数量相同,状态仅科士达旧买入由DISPATCHED变CANCELLED。 +七条历史暂停指令未恢复。没有改写费用、历史峰值、旧批次或净值。 +QMT ONLINE,resync_flag=0,last_error为空,水位1299667。 +健康status=ok、db_ok=true、日历未降级;正常回放对账diffs=0、severity=OK。 +93行指令列表与实际进展只读取数耗时0.344秒。 + +写前备份155 ~/pms_logs/conflict-predeploy-20261019.json,SHA256 +fb5edeccc4712de12e8e702d196f7ebfdee573055ae494085a62c42fec7235f8。 +最终只读快照conflict-final-20261019.json,SHA256 +881a4f3a39f5f2b9f4ec5088722bc89a552ce65d9f4b820800e598bfcdc1d8dd。 +原始证据kstar-conflict-20261019-1402.json、kstar-signal-20261019.json仍保留。 +构建与测试日志conflict-final-build-20261019.log、conflict-final-tests-20261019.log。 +桥台账076保存决定。用户原有未提交文档与探针保留。 + +人工T+1确认、撤单失败、迟到成交与并发竞态已离线覆盖。 +本轮没有自然事件逐项生产复现,不宣称所有边界均真机判收。 +未采纳提议或制造交易。交易时段、择时阈值、仓位档位、排序与自动修订安排保持。 +不增加模拟观察期,也不重启已暂停的Codex心跳。