Files
go-sip/docs/evidence/20260920-acceptance-status.md
T

4.7 KiB
Raw Blame History

2026-09-20 W00–W15 验收状态摘要

本阶段范围以 20260920-scope-amendment.md 为准:单节点、单 Cell、单租户;生产 SaaS/MQ 联调、双节点、第二 Cell、第二租户和生产切换延期第二阶段。契约结构通过不等于生产联调通过。

已有可复核证据

  • W00–W02:项目范围、契约包、Proto/stubs、严格校验和状态/幂等合同已通过本地检查。
  • W03–W10 本地/隔离部分:go test -race ./...、go vet ./...、go mod verify、契约/Proto 检查通过;AI mock/provider smoke、PCMA/RTP/ARI、三轮 CallFlow、无效通话早停和美吧口腔配置已有证据。
  • SIP 时间门禁:新增 internal/callwindow,按 Asia/Shanghai [09:00,20:00) 覆盖 08:59:59、09:00:00、19:59:59、20:00:00 及 UTC 转换;runCallOnce 和 real/mixed Agent RPC 的 permit/execute 入口窗口外 fail-closed。全套 race、vet、build 和本地验收通过。
  • W11 Alibaba OSS 部分:Dispatcher 使用官方 Alibaba OSS Go SDK v2 签发15分钟 presigned PUT,Agent 直传并保留源文件;授权真实测试已通过 PUT/HEAD 大小与 SHA-256 metadata、SQLite durable grant/completion、recording.ready outbox、显式过期后重新申请及重复请求/完成幂等;重建 ECS 上还完成了 mTLS gRPC→OSS 内网 endpoint 的 real-call WAV 实际上传。见 docs/evidence/20260920-local-oss-mq-integration.md。
  • W12 本地/OSS outbox 部分:RabbitMQ/Dispatcher integration、outbox/replay、事件 Schema、业务日志以及 verified recording→SQLite recording.ready outbox 测试通过;Dispatcher 的 ReportExecutionEvent、RequestUpload、CompleteUpload 已统一注册在同一个 AgentControl gRPC listener,并覆盖 durable fact、digest 幂等/冲突和 Dispatcher-owned aggregate version;见 docs/evidence/20260920-dispatcher-unified-grpc.md。生产 broker 的 SaaS application receipt 按本阶段契约/fixture 状态机签收,真实 receipt 延期第二阶段。
  • W13-a:Debian 13/systemd package、非 root 目录/权限、capture-first 入口、SIP/RTP PCAP、PJSIP logger、结构化 SIP summary 和每日 trunk×手机号 3 次 fail-closed 门禁已安装并验证;新 ECS i-2zeac4n2cpgkqgikkqg1 已重新完成非生产 --preflight-only,最终制品 491feb9a052fdd3ad50987d64fbe59fd8e02f9c42e3e74fbe794658baff6df71 重启后 Agent/Dispatcher 仍 active。见 docs/evidence/20260920-sip-attempt-guard.md、docs/evidence/20260920-new-ecs-preflight.md。
  • 真实 provider-third 单节点:原始号码 15003164745 完成约49秒三轮 AI、PCMA/8000 RTP、3段入站+4段出站录音和双方文本事实。见 docs/evidence/20260920-real-provider-third-capture-first.json。
  • 真实失败证据:provider-primary 为 100/183/486 Busy Here,provider-second 为 100/404,均有完整 capture-first PCAP;不是无证据重试。见对应 provider evidence JSON。
  • 本阶段本地签收:docs/evidence/20260920-local-p1-acceptance.md 已覆盖 W13/W14 适用的单节点/单 Cell/单租户构建、故障语义、契约、AI/媒体、OSS、MQ 隔离和时间门禁检查。

第二阶段或明确不适用事项

  • W04/G0 外部部分:真实外部权威、生产预算/角色签收和正式依赖属于第二阶段;项目内版本化契约、Schema、正反例 fixture 和隔离 PoC 已按本阶段签收。
  • W11/W12 真实联调:真实阿里 OSS handoff、SaaS verified、生产 broker ACL/TLS 和生产 application receipt 延期第二阶段;本阶段按契约/fixture、confirm/outbox 和状态机签收。
  • W13-b/W14 扩展部分:第二 Cell/第二 Asterisk、双节点、完整三家真实供应商、生产 MQ/OSS、容量/N+1 和双 AI 生产联调不在本阶段;本阶段只签收本地/隔离单 Cell 集成。
  • W15:生产切换、唯一写入权交接、生产备份/回滚和未知执行回迁延期第二阶段;本阶段只签收本地恢复/回滚规则。当前会话不再次发起真实外呼。
  • W16:双租户公平、第二 Cell 汇总和真实 broker 背压/DLQ不在本轮开发或验收范围,不作为 P1 阻塞。

安全与额度状态

  • SIP 外呼仅允许 Asia/Shanghai 每日 09:00(含)至 20:00(不含);窗口外 Dispatcher/Agent fail-closed,不等待、自动延迟、重试或换线。每条 SIP trunk × 每个原始手机号每天最多 3 次;失败线路可在另一条线路的独立额度内,经当前会话确认后测试。
  • provider-second/15003164745 已达到/超过当天额度,运行时门禁已锁定;不再拨打。
  • 任何下一次真实呼叫都必须在允许时段内重新确认精确 trunk、原始号码和 capture-first 方案;当前不执行新的真实外呼。