| 項目 | 內容 |
|---|---|
| 緣由 | 508 條「已知坑」逐桶處理 arc。SEC/SCHEMA/DEAD/其他/ECODE 已收口,剩 UX / STATE / REPLACE 三桶待處理。本棒交接給下一棒續做。 |
| branch | fix/v1.8.0-bugs(不要切;不對就停下問 user) |
| 唯一進度真相 | 🔴 docs/analysis/2026-07-07-known-pits-remediation-tracker.md —— 只有這一份追蹤表。一切定調/銷帳/桶狀態看它、寫它。絕對不要另建第二份清單/checklist(上一棒交接曾出現兩份追蹤表造成混亂,已刪除,勿重蹈)。 |
| 收口 SUMMARY | docs/features/FR-047-2607-feature-spec-handbook/handoff/2026-07-08-known-pits-remediation-SUMMARY.md(已完成部分的彙整) |
| 母清單 | docs/analysis/2026-07-07-spec-known-pits-inventory.md(508 條原文,只讀不改分類) |
| 預估 | 剩 3 桶約 113 條,但照塌縮率實際動手估 一二十個決策點(~85% 是告知類 no-action) |
FR-047 spec 手冊全站 67 頁的 §12「邊界情況與已知坑」被彙整成 508 條清單。關鍵認知:這 508 條不是 508 個待辦——§12 是寫給工程師的「邊界情況告知」,混了三種東西:
arc 的目標=逐桶把「①可修」挑出來修,②③ 一律 no-action(維持現狀)。 前 5 桶實證:真正動手的遠少於總數(SCHEMA 60 條真動手 5 個 DDL、其他 204 條 ~25、ECODE 25 條真缺陷 7 條)。下一棒的三桶同理——大部分會是 no-action,別把每條當 bug 修。
docs/analysis/2026-07-07-known-pits-remediation-tracker.md 全讀(唯一進度真相;看已收桶的定調模式、剩桶的預收歸位條目)2026-07-08-known-pits-remediation-SUMMARY.md(已完成彙整、loose ends、部署狀態)CLAUDE.md 權限/DDD/DB transaction/error code/jedi 套件異動/DROP 前四查規範2026-07-07-spec-known-pits-inventory.md(要抽桶時查原文,只讀)冷接自檢(答不出回去讀,別碰 code):
fix/v1.8.0-bugs,發版/push/merge 全等 user 明示)| 桶 | 狀態 |
|---|---|
| ① SEC (75) | ✅ 收口(→ FR-048) |
| ② SCHEMA (60) | ✅ 收口(DDL 5 項 DEV+STG 已套;升級 2 條已修;告知類 no-action) |
| ④ ECODE (39) | ✅ 收口(真缺陷 7 條已修+發版;告知類 no-action) |
| ⑦ DEAD (30) | ✅ 收口(死碼刪、v1 鏈退役、C 族改桶;B 族 topt_secret 待定調) |
| ⑧ 其他 (204) | ✅ 三次複核(~175 no-action、25 歸桶、1 誤報) |
| ③ UX (47) | ⬜ 待抽桶 |
| ⑤ STATE (33) | ⬜ 待抽桶 |
| ⑥ REPLACE (33) | ⬜ 待抽桶 |
已收的 5 桶不要重做。 三桶各有「從其他桶歸位進來」的預收條目,寫在 tracker 各桶段落 + §其他二次歸類「可行動清單」——抽桶時把該桶的歸位條目一起納入。
docs/features/FR-047.../known-pits-remediation-tracker.md vs docs/analysis/...)造成混亂,已刪前者。只用 docs/analysis/ 那份。system_owner comment 早修好、info-system#4 route 早回 404、tenant-manage#5 marshal apply=False 不影響 response。先 grep 真碼 / 查 DB 再定調。[] 清空」跨多頁、STATE「SSP 寫入無 phase guard ×N 頁」、UX「date-only 時區 ×10+」——合併後塌縮成幾個決策點。抽桶腳本(把 UX 換成 STATE / REPLACE):
cd ~/Projects/Billows/Audit-Manager/compliance-manager-be
python3 - <<'PY'
import re
lines=open("docs/analysis/2026-07-07-spec-known-pits-inventory.md",encoding="utf-8").read().split("\n")
n=0
for i,l in enumerate(lines):
m=re.match(r'- \*\*\[([^\]]+)\]\*\*\s+(\S+)\s+(.*)$', l)
if m and m.group(3).strip().startswith("`UX`"):
n+=1
b=next((lines[j].strip() for j in range(i+1,len(lines)) if lines[j].strip()),"")
print(f'{n:2d}. [{m.group(1)}] {re.sub(r"[*`]","",b)[:100]}')
print(f"\nTOTAL = {n}")
PY三桶各自的預收方向(詳細內文抽桶後才有;這裡只給定位):
user-profile#1(TOTP 未驗證就啟用會自鎖)、device#5/department#5(status 欄無 UI)。跨 FE repo(~/Projects/Billows/Audit-Manager/compliance-manager-fe/)。import-docx#3(phase guard)、問卷填答狀態機 2ffec。[] 清空、非單一交易、FK 級聯、硬/軟刪。歸入:user-import#2(批次非單一交易)、role-manage#2/user-form#3(全量取代漏帶=刪授權)、department-manage#7(刪部門 FK 未查證)、issue-integrate-config#1(DEAD C 族改桶)。在 tracker §各段有記,摘要如下——這些是 arc 尾巴,不急,user 排:
api/auth/routes/otp_route.py:148 讀 kwargs.get("mfa_type") 但 serializer MfaResendRequest 宣告 type → TOTP 使用者靜默走 email。標了「→BUG/ECODE」但沒派工。Notion case 61db 維持 Not started。docs/reference/error_code.json、docs/system-design/scripts/data/_all_error_codes.json、specs 的 auth/forget-password + system-admin/user-profile 的 md/html/dot)→ 應 AUTH_401009→AUTH_400003。純文件 spec-sync。tenant-manage#5 誤報、storage-config#5 無害澄清(走 writing-feature-specs skill)。topt_secret drop:DEV 查乾淨(0 資料零引用),待 STG/POC 確認 + user 拍板(跟 POC 一起等)。docs/analysis/2026-07-07-known-pits-remediation-tracker.md(唯一)docs/analysis/2026-07-07-spec-known-pits-inventory.md(只讀)docs/features/FR-047-2607-feature-spec-handbook/handoff/2026-07-08-known-pits-remediation-SUMMARY.mddocs/features/FR-048-2607-unified-auth-guard/endpoint-authz-matrix.md~/Projects/Billows/Audit-Manager/compliance-manager-fe/(改前讀其 CLAUDE.md)~/Projects/Jedicogy/module/jedi-python-package/cd ~/Projects/Billows/Audit-Manager/compliance-manager-be
git branch --show-current # 應為 fix/v1.8.0-bugs,不是就停下問 user
git status --short | grep -v '^??' # working tree 應乾淨(?? untracked 的 docx/zip 是 user 的別動)
git rev-list --count @{u}..HEAD # 領先 upstream 數(本 branch 已 push 到 origin/fix/v1.8.0-bugs)
lsof -i :8000 | grep LISTEN # BE 是否在跑(BE 由 user 起)已收的 5 桶 fix 都已 landed + 部分手測 + jedi 套件已發版(Nexus pin)。不要回頭追已修的坑。若懷疑某條狀態,查 tracker 那一列(不是重新調查)。已修清單見 SUMMARY §3。
fix/v1.8.0-bugs);push / 發版 / merge to main / 主專案進版 全等 user 明示,不自動做。commit 顯式 git add 檔名、禁 -am。docs/analysis/ 那份。log/app.log。closing-and-handoff skill 的收尾 SOP。先等等)。compliance-manager-be:已 push 到 origin/fix/v1.8.0-bugs(領先 origin/main ~93,待未來 merge)。含 FR-048 全批 + BUG 池 + SCHEMA(DDL+升級) + ECODE(#1/#2) + DEAD + 追蹤表/SUMMARY。0.0.9/auth 0.1.24/information-system 0.0.3/survey 0.0.24/device 0.0.12),主 pyproject 已 pin 新版。compliance-manager-fe:FR-048 4b 79c0133、DEAD 死碼刪 7afeb49、ECODE#4 i18n b7a9929。接手 FR-047 已知坑 arc 剩餘桶(UX/STATE/REPLACE)。先讀交接文件全文:
docs/features/FR-047-2607-feature-spec-handbook/handoff/2026-07-08-known-pits-remaining-buckets-handoff.md
再讀唯一追蹤表 docs/analysis/2026-07-07-known-pits-remediation-tracker.md(進度真相,絕不另開第二份清單)。
答完交接檔 §0 冷接自檢 5 題再動手。branch fix/v1.8.0-bugs 不切、push/發版/merge 等我明示。
接哪桶等我指定:照 §3 SOP「抽桶→逐條 live 驗分性質→同 root 合併→寫追蹤表→跟我定調」,別自己開修。