edit | blame | history | raw

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

创建人员:dev.developer.ana.cai
task:DEV-ANA-HIBOR-FAST-COLLECTION-20260729-001
plan_id:PERF-PLAN-ANA-HIBOR-FAST-COLLECTION-20260730-001
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
实现基线:CODE-DESIGN-ANA-HIBOR-FAST-COLLECTION-V011=PASS/0/0AUDIT-DEV-ANA-HIBOR-FAST-COLLECTION-IMPLEMENTATION-V001-REREVIEW-003=PASS/0/0,audit snapshot=445118/7396c2b94345b40efe76a7e75c2c947966d6a7e6727acf1a251b648e5fb22d9a

1. 目标与非目标

本阶段只验证已通过实现审核的工具在真实慧博 APP 环境中的性能与证据闭包:

  • 单份正常样本 median <=480000ms,nearest-rank P90 <=600000ms
  • 每份到 600 秒必须以 TIME_BUDGET_STOP 收口,不得静默继续;
  • 同查询 batch 的 I01 <=600000ms,I02–I04 相邻 item terminal 增量各 <=240000ms
  • 10/10 计入样本均需 PDF magic、remote/local bytes 与 SHA-256、openability、page count、manifest、quota ledger 通过;
  • 输出 UI/cache/copy/validation/manifest/terminal 分阶段耗时及失败 blocker。

本阶段不解析研报正文、不生成研究结论、目标价或交易建议;不执行数据库、网络抓取、账号操作、BATCH-001 或外部消息写入。

2. 固定环境与工具边界

对象 绑定
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/
project output root ana-data/tmp/HIBOR-FAST-PERFORMANCE-20260730-001/
current-day ledger ana-data/tmp/report-collection-control/daily_quota_<Asia-Shanghai-date>.csv
historical baseline daily_quota_2026-07-29.csv 必须保守登记中国中免 3 次已知 distinct trigger

仅允许顺序启动:一次 Python dry-run;一次历史账本基线登记(仅在该文件不存在时);最多七次真实 CLI(六次 collect-one、一次 batch);一次只读汇总/正式 performance package 写入。CLI 内部仅允许已审核的 ADB/pdfinfo 子进程。不得并发启动两个真实采集任务,不得使用额外 PowerShell/Node/浏览器作为候选采集或后处理工具,也不得手工复制绕开工具闭包;Codex host shell 仅用于启动上述已绑定 Python 命令。

3. 执行前门禁

任何真实 reserve/点击前必须全部通过:

  1. 重新校验上述 Python/ADB/pdfinfo 普通文件、bytes/hash,项目 cwd=E:\mb-ms-doc\project-info\dev\ana-dev
  2. python -m hibor_fast_collection --task <dry-run-task.json> --dry-run 返回 V009 terminal、exit 0、ADB action=0、trigger=0、quota write=0。
  3. 只读确认单一可用 MEmu device、package=cn.com.hibor、cache 可读、APP 可见且无登录/验证码/付费/订阅/权限阻断;多设备或身份不确定立即 STOP。
  4. daily_quota_2026-07-29.csv 不存在,使用已审核 QuotaLedger.initialize 仅追加 BASELINE_ESTIMATE=3,evidence_ref=HIBOR-CHINA-DUTYFREE-20260729-001;若存在则只读复核,不覆盖、不降低。
  5. 对执行当日先读取 APP visible remaining 并写 APP_RECONCILEsafe_available=max(0,27-confirmed-uncertain-active);不足 10 时只允许执行实际安全子集并返回 INSUFFICIENT_PERFORMANCE_SAMPLES,不得越过 27。
  6. 在第一次 reserve 前完成只读候选发现,生成一次 performance_plan.json;CreateNew、不可覆盖。每行固定:plan_id,created_at_utc,slot_id,mode,batch_id,item_order,query,expected_report_identity,external_exclusion_allowed,selected_from_readonly_discovery。文件 bytes/hash 登记到 performance manifest。

