From 932db59638f312b5bc4e80ed62034e2e5041b327 Mon Sep 17 00:00:00 2001 From: phamnazage-jpg Date: Fri, 29 May 2026 07:49:16 +0800 Subject: [PATCH] docs(routing): record p1-t4 remote verification --- docs/EXECUTION_BOARD.md | 45 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/docs/EXECUTION_BOARD.md b/docs/EXECUTION_BOARD.md index df8887fa..25dcb5db 100644 --- a/docs/EXECUTION_BOARD.md +++ b/docs/EXECUTION_BOARD.md @@ -207,6 +207,51 @@ - `GET /api/routing/logs/failovers?request_id=req-p1t3-failover-1779976748` 回读到同一条 failover event - `POST /api/routing/logs/sticky-audit` 创建 `sticky_key=sticky-p1t3-1779976750`,返回 `action=bind` - `GET /api/routing/logs/sticky-audit?sticky_key=sticky-p1t3-1779976750` 回读到同一条 sticky audit + - 2026-05-29 已完成 Phase 1 / `P1-T4 Redis sticky store abstraction` + - 提交:`98bd619e feat(routing): add sticky runtime backends` + - 新增运行时抽象: + - `internal/routing/sticky.go` + - `internal/routing/sticky_memory.go` + - `internal/routing/sticky_redis.go` + - 新增统一 key 规则: + - `sticky:{scope}:{logical_group_id}:{public_model}:{subject_id}` + - `routefail:{route_id}` + - `routecool:{route_id}` + - 新增启动配置: + - `SUB2API_CRM_ROUTE_RUNTIME_BACKEND` + - `SUB2API_CRM_REDIS_ADDR` + - `SUB2API_CRM_REDIS_PASSWORD` + - `SUB2API_CRM_REDIS_DB` + - 新增管理 API: + - `POST /api/routing/sticky/bindings` + - `GET /api/routing/sticky/bindings` + - `POST /api/routing/sticky/route-failures` + - `GET /api/routing/sticky/route-failures` + - `POST /api/routing/sticky/cooldowns` + - `GET /api/routing/sticky/cooldowns` + - 本地门禁已通过: + - `gofmt -l .` + - `go vet ./...` + - `go test -cover ./internal/...` + - `go test ./tests/integration/... -count=1` + - remote43 已原位升级到 `repo HEAD = 98bd619` + - `http://127.0.0.1:18173/healthz` 在 `memory` / `redis` 两种运行模式下均返回 `ok` + - remote43 `redis` 运行时目标已确认使用容器地址 `172.24.0.3:6379`,`127.0.0.1:6379` 不可用 + - remote43 真实公网 API 验证已通过: + - `memory` 模式: + - `POST /api/routing/sticky/bindings` 创建 `subject_id=conv-p1t4-memory-1780011984`,返回 `backend=memory` + - `GET /api/routing/sticky/bindings` 回读到同一条绑定,`route_id=asxs-1779971040`,返回 `backend=memory` + - `POST /api/routing/sticky/route-failures` 创建 `route_id=route-p1t4-memory-1780011984`,返回 `failure_count=2`、`backend=memory` + - `GET /api/routing/sticky/route-failures` 回读到同一条故障计数,返回 `backend=memory` + - `POST /api/routing/sticky/cooldowns` 创建 `route_id=route-p1t4-memory-1780011984`,返回 `reason=degraded`、`backend=memory` + - `GET /api/routing/sticky/cooldowns` 回读到同一条 cooldown,返回 `backend=memory` + - `redis` 模式: + - `POST /api/routing/sticky/bindings` 创建 `subject_id=conv-p1t4-redis-1780012047`,返回 `backend=redis` + - `GET /api/routing/sticky/bindings` 回读到同一条绑定,`route_id=asxs-1779971040`,返回 `backend=redis` + - `POST /api/routing/sticky/route-failures` 创建 `route_id=route-p1t4-redis-1780012047`,返回 `failure_count=3`、`backend=redis` + - `GET /api/routing/sticky/route-failures` 回读到同一条故障计数,返回 `backend=redis` + - `POST /api/routing/sticky/cooldowns` 创建 `route_id=route-p1t4-redis-1780012047`,返回 `reason=cooldown-active`、`backend=redis` + - `GET /api/routing/sticky/cooldowns` 回读到同一条 cooldown,返回 `backend=redis` - 2026-05-26 已把“最终用户 -> 公网域名 -> OpenClaw”这一跳补进正式验证口径: - 公网根地址当前统一为 `https://sub.tksea.top` - OpenClaw 本地 `MiniMax` 运行时故障已定位为 `pi-ai/openai-node` 未继承系统 `HTTP(S)_PROXY`,不是 allowlist 或模型名大小写问题