multica-backend-impl · git:20260910.8db057c · 2026-09-10 · sha256 753a2dd6eb78994f

multica-backend-impl git:20260910.8db057cA

Immutable. This exact content is served forever at /api/v1/blob/753a2dd6eb78994f.

---
name: multica-backend-impl
description: 后端实现:读 JIRA/Confluence/架构设计,TDD 驱动 API 与服务端编码。用于 @BackendDev 契约先行、单元测试、集成验证。
---

# Backend Implementation

## Purpose

在已批准的技术设计与 Issue 范围内,**契约先行 + TDD** 完成后端实现。

> 与 `multica-artifact-api-sync` 分工:**backend-impl 管怎么读上游、怎么写代码与测试;artifact-backend 管 API 契约文档规范与 Confluence 落地**。

## Platform 协作

| Platform skill | 本 skill 用途 |
| --- | --- |
| `multica-platform-jira` | 读 Issue / AC(经 Issue Hub 或 JIRA URL) |
| `multica-platform-confluence` | 读 PRD / 架构设计(`fetch_page.py`) |

发布契约走 `multica-artifact-api-sync` → platform skill;本 skill 不直接写 REST。

## 开工前:读上游(必做)

| 顺序 | 来源 | 方式 |
| --- | --- | --- |
| 1 | Issue / 验收标准 | `multica-platform-jira` → `get-issue`;含 **`linked_issues`** |
| 2 | **关联 JIRA**(Relates/依赖等) | `get_issue.py --with-linked` → 必读关联的 Confluence/Figma(见 `upstream-read.md`) |
| 3 | PRD / 需求正文 | JIRA 解析 Confluence → `fetch_page.py` |
| 4 | 架构设计 | Leader 派活链接或 JIRA 描述中的设计链接 → `fetch_page.py` |
| 5 | 现有代码 | codegraph / 局部阅读,遵循项目约定 |

信息不足 → **BLOCKED**,写入待确认项,不猜接口形状。

## G2 前:单元测试(硬门禁)

**merge 到 deploy branch 之前**,必须在本地(或项目标准 dev 容器)跑通 **全部** 单元测试:

```text
1. 跑项目约定的 unit test 命令(如 mvn test / npm test / pytest tests/unit)
2. 必须 0 failure;既有测试不得因本次改动失败(无退步)
3. 新增/变更 API 须有对应单元测试(Red-Green-Refactor)
4. 失败 → 自行修复后再跑,直至全绿
5. 仅当本地无法跑(缺依赖/缺硬件)→ BLOCKED 列环境缺口,不得 push 后「等 CI 再看」
```

**禁止**:把单元测试失败留给 Jenkins/CICD 才发现;禁止为通过而删除或 skip 既有测试(除非 Architect/Leader 书面砍 scope)。

CI 是 **二次确认**,不是第一次跑单测的地方。

## TDD 流程(核心)

```text
1. 读 AC- / 架构「实现步骤(后端)」→ 列出 API-ID 与行为
2. 写/更新 api-contract.md(交 multica-artifact-api-sync 发布,供前端并行)
3. Red   — 写失败单元测试(业务逻辑、边界、异常)
4. Green — 最小实现使测试通过
5. Refactor — 保持测试绿,不扩 scope
6. 集成验证 — 跑项目约定命令,贴证据
```

**规则**:

- 业务逻辑须有**单元测试**;纯 CRUD 也需覆盖异常分支与边界。
- 先改契约文档再改实现;Breaking change 须升版本并知会 Leader / @FrontendDev。
- 不静默改字段名/语义;与 Architect 设计偏离须说明。

## 编码规则

1. 先读再改;遵循现有分层与命名。
2. 范围聚焦;不无关重构。
3. 错误处理:超时、幂等、并发按设计实现。
4. 报告**可复跑**的命令与结果。

## 完成证据

- API 契约 Confluence 链接(`multica-artifact-api-sync`)
- 变更文件列表
- **单元测试**:命令 + **全绿**结果(merge deploy branch **前**已跑通;0 failure、无测试退步)
- 集成测试(若项目要求)命令 + 结果
- 与 API-ID / AC- 的追溯说明
- 已知限制

## 挂载顺序(@BackendDev)

```text
multica-backend-impl → multica-artifact-api-sync
```

## 为什么有效

契约 + Confluence 文档让前端/T1 并行;TDD 把验收标准提前锁死在测试里,减少 G2 汇合返工。