Admin POST/PUT + admin.cms.write/审计;C 端 GET /home/banners;首页投影回退静态 homeFeeds;migration 000051;不碰 FeedSlot/支付/UGC。 Co-authored-by: Cursor <cursoragent@cursor.com>
55 lines
1.7 KiB
Markdown
55 lines
1.7 KiB
Markdown
# ECR-041
|
||
|
||
**Title:** OpsCMS · Banner 薄写面(Write-Wave 首刀)
|
||
**Status:** **Closed**(2026-08-13 · Write-Wave Continuous Loop)
|
||
**Date:** 2026-08-13
|
||
**Change Level:** L2
|
||
**Parent:** WAVE0-FROZEN · **Write-Wave:** `docs/WAVE0/WRITE_WAVE_AUTHORIZATION.md`
|
||
**Predecessor:** ECR-024 Closed
|
||
**Coding:** Done · Migration `000051_ops_banner_write`
|
||
|
||
## Change
|
||
|
||
1. Active Spec:`.ai/product/feature-spec/ops-banner-write.md`
|
||
2. Admin:`POST/PUT /admin/cms/banners*` + 权限 `admin.cms.write` + 审计
|
||
3. C 端:`GET /home/banners`;user-h5 首页推荐区 API 优先、静态 `homeFeeds` 回退
|
||
4. admin-h5 CMS Banner 编辑(**不**做 FeedSlot 写)
|
||
5. OpenAPI · contract_diff · migration(编码时锁 `Max Migration+1`)
|
||
|
||
## Motivation
|
||
|
||
只读 Banner 目录无法运营;首页推荐区仍静态。Write-Wave 首刀用最低风险写面验证闭环;支付仍最后。
|
||
|
||
## Scope
|
||
|
||
### Allowed
|
||
|
||
- 上列 Spec / Banner 写读闭环 / 加法权限码 / 审计 / 首页投影
|
||
|
||
### Forbidden(Non-goals)
|
||
|
||
- **FeedSlot 写**(后续独立 ECR)· ScheduledPublication 写
|
||
- UGC · soft-delete · 真支付
|
||
- Crisis / Handoff / ContentSafety 高风险写
|
||
- 合并 Banner+FeedSlot · 扩大为本 ECR 多 Capability
|
||
- 新权限模型(子系统)· 改 ESS/Loop/Adapter
|
||
|
||
## Acceptance
|
||
|
||
见 Spec §8 AC-F/S/A/C/O;实现后 TEST_REPORT 映射。
|
||
|
||
## Trace
|
||
|
||
Spec `ops-banner-write` · BD-2026-041 · PRODUCT_SPEC/ECR-041 · CONTRACT_DIFF(实现时)· WRITE_WAVE_AUTHORIZATION
|
||
|
||
## Coding gate
|
||
|
||
```text
|
||
repo-governance-check PASS
|
||
→ ess-validate design/implement as required
|
||
→ BD Approved
|
||
→ THEN Continuous Loop may start coding
|
||
```
|
||
|
||
本文件交付时 **禁止改 `apps/` / `packages/`**。
|