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
+19 -1
View File
@@ -15,7 +15,25 @@ metadata:
## 📍 當前位置
> **2026-07-14 本 sessionportal-auth P4admin 帳號+庫管理頁——本 SDD 最後一棒PR 待總管審不 merge**
> **2026-07-14 本 sessionbugfixPBKDF2 CF runtime 上限+http_request 1042 flag,分支 `fix-pbkdf2-cf-limit`PR 待總管審不 merge**
> - **T6-cloud 部署抓到的框架蟲**CF Workers **正式 runtime** PBKDF2 上限 100,000 iterations——
> portal-auth 設 600k → `crypto.subtle.deriveBits` 真雲直接拒絕 → `/portal/admin/bootstrap` 500
> uncle6 實撞,證據 arcrun-rag `docs/manual/uncle6-deploy-record.md`)。**miniflare 無此限制=
> 本機測試全綠的假象**(新教訓:平台 crypto 限額 miniflare 不模擬,涉 WebCrypto 參數上限的驗收
> 只有真雲驗得出)。
> - **修(小刀)**`portal-auth.ts` `PBKDF2_ITERATIONS` 600_000→**100_000**+註明平台封頂(儲存
> 格式自帶迭代數,未來放寬可無痛升);design.md D-5 加修訂註+tasks.md 加 Bugfix 記錄。
> verify 相容性確認:迭代數從儲存值解析,**補測試「驗 600k 舊 hash 仍通」**miniflare 造)綠;
> 誠實邊界=真雲 deriveBits 同樣封頂、600k hash 真雲仍拒,但真雲 bootstrap 從未成功→雲端零存量
> hash、無遷移面。
> - **同 PR 順手(部署 agent 點名)**`.component-builds/http_request/wrangler.toml`
> compatibility_flags 補 `global_fetch_strictly_public`self-hosted 同帳號 fetch 1042 正解,
> Arcrun#33 同族;官方本就跨 zone 行為不變,原理同 cypher 前例 rules/03 1042 段)。
> - **驗證**cypher tsc 0;全套 169/170(唯一失敗=executor「不存在的零件」pre-existing);
> portal 三套 56/56 全綠(含新 600k 相容測試);http_request `wrangler deploy --dry-run` 打包過。
> - 不 merge 待總管審(B 類流程);merge 後部署仍走 gated leo21c/uncle6 wrangler 直推。
>
> **2026-07-14 上一輪(portal-auth P4admin 帳號+庫管理頁——本 SDD 最後一棒,PR 待總管審不 merge)**:
> - **實作(分支 `portal-auth-p4-admin-ui`3+1 小步 commit**:① `portal.ts` 補 **last-admin
> 鎖死保護**(總管派工明定、design 未明寫)——PATCH 停用/降級「最後一個 active admin」→ 409
> (另一 admin 是 disabled 不算數;只在目標是 active admin 且會失格時才多打一次 list,平時零成本)。