From 866fe32a8c2a112be3c3a83aef72f205ad47d809 Mon Sep 17 00:00:00 2001 From: boris Date: Sat, 5 Sep 2026 06:00:23 +0800 Subject: [PATCH] test: record transient selection arena acceptance --- .../fidc-core/src/platform_expr_strategy.rs | 2 + .../transient-selection-arena-20260905.json | 115 ++++++++++++++++++ 2 files changed, 117 insertions(+) create mode 100644 docs/evidence/transient-selection-arena-20260905.json diff --git a/crates/fidc-core/src/platform_expr_strategy.rs b/crates/fidc-core/src/platform_expr_strategy.rs index dccdd90..58b1357 100644 --- a/crates/fidc-core/src/platform_expr_strategy.rs +++ b/crates/fidc-core/src/platform_expr_strategy.rs @@ -34434,6 +34434,7 @@ let target_exposure = csi_ready ? dynamic_exposure : 0.0; let plan = strategy.selection_quote_plan(&ctx, 0).expect("quote plan"); assert!(plan.requires_intraday_selection_quotes); + assert!(strategy.stock_state_cache.borrow().is_empty()); assert_eq!(plan.processed_scope, 4); assert_eq!( plan.candidate_symbols, @@ -34464,6 +34465,7 @@ let target_exposure = csi_ready ? dynamic_exposure : 0.0; let (selected, diagnostics, _) = strategy .select_symbols(&ctx, date, date, date, &day, 0.0, 100.0, 3) .expect("selection"); + assert!(strategy.stock_state_cache.borrow().is_empty()); assert_eq!( selected, vec!["000003.SZ".to_string(), "000004.SZ".to_string()] diff --git a/docs/evidence/transient-selection-arena-20260905.json b/docs/evidence/transient-selection-arena-20260905.json new file mode 100644 index 0000000..5899205 --- /dev/null +++ b/docs/evidence/transient-selection-arena-20260905.json @@ -0,0 +1,115 @@ +{ + "schemaVersion": "fidc-transient-selection-arena/v1", + "measuredAt": "2026-09-05T05:57:00+08:00", + "host": "192.168.31.177", + "engineCommit": "d89dd24f0a3993ed10b00957f947b65d91b00ffc", + "serviceCommit": "9fd5a9e6d5668af57f6942fc3c4127953545d9c6", + "runnerBinarySha256": "53680c33cd96487c52c47b96bb8c6f0bece69bb5617a6036d382f4262c181b2c", + "implementation": { + "description": "keep custom-rank and quote-plan stock states in a contiguous transient arena, sort lightweight state indexes, and isolate ordered and generic selection functions", + "candidateSnapshotCacheUsed": false, + "selectionResultCached": false, + "stateArenaSharedAcrossRuns": false, + "stateArenaLifetime": "single selection call", + "riskDecisionOrderChanged": false, + "pitSemanticsChanged": false + }, + "rejectedIntermediate": { + "commit": "7f7fce1", + "problem": "stored StockExpressionState directly in the sortable tuple and repeatedly moved the large value during stable sorting", + "rollbackBaselineEngineSeconds": 5.934, + "observedBadCandidateEngineSeconds": [6.972, 8.868, 8.748, 9.317, 6.251], + "retainedInFinalCode": false + }, + "genericRankFiveYearContract": { + "requestSha256": "06a5cdf6a96673d45cc54f4ff0f18a125dbcc0b80d0d52496f8a0c638bbc81d3", + "rankBy": "free_float_cap", + "totalReturn": 0.7140315244542004, + "tradeCount": 21876, + "canonicalSha256": "84367993911b42437939aad88f29379d007af6f5f171667ff7ad6677dd488fd2", + "resultStoreSha256": "e2c7401bb9950da6fdfc0b516428061651e3e5b874a5f80c4b03ab8a81e90191", + "rollbackMedianEngineSeconds": 5.934, + "finalEngineSeconds": [4.143, 4.125, 4.218, 4.226, 4.379], + "finalMedianEngineSeconds": 4.222, + "observedMedianImprovementPercent": 28.850691, + "resultConsistent": true, + "terminalAuditStatus": "clean" + }, + "primaryOrderedFiveYearContract": { + "totalReturn": 0.9219861819172002, + "tradeCount": 26088, + "canonicalSha256": "b42fea66237d06eadb24f6b8c9e2760e7319fe3699f315b99e01f433ef2aa234", + "resultStoreSha256": "92343fb369fea68b2544b654151c5c43a935940580b14afbe8eefb3844f72a54", + "engineSeconds": [2.647, 2.692, 2.659, 2.813, 2.768], + "allRunMedianEngineSeconds": 2.692, + "previousAcceptedMedianEngineSeconds": 2.667, + "observedMedianDeltaPercent": 0.937383, + "classification": "within_host_load_variance", + "resultConsistent": true, + "terminalAuditStatus": "clean" + }, + "secondaryOrderedFiveYearContract": { + "totalReturn": 1.1342962298106998, + "tradeCount": 19404, + "canonicalSha256": "0dbd3fad624097c673c4a5ec2f545f95e9c21d1d5337bb2b48ffeb22b16cb2b9", + "resultStoreSha256": "416d2f87241fb4c6b917f6aeecb588f82f6e7d51a103f4c53a74d11971f16839", + "rollbackMedianEngineSeconds": 2.408, + "finalProcessHotMedianEngineSeconds": 2.372, + "observedMedianImprovementPercent": 1.495017, + "resultConsistent": true, + "terminalAuditStatus": "clean" + }, + "fullMinuteContract": { + "scheduleTime": "10:18", + "matchingType": "minute_last", + "slippageModel": "price_ratio", + "slippageValue": 0.001, + "totalReturn": 0.03473222656500008, + "tradeCount": 156, + "canonicalSha256": "457c086b1bca784fe83f447bb22451925e8f022456bb0fc7b54237a7a7886849", + "resultStoreSha256": "04d804ee02ad7bc9b3649b4a2b4ddd902a4242ef38e00edeed8058860e9a6997", + "totalSeconds": [0.6, 0.546], + "engineSeconds": [0.155, 0.164], + "resultConsistent": true, + "terminalAuditStatus": "clean" + }, + "genericRankProfile": { + "runId": "btr_1788558913084_672102_18", + "engineSeconds": 4.46, + "allThreadEventCycles": 33149272847, + "transientStockStateBuilderPercent": 16.1, + "numericVmEvaluatePercent": 8.53, + "rankedSelectionPercent": 6.8, + "adjustedCloseMovingAveragePercent": 4.87, + "stableSortPercent": 3.68, + "mallocPercent": 3.34, + "lostSamples": 0 + }, + "memory": { + "serviceCgroupCurrentBytes": 11510001664, + "serviceCgroupPeakBytes": 11511304192, + "persistentCacheAddedBytes": 0 + }, + "testGate": { + "workspaceTotal": 544, + "passed": 536, + "ignoredManualBenchmarks": 8, + "failed": 0, + "quotePlanTransientCacheAssertions": true + }, + "remoteArtifacts": [ + "/srv/fidc/canonical/run/fidc-private/evidence/free-float-rank-five-year-request-20260905.json", + "/srv/fidc/canonical/run/fidc-private/evidence/transient-selection-rollback-generic-20260905.json", + "/srv/fidc/canonical/run/fidc-private/evidence/transient-selection-final-generic-20260905.json", + "/srv/fidc/canonical/run/fidc-private/evidence/transient-selection-final-primary-20260905.json", + "/srv/fidc/canonical/run/fidc-private/evidence/transient-selection-rollback-secondary-20260905.json", + "/srv/fidc/canonical/run/fidc-private/evidence/transient-selection-final-secondary-20260905.json", + "/srv/fidc/canonical/run/fidc-private/evidence/transient-selection-final-full-minute-20260905.json", + "/srv/fidc/canonical/run/fidc-private/evidence/transient-selection-final-profile-20260905/perf.data", + "/srv/fidc/canonical/run/fidc-private/evidence/transient-selection-final-profile-20260905/perf-report.txt" + ], + "acceptance": { + "status": "accepted_generic_transient_selection_arena", + "reason": "the same frozen custom-rank contract is about 28.85 percent faster than an immediate rollback, both ordered five-year contracts and full-minute execution preserve exact outputs, the final design sorts indexes rather than large states, and no persistent cache is added" + } +}