TARGETF4B2 PARTIALQA 0/5 VERIFIEDR08 · 9/21 PASS COMPLETEAdmin · 调查 webhook/polling 事件、响应、重试、重复、死信和消费结果的开发者与平台值班

事件交付、重试与 Redelivery

从稳定 event_id 和 delivery_id 追踪每次 attempt、响应、退避、trace 与手动 redelivery,并明确 ACK 不等于业务成功

/robot/:id/deliveriesminiapp-open-platform
R08 · KNIFE 9 / 21

事件交付、重试与 Redelivery · 页面级细化任务包

建立从稳定 event_id 到每个 delivery attempt、响应、退避、trace、dead letter、consumer receipt 与 redelivery 的调查工作台。

LEGACY / TARGET ROUTE

R08 新增目标路由;legacy/current production 均无页面 → /robot/:id/deliveries

ENTRY

从事件配置、告警或 request/trace 进入;当前生产 `/openapi/v1/bot/updates` 为 404,也没有 Delivery Store。

SUCCESS OUTPUT

打开脱敏 DeliveryAttempt evidence 或返回 pause/redelivery receipt;2xx 只表示接收端已可靠接受。

COMMAND MODEL

EventEnvelope → immutable Event Store → attempt/retry/dead-letter;redelivery 复用 event_id 并创建新 delivery_id;consumer receipt 独立。

RESPONSIVE + A11Y

桌面检索表 + attempt drawer;手机筛选 sheet + 全屏 attempt,payload 默认不可见且无一键复制。

TELEMETRY

delivery_view · filter_apply · attempt_open · redelivery_submit;不记录 raw payload、endpoint query、secret 或 response body。

LEGACY SOURCE + CURRENT PRODUCTIONa86af60 / e50cb8a / 404
  • 2026-07-17 认证遍历 Gitea `reits` 组织共 20 个仓库;精确 `/openapi/v1/bot/*` 服务端实现数为 0
  • xtalk-open-source main@a86af60 含旧 React 机器人 UI 与 `/api/bots/*` 客户端合同,但没有部署证据
  • miniapp-open-platform source fa9283d / production fb1a1b:`developer_apps.kind=bot` 只是通用 App 字段,没有 Bot/Installation/Command/Credential/Event/Delivery 表或 handler
  • opensdk main@e50cb8a 提供 6 个 Bot 客户端路径、HMAC-SHA256 验签、5 分钟窗口与 1 MiB body 上限;go test/vet 通过
  • im-core origin/main@9849051 仍只提供 `/im/chat/create_bot` 的 typ=11 会话壳;最新提交只推进 iOS QA handoff,公网 Bot OpenAPI 探测仍为 404
  • reits-auth source/production@157b859 没有 Bot resource authorization、ServicePrincipal 或 workload exchange
  • production 没有 bot Nginx location、systemd/container service、event/delivery table;三个 Bot OpenAPI probe 均 404
  • OpenSDK Update 只有 update_id/type/message,WebhookHandler 不持久化 Event-ID 或 consumer receipt
IMPLEMENTATION GAPTARGET ONLY
  • 没有 Event Store、DeliveryAttempt、retry/dead-letter/redelivery API
  • 没有 at-least-once server guarantee、ordering key、trace、SLO 或 alert
  • 没有 durable PollCheckpoint、consumer processing receipt 或 payload redaction policy
六个 legacy React 路由不是 current production;交付中心是 R08 新增。OpenSDK 客户端合同与 IM 会话壳都不能作为 Bot 平台上线证据。
63-STATE PROGRAM / THIS SCREEN

七页分别改变身份、配置、命令、凭证与交付证据边界

QA 0 / 5 VERIFIED
READY交付调查合同可以评审

current 404 evidence + target investigation

BOT-DELIVERY-READY→ 查看 DeliveryAttempt schema
LOADING正在读取交付证据

events / attempts / trace / receipts

BOT-DELIVERY-LOAD→ 返回事件配置
EMPTY生产尚无事件交付数据模型

delivery index

BOT-DELIVERY-NO-MODEL→ 查看交付实现包
PARTIAL ERRORAttempt 可用,部分证据未知

trace / archive / consumer receipt

BOT-DELIVERY-EVIDENCE-PARTIAL→ 重试证据来源
ERROR交付请求失败

delivery query / command

BOT-DELIVERY-503→ 重试交付请求
OFFLINE离线查看脱敏交付快照

redacted delivery snapshot

BOT-DELIVERY-OFFLINE→ 重新连接
FORBIDDEN没有查看交付证据的权限

bot.delivery.read/manage

BOT-DELIVERY-DENY→ 申请交付权限
CONFIRM暂停重试或手动 redeliver?

PauseRetry / RedeliveryCommand

BOT-DELIVERY-CONFIRM→ 确认交付命令
SUCCESS交付命令已排队

delivery command receipt

BOT-DELIVERY-QUEUED→ 跟踪新 attempt
AUTOMATION BOUNDARY本刀只细化 developer.reits.tech 的 Bot 与事件自动化目标 UI;不创建机器人,不调用 legacy `/api/bots/*`,不签发/复制/轮换 Token,不注册 webhook,不发送测试事件,不暂停或 redeliver 交付,也不把 xtalk 旧 UI、OpenSDK 合同或 IM typ=11 会话壳冒充为 current production Bot 平台。
UI STUDIOtarget-open-bot-deliveries
Admin1440 × 900100%
100%
/robot/:id/deliveries
TARGET UI1440 × 900FIT 100%
R08 DESIGN CANDIDATE · target-open-bot-deliveries · TARGET ONLY · PROD BOT API 404
LEGACY SOURCE / CURRENT PROD / TARGETAutomation Control Plane Blueprint
R8
EVENT DELIVERY · CURRENT 404 / TARGET AT-LEAST-ONCE

