Commit Graph
54 Commits
Author SHA1 Message Date
bot_dev1 7a2e45e7c4 feat: 全站 Ant Design Pro 风格重构 + 登录守卫与角色门户(issue #131/#134)
- 新增 web/shared:pro.css(AntD 5 设计系统,旧 CSS 变量统一映射 AntD 色板)、
  session.js(后端优先+本地账号降级双轨会话,IAOP_AUTH 兼容层)、
  pro-header.js(全站统一 Pro 导航条:logo/页题/用户角色 Tag/退出)
- 门户 web/index.html:未登录跳登录页(next 回跳),登录后按角色过滤
  可见模块(readonly→驾驶舱/助手/移动端;engineer→+配置台;admin→全部)
- 登录页 auth/login.html 重写为 Ant Design Pro 风格,本地降级模式自动
  播种演示账号(admin/engineer/viewer),保留 OIDC SSO 双轨入口
- user_store.js 新增 verify() + seedDefaults() 默认账号播种
- 六模块页统一接入 pro.css + 统一导航条 + 登录守卫(PRD 8.2)
- 驾驶舱主题 dark→light(Ant Design 5 色板):renderer.py THEME_TOKENS、
  ti-cl4/resin 模板 theme、告警三级配色对齐 AntD(P0 #ff4d4f/P1 #faad14/
  P2 #1677ff),渲染计划已重编(build_plans.py)
- 验证:core/cockpit 86 单测通过;JS 语法检查通过;静态冒烟全 200
2026-08-05 14:17:37 +08:00
bot_dev1 ca6637b69e feat: 完成 issue #158 交接班摘要页补充历史摘要查看(最近 10 次本地保存) 2026-08-05 10:52:51 +08:00
bot_dev1 253ebe7b0b feat: 完成 issue #157 移动端只读驾驶舱补充手动刷新(KPI 时间桶滚动) 2026-08-05 10:50:05 +08:00
bot_dev1 3a6ef57592 feat: 完成 issue #156 审计查询页补充时间范围筛选 2026-08-05 10:47:31 +08:00
bot_dev1 04b5b33bb7 feat: 完成 issue #155 告警确认页补充确认超时自动升级(ackTimeoutS 同源配置) 2026-08-05 10:44:58 +08:00
bot_dev1 21d3654616 feat: 完成 issue #154 知识库管理页补充本地上传文档移除(模板资产只读保护) 2026-08-05 10:41:48 +08:00
bot_dev1 d181b4bfc8 feat: 完成 issue #153 模型管理页补充按模型审计历史视图 2026-08-05 10:39:56 +08:00
bot_dev1 6b36336ca6 feat: 完成 issue #152 登录页 OIDC SSO 双轨入口(配置点已文档化) 2026-08-05 10:37:26 +08:00
bot_dev1 458220ecbc feat: 完成 issue #151 用户/角色管理页补充角色权限矩阵视图(PRD 5.7) 2026-08-05 10:34:59 +08:00
bot_dev1 a2c089499e feat: 完成 issue #136 移动端只读驾驶舱与交接班摘要(web/mobile,共享布局资产) 2026-08-05 10:32:40 +08:00
bot_dev1 c5355e16c2 feat: 完成 issue #135 管理控制台(web/admin:模型/知识库/告警确认/审计查询) 2026-08-05 10:27:10 +08:00
bot_dev1 0d144715a0 merge: 合并 #150 认证后端/登录页,落地 #134 用户/角色管理+OIDC 预留+配置台接入 2026-08-05 10:20:09 +08:00
bot_dev1 7cf783e7c6 feat: 完成 issue #134 登录认证+用户/角色管理(web/auth,RBAC 三级,OIDC 预留,接入配置台) 2026-08-05 10:14:25 +08:00
bot_dev1 982ef65530 docs(#150): web/auth README(登录页与本地账号会话管理说明) 2026-08-05 02:08:37 +00:00
bot_dev1 73056ed32e feat(#150): 登录页客户端 auth.js(login/me + 路由守卫 requireLoginElseRedirect,PRD 8.2) 2026-08-05 02:08:24 +00:00
bot_dev1 351f791f1a feat(#150): 登录页 login.html(深色主题,对接 /auth/login) 2026-08-05 02:07:59 +00:00
bot_dev1 79afd967a7 feat(#150): 登录页样式 auth.css(深色主题,对齐 cockpit/studio) 2026-08-05 02:07:44 +00:00
bot_dev1 e6d94c95ba chore(#150): core/auth tests 包 2026-08-05 02:07:27 +00:00
bot_dev1 16d5865fef test(#150): 本地账号认证单元测试(密码哈希/UserStore/session/守卫) 2026-08-05 02:07:02 +00:00
bot_dev1 eba2bc3948 feat(#150): core/auth 包初始化 2026-08-05 02:06:43 +00:00
bot_dev1 51ff6dbcc6 feat(#150): 认证 HTTP 端点 auth_api.py(login/logout/me + require_auth/can_write 写操作守卫,PRD 8.2) 2026-08-05 02:06:34 +00:00
bot_dev1 f6f41913dc feat(#150): PostgreSQL users 表 DDL + 映射(对齐 #30 schema,role CHECK 约束) 2026-08-05 02:06:06 +00:00
bot_dev1 a1acc6e63b feat(#150): 会话管理 session.py(HMAC 签名 token + 恒定时间校验,HttpOnly cookie) 2026-08-05 02:05:50 +00:00
bot_dev1 b5b29d28d7 feat(#150): 本地账号认证 users.py(PBKDF2 密码哈希 + UserStore,对齐 rbac.py 三级角色) 2026-08-05 02:05:21 +00:00
bot_dev1 b2fa36bd35 chore: remove probe 2026-08-05 02:04:57 +00:00
bot_dev1 6d57c7ed65 chore(#150): probe core/auth dir 2026-08-05 02:04:48 +00:00
bot_dev1 db855241c5 chore(#150): test write to main HEAD (no content change) 2026-08-05 02:03:19 +00:00
bot_dev1 faddf24d11 feat: 完成 issue #133 对话助手增强版(引用溯源/路由分级/DLP 拦截,直连推理服务) 2026-08-05 09:57:53 +08:00
bot_dev1 19c832b244 chore: remove probe 2026-08-05 01:50:06 +00:00
bot_dev1 92634cbf73 chore: probe write test 2026-08-05 01:49:46 +00:00
bot_dev1 78078822d7 feat: 完成 issue #132 模板配置台 UI(web/studio:导入/超参/编排/版本,三级 RBAC) 2026-08-05 09:49:24 +08:00
bot_dev1 92e075c9f1 feat: 完成 issue #131 配置化驾驶舱 Web 前端(web/cockpit) 2026-08-05 09:32:10 +08:00
bot_dev1 97fbbfa7b2 feat(#60): 一键部署编排与回滚引擎
纯标准库实现,对齐 PRD 5.6「⑥ 部署底座」(不真执行 k8s/helm,模拟编排):

- deploy_plan.py:DeployStep(4 类:pre_check/deploy/health_check/post_check)
  + DeployPlan(顺序约束自动校验,default_helm_release 默认 4 步计划)+
  DeployOrchestrator(按序执行,必需步骤失败即中止并标记 needs_rollback,
  deploy/health_check 为回滚检查点,pre_check 失败无需回滚)+
  HealthCheckContract(对齐 deploy/k8s/healthz 99.8% 目标)。
- rollback.py:RollbackPoint(部署前快照,values_hash SHA1 检测漂移)+
  RollbackManager(快照栈 + rollback_to_latest/rollback(n),失败压回栈顶
  保持一致性,FIFO 淘汰,支持回滚后健康检查)+ RollbackResult(4 状态)。
- tests:30 用例覆盖计划构造/顺序约束、全成功/各类失败、回滚检查点判定、
  action 异常、dry_run、空计划、快照压栈/FIFO、回滚成功/失败/多版本/空栈/
  异常、健康检查契约、values 漂移、报告序列化。
- _sanity_check.py:冒烟验证快照→部署成功→部署失败→回滚全流程。
2026-08-05 05:32:27 +08:00
bot_dev1 1290a8bc54 feat(#55): Ti 行业布局模板(四状态流程视图)+ layout_validator
纯标准库实现,对齐 PRD 5.5「⑤ 配置化驾驶舱」iAOP-cockpit-layout-v1:

- cockpit.ti.yaml:海绵钛四状态工艺流程(氯化→精制→还原→蒸馏),
  process_view 主视图声明 stages 覆盖,trend/kpi_card bind 对齐
  point_dict.default.csv 的 point_id(CLF-01/RF-01/E-01/ST-01)。
- layout_validator.py:LayoutValidator 校验 widget 类型合法、12 列网格
  不越界、bind point_id 在点位字典内、四状态覆盖完整(order 单调/id 唯一);
  零依赖 YAML 子集解析(复制 impurity-forecast _parse_yaml_subset)。
- tests:18 用例覆盖真实资产端到端、非法类型、网格越界/负坐标/零宽、
  bind 漂移、缺 process_view、缺必需状态、order 非单调、stage 重复、
  $schema 头、CSV 加载、空布局。
- _sanity_check.py:冒烟验证 9 widgets 全校验通过。
2026-08-05 05:32:23 +08:00
bot_dev1 78bfc5d73d feat(#84): 树脂驾驶舱布局提取为模板
把已交付树脂驾驶舱布局资产(cockpit.resin.yaml)提取为可复用模板:
- dashboard/extractor.py:extract_template(变量化 R-801.TEMP→{device}.{point}、
  metric→{metric})、instantiate(点位字典回填)、diff_layouts(差异比对);
- PointDict.from_csv 加载 9 列点位字典;零依赖 _parse_yaml_subset 解析 YAML;
- tests/test_extractor.py 19 用例全部通过。
2026-08-05 05:29:24 +08:00
bot_dev1 5da367dfd8 feat(#54): 性能预算与懒加载策略引擎(首屏≤2s,图表懒加载)
纯标准库实现,对齐 PRD 5.5「⑤ 配置化驾驶舱」性能口径:

- perf_budget.py:PerformanceBudget(首屏 2000ms + 6 类资源预算)、
  ResourceMeasurement(block_render 区分关键路径)、BudgetVerifier
  (阻塞串行+非阻塞取最大口径,逐类型比对预算,PASS/FAIL/EMPTY +
  类型化优化建议,reason 可解释)。
- lazy_load.py:LazyLoadStrategy(immediate/visible/idle/never)、
  LazyLoadPolicy(视口行数+预加载+分页阈值+虚拟滚动)、LazyLoadPlanner
  (widget 坐标+滚动位置 → 决策+分页计划+虚拟滚动窗口)。
- tests:32 用例覆盖预算构造/查询、关键路径口径、达标/超预算场景、
  always_load 强制加载、视口边界、分页/虚拟滚动、输入校验。
- _sanity_check.py:冒烟验证达标/超预算/懒加载分流。
2026-08-05 05:26:09 +08:00
bot_dev1 a10b83007e feat(#73): [Ti-1] 模型部署到内核并接入驾驶舱(预测服务+告警+可解释视图+漂移监测)
新增 templates/ti-cl4/quality-forecast/serve.py:
- PredictionService:特征抽取→模型预测→告警判定全链路,部署前 validate
- Thresholds/AlarmLevel:纯度min/杂质max 双向阈值,normal/warning/critical 三级
- CockpitView:渲染 kpi_card+alarm_panel+explanation_list(对齐 cockpit-layout-v1)
  含 top-3 特征贡献溯源,满足 PRD 可解释可溯源要求
- DriftMonitor:累计 R²/MAE,超阈值触发重训信号(PRD §5.3/§9)
- DeploymentBundle:模型+特征清单+阈值+置信带整体序列化往返
- config/thresholds.template.yaml:TiCl₄纯度下限 99.2 阈值模板
- 14 用例(累计 53 用例)全通过;纯标准库零运行时依赖。
2026-08-05 05:17:36 +08:00
bot_dev1 aeee8ef468 feat(#69): [Ti-1] 质量预测模型训练与评估(岭回归+R²/MAE/RMSE+可解释)
新增 templates/ti-cl4/quality-forecast/model.py:
- RidgeRegression:纯标准库最小二乘+L2正则闭式解(高斯消元,不依赖numpy)
- QualityModel:聚合特征+目标+岭回归,fit/predict/evaluate(R²/MAE/RMSE)/explain
- explain():尺度归一化重要性(|权重|×std),跨特征可比较,供#73可解释
- TrainingSet.from_records:自动跳过含 NaN 的行
- ModelRecipe 超参包:target/alpha/feature_names 外置 YAML/JSON
- 序列化 to_dict/from_dict 往返一致
- 17 用例(累计 39 用例)全通过;纯标准库零运行时依赖。
2026-08-05 05:16:26 +08:00
bot_dev1 c6dc7d2344 feat(#68): [Ti-1] 氯化车间质量预测特征工程(基于点位字典)
新增 templates/ti-cl4/quality-forecast/features.py:
- PointDict:解析 point_dict CSV(9 列,对齐 core/edge-gateway),检索/存在性校验
- FeatureSpec:声明式特征(source/transform/window/meaning),换行业只改清单
- FeatureExtractor:按清单从时序样本抽取特征矩阵,缺失值 NaN 占位
- 9 算子:raw/mean/std/min/max/range/diff/slope/ratio
- 零依赖 YAML 子集加载(与 recipe-optim/data-bus 同款)
- config/features.template.yaml:7 个默认特征(炉温/配比/CO波动/炉层/TiCl₄纯度)
- 22 用例全通过;纯标准库零运行时依赖。
2026-08-05 05:14:39 +08:00
bot_dev1 11f2c14ee3 feat(#92): [M5] UAT 计划与执行支撑(用例集/准入准出/缺陷管理/排期/风险+一致性核对脚本) 2026-08-05 04:31:34 +08:00
bot_dev1 a0a77fb41f feat: 完成 issue #81 [Ti-2] 优化建议生成与可解释性(整合求解结果+跨工序权重+约束依据,输出可溯源建议报告) 2026-08-05 04:05:10 +08:00
bot_dev1 dcbd196fe9 feat: 完成 issue #80 [Ti-2] 跨工序寻优模型训练(纯标准库岭回归+多目标关联建模+R2评估+可解释权重+JSON序列化) 2026-08-05 04:03:23 +08:00
bot_dev1 c42846e18a feat: 完成 issue #79 [Ti-2] 配方优化求解器集成(网格枚举+坐标下降轻量求解器+solve统一入口,求解器无关契约) 2026-08-05 04:00:57 +08:00
bot_dev1 2aa70d078b feat: 完成 issue #78 [Ti-2] 配方优化问题建模(决策变量/目标/约束声明式规格+求解器无关+零依赖YAML加载) 2026-08-05 03:58:25 +08:00
bot_dev1 5bc7ff957e feat(#53): 移动端交接班摘要生成(NL,PRD 场景C ⑤ 移动端交接班摘要)
对应 PRD 场景C(辅助):交接班 → LLM 汇总本班关键事件/能耗/待办 → 生成交接班
报告 → 推送下一班(line 84/350-351)。把本班原始数据 → 移动端交接班摘要这条
链路模板化、可配置、可测试。

新增 core/shift-handover 内核模块:
- handover.py:班次数据归一化(ShiftRecord) + 摘要配置(HandoverBriefConfig) +
  validate/load 校验对 + build_llm_input(填 shift_handover v1.0.1 提示词占位符) +
  generate_handover_brief(LLM 注入生成, 离线/故障自动降级为确定性摘要) +
  render_handover_brief(编译移动端只读卡片 props)
- 零运行时依赖(仅标准库); LLM 以依赖注入传入, 内核不绑定云端 SDK
- 离线/LLM故障降级保证可用性≥99.8%(PRD 模型服务故障自动降级)
- 含 P0/安全事件时强制 requireConfirm=true(PRD 高利害人工确认)

新增资产/测试/验收:
- templates/ti-cl4/dashboard/handover_brief.ti.yaml(Ti 模板配置资产)
- tests/test_handover.py(32 用例全通过) + tests/_bootstrap.py(连字符目录挂载)
- scripts/verify_handover_brief.py(4 能力点全通过: 配置合法/LLM+降级/
  配置点驱动展示/≤2分钟验收线)
- README.md

验证: python -m unittest discover -s tests (32 OK) +
      python scripts/verify_handover_brief.py (全部通过)
2026-08-05 03:38:07 +08:00
bot_dev1 76f921f994 feat(#90): DoD 验收清单逐条核对(内核/首模板/NFR/流程节点+程序化核对脚本)
- docs/DoD验收清单.md:把 PRD §9 NFR + §10 DoD + §7.7 交付物清单拆成勾选式清单
  · iAOP-Core 6 模块 28 项(C-01~C-28)+ 首模板 8 项(T-01~T-08)
  · NFR 量化底线核对表(P99≤1.8s/丢失率≤0.02%/可用性≥99.8%/路由≥96.5%/首屏≤2s 等)
  · 验收流程六节点(自测→内部评审→客户UAT→上线→质保观察→闭环)
  · 风险登记(标注数据不足/UAT 配合度/机房环境)与四态状态口径
- docs/_check_dod.py:程序化核对必备章节/量化指标/状态口径/流程节点/证据路径
- 验证:6 个 docs 校验脚本全部通过(含新增 _check_dod.py),无回归
2026-08-05 02:34:00 +08:00
bot_dev1 42d206e503 feat(#70): 炉层杂质预警特征工程(声明式FeatureSpec引擎,PRD 5.3 ③)
新增 templates/ti-cl4/impurity-forecast:声明式特征工程引擎,特征以
FeatureSpec 描述(EMA/RollingStd/RateOfChange 等 7 算子),换行业只改模板配置
features.template.yaml,引擎零改动(PRD 5.3:特征工程层跨行业差异落在
FeatureSpec,不落代码)。

- features.py:FeatureSpec 声明 + 校验 + 7 算子 + 时序对齐 + 阈值 breach + 零依赖 YAML 解析
- config/features.template.yaml:炉温/氯气/炉压/炉层 9 条特征(对齐点位字典 point_id)
- tests/test_features.py:24 项单测(校验/算子/对齐/breach/配置/端到端提前量)全通过
- _sanity_check.py:冒烟脚本(配置加载 + transform + breach 可观测)

验收:一期阈值+无监督上线,提前量信号可观测(PRD 提前≥30min、误报率≤8%口径)。
2026-08-05 01:59:42 +08:00
bot_dev1 d23dfae776 feat(#51): 图表组件配置化渲染引擎(CockpitLayout→RenderPlan,PRD 5.5 配置化驾驶舱渲染层适配器)
在 #50 布局 JSON Schema 之上实现渲染层适配器,把 CockpitLayout 编译为与前端框架无关的 RenderPlan:

- 新增 core/cockpit/renderer.py:RenderPlan/WidgetRendererSpec/GridPlacement 渲染描述符,栅格整数坐标→CSS Grid 定位+百分比换算,widget type→前端组件映射(ProcessView/TrendChart/KpiCard/AlarmPanel/NlQuery)+ props 组装(四状态/趋势窗口/KPI标签兜底/告警订阅/NL占位),dark/light 两套主题 CSS 变量注入,组件数≥30 触发全局+逐组件性能策略(虚拟滚动/采样降频/WebWorker,PRD 5.5),render_layout 复用 #50 校验器防篡改。

- plan_to_dict/plan_to_json 序列化:切换行业模板=换 RenderPlan,前端组件注册表固定即可「切换模板零改码」。

- 28 个单元测试全通过 + verify_renderer.py sanity check 通过(氯化车间示例 + 树脂模板兼容 + 主题切换 + 序列化往返)。全 cockpit 模块 58 测试无回归。
2026-08-05 01:26:05 +08:00
bot_dev1 ace09a6d16 feat(#50): 驾驶舱布局 JSON Schema 定义(PRD 5.5 配置化驾驶舱)
新增 core/cockpit 模块,定义 iAOP-cockpit-layout-v1 布局资产 schema 的
权威实现,对齐 PRD 5.5「⑤ 配置化驾驶舱」验收口径(切换模板零改码)。

交付内容:
- core/cockpit/layout.py:布局字段规范、合法性集合(主题/组件类型)、
  validate_layout 校验器(结构+语义)、load_layout 解析器、
  CockpitLayout/Widget/Grid 内存模型(dataclass)、LayoutValidationError。
- core/cockpit/__init__.py:对外导出。
- core/cockpit/tests/test_layout.py:30 个单测(PRD 示例/树脂模板兼容/
  各类非法/性能提示/解析/round-trip/不变入参)。
- core/cockpit/scripts/verify_layout_schema.py:端到端验证脚本(exit=0)。

兼容性:现有 templates/resin/dashboard/cockpit.resin.yaml 引用的
$schema: iAOP-cockpit-layout-v1 与本实现一致,树脂模板资产校验通过。
2026-08-05 00:29:42 +08:00
bot_dev1 5fa1103e3f feat(#39): 超参包 JSON Schema 校验器(PRD 5.3 模型框架配置化)
新增 core/model-framework/hyperparam.py:超参包(Hyperparam Pack)结构化
校验器,零外部依赖(不依赖 jsonschema),对齐 PRD 5.3「超参包驱动」与 EPIC #5。

校验维度(10 类):
- 顶层结构:必填字段 model_id/template/algorithm/features/target;
- algorithm:已知算法集合校验(xgboost/lightgbm/dnn/lstm/gnn/
  isolation_forest/zscore/linear/ridge),未知项报错并列出已知项
  (对齐 PRD「新增结构走 Recipe 插件注册」);
- features:非空列表、name 唯一且合法、spec 非空(FeatureSpec 文本
  存在性校验,语法由 #35 引擎解释);
- objective/hyperparams/train_window/alarm_threshold/drift_check 可选
  字段的类型、取值与格式校验(train_window 形如 180d/4w;drift limit
  在 (0,1];alarm type 含对应阈值键)。

设计:
- validate_pack 返回 ValidationReport(逐条问题,不抛异常),便于配置台
  聚合展示;load_pack 校验失败抛 ValueError 供训练/推理流水线 fail-fast。
- validate_pack_file 复用结构校验,文件/JSON 解析错误也记入报告。

测试:tests/test_hyperparam.py 25 用例全绿(合法包/必填缺失/未知算法/
特征重复与缺 spec/目标函数/train_window 格式/alarm/drift/文件加载与
JSON 解析错误);python -m unittest discover -s tests -v → 25 passed。

close #39
2026-08-04 21:35:44 +08:00
bot_dev1 69d8178a83 feat(#89): 可用性/容灾演练套件(断点续传 + 故障隔离)
- 新增 tests/ha/ 容灾演练套件,4 个场景验证 PRD 第 9 章可用性/容灾 NFR:
  · 可用性基线:600 点位 30 轮健康采集,可用性 ≥ 99.8% / 丢失率 ≤ 0.02% / P99 ≤ 1.8s
  · 驱动故障隔离:30 轮中注入 5 轮设备掉线,引擎不崩溃,故障被隔离(_FlakyDriver 注入)
  · 上行抖动恢复:Kafka 中断 5 轮期间样本驻留 spool,恢复后断点续传零丢失
  · 进程重启容灾:销毁引擎模拟崩溃,重启后扫描 spool 全量重发(RPO=0)
- 演练结论:可用性 100%、丢失率 0%、P99=281ms(≤1.8s),SLA 全部达标
- 全部基于内核可注入接口(Driver/SpoolStore/HealthMetrics/BatchWriter)运行,零外部依赖
- 运行:python -m unittest discover -s tests/ha -v(_bootstrap.py 自动加载四个 core 模块)
2026-08-04 20:53:27 +08:00
bot_dev1 f8f6d977c5 feat(#24): 西门子 S7-1200 驱动参数化适配
- 连接参数 ip/port/rack/slot/timeout 全部来自模板配置(去硬编码)
- 点位→DB 地址映射经点位字典 opcNode 列携带(DB{db}.{byte}[.{bit}])
- 按 dataType 解码:float(REAL/4B) int(WORD/2B) bool(位),S7 大端
- read_area 用 snap7 常量 0x84(DB区),单点失败容错记 None 计入丢失率
- 严格只读,无任何写/控制指令(PRD 9 章安全约束)
- 新增 test_s7_driver.py 18 个用例(mock snap7),全量通过
2026-08-04 20:45:05 +08:00
bot_dev1 c4a3c2d04e feat(#87,#88): 采集/总线/LLM 路由 DLP NFR 压测套件
新增 tests/perf/ NFR 压测套件,对应 PRD 第 9 章 SLA 全量压测:

#88 LLM 路由/DLP 压测:
- DLP 敏感拦截率 100%(2000 样本,含 PII/凭证/工艺词,零漏拦)
- DLP 清洁零误报(1000 样本),单条 0.033ms / 30097 qps
- 路由敏感不泄漏云端 100%(1500 样本,≥96.5% 基线达标)
- 安全指令(停机)100% 转 block/人工

#87 采集/总线 NFR 压测:
- 采集 P99=312ms(≤1.8s,600 点位 30 轮),可用性 100%(≥99.8%),丢失率 0%(≤0.02%)
- 总线 6000 样本不丢不重(幂等去重)

合成数据集固定随机种子可重复,零外部依赖,CI 可直接执行。
运行:python -m unittest discover -s tests/perf -v
2026-08-04 18:43:39 +08:00
bot_dev1 33e64fe18b feat(#86): 端到端联调用例编写(数据流 + 问答流 + 跨链路闭环)
新增 tests/e2e/ 端到端联调测试套件,覆盖四个 iAOP-Core 内核模块的全链路协作:

数据流(PRD 5.1→5.2):
- edge-gateway 只读采集(模拟驱动)→ spool 断点续传 → data-bus 批量写入
- 验证不丢不重(幂等去重)、样本字段完整、健康度满足 SLA

问答流(PRD 5.4):
- rag-kb 模板化知识库检索(命中片段+来源)→ llm-gateway 混合网关
- 验证敏感度路由、DLP 拦截、幻觉溯源校验、审计可追溯

跨链路:采集→落库→知识沉淀→安全问答业务闭环

共 14 个用例,全部基于可注入接口运行,零外部依赖(CI 可直接执行)。
运行:python -m unittest discover -s tests/e2e -v
2026-08-04 18:26:00 +08:00