diff --git a/docs/superpowers/plans/2026-09-15-m1-data-collection-foundation.md b/docs/superpowers/plans/2026-09-15-m1-data-collection-foundation.md index cd070dd..cb182ca 100644 --- a/docs/superpowers/plans/2026-09-15-m1-data-collection-foundation.md +++ b/docs/superpowers/plans/2026-09-15-m1-data-collection-foundation.md @@ -1072,6 +1072,7 @@ return resp 另加 OPTIONS 预检支持:`CollectBatchView.options()` 返回同头 200。(SDK 用 text/plain 免预检,此处为兜底。) - [ ] **Step 4: 跑测试通过** → 6 passed。 +(**执行注记**:最终实现以提交 678d215 为准,含审查修复——Origin 提取改 `urlsplit().hostname`(原 split("//") 可被查询串绕过白名单)、`finalize_response` 统一 ACAO+{code,data,message} 信封(覆盖 429/ParseError,SDK 跨域可读错误体)、Content-Length `isdecimal()` 防御、CollectThrottle.get_rate 读实时 api_settings(DRF 类属性 import 时固化)。11 个 collect 测试。备注:真实浏览器预检会被 corsheaders 中间件短路(SDK 简单请求不触发,无影响)。) - [ ] **Step 5: Commit** `feat: 采集接口(域名白名单/限流/textplain解析/幂等)`