feat: organize scripts and add portal validation assets

This commit is contained in:
phamnazage-jpg
2026-05-27 09:39:05 +08:00
parent c1172d7714
commit 02580cda0b
180 changed files with 3392 additions and 76 deletions

View File

@@ -19,13 +19,13 @@
- 汇总证据:`artifacts/real-host-acceptance/20260521_064910_completion_smoke_calibration.md`
- 调通细节与经验沉淀:`docs/REAL_HOST_ACCEPTANCE_LEARNINGS.md`
- 2026-05-21 当前代码已关闭“models-only 假 ready”问题access closure / import / reconcile rerun 现在都会在 `/v1/models` 成功后追加一次最小 `POST /v1/chat/completions` smokecompletion 失败的链路不会再被记成 ready。
- `scripts/import_remote43_provider.sh` 已新增 upstream `/models``/chat/completions` 直探,额外产出 `17-upstream-*``19-upstream-*``21-summary.json`,用于把失败分流为 `host_compatibility_gap``upstream_key_quota_issue`
- `scripts/acceptance/import_remote43_provider.sh` 已新增 upstream `/models``/chat/completions` 直探,额外产出 `17-upstream-*``19-upstream-*``21-summary.json`,用于把失败分流为 `host_compatibility_gap``upstream_key_quota_issue`
- patched CRM live rerun 已验证:
- MiniMax 最新 `artifacts/real-host-acceptance/20260521_191418_remote43_minimax_key_import` 已提升到 `batch_status=succeeded``provider_status=active`
- DeepSeek 最新 `artifacts/real-host-acceptance/20260521_201509_remote43_deepseek_key_import` 也已提升到 `batch_status=succeeded``provider_status=active`
- latest-head `self_service` 标准 fresh-host 验收 `artifacts/real-host-acceptance/20260521_210403` 已落成 `batch_status=succeeded``access_status=self_service_ready``provider_status=active`,且 `latest_access_status=fully_ready`
- 本轮真正收口的根因修复是:账号 probe SSE 错误消息已保留CRM 会显式向 `/api/v1/admin/accounts/:id/test``provider.SmokeTestModel`,瞬时 `429` probe 现在会按 advisory 处理,不再把已通过 gateway closure 的账号批次错误降级,同时 self-service 的 gateway probe 已从错误的 `x-api-key` 切到真实宿主要求的 `Authorization: Bearer`
- 代码/本地运行态门禁已于 2026-05-21 在这轮补丁后再次独立复跑:`gofmt -l .``go vet ./...``go test ./... -count=1``go test -race ./... -count=1``go test -cover ./internal/... -count=1``go test ./tests/integration/... -count=1``bash ./scripts/test_real_host_scripts.sh` 全通过。
- 代码/本地运行态门禁已于 2026-05-21 在这轮补丁后再次独立复跑:`gofmt -l .``go vet ./...``go test ./... -count=1``go test -race ./... -count=1``go test -cover ./internal/... -count=1``go test ./tests/integration/... -count=1``bash ./scripts/test/test_real_host_scripts.sh` 全通过。
## 当前门控结论
@@ -43,8 +43,8 @@
| OpenAPI | ✅ SYNCED | `docs/openapi.yaml` 已补当前控制面端点 |
| Local runtime smoke | ✅ PASS | `go build ./cmd/{server,cli}``GET /healthz``GET /api/hosts` |
| Local OCI image | ✅ PASS | `docker build -f Dockerfile.local -t sub2api-cn-relay-manager:local .` |
| Real-host acceptance tooling | ✅ READY | `docs/REAL_HOST_ACCEPTANCE_RUNBOOK.md` + `scripts/real_host_acceptance.sh` |
| Harness regression self-check | ✅ PASS | `bash ./scripts/test_real_host_scripts.sh` |
| Real-host acceptance tooling | ✅ READY | `docs/REAL_HOST_ACCEPTANCE_RUNBOOK.md` + `scripts/acceptance/real_host_acceptance.sh` |
| Harness regression self-check | ✅ PASS | `bash ./scripts/test/test_real_host_scripts.sh` |
| `self_service` 真实宿主 latest-head fresh host 复验 | ✅ PASS | `artifacts/real-host-acceptance/20260521_210403``05-import.json` = `succeeded/self_service_ready/active``07-access-status.json` = `latest_access_status=fully_ready` |
| `subscription` 真实宿主 patched fresh host 复验 | ✅ PASS | MiniMax`artifacts/real-host-acceptance/20260521_191418_remote43_minimax_key_import`DeepSeek`artifacts/real-host-acceptance/20260521_201509_remote43_deepseek_key_import`;两条 provider 都已证明 current-code 在真实 fresh-host 上可闭环到 `batch_status=succeeded``provider_status=active` |
| stale CRM / channel pricing 缺口 | ✅ CLOSED | 宿主 `GET /api/v1/admin/channels/5``/channels/4` 已返回非空 `model_pricing` + `model_mapping` |
@@ -69,9 +69,9 @@
- 本地 HTTP smoke 与 `Dockerfile.local` 容器构建已验证通过
4. 补齐上线前执行工具
- 新增 `scripts/build_local_image.sh`,固化本地/代理环境的镜像构建路径
- 新增 `scripts/deploy/build_local_image.sh`,固化本地/代理环境的镜像构建路径
- 新增 `docs/REAL_HOST_ACCEPTANCE_RUNBOOK.md`
- 新增 `scripts/real_host_acceptance.sh`,把真实宿主验收固化为可落盘 artifact 的流程
- 新增 `scripts/acceptance/real_host_acceptance.sh`,把真实宿主验收固化为可落盘 artifact 的流程
5. 当前代码后的最新事实
- 宿主 admin 侧直接复核仍证明 channel `billing_model_source=channel_mapped``restrict_models=true``model_pricing/model_mapping` 已能被正确写入
@@ -93,7 +93,7 @@
### P2 已接受技术债务
- `internal/worker` 已抽出通用 polling runner当前 batch-import runtime 与后台 reconcile 都已接入;调度模型仍是固定间隔 polling而不是完整 jobs/reconcile 平台
- CLI `run*` 真实链路函数未做系统性 mock 单测
- 标准多阶段 `Dockerfile` 在受限网络下仍依赖容器内联网拉取 Go modules本地部署默认走 `scripts/build_local_image.sh`
- 标准多阶段 `Dockerfile` 在受限网络下仍依赖容器内联网拉取 Go modules本地部署默认走 `scripts/deploy/build_local_image.sh`
- `subscription` 这条 provider matrix 已通过;剩余待补的是 latest-head `self_service` fresh-host 复验,而不是继续替换 provider key
## 最短上线闭环