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

This commit was merged in pull request #56.
This commit is contained in:
Leo
2026-07-14 13:23:58 +00:00
parent 52dbd31dea
commit 1e85dfb49b
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,平時零成本)。