From 534ab42906c7e7a4e253b7791cc143dec894a7f2 Mon Sep 17 00:00:00 2001 From: boris Date: Mon, 14 Sep 2026 23:48:27 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=B0=E5=BD=95=E6=8D=A2=E8=82=A1=E4=BF=9D?= =?UTF-8?q?=E6=8A=A4=E7=BB=A7=E6=89=BF=E7=9A=84=E9=85=8D=E5=A5=97Linux?= =?UTF-8?q?=E9=AA=8C=E6=94=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../linux-tests.json | 40 +++++++++++ .../local-tests.json | 67 +++++++++++++++++++ .../runtime.json | 53 +++++++++++++++ docs/successor-protection-20260914.md | 10 ++- 4 files changed, 169 insertions(+), 1 deletion(-) create mode 100644 docs/evidence/successor-protection-20260914/linux-tests.json create mode 100644 docs/evidence/successor-protection-20260914/local-tests.json create mode 100644 docs/evidence/successor-protection-20260914/runtime.json diff --git a/docs/evidence/successor-protection-20260914/linux-tests.json b/docs/evidence/successor-protection-20260914/linux-tests.json new file mode 100644 index 0000000..de9fb43 --- /dev/null +++ b/docs/evidence/successor-protection-20260914/linux-tests.json @@ -0,0 +1,40 @@ +{ + "source": "/srv/fidc/programs/runtime-snapshots/conversion-protection-20260914-51wBBB", + "build": "/srv/fidc/canonical/build/conversion-protection-20260914-51wBBB", + "commits": { + "fidc-backtest-engine": "ba4b77fd746963687b8029b47806f943ed6ce03f", + "fidc-backtest-service": "234d85bdb8ed12b552ba8e9eff47fddc5e683acc", + "fidc-trading-platform": "d7d492541e60eb16e58dbff74b664b8ac85f6ccf" + }, + "source_unchanged": true, + "results": [ + { + "repository": "fidc-backtest-engine", + "exit_code": 0, + "elapsed_seconds": 56.007, + "passed": 913, + "failed": 0, + "ignored": 9, + "log_sha256": "07ee830295ac22961dc877f75d0016e3755917037b167ac65f9e31d449c68991" + }, + { + "repository": "fidc-trading-platform", + "exit_code": 0, + "elapsed_seconds": 90.009, + "passed": 625, + "failed": 0, + "ignored": 63, + "log_sha256": "e88a14c056fa69f0186eb681cd16ea1ce254b57e8cc48e34f0231bce7901588a" + }, + { + "repository": "fidc-backtest-service", + "exit_code": 0, + "elapsed_seconds": 110.011, + "passed": 594, + "failed": 0, + "ignored": 16, + "log_sha256": "0ea63308d32bfc8ab0da4d71f73e770e7a6f273117e714dfcccb50e26ef70b54" + } + ], + "available_bytes": 80519344128 +} diff --git a/docs/evidence/successor-protection-20260914/local-tests.json b/docs/evidence/successor-protection-20260914/local-tests.json new file mode 100644 index 0000000..d27eb50 --- /dev/null +++ b/docs/evidence/successor-protection-20260914/local-tests.json @@ -0,0 +1,67 @@ +{ + "date": "2026-09-14", + "baseline_engine": "ad76bdb6ae13f8ccd963e8fed4badff72a3846c3", + "candidate_engine": "ba4b77fd746963687b8029b47806f943ed6ce03f", + "reproduced_before_fix": [ + { + "case": "timely sale then conversion inside sell cooldown", + "unexpected_market_fill": { + "symbol": "000002.SZ", + "side": "Buy", + "quantity": 100, + "price": 5 + } + }, + { + "case": "original security lock still active after conversion", + "unexpected_market_fill": { + "symbol": "000002.SZ", + "side": "Sell", + "quantity": 100, + "price": 5 + } + } + ], + "verified": { + "configured_dates_preserved": true, + "no_new_orders_when_protected": true, + "expiration_positive_control_fills": true, + "clear_after_conversion_keeps_active_lock": true, + "full_sale_before_conversion_removes_disproved_link": true, + "original_strategy_members_and_weights_not_rewritten": true, + "entry_points": [ + "platform explicit strategy", + "native stock pool", + "deferred ETF open consumer" + ], + "new_test_functions": 6, + "isolated_configuration_cases": 23 + }, + "local_tests": { + "core": { + "passed": 913, + "ignored": 9 + }, + "trading": { + "passed": 625, + "ignored": 63 + }, + "runner": { + "passed": 463, + "ignored": 9 + }, + "api": { + "passed": 129, + "ignored": 7 + } + }, + "ui_modified": false, + "production_runtime_modified": false, + "production_order_or_cancel_requests": 0, + "limits": [ + "not production Source/Runner acceptance", + "not a broker connection or corporate action acceptance", + "online conversion lineage facts still required", + "Source runtime freeze unchanged" + ] +} diff --git a/docs/evidence/successor-protection-20260914/runtime.json b/docs/evidence/successor-protection-20260914/runtime.json new file mode 100644 index 0000000..ea7dd84 --- /dev/null +++ b/docs/evidence/successor-protection-20260914/runtime.json @@ -0,0 +1,53 @@ +{ + "observed_at": "2026-09-14T15:47:13.093567+00:00", + "status": "tested_not_deployed", + "runtime_services": [ + { + "service": "omniquant-highmem177.service", + "pid": 987464, + "state": "active" + }, + { + "service": "fidc-backtest-service-highmem177.service", + "pid": 4108679, + "state": "active", + "exe_sha256": "5933b7423c6722e5fe644a604c915a27ceb89900f690b092d1689bfe0fe389b7" + }, + { + "service": "fidc-paper-trading-highmem177.service", + "pid": 3765829, + "state": "active", + "exe_sha256": "3ebd7ce815e325ff0bb38632ef5b5e5cd5aff7a4e0601ba0229feb3201cdefe3" + }, + { + "service": "fidc-live-trading-highmem177.service", + "pid": 3765783, + "state": "active", + "exe_sha256": "1f4b2d697accdbb76d89cd7cb9c3ae4dad942d86e3dde2e7d211eee5879b9144" + }, + { + "service": "fidc-strategy-runtime-highmem177.service", + "pid": 3765705, + "state": "active", + "exe_sha256": "5a160ba9588f0ba9275f7d33152667be176cece310fc3026d4c043d897d44b4c" + }, + { + "service": "fidc-trading-control-highmem177.service", + "pid": 3765532, + "state": "active", + "exe_sha256": "9feade5eed04007595f6ef88e076a3f501631b06cb6dc9d9b6d7f5be379b0a20" + } + ], + "source_runtime_commit": "d5b682c6d09704ff23d725a8dd8b155db3eb6967", + "source_runtime_tracked_clean": true, + "engine_development_checkout": "ba4b77fd746963687b8029b47806f943ed6ce03f", + "preserved_service_development_checkout": "5991e7733d9e2a770f740e971924b12cc5f7d29d", + "immutable_source_file_count": 985, + "source_snapshot_manifest_sha256": "6ae0cb8f0e571b4848e2cba6b39368a19434cc43729cfe07aad6fdce531d2814", + "test_scope": "fidc-conversion-protection-check-20260914-51wBBB.scope", + "test_cpu_quota_percent": 400, + "test_memory_max_gib": 12, + "source_runtime_modified": false, + "production_order_or_cancel_requests_by_this_verification": 0, + "production_task_configuration_writes_by_this_verification": 0 +} diff --git a/docs/successor-protection-20260914.md b/docs/successor-protection-20260914.md index b12b8fb..7351ba6 100644 --- a/docs/successor-protection-20260914.md +++ b/docs/successor-protection-20260914.md @@ -27,4 +27,12 @@ Source公司行为接口仍缺正式换股条款及所需数据范围闭包,在线重建也仍需要权威转换持仓事实,不能仅凭最终股数或证券名称猜关系。本轮原生回放与Linux测试不是GT/QMT公司行为实盘验收。Source d5冻结保持,不改旧合同、不注册替代合同或恢复交易。 -继续正式Source/Runner联合验收、在线转换事实持久化/重建、旧目标及活动单边界、清空后再投参考和其余ETF跨模式矩阵。Linux使用新只读快照;没有发布tag、release构建或生产重启,完成后追加收据。 +继续正式Source/Runner联合验收、在线转换事实持久化/重建、旧目标及活动单边界、清空/0%后再投参考及其余ETF跨模式矩阵。需先核对原账务模型与仓位参数的关系,不能为了通过保护样例擅自改变再投定价、费用或策略意图。 + +## Linux配套验收 + +功能提交 `ba4b77fd746963687b8029b47806f943ed6ce03f` 已推送并核对,177引擎开发树已快进至此,Service并行5991e77保留。新只读快照 `/srv/fidc/programs/runtime-snapshots/conversion-protection-20260914-51wBBB` 含985文件,独立同名build根;4CPU/12GiB、boris运行、1GiB保护线不改。源码manifest SHA `6ae0cb8f0e571b4848e2cba6b39368a19434cc43729cfe07aad6fdce531d2814`。 + +Linux Core913、Trading625、Runner/API594共2132项全过,原9/63/16项ignore单列,源码前后不变;结束时可用80519344128字节。scope已inactive,不再重复本批测试或覆盖前阶段收据。证据为 `docs/evidence/successor-protection-20260914/{local-tests,linux-tests,runtime}.json`。 + +23:47 CST逐服务比对,现有UI/五后端PID及后端实际SHA与上一轮完全相同,Source d5且tracked clean。没有新release构建、发布tag、生产重启、账户/任务/路由/通知写入或券商委托;开发树同步不等于运行版本发布,完整目标仍需上述联合验收。