事件交付中心

当前没有 Event Store、DeliveryAttempt 或 worker;本页用真实 404 探测代替虚构事件表,再定义稳定 event_id、attempt、重试与 consumer receipt。

Prod routes0bot server
Event models0event store
Delivery workers0systemd/container
Probe status404three endpoints
EvidenceRequestHostHTTPLatencyStateObserved
PROBEGET /bot/meapi.reits.tech404NOT DEPLOYED
PROBEGET /bot/updatesapi.reits.tech404NOT DEPLOYED
PROBEGET /bot/meopenapi.reits.tech404NOT DEPLOYED
No current events · no attempt data · no fabricated SLO
REFERENCE VIEWPORT1440 × 900Desktop first · responsive
PRIMARY TASK发送测试事件主操作、权限与完成反馈必须同屏可验证
DATA CONTRACTBotEventEnvelopeready / loading / empty / error 使用同一 fixture
ACCESSIBILITYKeyboard + WCAG AA焦点顺序、可读名称、对比度进入 UI CI
VISUAL BASELINETARGET · 2026-07-17桌面/移动、浅色/错误态按稳定 Screen ID 留档

IMPLEMENTATION MAP

目标定义与下一轮逐页细化入口

当前处于 B1/B2:可以拆出架构、设计、交互和 QA 任务,但完成 D01–D12、通过 B3/B4 之前,不得宣称页面已经可以照稿实现。

01

页面区域

  • 机器人与环境上下文
  • 交付任务头
  • 当前部署证据
  • 目标指标槽位
  • 筛选器
  • 事件交付 schema
  • Attempt 详情
  • Redelivery 与消费说明
02

用户动作

  • 发送测试事件
  • 检索 event/delivery/trace
  • 打开 Attempt 详情
  • 查看脱敏 payload
  • 暂停自动重试
  • 手动 redeliver
  • 导出交付证据
03

必须状态

  • 交付中心就绪
  • 事件与 Attempt 加载
  • 没有匹配交付
  • 归档或 Trace 部分失败
  • 交付检索失败
  • 离线只读快照
  • 缺少 bot.delivery:read
  • 暂停/Redelivery 确认
  • Redelivery 已排队
04

数据契约

  • BotEventEnvelope
  • DeliveryAttemptIndex
  • DeliveryAttempt
  • RetrySchedule
  • DeliveryTrace
  • RedeliveryCommand
  • ConsumerProcessingReceipt
  • AuditReceipt

TARGET MODULES

目标页面必须交付的模块

  1. 01当前 404 证据
  2. 02交付模型缺口
  3. 03结构化检索合同
  4. 04DeliveryAttempt schema
  5. 05Attempt 时间线
  6. 06Envelope 元数据
  7. 07Payload 脱敏策略
  8. 08暂停重试/Redelivery 合同

PRODUCT ROUTE INDEX

开放平台 · 自动化 的 38 个稳定 Screen ID

同一产品内的页面共享 token、导航和状态语言,但每个 Screen ID 保留自己的字段、数据契约和 QA 基线。

01
开发者登录/login
Web
02
我的小程序/apps
Web
03
创建小程序/apps/new
Web
04
应用发布/apps/:id/publish
Web
05
应用索引与控制面健康/apps
Admin
06
三步创建应用/apps/new
Admin
07
上传、审核与原子发布/apps/:appId/releases/new
Admin
08
应用基本信息与生命周期/apps/:appId/settings
Admin
09
环境、回调与凭证/apps/:appId/config
Admin
10
版本历史、对比与回滚/apps/:appId/versions
Admin
11
接口、Scope 与使用量/apps/:appId/capabilities
Admin
12
能力申请与审核/apps/:appId/capability-requests
Admin
13
组织目录与企业边界/mini-company/list
Admin
14
创建与验证企业/mini-company/create
Admin
15
开发治理概览/console/development
Admin
16
开发者身份与资源关系/console/developer
Admin
17
成员、邀请与离职治理/console/member
Admin
18
角色、策略与有效权限/console/role
Admin
19
服务账号与工作负载身份/console/service-accounts
Admin
20
操作、授权与安全审计/console/log
Admin
21
机器人目录与运行健康/robot/list
Admin
22
创建机器人与最小授权/robot/create
Admin
23
机器人基本信息与生命周期/robot/baseInfo/:id
Admin
24
事件订阅与开发配置/robot/devConfig/:id
Admin
25
命令定义、权限与测试/robot/command/:id
Admin
26
Bot Token 与运行凭证/robot/token/:id
Admin
27
事件交付、重试与 Redelivery/robot/:id/deliveries
Admin
28
支付订单与资金生命周期/mini/:type/paymentOrders/:id
Admin
29
用户数据、授权与主体请求/mini/:type/userData/:id
Admin
30
支付能力申请与独立复核/mini/:type/payApply/:id
Admin
31
组织财务、结算与对账/console/finance
Admin
32
公共开发者首页与能力总览/
Web
33
Mini App 产品、Quickstart 与宿主边界/mini
Web
34
企业开发与组织治理介绍/mini-company
Web
35
机器人、命令与事件自动化介绍/robot
Web
36
商业合作、场景准入与能力边界/business
Web
37
平台公告、变更影响与订阅中心/notice
Web
38
个人账号、安全、授权与偏好中心/console/my
Admin