Files
supply-intelligence/tech/IMPLEMENTATION_TASK_BOARD_V1_2026-05.md
2026-05-07 10:16:46 +08:00

252 lines
8.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Supply-Intelligence 实现任务板 V12026-05
> 状态:当前有效
> 目的:将当前真源收敛为可直接派工的 Engineer / QA 执行板。
> 使用前提:必须先阅读 `/home/long/project/立交桥/projects/supply-intelligence/tech/CURRENT_SOURCE_OF_TRUTH_2026-05.md`。
> 当前总门控APPROVED允许进入实现
## 0. 使用规则
1. 本任务板不是新的真源,只是执行板。
2. 若任务板与以下文件冲突,以以下文件为准:
- `/home/long/project/立交桥/projects/supply-intelligence/tech/BASELINE_TECHLEAD_V2.md`
- `/home/long/project/立交桥/projects/supply-intelligence/tech/GATEWAY_CONSUMER_DECISION_2026-05.md`
- `/home/long/project/立交桥/projects/supply-intelligence/tech/TEST_DESIGN.md`
3. 禁止 Engineer 回退到旧 PRD/HLD/INTERFACE/DEPLOYMENT 取实现口径。
4. 每个阶段完成后,必须由 QA 按“定义 → 装配 → 调用 → 入口”四层链路做复核。
## 1. 当前最短闭环路径
目标:先做出首个最小生产闭环,而不是并行铺开所有模块。
推荐顺序:
1. Phase A探针与账号状态闭环
2. Phase B发现与 candidate 闭环
3. Phase C准入测试与 draft 生成闭环
4. Phase D发布与 gateway package event + ack 闭环
5. Phase E受控自动补给最小边界
6. Phase F工作台、配置、权限与完善性补齐
## 2. 阶段任务板
### Phase A探针与账号状态闭环
目标:先让 supply-intelligence 能真实地产生可消费的账号状态。
#### A-1 数据与领域骨架
- OwnerEngineer
- 交付物:账号状态、探针日志、审计写入相关 domain/model/repository 基础结构
- 完成标准:
- 存在 `supply_intelligence_` 前缀表迁移
- 探针结果、状态迁移、审计写入模型可落库
- QA 验证:检查 schema、repo、service 调用链是否闭合
#### A-2 探针执行与统一判定
- OwnerEngineer
- 交付物probe runner + evaluator
- 完成标准:
- 200 => success
- 401/403 => explicit_failure
- 429/5xx/timeout/格式突变 => inconclusive
- QA 验证:检查 evaluator 定义、装配、调用与调度入口
#### A-3 状态机与账号状态快照接口
- OwnerEngineer
- 交付物:状态迁移逻辑 + `routing-state` 查询接口
- 完成标准:
- active -> suspended
- suspended -> disabled
- inconclusive 不触发惩罚性迁移
- 存在真实内部查询入口
- QA 验证:必须验证 `GET /internal/supply-intelligence/accounts/{account_id}/routing-state` 或等价入口
#### A-4 Phase A QA Gate
- OwnerQA
- 放行条件:
- 账号状态链路完成“定义 → 装配 → 调用 → 入口”四层验证
- 审计写入与状态写回可追踪
- 未引入 Redis / Temporal / WebSocket 作为首期硬依赖
### Phase B发现与 candidate 闭环
目标:能够从已接入供应商拉模型,并产生 candidate。
#### B-1 供应商适配器与模型拉取
- OwnerEngineer
- 交付物SupplierAdapter、registry、GetModels 拉取链路
- 完成标准:
- 至少支持首批目标供应商
- 具备健康探测与模型列表读取
- QA 验证:检查 registry 注册、装配、实际调用点
#### B-2 candidate 生成与去重
- OwnerEngineer
- 交付物discovery service + candidate repository
- 完成标准:
- 能与 `supply_packages` 去重
- 新模型生成 discovered candidate
- 下架只生成告警,不自动改 package
- QA 验证:检查 candidate 创建与下架告警调用链
#### B-3 Phase B QA Gate
- OwnerQA
- 放行条件:
- 至少一条真实发现链路打通
- candidate 状态初始落点正确
- 未扩张到 pricing / prediction / 向量检索
### Phase C准入测试与 draft 生成闭环
目标:让 discovered candidate 可变成 test_passed/test_failed并生成 draft。
#### C-1 admission runner
- OwnerEngineer
- 交付物:标准测试执行器与结果记录
- 完成标准:
- discovered / retry_pending 可消费
- 失败与超时原因可追踪
- QA 验证:检查 admission 执行入口和结果写回
#### C-2 draft package 生成
- OwnerEngineer
- 交付物test_passed -> draft package 生成逻辑
- 完成标准:
- 草稿字段完整
- candidate 状态流转闭环
- QA 验证:检查 candidate -> draft 的真实调用链
#### C-3 Phase C QA Gate
- OwnerQA
- 放行条件:
- 至少一条 candidate 完成 test_passed -> draft
- 至少一条 candidate 完成 test_failed -> failure_reason
### Phase D发布与 gateway package event + ack 闭环
目标:打通首个 package 发布最小生产闭环。
#### D-1 发布服务
- OwnerEngineer
- 交付物:运营确认发布逻辑
- 完成标准:
- draft -> active
- candidate test_passed -> published
- QA 验证published 语义不得等于 applied
#### D-2 gateway package events
- OwnerEngineer
- 交付物:`gateway_package_events` 写入、拉取、ack 回写接口
- 完成标准:
- 存在 package-changes 列表接口
- 存在 ack 接口
- ack 后状态可区分 pending/applied/failed
- QA 验证:检查 definition / assembly / call / entry 四层
#### D-3 gateway 消费方最小入口
- OwnerEngineer / 对接方
- 交付物:真实 poll/apply/ack 入口
- 完成标准:
- 不是只定义接口
- 至少有一个真实消费任务/入口
- QA 验证:没有真实入口则本阶段不通过
#### D-4 Phase D QA Gate
- OwnerQA
- 放行条件:
- published != applied 证据充分
- package event + ack 闭环真实存在
- 无“同步调用 gateway 管理接口才算发布成功”的回退实现
### Phase E受控自动补给最小边界
目标:补齐首期最小自动补给能力,但不膨胀为深自动注册。
#### E-1 自动补给配置与白名单约束
- OwnerEngineer
- 交付物auto-supply 配置、阈值、白名单、审批边界
- 完成标准:
- 非白名单供应商不自动补给
- 配置按主仓既有方式存储
- QA 验证:检查 guardrail 是否真实生效
#### E-2 自动补给任务流
- OwnerEngineer
- 交付物:补给任务创建 / 受理 / 待验证回写
- 完成标准:
- 低于阈值触发任务
- 成功后进入 pending_verify / pending_enable
- 不允许直接 active
- QA 验证:检查自动启用是否被阻断
#### E-3 fail-closed
- OwnerEngineer
- 交付物:通知网关/补给受理/KMS 异常阻断逻辑
- 完成标准:
- 失败不伪成功
- 明文不落日志/DB
- QA 验证:检查失败证据和审计闭环
#### E-4 Phase E QA Gate
- OwnerQA
- 放行条件:
- 未引入浏览器自动化注册主路径
- 未引入验证码编排主路径
- 未允许无审批直接自动激活
### Phase F工作台、配置、权限与完善性补齐
目标:补足可操作性与交付完整性,但不得改变前述主链路口径。
#### F-1 工作台最小读写能力
- OwnerEngineer
- 交付物:账号页、模型页、待处理页、确认上架、忽略、手动探针
- QA 验证:检查关键操作真实连到主链路,不是空按钮
#### F-2 配置与审计
- OwnerEngineer
- 交付物:配置读取/修改、审计日志
- QA 验证:检查配置生效路径与审计记录
#### F-3 权限与内部/外部路由边界
- OwnerEngineer
- 交付物:认证、角色权限、内部接口与外部接口分离
- QA 验证:检查 `/internal/supply-intelligence/` 与外部暴露面的边界
#### F-4 Phase F QA Gate
- OwnerQA
- 放行条件:
- 权限边界清楚
- OpenAPI 与真实路由一致
- 不新增超范围平台化能力
## 3. 明确禁止的提前扩张
以下事项在前述主链路未闭环前,禁止插队进入主开发路径:
- pricing / prediction / recommendation
- 向量数据库 / 向量检索
- SFI 仪表盘
- WebSocket 实时推送
- 独立 API + worker 集群重部署
- 浏览器自动化注册主路径
- 验证码编排主路径
- 以 Redis / Temporal 为首期硬前置
## 4. QA 统一复核问题单
每个阶段 QA 都必须回答:
1. 定义是否存在?
2. 装配是否存在?
3. 调用点是否真实存在?
4. 外部/内部入口是否真实挂载?
5. 是否出现实施漂移?
6. 是否回退到了历史草案口径?
## 5. 工程启动建议阅读顺序
1. `/home/long/project/立交桥/projects/supply-intelligence/tech/CURRENT_SOURCE_OF_TRUTH_2026-05.md`
2. `/home/long/project/立交桥/projects/supply-intelligence/tech/BASELINE_TECHLEAD_V2.md`
3. `/home/long/project/立交桥/projects/supply-intelligence/tech/GATEWAY_CONSUMER_DECISION_2026-05.md`
4. `/home/long/project/立交桥/projects/supply-intelligence/tech/TEST_DESIGN.md`
5. `/home/long/project/立交桥/projects/supply-intelligence/tech/IMPLEMENTATION_TASK_BOARD_V1_2026-05.md`
6. `/home/long/project/立交桥/projects/supply-intelligence/specs/功能清单.md`