docs(i1): engineering index, parallel tracks, and product context

Add PARALLEL_ITERATION_INDEX, workspace layout, system architecture,
three-track execution packs, BPM/product references, and planned
service manifests. Supports I1 alignment across backend, web, and SDK.

Made-with: Cursor
This commit is contained in:
2026-04-06 21:04:49 +08:00
parent 3894315759
commit 76ff98db87
19 changed files with 2878 additions and 0 deletions
@@ -0,0 +1,132 @@
# 轨道 A:平台 API + License Webhook 后端 — 并行实施包
> **对齐**[BPM 排期 §7](../chuangfei-platform-bpm-and-roadmap.md) · [工程布局 §5](../WORKSPACE_ENGINEERING_LAYOUT.md) · [集成平台 §8](../../chuangfei-bitanswer-integration-platform.md)
> **约束**Spring Boot **4.0.x**Maven **多模块****仅 `*-bootstrap`** `repackage` → **各一枚 Fat JAR**;服务端 **禁止** `craftlabs-auth-bitanswer`;数据层 **PostgreSQL 15** + **MyBatis-Plus**(见 [WORKSPACE_ENGINEERING_LAYOUT.md §9.1](../WORKSPACE_ENGINEERING_LAYOUT.md))。
---
## 0. 并行执行总览
| 维度 | 说明 |
|------|------|
| **两条可部署线** | `delivery-platform-api``license-webhook` **同一日历迭代并行**,各产 **一枚 Fat JAR**。 |
| **对齐机制** | **契约 Owner**(事件 schema、`Idempotency-Key`、错误码);共享 **OpenAPI / 事件 README**;**I5 起** 集成测试门禁。 |
| **I1I4 Webhook** | 可先 **验签、幂等、观测、占位路由**;生产级持久化 + M5 台账对齐在 **I5**。 |
---
## 1. 仓库与模块骨架
### 1.1 双仓库(推荐)
| 仓库(示例名) | 产出 |
|----------------|------|
| `craftlabs-delivery-platform` | `platform-bootstrap-*.jar` |
| `craftlabs-license-webhook` | `webhook-bootstrap-*.jar` |
### 1.2 `delivery-platform` 模块示例
```
delivery-platform/
├── pom.xml
├── platform-domain/
├── platform-application/
├── platform-adapters-web/
├── platform-adapters-persistence/
└── platform-bootstrap/ # 唯一 main + repackage
```
包名建议:`cn.craftlabs.platform.{identity,customer,contract,delivery,licensing,audit,config,...}`
### 1.3 `license-webhook` 模块示例
```
license-webhook/
├── pom.xml
├── webhook-domain/
├── webhook-application/
├── webhook-adapters-http/
├── webhook-adapters-integration/
└── webhook-bootstrap/
```
包名建议:`cn.craftlabs.webhook.*`
---
## 2. 分迭代后端 BacklogI1I6
| 迭代 | 平台:模块 | 平台:REST/领域 | 平台:DB | Webhook:范围 | 集成点 | DoD |
|------|------------|-----------------|----------|---------------|--------|-----|
| **I1** | domain/application/adapters-web/persistence/bootstrap | M11 登录/登出/会话、登录审计、粗 RBAC、OpenAPI 初版 | 用户、角色、会话、登录审计 | 脚手架、CI、`/health`、Callback 占位、`Idempotency-Key` 记录 | 无强依赖 | 平台 Fat JAR`dependency:tree` 无 bitanswerWebhook Fat JAR CI 绿 |
| **I2** | +M1 | 客户/项目 CRUD、字典、用户角色分配 API | 客户、项目、字典 | 验签配置、拒绝非法请求指标 | 字典编码与前端约定 | M1 API 与鉴权打通;验签可 curl 演示 |
| **I3** | 加重 persistence | M2 合同+行项、状态机;M10-F01 | 合同、行、变更日志 | 事件 DTO 规范化、与平台枚举对齐;可 Mock DB | 契约:合同/行 id 供 Callback 关联 | 状态机单测;事件 schema v0.1 归档 |
| **I4** | | M3 交付;M4 SN 录入/绑定/状态/手工回写 | 交付、SN、FK | 关联键策略、MQ producer 骨架可选 | 内部 API 或 MQ 方案 ADR | 交付+SN 主键链路可追溯 |
| **I5** | | M5 Inbox P0M6 环境+产品线最小 | Inbox 唯一约束、M6 表 | 验签→幂等落库/入队→平台可见 | 比特 Dev 联调 | E2E:模拟 Callback → 平台 DB 一条 Inbox |
| **I6** | bootstrap 横切 | 加固、Runbook、UAT 缺陷 | 修复类迁移 | Ingress 加固、密钥轮换演练 | 全链路 BP-01~06、11 | UAT 签字;两 JAR 版本可追踪 |
### 并行分工小结
| 迭代 | 平台关键路径 | Webhook 关键路径 |
|------|--------------|------------------|
| I1I2 | 身份 + 主数据 | Ingress + 验签 + 契约草稿 |
| I3I4 | 合同/交付/SN + 审计 | 事件模型 + 投递骨架 |
| I5I6 | Inbox + M6 | 真实链路 + 运维 |
---
## 3. Webhook ↔ 平台契约要点
- **版本**`schemaVersion``X-Event-Schema-Version`
- **幂等**`Idempotency-Key` + 比特稳定 `message_id`Inbox 表 `(source_system, external_message_id)` 唯一。
- **投递**A) Webhook **HTTP** `POST /internal/v1/callback-events`B) **MQ** + 平台消费者(MVP 需 I5 定案)。
- **响应**:对比特 **2xx** 须在持久化或可靠入队**之后**。
- **安全**:验签用平台侧实现;**禁止** JNI SDK。
- **观测**`traceparent` / `X-Request-Id` 贯通。
---
## 4. 风险与对前端/SDK
| 风险 | 缓解 |
|------|------|
| 契约漂移 | I3 起 OpenAPI SSOTfixture 入库 |
| 幂等与 UX | DB 唯一约束;前端按业务 id 去重 |
| I5 前 Webhook 空转 | I1I4 以契约+假实现为主 |
| SDK 误用 POM | CI `dependency:tree` grep |
| 前端滞后 | I5 起 Postman/Scalar 先行验收 |
---
## 5. CI Jobs 建议
| Job | 步骤摘要 |
|-----|----------|
| `platform-build` | `mvn -pl platform-bootstrap -am verify`;可选禁止 `craftlabs-auth-bitanswer` |
| `webhook-build` | 同上 `webhook-bootstrap` |
| `platform-integration-test` | Testcontainers + FlywayI5+ Mock Callback 全链路 |
| `cross-service-it`I5+ | Compose:双 JAR + DB + MQ |
---
## 6. V1.1I7I8
| 迭代 | 平台 | Webhook |
|------|------|---------|
| I7 | 按钮级权限码、导出脱敏、限流、安全头 | 速率限制、payload 上限 |
| I8 | 业务指标 RED、批量导入幂等 | Callback 失败率、DLQ 深度 |
---
## 7. MidI9I13)与 V2.0
- **Mid**M7 设备;M8 待办/通知;M9 报表;M11 SSO/并发/强制下线;M2 变更可选 I13。
- **V2.0**M10 举证包;MFA、SECURITY_ADMIN、数据范围;CRM、读模型/CQRS 轻量。
---
## 8. 修订记录
| 日期 | 说明 |
|------|------|
| 2026-04-06 | 由并行 Task 产出并入库;与 Roadmap I1I6 对齐。 |