bugfix(#24 #25):PBKDF2 600k→100k(CF runtime 上限,真雲 bootstrap 500)+http_request 補 1042 flag

- portal-auth.ts PBKDF2_ITERATIONS 600_000→100_000:CF Workers 正式 runtime 的
  PBKDF2 上限 100k,crypto.subtle.deriveBits 超過直接拒絕 → /portal/admin/bootstrap
  真雲 500(2026-07-14 uncle6 T6-cloud 實撞,證據 arcrun-rag docs/manual/
  uncle6-deploy-record.md);miniflare 無此限制=本機全綠假象。儲存格式自帶迭代數,
  平台放寬可無痛升。
- 補測試「驗 600k 舊 hash 仍通」(verify 從儲存值解析 iterations;誠實邊界:真雲
  deriveBits 同樣封頂,但真雲 bootstrap 從未成功→零存量 hash 無遷移面)。
- .component-builds/http_request/wrangler.toml 補 global_fetch_strictly_public
  (self-hosted 同帳號 fetch 1042 正解,Arcrun#33 同族;官方跨 zone 行為不變,
  原理同 cypher 前例 rules/03 1042 段)。
- SDD:design D-5 修訂註+tasks Bugfix 記錄;wiki status 更新。
- 驗證:cypher tsc 0;169/170(唯一失敗 pre-existing);portal 三套 56/56;
  http_request wrangler --dry-run 過。不 merge 待總管審。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
uncle6me-web
2026-07-14 20:43:41 +08:00
parent 52dbd31dea
commit e566495df9
6 changed files with 70 additions and 11 deletions
@@ -130,6 +130,19 @@
---
## BugfixP1-P4 交付後)
- [x] **PBKDF2 600k → 100kT6-cloud 部署抓到的框架蟲,2026-07-14,分支 `fix-pbkdf2-cf-limit`**
CF Workers 正式 runtime PBKDF2 上限 100,000 iterations600k 時 `crypto.subtle.deriveBits`
直接拒絕 → `/portal/admin/bootstrap` 真雲 500uncle6 實撞,證據 arcrun-rag
`docs/manual/uncle6-deploy-record.md`);miniflare 無此限制=本機測試全綠假象。
修:`portal-auth.ts` `PBKDF2_ITERATIONS` 100_000+註明平台封頂;design D-5 已加修訂註。
verify 相容性:迭代數從儲存值解析,補測試「600k 舊 hash 仍通」(miniflare 造);誠實邊界
=真雲 deriveBits 同樣封頂、600k hash 真雲仍拒,但真雲 bootstrap 從未成功過 → 無存量 hash、
無遷移面。同 PR 順手:`.component-builds/http_request/wrangler.toml`
`global_fetch_strictly_public` flagself-hosted 同帳號 fetch 1042 正解,Arcrun#33 同族,
官方行為不變原理同 cypher 前例 rules/03 1042 段)。
## 第二波(不在本 SDD 動工範圍,掛號)
- MCP token 綁庫集合(design §9PR#15 擴充,只動 `mcp/`