门禁失败不消耗 trigger;保留已产生的普通预检证据并停止,不自授权修复环境或绕过访问控制。

4. 固定样本结构与候选规则

slot mode query pool 目标
PERF-S01,PERF-S02 collect-one 三环集团 两个不同 report identity
PERF-S03,PERF-S04 collect-one 国瓷材料 两个不同 report identity
PERF-S05,PERF-S06 collect-one MLCC 两个不同 report identity
PERF-B01-I01..I04 同一 batch(quantity=4) MLCC 四个不同 report identity
PERF-A01..A03 no-trigger alternate 三环集团 / 国瓷材料 / MLCC 各一 仅替换 reserve 前 external-excluded primary

候选必须使用正式硬过滤、评分、3–5 屏早停与 20 屏/100 候选硬上限。十个 primary 的 expected_report_identity 在只读 discovery 后锁定;重复、主体不唯一、字段不完整、已在本计划占用、需要登录/付费/权限的候选不得进入 primary。alternate 只能在 primary 尚未 reserve/点击时替换,且总 distinct new trigger 仍 <=10;不得触发第 11 份。

每个 slot 使用唯一 task_id、handoff_id、performance_slot_id,全部绑定本 plan_id。六次 collect-one 的后续任务通过已锁定 identity/exclude 约束避免 PROJECT_REUSE 冒充新性能样本;任何 pure reuse 记录为 NO_TRIGGER_REUSE_NOT_IN_SLA_POPULATION,不消耗 trigger,也不能补足 10 样本。

4.1 TaskSpec 生成合同

所有 dry-run/真实任务都使用 HIBOR_FAST_TASK_SPEC_V003 的既有 43 键顺序,不增删字段。公共值固定为:

  • project_id=project-infosource_role_instance_id=requester=case_analysis.report_collectorsource_thread_id=reply_thread_id=019fa8b1-ba04-74a0-883a-e4451bc24503target_role_instance_id=dev.developer.ana.caitarget_thread_id=019f8057-49c9-7410-8772-76429bed4909review_owner=human_user_current_thread
  • output_root=ana-data/tmp/HIBOR-FAST-PERFORMANCE-20260730-001/outputdestination=ana-data/tmp/HIBOR-FAST-PERFORMANCE-20260730-001/archive;quota、tool、package、cache 使用第 2 节绑定。
  • minimum_pages=1min_screens=3normal_max_screens=5hard_max_screens=20hard_max_candidates=100close_reserve_ms=30000batch_increment_budget_ms=240000
  • collect-one:quantity=1,total_budget_ms=600000;batch:quantity=4,total_budget_ms=1320000performance_plan_id 固定为本 plan_id,performance_slot_id 为表中 slot/batch id。
  • observed_at_utc 在对应 CLI 启动前立即生成;task_id/handoff_id 唯一且不可复用于另一个 primary。query 仅来自三类授权池;aliases/institutions/analysts/date_range/exclude 只允许取自已锁定的只读 discovery 事实,用于命中 expected identity 与排除已占用 identity,不得扩展主题。

task JSON 是普通内部控制文件,按语义验收和 CreateNew 保存;一旦该 slot 已 reserve,不得修改该 task。run_id 继续由已审核实现从完整 TaskSpec 确定性派生。

5. 额度、失败与恢复

  • reserve 前写 RESERVE;稳定新增 cache 后写 CONSUME_CONFIRMED;无法确认写 CONSUME_UNCERTAIN;确认未触发才写 RELEASE
  • damaged/non-PDF/duplicate/failed-after-trigger/uncertain 均按正式规则消耗;active reservation 始终占用 safe limit。
  • slot 第一次成功 RESERVE 即进入 SLA 分母。触发后的 timeout、internal、validation、mapping、quota-state failure 不得排除或重跑成新样本。
  • 只有 reserve 前已证明的登录/验证码/付费/权限、模拟器离线、APP 服务不可用或报告不可访问可使用预登记 alternate;证据为开始/结果/详情/结束截图、UI dump 和 terminal。
  • 任务失败可重放同一 task/run 以验证幂等,但 terminalled reservation replay 不得再次点击;重放不算新样本。不得删除、改写或重命名远端缓存原件、账本事件、已发布 PDF 或正式 package。
  • 当日额度不足、候选不足或外部 blocker 导致少于 10 个有效样本时,返回有效子集并顺延;不得扩展到三个授权主题以外。

