| ID | 名稱 | 狀態 |
|---|---|---|
| HM-DOC-01 | Documentation Governance | current |
| HM-ADM-01 | Admin Foundation | shipped |
| HM-ADM-02 | Admin Lifecycle | shipped |
| HM-CMP-01 | Compliance Hardening | current |
| HM-WEB-01 | Employer Portal | shipped |
| HM-CNV-01 | Candidate Communication and Match | shipped |
| HM-TWF-01 | Taiwan Agency Form Alignment | shipped |
| HM-OPS-01 | Release and Environment | current |
| HM-FTR-01 | Deferred Media and AI | 未分類 |
| HM-AGC-01 | Agency Portal UI Consistency | 未分類 |
| HM-RBAC-01 | Agency Resource RBAC and Console Merge | partial |
| HM-MOB-01 | Mobile App | partial |
| HM-MOB-02 | Mobile Dual-Track MVP | partial |
| HM-CASE-01 | Case Journey Task Layer | partial |
| HM-TEAM-01 | Org Team Operations | partial |
| HM-MOB-03 | Mobile UX Consolidation | partial |
| HM-FORM-01 | Resume/Intake Form Realignment | partial |
| HM-MOB-04 | Mobile Employer Experience Uplift | shipped |
| 無符合項目 | ||
| 編號 | 標題 | Status | 日期 |
|---|---|---|---|
| ADR 0001 | 案件 journey task 層疊加於 21 碼 milestone 之上 | Implemented | 2026-07-06 |
| ADR 0002 | task owner=實際行動者,與 milestone 作業經手方分離 | Implemented | 2026-07-06 |
| ADR 0003 | 聘僱案件八階段模型與 journey 模板骨架 | Implemented | 2026-07-06 |
| ADR 0004 | 雇主 mobile app 全流程自足 | Implemented | 2026-07-06 |
| ADR 0005 | 移工 mobile 範疇三定調(期滿意思表示、candidate 緊急求助、知情… | Implemented | 2026-07-06 |
| ADR 0006 | mobile MVP 判準(雙端齊備)與三波切分 | Implemented | 2026-07-06 |
| ADR 0007 | team capability 目錄 v1 與初期兩角色 bundle、值班表粒… | Implemented | 2026-07-06 |
| ADR 0008 | platform_admin 進 mobile 的範圍——例外收件匣單一 sur… | Implemented | 2026-07-06 |
| ADR 0009 | UI 用語「聘僱邀請」與法律留痕「聘僱意思表示」分離 | Implemented | 2026-07-10 |
| ADR 0010 | 推播通知事件目錄與命名規約 | Proposed | 2026-07-10 |
| ADR 0011 | journey 任務卡深連結映射由前端配置表承載 | Implemented | 2026-07-10 |
| ADR 0012 | 仲介中台 console 實體併入 admin(Stage B 延後半段)與軟隔… | Implemented | 2026-07-09 |
| ADR 0013 | 雇主可對候選人直接發起文字對話(含仲介來源候選人,pre-order ident… | Implemented | 2026-07-13 |
| ADR 0014 | 家庭幫傭 4 點制資格權威改為 `family_members` + `comp… | Implemented | 2026-07-13 |
| ADR 0015 | 候選人媒體(candidate-media)私有桶 + Keyless Stor… | Implemented | 2026-07-12 |
| ADR 0016 | Admin/Employer 邀請與密碼重設信連結導向修復+Set-Passwo… | Proposed | 2026-07-15 |
| ADR 0017 | 三 portal 忘記密碼自助流程+平台自有 SMTP(Cloudflare E… | Proposed | 2026-07-16 |
| ADR 0018 | Auth 信件連結改走自有網域 token_hash(Gmail 靜默丟棄 su… | Accepted | 2026-07-16 |
| ADR 0019 | 多語系 auth 信件自建寄送 pipeline(第一波:密碼重設信) | Implemented | 2026-07-16 |
| 無符合項目 | |||
| ID | 問題 | 嚴重度 | 狀態 |
|---|---|---|---|
| KB-01 | mobile 面試同意 UI 仍檢查三方全簽,DB 已拍板兩方即完成(HM-CMP-01-D03)——無見證顧問的案件永遠不顯示「全部已簽署」→ HM-MOB-02-T01 已修(… | HIGH | 已修 |
| KB-02 | mobile 視訊字幕 caption relay 只綁 web cookie session,RN bearer token 呼叫不了——雙方任一在手機,字幕開天窗 → HM-M… | HIGH | 已修 |
| KB-03 | `worker_account_binding` milestone 從未被種子 trigger 自動建立,僅一次性 backfill 處理過舊訂單,新訂單有資料落差。→ 已修(2… | MEDIUM | 已修 |
| KB-04 | mobile `AccountScreen` 整頁寫死 mock 資料(`IDENTITY` 常數),不隨登入者變動 → HM-MOB-02-T01 已修(2026-07-06) | MEDIUM | 已修 |
| KB-05 | `docs/roadmaps/mobile-app-shell.md` 的「Current Shell」段落與同檔 Task Breakdown 矛盾(描述停留在早期原型狀態)。→… | LOW | 已修 |
| KB-06 | admin 面試逐字稿翻譯面板顯示層仍用三方全簽判定與「三方齊全」文案(功能閘門吃 `consent_recorded_at` 已是兩方語意,僅顯示不一致)。→ 已修(2026-0… | LOW | 已修 |
| KB-07 | `libs/db/src/dal/milestone-sla.ts` 的 `MILESTONE_KEYS_V2` 只有 15 值,與 DB canonical 21 碼脫節(缺 d… | MEDIUM | 未修 |
| KB-08 | `tg_assert_case_documents_source_agency_scope` 殘留 `up.role` 引用(Sprint 5.2 sub-8 drop `user… | HIGH | 已修 |
| KB-09 | `20260429170142_create_case_studies_bucket.sql` 的 storage policy 仍引用已 drop 的 `up.role`;`20… | MEDIUM | 未修 |
| KB-10 | mobile 翻譯聊天只有 DB trigger 建立 `candidate_message_translations.pending` row,沒有任何 worker/consu… | HIGH | 已修 |
| KB-11 | mobile 訊息串送出訊息後 optimistic row 會短暫消失再出現,疑似 6 秒輪詢覆蓋本地 optimistic state,造成 sending 狀態閃爍。→ 已修… | MEDIUM | 已修 |
| KB-12 | mobile `Button` 沒有預設水平 padding,合約簽署失敗/重試按鈕在未傳入 style 時文字貼邊跑版。→ 已修(2026-07-09):`Button` bas… | LOW | 已修 |
| KB-13 | 合約簽署成功後未同步 resolve journey task:worker 與 employer 都已在 `contract_signatures` 寫入簽署紀錄,但 `case… | HIGH | 已修 |
| KB-14 | mobile 雇主端多個 stack screen 會吃掉底部 tabbar:聘僱意思表示表單、面試管理頁局部區域、合約簽署頁皆會失去 tabbar 脈絡,疑似 SafeArea/… | MEDIUM | 已修 |
| KB-15 | 雇主端從訊息列表進入對話串看起來像取代目前 view,而非 push 到下一層,返回語意與底部 tab 脈絡不符合 iOS stack navigation 預期。→ 已修(202… | MEDIUM | 已修 |
| KB-16 | Admin 工作收件匣 application-level work item 候選人欄空白:`case_tasks` 只透過 `case_journeys.service_ord… | MEDIUM | 已修 |
| KB-17 | HM-MOB-02-Q01 測試計畫原預期「移工送期滿意願 → 雇主合意 → admin 收件匣 S8 任務同步 resolve」,但現行 trigger 只自動 resolve … | MEDIUM | 已修 |
| KB-18 | `libs/mobile-api` 的 `getContractSignContextForUser`/`signContractForUser`(barrel-exported … | MEDIUM | 已修 |
| KB-19 | `advisor-invites/actions.ts` 的 `listAgencyAdvisorInvitations` 對 `candidates` 表按 ID 直讀 `dis… | LOW | 未修 |
| KB-20 | ~~`pnpm audit:doc-sync` 的 `portal-apps` 檢查恆為 FAIL——`scripts/audit-doc-sync.ts` 的 `EXPECTED… | LOW | 已修 |
| KB-21 | sign-in 登入成功後導向落在無 locale 前綴的 `/agency-console`(角色判定預設導向、或 deep-link `next` 回帶皆同),需靠 next-… | LOW | 未修 |
| KB-22 | HM-RBAC-01 軟隔離 enforcement 的 SHAPE 4 檢查(`checkConsoleServiceFn`)只收集頂層函式再檢查函式體內的 service-ro… | MEDIUM | 未修 |
| KB-37 | HM-FORM-01 CSV 批次匯入的表頭比對區分大小寫:混合大小寫表頭(例如 `Display_Name`/`NATIONALITY`)會使該列**所有欄位靜默被忽略**(查表… | MEDIUM | 未修 |
| KB-24 | HM-FORM-01 CSV 批次匯入手刻 parser(非完整 RFC-4180 實作)對「非欄位起始位置」出現的雙引號處理不符預期:`parseLine` 對任何位置的 `"`… | HIGH | 未修 |
| KB-25 | HM-FORM-01 CSV 批次匯入迴圈內每列呼叫 `createCandidateDraft` → `requireSourceAgencyAdminScope()`(3 處 … | MEDIUM | 未修 |
| KB-26 | `docs/roadmaps/forms-realignment/csv-import-mini-spec.md` §2.2 建議新增 `papaparse` 依賴處理 CSV p… | LOW | 未修 |
| KB-27 | `docs/policies/platform-policies.md` P07(Worker 權益資訊)下「翻譯內容必須標示 AI 翻譯」一條,位置僅列在 Worker-faci… | LOW | 未修 |
| KB-28 | `scripts/test-candidate-media-rls.ts` 的 candidate-media 上傳白名單常數(`BUCKET`/`MAX_SIZE_BYTES`/… | MEDIUM | 未修 |
| KB-29 | HM-FORM-01 T1.3a candidate-media 上傳失敗時,`uploadCandidateMediaAction` 回傳的錯誤代碼為英文 snake_case(… | MEDIUM | 未修 |
| KB-30 | HM-FORM-01 candidate-media 編輯模式預覽:既有候選人已上傳的照片/影片在編輯精靈重新載入時,經 `signCandidateMediaPaths` 取得的… | LOW | 未修 |
| KB-31 | HM-RBAC-01 console 實體合併(Stage B)後,`requireAgencyConsole()` 登入放行順序仍先呼叫 `checkRole(agency_ad… | MEDIUM | 未修 |
| KB-32 | HM-FORM-01 Phase 2.2(`/profile` 家庭成員 CRUD):`family_members` 表的 `family_members_employer_up… | MEDIUM | 已修 |
| KB-33 | HM-FORM-01 Phase 2.2:`upsertMyFamilyMember` 的 UPDATE 路徑(`family-members-actions.ts:323-344… | LOW | 未修 |
| KB-34 | HM-FORM-01 Phase 2.2/T2b:`family-members-section.tsx` 的 condition_code 選單只依單一 `draftAge < … | LOW | 未修 |
| KB-35 | HM-FORM-01 Phase 2.2:`upsertMyFamilyMember`(`family-members-actions.ts:316-380`)先寫 `family… | MEDIUM | 未修 |
| KB-36 | HM-FORM-01 Phase 2.2/T2b:`family_member_point_conditions` 的 `unique (family_member_id, con… | LOW | 未修 |
| KB-38 | worker portal 月結薪資頁(`monthly-payroll`)對測試移工帳號 `demo-worker-1` 顯示「目前沒有資料」空狀態;read-only DB 診… | MEDIUM | 未修 |
| KB-23 | `apps/mobile/e2e/navigation.spec.ts` 的「agency uses five role-specific destinations」在 `main… | LOW | 已修 |
| KB-39 | `fix/admin-invite-link`(ADR 0016)已修好 admin/仲介/雇主三端的邀請與密碼重設信連結(補上 `redirectTo` +新建兩個 set-pa… | MEDIUM | 已修 |
| KB-40 | admin 全站邀請/新增帳號流程的 `invite_failed` 錯誤處理兩項缺陷:(1)Supabase(GoTrue)原始英文錯誤訊息(例 `Email address "… | LOW | 未修 |
| KB-41 | agency-console candidates 家族 RWD 斷點不一致:本輪(`fix/agency-candidate-ui-polish`)把 `candidate-re… | LOW | 已修 |
| KB-42 | 「管理可預約時段」連結的 gate(`agency-candidates-client.tsx` `canManageAvailability`)只看 `availability_… | MEDIUM | 未修 |
| KB-43 | wizard 在 768 寬的殘餘橫向捲動:斷點修復已生效(≤768 收單欄、且由「overflow hidden 裁死不可及」改為「容器內 `overflow-x: scroll… | LOW | 未修 |
| KB-44 | 仲介端停用/恢復幫傭帳號的 server 端 RPC(`suspend/resumeCandidateAccountByAgency`)未限縮聘僱前:[HsuTse] 2026-0… | MEDIUM | 未修 |
| KB-45 | 雇主端履歷摘要邏輯(`apps/web/src/lib/public-candidates/helpers.ts:100-119` `resumeParagraphTexts`/`… | MEDIUM | 未修 |
| KB-46 | `serviceCategories`(幫傭 vs 看護分支關鍵欄位,對映官方 employment category codes;`apps/admin/.../candidat… | MEDIUM | 未修 |
| KB-47 | agency-console `AgencyShell` 側欄(`mzn-navigation` footer)dev 模式間歇出現 React hydration mismatc… | LOW | 未修 |
| KB-48 | → 已修(2026-07-17,`feature/auth-mail-pipeline`):Confirm sign up 模板改自有網域 token_hash(type=emai… | HIGH | 已修 |
| 無符合項目 | |||
| ID | 項目 | 狀態 |
|---|---|---|
| BL-01 | `taiwan_agency`/`source_agency` enum 正名為顧問語彙(ADR 0002 附註;含 DB enum 與 i18n) | 待排程 |
| BL-02 | `interview_slot_proposals` 狀態機補 DB trigger 守護(現僅靠 RPC,mobile 直連會破壞狀態機) | 待排程 |
| BL-19 | `loadServerEnv` 拆分(raw key 收窄至 `libs/config/src/server-secret.ts`,保留 `loadPublicEnv`/secur… | 待排程 |
| BL-30 | fee-summary union 收窄(HM-CMP-01-T08 衍生):`apps/web` fee-summary 的 `FeeSummaryGroup.id` union… | 待排程 |
| BL-03 | mobile 電商 tab(現為 coming-soon 佔位) | 待排程 |
| BL-04 | mobile 匯款 tab(現為 coming-soon 佔位;平台不涉薪資金流) | 待排程 |
| BL-05 | HM-MOB-01-T05 殘項:Realtime 訂閱取代輪詢(對話列表 20s/訊息串 6s) | 待排程 |
| BL-07 | mobile 講者字幕的伺服器端 STT(KB-02 auth 缺口已補後的殘餘缺口:RN 不跑裝置端 STT,需向 CF RealtimeKit 訂閱 meeting 音訊做 S… | 待排程 |
| BL-08 | mobile session token 改存 expo-secure-store(現為 AsyncStorage 明文存 access/refresh token;來源:2026… | 待排程 |
| BL-09 | mobile 帳號頁語言切換收進設定子頁,預設使用系統語言;避免在帳號頁第一層直接平鋪語言選項。 | 待排程 |
| BL-10 | mobile Loading `Shimmer` 提升載入感知;現行 700ms 透明度呼吸太弱,視覺上像空方框,可改為更明顯動效或輔助 icon/文案。→ 已修第一版(2026-… | 待排程 |
| BL-11 | mobile 啟動時避免不必要改變系統音訊工作階段;目前開 app 時會讓手機背景音樂出現類似「進山洞」的混音效果,疑似 RealtimeKit/react-native-webr… | 待排程 |
| BL-12 | mobile 文件上傳成功後顯示已上傳文件/圖片列表,讓 W8/E7 使用者能回頭確認剛上傳的內容;目前只有預覽與一次性 toast。 | 待排程 |
| BL-13 | mobile 日期/時間輸入統一改用系統原生 DatePicker/TimePicker,並修正鍵盤彈出時表單自動上推;W9 請假與 E8 家庭成員出生年都遇到同類問題。 | 待排程 |
| BL-14 | 雇主端首頁移除重複的「瀏覽」入口;底部 tabbar 已有瀏覽功能。→ 已修(2026-07-09)。 | 待排程 |
| BL-15 | mobile 案件進度八階段支援切換/查看非 current stage 的任務完成數,降低「本階段 X/Y」與整體 journey 進度混淆;也方便 A3 類跨階段同步驗證。 | 待排程 |
| BL-16 | 雇主端面試管理「確認此時段」CTA 改用既有 mobile Button 視覺語彙、間距與層級,避免像臨時 web-style button。 | 待排程 |
| BL-31 | mobile 雇主合約上傳加入 PDF 原生選檔:在既有拍照/相簿影像之外接入 `expo-document-picker`,讓中文版與幫傭母語版契約可直接選擇 `applicat… | 待排程 |
| BL-32 | mobile 雇主端候選人詳情「文件」分頁接真實內容;目前 `EmployerDetailScreen` 對 `docs` tab 無條件顯示空狀態,雖 detail query … | 待排程 |
| BL-33 | 同一受邀仲介允許多位成員同時加入同一面試室。現行 mobile token 流程以每位使用者建立 invite 並記錄個別 entry ack,但 insert 同時帶 `user… | 待排程 |
| BL-34 | mobile 多角色帳號切換 UI:登入與 session 還原目前把 active assignments 依 employer > worker > agency 排序後只回第… | 待排程 |
| BL-35 | 對話訊息寫入與通知入列改為可恢復的 transactional outbox。現行 mobile BFF 已用 `client_message_id` 做訊息 idempotenc… | 待排程 |
| BL-36 | agency-console 全域 mobile/窄螢幕 RWD:sidebar(agency-shell)固定不收合,≤768 佔 ~241px 壓縮內容區、375 寬時內容整體… | 待排程 |
| BL-37 | Mezzanine focus ring 顏色與錯誤色系過近:空欄位聚焦時顯示 brand 紅橘色 focus 框,與驗證錯誤紅色視覺相似,易被誤讀為填寫錯誤。屬全域 design… | 待排程 |
| BL-38 | SectionCard 卡片基礎樣式(`agency-console/_components/section-card/section-card.module.scss`)與 ca… | 待排程 |
| BL-17 | Admin 工作收件匣結案改為 row-level pending/optimistic remove resolved row,避免整張 table 進入 loading 導致操… | 待排程 |
| BL-18 | Admin 工作收件匣 table 欄寬與資訊密度重整;多筆同名 task 需要一眼看見候選人、案件階段、時間與行動方,避免內容截斷造成人工辨識困難。→ 已修第一版(2026-07… | 待排程 |
| BL-20 | HM-FORM-01 履歷表單機翻的 4 語系(fil-PH/id-ID/th-TH/vi-VN)字串,加上新增的 `admin.candidates.resumeForm.mac… | 待排程 |
| BL-21 | T1.3a candidate-media 上傳:進入媒體上傳精靈步驟(create mode)會先建立一筆 draft candidate row;若使用者中途放棄,會留下空 d… | 待排程 |
| BL-22 | T1.3a candidate-media 影片上傳現為原始檔(≤100 MiB)直存,未做轉碼/正規化;需評估 Edge Function + ffmpeg vs Cloudfl… | 待排程 |
| BL-23 | 履歷「經歷」自由文字欄位(仲介+外傭本人雙寫入):在工人履歷新增一個多行 TextArea「經歷」欄位,捕捉工人工作/生活經歷的敘事性描述(自由文字,非結構化資料)。雙寫入來源:(… | 待排程 |
| BL-24 | HM-FORM-01 Phase 2.1 雇主需工表 `baseEmployerIntakeShape` 的 `WORKER_AGE_MIN=18`/`WORKER_AGE_MAX… | 待排程 |
| BL-25 | HM-FORM-01 Phase 2.2/T2b 新增的 `family_member_point_conditions` 特殊需求兒童 condition_code 7 選項(`… | 待排程 |
| BL-26 | HM-FORM-01 共用 wizard 骨架 `useWizard().goNext()`(`libs/forms-shared/src/wizard/use-wizard.ts… | 待排程 |
| BL-27 | HM-FORM-01 Phase 2.3 demand wizard 獨立入口(`/matching-requests/new`,非透過 profile 續接的 standalon… | 待排程 |
| BL-28 | admin 審核介面與 rejected 完整政策(HM-FORM-01 KB-32 衍生):KB-32 的 `evidence_status` guard 目前暫定「approv… | 待排程 |
| BL-29 | wizard 共用層增強(HM-FORM-01 BUG-1 衍生):(a) `STEP_FIELD_NAMES` 完整性 regression test(目前無自動化鎖,schem… | 待排程 |
| BL-39 | → HM-OPS-01-T01(2026-07-16,ADR 0019,`feature/auth-mail-pipeline`)**已完成(2026-07-17)**:`libs… | 已認領/完成 |
| BL-40 | ~~`apps/web` 與 `apps/worker` 缺 nx `typecheck` target~~ → **已完成(2026-07-16,隨 ADR 0017 branc… | 已認領/完成 |
| BL-41 | `libs/auth-mail` 密碼重設信五語系(en/fil-PH/id-ID/th-TH/vi-VN)內文為 AI 初翻(信尾已附 AI 翻譯標示),未經母語審稿;六語系 G… | 待排程 |
| BL-06 | 修正 `docs/specs/video-room-ui-design.md` 自創的 `HM-VIDEO-01` 編碼(應歸 HM-FTR-01 下) | 待排程 |
| 無符合項目 | ||
| 日期 | commit 數 |
|---|---|
| 2026-06-18 | 0 |
| 2026-06-19 | 0 |
| 2026-06-20 | 0 |
| 2026-06-21 | 0 |
| 2026-06-22 | 0 |
| 2026-06-23 | 0 |
| 2026-06-24 | 0 |
| 2026-06-25 | 0 |
| 2026-06-26 | 0 |
| 2026-06-27 | 0 |
| 2026-06-28 | 0 |
| 2026-06-29 | 7 |
| 2026-06-30 | 0 |
| 2026-07-01 | 7 |
| 2026-07-02 | 21 |
| 2026-07-03 | 5 |
| 2026-07-04 | 46 |
| 2026-07-05 | 0 |
| 2026-07-06 | 41 |
| 2026-07-07 | 2 |
| 2026-07-08 | 0 |
| 2026-07-09 | 3 |
| 2026-07-10 | 57 |
| 2026-07-11 | 29 |
| 2026-07-12 | 38 |
| 2026-07-13 | 40 |
| 2026-07-14 | 16 |
| 2026-07-15 | 26 |
| 2026-07-16 | 19 |
| 2026-07-17 | 10 |
| Hash | 時間(台北) | 類型 | Scope | 說明 |
|---|---|---|---|---|
| 1e0d0de | 2026/7/17 凌晨12:41 | docs | roadmaps | close BL-41 and record email confirmations enabled |
| ddb34f2 | 2026/7/17 凌晨12:18 | 未分類 | — | Merge branch 'feature/auth-mail-pipeline' |
| dc51b21 | 2026/7/17 凌晨12:16 | docs | — | adopt ADR 0019 and close KB-48/KB-39/BL-39 |
| e4555a2 | 2026/7/17 凌晨12:16 | feat | portals | route forgot-password mail through auth-mail pipeline |
| 2430ce7 | 2026/7/17 凌晨12:16 | fix | admin | wire worker invite links to worker landing |
| 84d39d3 | 2026/7/17 凌晨12:16 | feat | web | add signup email confirm landing |
| ae18202 | 2026/7/17 凌晨12:16 | feat | i18n | confirm-landing copy and neutral worker landing wording |
| e8f5a01 | 2026/7/17 凌晨12:15 | feat | auth-mail | six-locale recovery mail pipeline |
| d415792 | 2026/7/17 凌晨12:15 | feat | auth | support email-type confirm links and worker invite routing |
| c432f87 | 2026/7/17 凌晨12:15 | feat | db | add auth_email_events rate-limit table |
| eb9ec95 | 2026/7/16 晚上10:07 | 未分類 | — | Merge branch 'feature/forgot-password' |
| 7b723bf | 2026/7/16 晚上10:05 | 未分類 | — | Merge remote-tracking branch 'origin/main' into feature/forgot-password |
| 1f8a7dd | 2026/7/16 晚上9:55 | docs | — | adopt ADR 0017/0018 and sync governance lists |
| 4a68d03 | 2026/7/16 晚上9:55 | chore | supabase | document custom SMTP settings in config.toml |
| 327496d | 2026/7/16 晚上9:54 | feat | web | accept token_hash recovery links on landing pages |
| d5e65d8 | 2026/7/16 晚上9:54 | feat | worker | add forgot-password flow and reset-password landing |
| 41d437a | 2026/7/16 晚上9:54 | feat | admin | add self-service forgot-password flow |
| 666b7fb | 2026/7/16 晚上9:54 | feat | web | add self-service forgot-password flow |
| 3de49d4 | 2026/7/16 晚上9:53 | feat | i18n | add forgot-password and reset landing copy in six locales |
| f6346a2 | 2026/7/16 晚上9:53 | feat | auth | add token_hash session path and worker reset redirect builder |
| b6484ee | 2026/7/16 晚上9:53 | chore | nx | add typecheck targets to web and worker apps |
| dfe1a95 | 2026/7/16 上午10:13 | 未分類 | — | Merge pull request #27 from fantasywind/feature/agency-wizard-3step |
| 7375ce8 | 2026/7/16 上午9:27 | test | e2e | cover agency draft soft-delete RLS boundary |
| 7a73e79 | 2026/7/16 上午9:27 | fix | admin | address final-review findings for candidate wizard and drafts |
| a04d762 | 2026/7/16 上午8:58 | docs | roadmaps | sync governance for wizard restructure delivery |
| 014ef8a | 2026/7/16 上午8:58 | feat | admin | revamp candidate list row actions and add draft soft deletion |
| 727b0fe | 2026/7/16 上午8:58 | feat | admin | restructure agency candidate wizard into three steps |
| baab92d | 2026/7/16 上午8:57 | fix | admin | unify agency-console tablet breakpoint via shared token |
| 9741e0d | 2026/7/16 上午8:57 | feat | ui | add MzRadioField form field adapter |
| 0a6d9d1 | 2026/7/15 下午6:35 | 未分類 | — | Merge pull request #26 from fantasywind/fix/agency-candidate-ui-polish |
| 無符合項目 | ||||