edit | blame | history | raw

慧博 10 分钟快速采集工具真实性能测试方案 V002

创建人员:dev.developer.ana.cai
task:DEV-ANA-HIBOR-FAST-COLLECTION-20260729-001
plan_id:PERF-TEST-PLAN-ANA-HIBOR-FAST-COLLECTION-V002
owner / reviewer:dev.developer.ana.cai / dev.reviewer.ana.cai
请求来源:HANDOFF-YANBAO-DEV-ANA-HIBOR-FAST-COLLECTION-TOOL-20260729-001HANDOFF-YANBAO-DEV-ANA-HIBOR-REAL-TEST-SUBJECTS-20260729-001
前序方案:TEST-PLAN-ANA-HIBOR-FAST-COLLECTION-REAL-PERFORMANCE-V001=HOLD/1/1;V001 保持不可变。
实现基线:CODE-DESIGN-ANA-HIBOR-FAST-COLLECTION-V011=PASS/0/0AUDIT-DEV-ANA-HIBOR-FAST-COLLECTION-FORMAL-PLAN-RUNTIME-BINDING-IMPLEMENTATION-REREVIEW-001=PASS/0/0
实现复审审计快照:467815/cd787f0418351adafd13edd3ea1e91b964847b50d8bb6092d978e5ae7ee08bdb

1. V002 目的与继承边界

V002 继承 V001 的 SLA、三个测试主题、额度、访问控制、原件、manifest、失败保留和禁止事项,仅以本文件明确内容替换 V001 中已过时的 V003 TaskSpec、内存 plan 和 synthetic 汇总路径。冲突时以 V002 为准。

本阶段仅验证工具在真实慧博 APP 中的采集性能和证据闭包:

  • 10 个 primary 全部进入统计,不允许由调用方布尔值或人工筛除改变分母;
  • 正常单份 median <=480000ms,nearest-rank P90 <=600000ms
  • collect-one 从 task observed_at_utc 至 terminal 不超过 600000ms
  • batch I01 不超过 600000ms,I02–I04 各自与前一 item terminal 的单调时钟增量不超过 240000ms
  • 任何超时必须返回 TIME_BUDGET_STOP/10 和有效不可变子集,不得静默继续;
  • 每份成功样本必须同时通过 PDF magic、remote/local bytes、remote/local SHA-256、pdfinfo openability、page count、正式 manifest 和 quota 事件链复核。

非目标:不解析研报正文,不生成研究结论、目标价或交易指令;不执行数据库、网络抓取、账号动作、BATCH-001 或外部消息写入。

2. 受审实现与工具快照

对象 固定绑定
performance.py 34419/bfb3fc943be8f3b45a6c4017ff4cf7a1fec78c69cb0cd4d77df7374f242f900a
性能回归测试 test_discovery_performance.py=23154/34d755c220fff1553c67bc1c69feb038b2592c1a05fffdf93f9fea00cb6830a5
Python C:\Users\Cai\.cache\codex-runtimes\codex-primary-runtime\dependencies\python\python.exe91648/3c6a206b7d93cca823934a83732220dcffd413fd1036d9fb82eebb64599cf7f3
ADB D:\platform-tools\adb.exe6641760/1e1c2280b90b3f01ad84cd8df4858b1b1995012814f3ca8893bcc3ba3848edec
pdfinfo C:\Users\Cai\.cache\codex-runtimes\codex-primary-runtime\dependencies\native\poppler\Library\bin\pdfinfo.exe65536/bc2c0f980c9a2a29cd1e06aacd8d1c7b67a5304e9d1d6f75190bdeb9c81a4365
Android package cn.com.hibor
cache /sdcard/Android/data/cn.com.hibor/files/myfile/
evidence root E:\mb-ms-doc\project-info\ana-data\tmp\HIBOR-FAST-PERFORMANCE-20260730-002
historical quota daily_quota_2026-07-29.csv,必须包含中国中免至少 3 次已知 distinct trigger 的保守 baseline

真实执行前重新校验三个可执行文件均为普通非链接文件,路径、bytes、SHA-256 完全一致。pdfinfo 是 evidence root 外的受审只读运行时工具;正式汇总必须记录 GLOBAL/runtime_pdfinfo evidence row,但不得错误要求它位于 E: evidence root 内。

3. 管理授权与两段式执行

本方案 PASS 后才向 management.admin 请求一次项目内真实 APP/ADB 性能执行授权。授权以本 V002、实现 PASS 审计、最多 10 次 distinct trigger、三个主题池和本节 DAG 为边界;不是每 URL/每命令一次性授权。

