| A-01 | Ai ghi DB ở Action 5? V7 để Action 5 "Database logs Induction_Due and clears Plan_Due" là bước của Zap, nhưng SLA_Deadlines nằm trong PostgreSQL (POD-SLA-03) và Zap đã kết thúc ở Action 4 ("receives 200 OK and ends"). | Middleware tự làm Action 5 ngay khi nhận lời gọi Action 4, trước khi trả 200 OK (đóng Plan_Due, mở Induction_Due, lưu link PDF). Zapier không ghi DB. | Toàn bộ Flow 10.1A do Middleware (Node.js) xử lý thay Zapier (dev đề xuất): Typeform gửi thẳng tới API Analyze Trading Plan; Middleware ghi SLA ngay khi nhận bài, rồi chạy nền map dữ liệu → Google Doc → PDF → S3 → Gemini → webhook. BA chốt 2026-10-15. | ✅ Đã chốt |
| A-02 | Zap lỗi trước Action 4 (cũ: A-02). Zap hard-fail ở Google Docs / PDF / S3 → Middleware không biết mentee đã nộp → Plan_Due không đóng → mentee vẫn bị gửi email breach. Khách nói "mentee không bị flag vì Plan_Due đã clear" (POD-PLAN-11) — không đúng với thứ tự này. | Chấp nhận: Ops chạy lại Zap khi nhận "Zap Error"; không build thêm. | Khách đã trả lời (POD-PLAN-11): Zapier tự chạy lại theo gói Company, hard-fail → alert Slack Operations; mentee không bị flag vì Plan_Due đóng ở Action 5. BA đóng 2026-10-15. | ✅ Đã chốt |
| A-03 | Nộp lại và Induction_Due (cũ: A-03). POD-PLAN-05 chốt nộp lại = sự kiện mới nhưng không nói SLA. Mở Induction_Due mới mỗi lần nộp sẽ reset hạn 5 ngày của leader, hoặc mở lại hạn đã đóng dù leader đã đặt lịch. | Chỉ mở Induction_Due ở lần nộp đầu tiên trong pod hiện tại; lần nộp sau chỉ sinh PDF + email cập nhật, không đổi SLA. | Mỗi trader chỉ nộp 1 lần; trang wrapper chặn lần 2 (thay POD-PLAN-05). Đổi sang pod mới → dùng lại Trading Plan đã nộp ("The Trading Plan should just be reused"), không nộp lại; leader mới nhận PDF và Induction_Due lúc gán pod. Thêm chặn ở backend: chỉ ghi Induction_Due = T+5 khi lần gán pod hiện tại chưa có (IS NULL), không ghi đè / mở lại hạn đang mở hoặc đã đóng. Khách trả lời 2026-10-22. | ✅ Đã chốt |
| A-04 | Nộp khi đang waitlist rồi được gán pod (cũ: A-04). POD-PLAN-09 chỉ nói PDF "lưu để dùng khi được assign". Khi Flow 11 gán pod: (1) có mở Plan_Due 72 giờ không? (2) PDF đã nộp có tự được phân tích, gửi leader mới và mở Induction_Due? (3) Mentee waitlist lấy link form ở đâu (link chỉ gửi khi đã có pod)? | (1) Đã có PDF → không mở Plan_Due. (2) Middleware tự chạy phân tích + email + mở Induction_Due với PDF mới nhất. (3) Không có đường chính thức — chỉ xảy ra khi dùng lại link cũ. Ảnh hưởng UC_8.2.1 / UC_8.2.8. | Theo giả định: (1) không mở Plan_Due; (2) Middleware tự phân tích PDF mới nhất, gửi webhook, mở Induction_Due cho leader mới (= lúc gán + 5 ngày lịch); (3) không có đường chính thức. BA chốt 2026-10-15. | ✅ Đã chốt |
| A-05 | Field thiếu cho email leader (cũ: A-07). T-04 cần Leader_Name, Mentee_Name, calendar_link nhưng TRADING_PLAN_ANALYZED (V7) chỉ có mentor_email, pdf_url, ai_analysis. | Webhook bổ sung tên Pod Leader, tên mentee, link đặt lịch của leader và mã mentee (tên trường do BE chốt trong OpenAPI spec). Nơi lưu calendar_link → UC_8.2.3 A-02. | Middleware tra và gửi kèm trong webhook: tên Pod Leader, Master Calendar link (từ Pod_Leader_Registry theo leader của mentee), tên mentee (từ Users). Tên trường do BE chốt. BA chốt 2026-10-15. | ✅ Đã chốt |
| A-06 | Chống trùng khi Zapier chạy lại Action 4 (cũ: A-06) [POD-XF-04] → 2 bản ghi, 2 lần gọi Gemini, 2 email cho leader. | Middleware bỏ qua lời gọi có document_s3_url đã tồn tại (CR-18). | Middleware bỏ qua lời gọi có document_s3_url đã nhận (200 OK, CR-18). BA chốt 2026-10-15. | ✅ Đã chốt |
| A-07 | Người không còn đủ điều kiện vẫn nộp (cũ: A-08) — link không hết hạn: đã terminate/resign, Inactive_Hold, đã lên Level 7. | Đã rời pod → pod_leader_id rỗng → xử lý như Q-13 ở §1 (chỉ lưu PDF). Không cần rule riêng. | | ⏳ Chờ BA 🟡 |
| A-08 | CR-18 cho ca lưu một phần (cũ: A-11). CR-18 định nghĩa "no data is written", nhưng ca waitlist vẫn lưu link PDF. | Ref CR-18 cho phần phản hồi 200 OK; UC ghi rõ ngoại lệ "vẫn lưu link PDF". Không sửa CR-18. | | ⏳ Chờ BA 🟡 |
| A-09 | Mốc tính Induction_Due (cũ: A-09). POD-PLAN-08 tính từ lúc submit, nhưng Action 4 không truyền thời điểm submit; nếu Zap chạy lại, Middleware nhận trễ hàng giờ. | Zapier truyền thêm thời điểm submit của Typeform (tên trường do BE chốt trong OpenAPI spec); Middleware dùng làm mốc. | Khách đã trả lời (POD-PLAN-08): tính từ lúc Typeform được submit, 5 ngày lịch, rolling. BA đóng 2026-10-15. | ✅ Đã chốt |
| A-10 | Upload PDF lên S3 ở Action 3: ai cấu hình bucket + quyền truy cập cho Zapier, ai đặt tên file theo UUID (POD-PLAN-10)? | Sotatek cấu hình action AWS S3 trong Zap bằng tài khoản AWS của Stack Trading; tên file = UUID sinh trong Zap. | Ngoài phạm vi BA — dev tự cấu hình. BA bỏ 2026-10-15. | ⛔ Bỏ |
| A-11 | Lưu nhiều phiên bản PDF. Nộp lại sinh PDF mới (POD-PLAN-05); Wednesday Brief cần biết bản nào là baseline (UC_8.2.5 A-04). | Lưu mọi phiên bản kèm thời điểm submit; bản mới nhất được đánh dấu. Chọn baseline do UC_8.2.5 quyết. | | ⏳ Chờ BA 🟡 |
| A-12 | Tài khoản, API key, chi phí Gemini [POD-XF-12] (cũ: A-12) — áp cho UC_8.2.2, 8.2.5, 8.2.7. | Stack Trading sở hữu tài khoản + billing; Sotatek cấu hình key trên Middleware. | Ngoài phạm vi BA. BA bỏ 2026-10-15. | ⛔ Bỏ |
| A-13 | Lỗi trong phần chạy nền của POST /analyze-trading-plan. Middleware trả 200 OK ngay rồi mới tải PDF từ S3 và ghi database (V7 §Analyze Trading Plan). Không tải được PDF (link sai, file chưa có, S3 lỗi) hoặc ghi database lỗi thì Zapier không biết để chạy lại; POD-DISP-05 chỉ chốt thử lại cho lời gọi Gemini. | Tải PDF lỗi → thử lại theo cùng nhịp với Gemini (3 lần, 2s → 4s → 8s); hết lượt → xử lý như AI lỗi: ai_analysis = AI analysis temporarily unavailable., vẫn gửi webhook. Ghi database lỗi → ghi log lỗi kèm user_id + document_s3_url để Ops chạy lại tay. Nếu A-01 chốt ghi database trước khi trả 200 OK thì lỗi ghi trả 500 và Zapier tự chạy lại. | Khách duyệt Node.js làm Action 1–5. Lỗi phần chạy nền → ghi log + 1 Slack alert #ops-general (khách ghi #operations, map theo P-01): "Trading Plan Ingestion Failed for User [user_id] at Step [step_name]: [error_message]." Không thử lại; dừng xử lý lần nộp. Khách trả lời 2026-10-22. | ✅ Đã chốt |
| A-14 | Gửi webhook TRADING_PLAN_ANALYZED sang Zapier bị lỗi (Catch URL không nhận, lỗi mạng). Leader không nhận email Trading Plan nhưng Induction_Due của leader vẫn chạy → leader có thể bị breach dù chưa nhận plan. Nguồn chưa nói thử lại / cảnh báo (cùng nhóm POD-XF-04). | Thử lại 3 lần, chờ 2s → 4s → 8s; vẫn lỗi → gửi Slack cảnh báo vào kênh Ops (như "Zap Error" ở BR_8.2.2.5) kèm tên mentee, email leader, link PDF để Ops gửi tay. Việc lưu PDF và cập nhật SLA không bị huỷ. | Ghi log + 1 Slack alert #ops-general: "Failed to dispatch TRADING_PLAN_ANALYZED for User [user_id]". Không build hàng đợi gửi lại. Khách trả lời 2026-10-22. | ✅ Đã chốt |