6. 逐项执行与时间定义

  1. 先依次执行 PERF-S01..S06;每项 observed_at 是正式 task 被当前执行观察的 UTC 时间,item close=observed+600s,work close reserve=30s。
  2. 再执行 PERF-B01;I01 从 batch observed 到 I01 terminal,I02–I04 从前一 item terminal monotonic 到当前 terminal;每项另记录自身 start-to-terminal。
  3. 所有 task 只通过 python -m hibor_fast_collection --task <task.json> --execute 执行一次。CLI stdout 保存为对应公开 terminal 的调用端副本;正式权威 terminal/manifest/delivery/timing 使用工具 CreateNew 文件。
  4. 任何 task 到时、process liveness unknown、终态不确定或访问控制出现时先终止本 task,按 terminal 决定是否允许继续下一尚未 reserve 的 slot;STATE_UNCERTAIN/27、额度不确定或进程仍存活时停止整个批次。

7. 证据包与验收算法

固定根:ana-data/tmp/HIBOR-FAST-PERFORMANCE-20260730-001/。正式 package 至少包含:

  • performance_plan.json 与 10 primary/最多 3 alternate 记录;
  • 每个 task 的 task spec、V009 terminal、manifest、delivery、timing 和必要截图;
  • 成功 PDF 原件副本及 remote/local bytes/hash、magic、openability、page count;
  • daily_quota_2026-07-29.csv baseline 证据、执行当日 quota ledger 和最终 snapshot;
  • performance_manifest.csv:逐文件 path/bytes/SHA-256/source slot/type/status;
  • performance_summary.json:固定字段 schema_version,plan_id,started_at_utc,ended_at_utc,primary_total,included_total,success_total,trigger_total,confirmed_total,uncertain_total,active_total,median_ms,p90_ms,batch_first_ms,batch_increment_ms,magic_pass,byte_match_pass,hash_match_pass,openability_pass,page_count_pass,manifest_pass,quota_pass,result,blockers

统计算法继承 V002:10 个计入耗时排序,第 5/6 平均为 median,第 9 个为 nearest-rank P90。PERFORMANCE_PASS 必须同时满足:10/10 SUCCESS;trigger<=10;median<=480000;P90<=600000;batch I01<=600000;I02–I04 各<=240000;所有 PDF 与 manifest/quota 校验通过;最终 active=0;全程 effective consumed<=27。否则只能是 PERFORMANCE_FAILEDINSUFFICIENT_PERFORMANCE_SAMPLES,不得用排除项伪造 PASS。

8. 审核、授权与停止边界

本方案先提交 dev.reviewer.ana.cai 独立审核。只有 PASS/0/0 后,才可向 management.admin 申请一次针对本 plan 的真实 APP/ADB/最多 10 trigger 授权。管理授权应允许本方案内普通可恢复 UI/APP 操作与同一 slot 的幂等读取,不使用旧式每 URL/每命令一次性 A001;但额度、访问控制、账号与外部写边界保持 fail closed。

执行后由 dev.reviewer.ana.cai 独立复核 performance package 与统计结论;普通下载结果的 review_owner 仍为当前人工请求者/case_analysis.report_collector。实现 PASS 不等于性能 PASS,性能 PASS 也不授权研究正文、数据库或 BATCH-001。

当前状态:PENDING_INDEPENDENT_REAL_PERFORMANCE_PLAN_REVIEW。当前真实 APP/ADB/download trigger/quota increment=0/0/0/0