获批后严格顺序执行:

  1. 校验工具、cwd、单一设备、package、cache、登录与额度状态;运行一次无写入 dry-run。
  2. 通过正式 discover 模式依次只读搜索三环集团、国瓷材料、MLCC;只允许搜索、3–5 屏 FAST 扫描、详情字段核对,不允许下载 tap、reserve、pull 或发布。
  3. 从 discovery 事实选择 10 个不同 report identity,生成物理 performance_plan.json,CreateNew/no-overwrite;立即记录其 bytes/SHA-256,作为本次执行后续所有 TaskSpec、SUMMARY 请求和复审的授权计划快照。计划生成失败或快照不确定则在第一次 reserve 前 STOP。
  4. 创建并执行六个 collect-one V004 TaskSpec,再执行一个 quantity=4 batch V004 TaskSpec;不得并发,不得第 11 次 trigger。
  5. 每个 terminal 后确认无活动 reservation/liveness uncertainty,才可进入下一 task。STATE_UNCERTAIN/27、额度不确定或子进程存活时停止全批次。
  6. 最后只读调用正式 hibor_fast_collection.performance SUMMARY,从物理证据生成 performance manifest 与 summary;不得调用 synthetic=True,不得传入人工 pass/fail 布尔值。

任何预 reserve 外部 blocker 可使本次结果成为 INSUFFICIENT_PERFORMANCE_SAMPLES,但不得改写物理计划、替换已冻结 primary 或把失败样本排除成 PASS。

4. 物理 performance plan 合同

文件:<evidence_root>/performance_plan.json。编码为严格 UTF-8 canonical JSON、无 BOM/尾随空白,schema=HIBOR_FAST_PERFORMANCE_PLAN_V002。顶层按顺序仅含 9 键:

schema_version,plan_id,created_at_utc,quota_date,quota_ledger,historical_quota_date,historical_quota_ledger,trigger_cap,entries

固定要求:

  • trigger_cap=10historical_quota_date=2026-07-29;两个 ledger 文件名必须与各自 quota date 一致;
  • entries 恰好 10 行,slot 唯一、report identity 唯一;
  • 每行按顺序仅含 9 键:slot_id,mode,batch_id,item_order,query,expected_report,discovery_sha256,external_exclusion_allowed,selected_from_readonly_discovery
  • expected_report 按顺序仅含 report_identity,title,institution,report_date,page_count,其中 identity=SHA256(title|institution|report_date)
  • discovery_sha256 必须匹配只读 discovery 原始文件;两个布尔字段均为 true
  • 顺序固定为:三环集团 2 个 collect-one、国瓷材料 2 个 collect-one、MLCC 2 个 collect-one、同一 batch_id 的 MLCC I01–I04;batch item_order=1..4

计划写入 receipt 的 bytessha256 随后固定为 authorized_plan_bytesauthorized_plan_sha256。所有真实 TaskSpec 的 performance_plan_id 必须等于该计划的 plan_id;collect-one performance_slot_id=slot_id,batch 四行共用 performance_slot_id=batch_id

5. V004 TaskSpec 与 reserve 前身份门禁

真实任务只允许 HIBOR_FAST_TASK_SPEC_V004,不得使用 V003。每项必须在启动前 CreateNew 保存,并包含计划中对应的有序 expected_reports:collect-one 一行;batch 四行。

公共参数:

  • project_id=project-info;requester/source role=case_analysis.report_collector;review owner 为当前人工请求者;
  • output_root=<evidence_root>/outputdestination=<evidence_root>/archive;工具/package/cache 使用第 2 节绑定;
  • minimum_pages=1,min_screens=3,normal_max_screens=5,hard_max_screens=20,hard_max_candidates=100
  • collect-one:quantity=1,total_budget_ms=600000,close_reserve_ms=30000
  • batch:quantity=4,total_budget_ms=1320000,close_reserve_ms=30000,batch_increment_budget_ms=240000
  • observed_at_utc 在当前任务被执行端观察时生成;task_id/handoff_id 唯一;同一 task/run 的安全 replay 不得再次 tap。

每个 item 在 quota reserve 和下载 tap 之前,必须把 APP 详情页 title,institution,report_date,page_count 与计划中 expected report 做逐字段相等校验并复算 identity。不一致立即 BLOCKED_INPUT,不得 reserve、tap 或以相邻候选替代。

