AgoraIO-Extensions / AgoraIO-Extensions/agent-infra

test(platform): establish capacity and operational recovery evidence

Abierto
#446 5 comentarios 0 reacciones 0 asignados Ver en GitHub
needs-triage
Lenguaje dominante
TypeScript
Estrellas
0
Forks
0
Merge medio
8 h 51 min
PR fusionados (30 d)
99

Descripción

> 本票继续由 [M1 汇合计划](https://github.com/AgoraIO-Extensions/agent-infra/issues/150) 统筹,不进入既有冻结执行 snapshot;主系统总责 LichKing-2234,具体执行者、资源窗口与容量仍待落实,Start/Target 留空。新增契约待评估,Project 保持 Todo;实现前须完成适用文档评审与合入、依赖回读和本票执行准入。

## Problem

M1 发布前须有可复现的 Platform 容量基线、负载下明确消息状态和故障恢复证据。#190 的组件恢复测试、#334 的 release 配置验证和 #177 的 Pilot 准备模板不能证明组合版本在实际环境中的负载与运行处置。本票消费这些基础,交付 Platform 范围的负载/故障脚本、实际测量和运行交接。

## Scope

- 提供可重复、默认有界的负载入口,逐步增加并发 Web 使用者、同一 Agent 的消息、不同 Conversation、SSE 连接及企微群聊发送者。企微负载消费 #440 正式 Channel,验证不同发送者在负载/故障下仍使用独立 Conversation 和 Runtime Session。请求使用正式身份与 HTTP/SSE/RuntimeHost 链路,不绕过鉴权直接写数据库。
- 明确本次环境、source SHA、镜像 Digest、迁移/配置、资源 Profile、Runtime/模型和运行参数;按实际 Profile 测量吞吐、延迟、错误/繁忙、队列积压与恢复时间,不承诺固定并发数,也不把模型端点容量等同平台容量。
- 在负载中验证消息受理/执行/终态核对、无静默丢失、无重复 Turn、用户数据不混用、SSE 断线恢复。消费已通过的 Runtime 隔离基线,不在本票代替 #404 原生隔离交付。
- 通过既有测试 seam 和受控环境执行 API/Worker/Pod 重启、依赖不可用与恢复、更新失败/旧版本恢复演练;复用 #190 状态机与已有故障用例,新增内容只负责组合运行和可回读证据。
- 建立 Platform 运维 Runbook:检测指标、停止条件、影响范围、处置/恢复命令、需要的权限、回滚限制、证据保全与恢复后验证。只能操作本次明确分配的环境资源,不清理共享环境无归属数据。
- 记录实际部署提供的 Platform DB/PVC/对象存储备份与恢复责任、已选恢复方案和可验证的恢复演练结果。不给不存在的备份、HA/PITR、RPO/RTO 或值班安排签收;未落实的正式恢复目标和资源保持明确未验收,阻止本票关闭。
- 真实资源/恢复目标、SRE/DBA/Platform 具名交接与演练窗口在实施前以安全配置和可回读记录提供。本票不创建云资源、重选数据库/存储产品、修改生产拓扑或建立新调度/监控平台。
- Connection 压测、LDAP/KMS/egress/Connection HA/PITR、跨系统恢复及最终完整 M1 Go/No-Go 受 #432 对齐约束,由 #150 后续唯一联合入口承担。本票仅证明已测 Platform 范围,不替代 #194、#435 或完整 M1 上线验收。

- 扩展正式负载入口以消费 [持久任务闭环](https://github.com/AgoraIO-Extensions/agent-infra/issues/482) 与 [Eval 闭环](https://github.com/AgoraIO-Extensions/agent-infra/issues/485):并发用户/独立应用、同一 Agent 的多个 Conversation/任务、SSE 和获授权 Eval 工作项。测量同会话串行、已验证 Agent 容量、有界等待/满容量拒绝/等待到期,保留现有 Web、企微及文件组合场景;不另写调度、评分或恢复状态机。
- 组合验证凭证到期/撤销时访问和流终止但已受理任务继续,同主体有效凭证可继续访问;主体禁用/Agent 使用权撤销触发等待/活跃任务取消并阻止后续受控操作。覆盖取消与认领/投递/自然完成竞态、原 Session 恢复和 unknown 占用受影响会话,不能换 ID 盲重投或将未确认停止计为完成。
- 消费 [Platform 遥测与告警](https://github.com/AgoraIO-Extensions/agent-infra/issues/441),核对实际任务/操作/尝试、等待和 SSE 积压、采集/审计故障及告警触发/恢复;加入 Eval 工作项的混合负载、评分端点故障与数据撤权,证明评分重试不重放业务任务且独立用途隔离保持。评测使用受控数据与工具环境,不自动重放线上写操作;Connection 负载和跨系统最终验收仍在原联合入口对齐。

## Acceptance criteria

- [ ] **AC-1:** 负载工具接受明确环境、身份、模型与有界运行参数,使用正式服务入口;执行前检查目标与分配范围,输出可重复命令及组合版本证据。
- [ ] **AC-2:** 当前环境容量报告包含吞吐、延迟分布、繁忙/失败、资源与 outbox/SSE 积压、停止阈值和恢复时间,清楚标注实际 Runtime/模型/资源 Profile;不外推到未测环境、模板或 Connection。
- [ ] **AC-3:** 受理消息与持久执行结果可核对;负载、重试、重启与 SSE 恢复下无静默丢失、重复 Turn 或跨用户结果;并发企微群聊发送者的 Conversation、Runtime Session 和结果保持隔离,不能由群内公开展示推断共享上下文。失败路径有明确状态而非被计为成功。
- [ ] **AC-4:** 真实组合环境的 API/Worker/Pod 故障、依赖恢复、失败升级与回滚按既有契约收敛;报告保留精确镜像、运行参数、实际故障/恢复结果与对应组件证据,不以脚本退出0代替状态核对。
- [ ] **AC-5:** Platform 运维 Runbook 可由具备相应权限的执行者复现检测、停止、恢复与事后验证;实际恢复目标、数据责任和部署备份/恢复方案已有记录,完成隔离恢复演练并核对配置/历史/附件引用的一致性与已声明数据损失边界。
- [ ] **AC-6:** Platform、SRE、DBA 分别确认自己的运行/恢复边界和联系人,资源或签收缺失保持未验收;Issue 只保存脱敏版本/结果/引用,不保存真实凭证、私钥或普通会话正文。

- [ ] **AC-7:** 正式用户/独立应用任务与 Web、SSE、获授权 Eval 工作项的混合负载有当前环境容量报告:同会话串行、跨会话容量、等待上限/超时/满容量拒绝均有记录;受理与持久结果可核对,无孤立会话、静默丢失或重复 Turn,保留原企微/文件验证。
- [ ] **AC-8:** 负载中凭证失效与主体/Agent 撤权表现不同且符合契约;取消竞态、Worker/Pod 重启、原 Session 恢复和 unknown 保留可回读证据,未确认停止不释放受影响会话,Owner/责任人不能查看或取消其他主体任务。
- [ ] **AC-9:** 实际混合负载下可核对模型/工具事实、审计与遥测计数;积压/不可用/异常错误告警及采集故障可见,必要审计故障不产生虚假成功。Eval 评分故障、重试与数据撤权不重跑业务任务、不泄漏内容或破坏用途隔离。

## Validation

- 先以小规模受控 fixture 验证计数、报告、限时和停止逻辑,再在具名正式组合环境运行负载与故障矩阵,包含 #440 实际企微渠道的多发送者群聊、合法重投和重启;Mock 报告不作为容量或群聊隔离结果。
- 对比 Platform durable Message/Execution/outbox 与采集指标和用户可见结果,核对每次故障前后状态、原 Session/PVC、版本和未完成工作。
- 使用部署已选方案在隔离目标进行实际数据恢复,验证迁移/配置、会话历史和文件元数据/对象引用;禁止覆盖原环境数据或无授权执行生产故障。
- 回读实际交接/恢复目标、Runbook 演练及各方签收;执行 `AGENTS.md` 完整仓库验证与 current-head Standards/Spec Review。

- 在绑定源码、镜像/配置、Native/模型与数据/评分器版本的组合环境中,逐步增加 Web/API/Eval/SSE 负载并执行认领/投递/取消竞态、凭证失效、主体/Agent 撤权、Worker/Pod 重启和 unknown 场景;逐项核对原持久任务、会话、事实/审计与调用方可见状态。
- 对比采集后端及受控告警出口的积压、错误、实际模型/工具记录与恢复结果;在获准测试环境引入评分端点故障和 Eval 数据撤权,核实评分重试不会新增业务 Turn。报告明确四模板实际覆盖与未测范围,不把单模板容量外推全部模板或 Connection。

## Blocked by

- #192
- #404
- #405
- #436
- #440
- #441
- #445
- #482
- #485

## Authority

- 工程 Spec §§18、19.3–19.5、21、22、24;Agent Platform PRD §§3、7、12、14;PLAN §6/§7。main `f0e8aa58ca90dec2583459818c1167781979235f`。
- 本次新增范围按 [平台 PRD 候选 §§13–16](https://github.com/AgoraIO-Extensions/agent-infra/blob/2eb2762b889a27372c259039d27279cf646c5b1e/docs/prd/PRD-agent-platform-M1.md)、[工程 Spec 候选 §§18–19](https://github.com/AgoraIO-Extensions/agent-infra/blob/7f3b2083d44191ab4b280d7eb8222d7785937b8e/docs/architecture/SPEC-agent-infra-M1-engineering-architecture.md) 和 [Runtime HLD 候选](https://github.com/AgoraIO-Extensions/agent-infra/blob/5da6fff274ffc7a7ee36ae3ebd61d6100ccc9571/docs/architecture/HLD-agent-runtime-M1.md) 评审;实施前回读合入后的权威版本并复核差额,历史基础引用不能覆盖新增结论。

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.