6. 额度与样本固定规则

  • timezone=Asia/Shanghai;平台 30、automation target 25、hard stop 27、buffer 3;本计划最多新增 10 个 distinct trigger。
  • 执行日 ledger 先记录 APP_RECONCILEsafe_available=max(0,27-confirmed-uncertain-active)。低于 10 时只执行安全子集并返回不足,不得越线。
  • RESERVE -> CONSUME_CONFIRMED/CONSUME_UNCERTAIN/RELEASE -> ARTIFACT_SUCCESS/ARTIFACT_FAILED 引用链必须真实、单向、可复算。
  • damaged、非 PDF、duplicate、trigger 后失败和 uncertainty 均按规则消耗;terminalled reservation replay 不得再次 tap。
  • pure reuse 必须在 reserve 前识别,账本字节不变且不进入 10-primary SLA 样本;一旦 primary reserve,则无论成功、超时或验证失败都留在分母。
  • 不修改、删除、重命名模拟器原件;项目发布继续 CreateNew/no-overwrite/exact replay,冲突 fail closed。

7. 正式证据引用与 SUMMARY 请求

每个计入 slot 必须提供一行有序 evidence reference,仅含:

slot_id,task_path,discovery_path,terminal_path,timing_path,manifest_path,item_id

路径除固定外部 pdfinfo 外均必须解析为 evidence root 内普通非链接文件。十行顺序必须是物理 plan 的前缀且最终恰好覆盖 10 行;batch item_id 固定 ITEM-001..ITEM-004

正式 SUMMARY request 按顺序仅含:

kind,plan_path,plan_bytes,plan_sha256,evidence_root,evidence_references,started_at_utc,ended_at_utc

其中:

  • kind=SUMMARYplan_path 指向物理计划;plan_bytes/plan_sha256 必须等于第 4 节 receipt;
  • 生成器重新读取并验证计划 canonical bytes/schema/授权快照,不接受内存 plan;
  • 生成器逐项读取 V004 TaskSpec、discovery、V009 terminal、V002 timing、V004 report manifest、current/historical ledger 和 PDF;
  • 生成器重新计算 task/run/slot/batch/expected identity、discovery hash、terminal item、单调时钟、manifest、PDF 和 quota 引用链;
  • performance manifest 必须包含 GLOBAL/performance_planGLOBAL/runtime_pdfinfo、两个 ledger 及每个样本的实际 task/discovery/terminal/timing/manifest/PDF path/bytes/SHA-256;
  • summary 与 manifest 均 CreateNew 或 exact replay;任何 drift 拒绝,不暴露未验证的冲突文件。

正式命令仅允许绑定 Python 在 E:\mb-ms-doc\project-info\dev\ana-dev cwd 运行模块入口;不得暴露 synthetic 开关。summary 只有从上述物理证据复算才可产生。

8. 结果算法与失败闭包

summary schema=HIBOR_FAST_PERFORMANCE_SUMMARY_V003。10 个样本 elapsed 排序,第 5/6 平均为 median,第 9 个为 nearest-rank P90。batch first 使用 I01 elapsed,batch increments 使用 I02–I04 的 terminal_delta_from_previous_ms

PERFORMANCE_PASS 必须同时满足:

  • included_total=success_total=10,trigger total <=10
  • median/P90/batch first/batch increments 满足第 1 节;
  • 10/10 magic、bytes、hash、openability、page count、manifest、quota 全部为真;
  • 最终 active=0,effective consumed 始终 <=27
  • 无缺失、错序、重复、pure reuse、计划/工具/文件漂移或失败样本。

少于 10 行只能是 INSUFFICIENT_PERFORMANCE_SAMPLES;任一已 reserve 样本失败只能是 PERFORMANCE_FAILED。访问控制、设备离线、额度不足、候选不足、超时和不确定均保留已完成子集及 blocker,不得伪造 PASS、静默重跑或扩展到未授权主题。

9. 审核、执行和停止边界

本 V002 先提交 exact dev.reviewer.ana.cai 独立方案复审。只有 PASS/0/0 后,才向 management.admin 请求一次真实 APP/ADB、最多 10 trigger 的项目内执行授权。该方案 PASS 不是执行授权。

真实执行后,完整不可变 package 与 PERFORMANCE_PASS/FAILED/INSUFFICIENT 结论再次提交 exact dev.reviewer.ana.cai 独立复核。普通报告结果 review owner 仍为人工请求者/case_analysis.report_collector

当前状态:PENDING_INDEPENDENT_REAL_PERFORMANCE_PLAN_V002_REVIEW。真实 ADB/APP/download trigger/quota increment/performance sample/database=0/0/0/0/0/0。BATCH-001 继续 HELD。