StackTrading Docs

UC 8.2.5

Flow 10.3 - Wednesday AI Brief: mỗi sáng Thứ Tư, AI so hoạt động giao dịch tuần của từng mentee với Trading Plan và gửi báo cáo tổng hợp cho Pod Leader

FieldValue
BA in ChargeAnh Hoang
Date Created2026-10-12
Versionv1.8
Document ReferencesZapier Integration V7.pdf (§Flow 10.3, §3.1 Table A/B) · RFQ_ Stack Trading Prop Tech V7.pdf (§Generate Trading Activity vs Plan Brief, §4.4 #11) · QnA from clients — STAGE 6: Pod System Flow 10 → 11 (POD-BRIEF-01/02/07/08/09/10/11/13/14/16, POD-DISP-05, POD-PLAN-11) · QnA_init_docs.md (A-01…A-13) · Common Rules CR-08, CR-15.2

UC_8.2.5 — Flow 10.3: Wednesday AI Brief

🇻🇳 Section này viết bằng tiếng Việt để BA review. Mọi ID, anchor, tên field/API và text hiển thị cho user giữ nguyên tiếng Anh.

1. Overview

FieldContent
IDUC_8.2.5
Use CaseFlow 10.3: Wednesday AI Brief
DescriptionUC này gửi cho mỗi Pod Leader một báo cáo hằng tuần vào sáng Thứ Tư. Báo cáo tóm tắt kết quả giao dịch trong tuần của từng mentee, kèm nhận xét của AI về việc mentee có giao dịch đúng Trading Plan hay không, để leader biết cần hướng dẫn mentee điều gì.
Phạm viBáo cáo hiệu suất hằng tuần cho Pod Leader. Không gồm email Trading Plan gửi 1 lần khi mentee mới nộp plan và báo cáo strike tuần trên Slack (UC_8.2.3).
Zapier FlowFlow 10.3 (Wednesday AI Brief Batch)
Zapier TableTable A (Forex) và Table B (Futures): cột Profit_Target, Market_Loss_When_Stopped
APIWebhook do Cron Job task Generate Trading Activity vs Plan Brief gửi sang Zapier (Trigger của Flow 10.3)
Cron Job taskGenerate Trading Activity vs Plan Brief, chạy Thứ Tư lúc 03:00 giờ US/Central
3rd PartyGemini 3.1 Pro with Extended Thinking, Zapier, AWS SES, Slack

2. Trigger

  • Cron Job task Generate Trading Activity vs Plan Brief chạy 03:00 sáng Thứ Tư hằng tuần, theo giờ US/Central. Đây là tác vụ nền tự chạy theo lịch trên Middleware, không nhận input và không có bên nào gọi vào.
  • Giờ US/Central là giờ tại trụ sở Frisco, Texas. Giờ này tự đổi theo giờ mùa hè (CDT) và giờ mùa đông (CST), nên cron luôn chạy lúc 03:00 giờ địa phương.

3. Pre-conditions

  • Pod Leader có ít nhất 1 mentee đang hoạt động.

4. Post-conditions

  • Mỗi Pod Leader có mentee nhận 1 email Wednesday Brief vào hộp thư @stacktrading.com.
  • Nếu Operations chạy lại cron bằng tay thì leader nhận thêm 1 email nữa (E_8.2.5.1).
  • Mentee không nhận email này.

5. Basic Flow

5.1 Lấy dữ liệu (RFQ V7 — Cron bước 1 và 2)

Stage 1 — Chọn leader và mentee

  1. Cron chạy lúc 03:00 sáng Thứ Tư. Cron xử lý từng leader riêng: xử lý 1 leader bị lỗi thì cron vẫn tiếp tục với các leader khác. Cron chạy lại hoặc dừng giữa chừng xem E_8.2.5.1, E_8.2.5.2.
  2. Cron đọc 2 bảng:
    • Users: mỗi mentee thuộc leader nào (pod_leader_id), cùng Asset Class, platform và level của mentee.
    • Pod_Leader_Registry (Table E): danh sách leader và email @stacktrading.com của từng leader.
  3. Cron chỉ gửi brief cho leader có ít nhất 1 mentee đang hoạt động (E_8.2.5.3). Leader đang nghỉ DTO hoặc Hiatus vẫn nhận brief, để khi quay lại làm việc thì có sẵn dữ liệu.
  4. Cron lấy mọi trader đang thuộc pod của leader tại thời điểm chạy. Cron chỉ lấy dữ liệu của mentee, không xử lý dữ liệu giao dịch của chính leader. Mentee mới vào pod giữa tuần xem E_8.2.5.4.

Stage 2 — Lấy dữ liệu từng mentee

  1. Cron lấy dữ liệu trong database của Middleware. Dữ liệu này được đồng bộ liên tục từ Rithmic và TraderEvolution; cron không gọi trực tiếp các nền tảng này. Cron lấy:
    • 4 số liệu của mentee, tính theo BR_8.2.5.1, dùng 2 cột Profit_Target và Market_Loss_When_Stopped trong Table A (Forex) hoặc Table B (Futures).
    • Trade log và journal hằng ngày trong đúng 7 ngày, tức 7 lần 24 giờ, tính ngược từ lúc cron chạy. VD: cron chạy lúc 03:00 Thứ Tư ngày 21 thì lấy từ 03:00 Thứ Tư ngày 14 đến 03:00 Thứ Tư ngày 21.
    • File PDF Trading Plan trên S3, theo link pdf_url mới nhất đang lưu trên bản ghi của mentee. VD: mentee đã nộp plan 2 lần thì cron dùng bản nộp sau cùng. Mentee chưa nộp plan xem E_8.2.5.6.
  2. Tổng trade log và journal của mỗi mentee tối đa 50,000 ký tự. Vượt quá thì cron bỏ bớt bản ghi cũ nhất, giữ bản ghi gần nhất (BR_8.2.5.2). VD: dữ liệu dài 60,000 ký tự thì cron bỏ bản ghi cũ nhất cho tới khi còn tối đa 50,000 ký tự. Mức này giống Flow 10.5 (UC_8.2.7).
  3. Mentee không giao dịch trong tuần, hoặc cron lỗi khi đọc dữ liệu, xem E_8.2.5.5, E_8.2.5.7.

5.2 AI nhận xét (RFQ V7 — Cron bước 3)

Stage 3 — Gọi Gemini cho từng mentee

  1. Cron gọi Gemini 3.1 Pro with Extended Thinking 1 lần riêng cho mỗi mentee, để lần gọi lỗi của 1 mentee chỉ ảnh hưởng mentee đó. VD: leader có 5 mentee thì cron gọi Gemini 5 lần. Cấu hình AI và câu lệnh xem BR_8.2.5.2.

    InputValue
    Số liệu4 số liệu của mentee (BR_8.2.5.1)
    Trading PlanFile PDF Trading Plan mới nhất trên S3, hoặc câu Trading Plan: Not yet submitted by mentee nếu mentee chưa nộp
    Trade logTrade log trong 7 ngày gần nhất, tính đủ 7 lần 24 giờ
    JournalJournal hằng ngày trong 7 ngày gần nhất, tính đủ 7 lần 24 giờ
  2. Trade log, journal và file PDF chỉ dùng cho AI đọc. Các dữ liệu này không được đưa vào webhook và không xuất hiện trong email.

  3. Gemini trả về một đoạn nhận xét dạng chữ. Cron lưu đoạn này vào ai_brief_text của mentee. Gemini lỗi xem E_8.2.5.8, E_8.2.5.9.

5.3 Gửi webhook (RFQ V7 — Cron bước 4 và 5)

Stage 4 — Gửi dữ liệu sang Zapier

  1. Khi đã có đủ số liệu và ai_brief_text cho mọi mentee của 1 leader, cron ghép thành mảng mentee_data. Mỗi mentee gồm tên, asset class, platform, 4 số liệu và ai_brief_text, đúng các trường trong payload V7, không thêm trường nào khác (BR_8.2.5.4).

  2. Cron gửi 1 webhook cho mỗi leader (POST) vào Catch URL của Zap Flow 10.3. Catch URL là địa chỉ nhận dữ liệu mà Zapier cấp riêng cho Zap này. VD: có 3 leader thì cron gửi 3 webhook. Payload xem BR_8.2.5.4.

    Input fieldValue
    mentor_emailEmail @stacktrading.com của leader
    mentee_dataDanh sách mọi mentee của leader

    Gửi webhook lỗi xem E_8.2.5.10.

5.4 Zapier gửi email (Flow 10.3)

Stage 5 — Dựng và gửi email

  1. Trigger: Zapier nhận webhook do cron gửi ở bước 12 và chạy Zap Flow 10.3. Mỗi webhook tạo ra 1 lần chạy Zap và 1 email. Zapier không tự lọc trùng.
  2. Action 1 (Parse): Zapier tách payload thành mentor_email (địa chỉ nhận email) và mảng mentee_data (danh sách mentee để xử lý ở bước 15).
  3. Action 2 (Format email): Zapier lặp qua từng mentee trong mentee_data. Với mỗi mentee, email liệt kê số liệu trước, sau đó là ai_brief_text. Mẫu email xem BR_8.2.5.3. Email chỉ có đúng các trường khách liệt kê, không thêm trường nào khác (BR_8.2.5.1).
  4. Action 3 (Email): Zapier gửi email qua AWS SES tới mentor_email, chỉ vào hộp thư @stacktrading.com của leader (Ref: UC_8.2.3 BR_8.2.3.1). Mentee không nhận email này. Zap lỗi xem E_8.2.5.11.

6. Exceptional Flows

Exception IDExceptionConditionSystem Handling / Fallback
E_8.2.5.1Cron chạy lại trong cùng tuầnCron chạy 2 lần trong 1 tuần, VD Operations chạy lại bằng tay sau lỗi, hoặc do deploy lại.Cron tính lại từ đầu và gửi lại cho mọi leader, nên mỗi leader nhận thêm 1 email. Hệ thống không chặn gửi trùng và chấp nhận việc leader nhận email trùng.
E_8.2.5.2Cron dừng giữa chừngLỗi hệ thống hoặc deploy lại khi cron đang chạy.Leader đã được gửi email trước lúc dừng thì email vẫn giữ nguyên. Leader chưa được gửi chỉ nhận email khi Operations chạy lại cron bằng tay, và lần chạy lại gửi cho mọi leader. VD: cron gửi xong cho leader A rồi dừng trước khi tới leader B. Operations chạy lại thì leader B nhận 1 email, leader A nhận email thứ 2.
E_8.2.5.3Leader không có menteementee_data của leader rỗng.Leader không nhận email.
E_8.2.5.4Mentee mới vào pod giữa tuầnMentee vào pod trong 7 ngày trước lúc cron chạy.Mentee vẫn có trong brief. AI chỉ nhận xét trên những ngày mentee có dữ liệu. VD: mentee vào pod Thứ Hai, cron chạy sáng Thứ Tư thì AI chỉ nhận xét dữ liệu từ Thứ Hai tới lúc cron chạy.
E_8.2.5.5Mentee không giao dịch trong tuầnKhông có lệnh nào trong 7 ngày.Mentee vẫn có trong email, weekly_pnl bằng 0.
E_8.2.5.6Mentee chưa nộp Trading PlanMentee chưa có file PDF trên S3.Cron không bỏ qua mentee. Cron gửi câu Trading Plan: Not yet submitted by mentee cho Gemini thay cho file plan. AI vẫn tóm tắt số liệu và journal trong tuần, và ghi chú để leader nhắc mentee nộp Trading Plan.
E_8.2.5.7Lỗi khi đọc dữ liệu của 1 leaderLỗi database hoặc lỗi S3.Cron bỏ qua leader đó trong lần chạy này, ghi log lỗi và tiếp tục với các leader khác. Cron không tự gửi bù; leader đó chỉ nhận email khi Operations chạy lại cron bằng tay.
E_8.2.5.8Gemini lỗi (Ref: BR_8.2.5.2)Gemini báo lỗi, báo vượt giới hạn số lượt gọi, hoặc quá 120 giây chưa trả kết quả.Cron gọi lại tối đa 3 lần: chờ 2 giây rồi gọi lại lần 1; vẫn lỗi thì chờ 4 giây rồi gọi lại lần 2; vẫn lỗi thì chờ 8 giây rồi gọi lại lần 3.
E_8.2.5.9Gemini vẫn lỗi sau 3 lần gọi lại (Ref: BR_8.2.5.2)Hết lượt thử lại ở E_8.2.5.8.ai_brief_text của mentee là câu cố định AI analysis temporarily unavailable for this period. Mentee vẫn có trong email với đủ 4 số liệu. Các mentee khác không bị ảnh hưởng. Email của leader vẫn được gửi trong lần chạy này, cron không chờ để gọi AI lại.
E_8.2.5.10Gửi webhook lỗi (Ref: CR-15.2)Zapier không phản hồi hoặc trả về lỗi.Cron gửi lại tối đa 3 lần, chờ lần lượt 2 giây, 4 giây và 8 giây. Vẫn lỗi thì cron ghi log và gửi 1 cảnh báo Slack vào #ops-general (Prod C0BR8LRC5MK, Test #test-ops-general C0BR6UXRR8D) với nội dung Failed to dispatch Wednesday Brief for Leader [Leader_ID]. Webhook lỗi không được lưu để gửi bù tuần sau; tuần đó leader không nhận brief, trừ khi Operations chạy lại cron bằng tay.
E_8.2.5.11Zap lỗiMột bước trong Zap Flow 10.3 bị lỗi.Zapier tự chạy lại bước lỗi (có sẵn trong gói Zapier Company Tier). Vẫn lỗi thì Zapier gửi "Zap Error" (ghi tên Zap và bước lỗi) vào kênh Slack Operations. Sotatek chỉ cấu hình Zapier Manager và Slack để nhận thông báo, không xây cơ chế xử lý lỗi riêng.

7. Business Rules

BR_IDRule Description
BR_8.2.5.1Số liệu từng mentee: xem chi tiết tại §7.1.
BR_8.2.5.2AI nhận xét: xem chi tiết tại §7.2.
BR_8.2.5.3Nội dung email: xem chi tiết tại §7.3.
BR_8.2.5.4Payload webhook gửi Zapier và nguồn dữ liệu: xem chi tiết tại §7.4.

7.1 BR_8.2.5.1 — Số liệu từng mentee

Cron tính 4 số liệu này ở bước 5 và ghép vào payload ở bước 11.

Số liệuCách tính
weekly_pnlChỉ tính realized PnL, tức là lời hoặc lỗ của các lệnh đã đóng, trong đúng 7 ngày, tức 7 lần 24 giờ, tính ngược từ lúc cron chạy. Không phải 7 ngày theo lịch. VD: cron chạy lúc 03:00 Thứ Tư ngày 21 thì tính từ 03:00 Thứ Tư ngày 14 đến 03:00 Thứ Tư ngày 21
current_balanceTotal equity, tức là số dư đã chốt cộng với lời hoặc lỗ của các vị thế đang mở
distance_to_targetSố tiền mentee còn thiếu để đạt mục tiêu của level, bằng cách so lời hoặc lỗ hiện tại trong level (Net PnL) với Profit_Target. Công thức chính xác: §8 #2
distance_to_stopSố tiền mentee còn được lỗ thêm trước khi bị breach, bằng cách so lời hoặc lỗ hiện tại trong level (Net PnL) với Market_Loss_When_Stopped. Công thức chính xác: §8 #2
  • Cron lấy 2 mốc theo level hiện tại của mentee, trong Table A (Forex) hoặc Table B (Futures): Profit_Target là số tiền lời mentee phải đạt ở level đó; Market_Loss_When_Stopped là số tiền lỗ tối đa mentee được phép lỗ ở level đó.
  • weekly_pnl và current_balance là số liệu thực tế lấy từ tài khoản giao dịch lúc cron chạy, không đem so với cột nào trong Table A hoặc Table B. VD: weekly_pnl là 500 hoặc -200; current_balance là 25500.
  • distance_to_target và distance_to_stop tính theo Net PnL, tức là lời hoặc lỗ đã chốt cộng với lời hoặc lỗ của các lệnh đang mở, trong level hiện tại. Cách hiểu này giống PnL Gauge (Ref: UC_4.8.1 BR_4.8.1.3). VD Level 1 Forex: Profit_Target là $1,875, nghĩa là mentee lời đủ $1,875 thì đạt mục tiêu; Market_Loss_When_Stopped là $1,250, nghĩa là mentee lỗ tổng cộng $1,250 thì bị breach.
  • Payload chỉ chứa 4 con số tiền ở dạng số thô, chưa định dạng. VD gửi 25500 chứ không gửi $25,500.00. Payload không kèm công thức và không kèm 2 mốc của level.
  • Email chỉ có đúng các trường: Name, Asset Class, Platform, Weekly PNL, Balance, Distance to Target, Distance to Stop, AI Brief Text.

7.2 BR_8.2.5.2 — AI nhận xét (Gemini 3.1 Pro with Extended Thinking)

Cron gọi AI ở bước 8.

Thành phầnQuy tắc
ModelGemini 3.1 Pro with Extended Thinking
Số lần gọiMỗi mentee gọi riêng 1 lần. Lần gọi của 1 mentee bị lỗi thì chỉ mentee đó bị ảnh hưởng
Dữ liệu đưa cho AI4 số liệu của mentee (§7.1), Trading Plan theo pdf_url mới nhất, trade log và journal trong 7 ngày gần nhất tính đủ 7 lần 24 giờ. Mentee chưa nộp plan thì thay bằng câu Trading Plan: Not yet submitted by mentee (E_8.2.5.6)
Giới hạn dữ liệuTổng trade log và journal của mỗi mentee tối đa 50,000 ký tự. Vượt thì giữ bản ghi gần nhất, bỏ bản ghi cũ nhất
Kết quả1 đoạn nhận xét dạng chữ, lưu vào ai_brief_text của mentee
Thời gian chờMỗi lần gọi chờ tối đa 120 giây
Thử lạiGemini báo lỗi, báo vượt giới hạn số lượt gọi, hoặc quá 120 giây chưa trả kết quả thì gọi lại tối đa 3 lần, chờ 2 giây, 4 giây rồi 8 giây (E_8.2.5.8)
Hết lần thử lạiai_brief_text là câu cố định AI analysis temporarily unavailable for this period. (E_8.2.5.9)
Mục đíchAI được phép đưa lời khuyên và đề xuất điều chỉnh chiến lược một cách trực tiếp, vì mentee đang giao dịch bằng vốn của firm

Câu lệnh cho AI (nguyên văn):

You are a Senior Principal Mentor at Stack Trading, a proprietary trading firm. You are analyzing the weekly performance data of a junior mentee trading firm capital. You are provided with their Current Financial Metrics (PnL, Balance, Distance to Target/Stop), their Original Trading Plan, Weekly Trade Logs, and Daily Journal Entries. Your objective is to help this trader succeed by evaluating their execution against their declared Trading Plan. Process discipline is paramount. A losing week where the trader executed their plan flawlessly is acceptable; a winning week achieved by breaking rules, revenge trading, or adding to losing positions is unacceptable. Formulate direct, actionable trading advice and specific strategy adjustments. If the trade logs show deviation from their established plan, highlight the discrepancy and provide the mentor with the precise financial advice needed to correct the bad behavior. If they are executing well, advise the mentor on how to coach the trader to scale and optimize their edge. Do not sugarcoat the feedback.

7.3 BR_8.2.5.3 — Nội dung email

Zapier dựng email ở bước 15. Giữ nguyên văn tiếng Anh do khách cung cấp. Phần giữa [Start Zapier Loop] và [End Zapier Loop] được lặp lại cho từng mentee. VD: leader có 3 mentee thì phần này xuất hiện 3 lần.

Subject: Weekly Pod Performance & AI Brief Hello [Leader_Name], Here is the weekly performance and behavioral analysis for your active mentees: [Start Zapier Loop: mentee_data] Mentee: [Name] Asset Class: [Asset_Class] Platform: [Platform] Weekly PNL: [Weekly_PNL] Current Balance: [Balance] Distance to Target: [Distance_to_Target] Distance to Stop: [Distance_to_Stop] AI Behavioral Brief: [ai_brief_text] [End Zapier Loop] Regards, Stack Trading Operations

Email cần tên leader để điền [Leader_Name], nhưng payload không có field tên leader. Zapier lấy tên leader ở đâu hiện chưa chốt (§8 #4).

7.4 BR_8.2.5.4 — Payload webhook gửi Zapier và nguồn dữ liệu

Cron gửi payload ở bước 12, mỗi leader 1 webhook chứa mọi mentee của leader đó. Đường dẫn và định dạng chi tiết do Sotatek chốt trong OpenAPI spec của Middleware.

Nội dungKiểuGhi chú
mentor_emailStringEmail @stacktrading.com của leader. Không bao giờ dùng email cá nhân (UC_8.2.3 BR_8.2.3.1)
mentee_dataArrayMỗi phần tử là 1 mentee, gồm đúng các trường dưới đây, không thêm trường nào khác
mentee_data[].nameStringTên mentee
mentee_data[].asset_classStringFutures hoặc Forex
mentee_data[].platformStringNền tảng giao dịch của mentee
mentee_data[].weekly_pnlNumber (thập phân)Theo §7.1
mentee_data[].current_balanceNumber (thập phân)Theo §7.1
mentee_data[].distance_to_targetNumber (thập phân)Theo §7.1. Có thể là số âm
mentee_data[].distance_to_stopNumber (thập phân)Theo §7.1. Có thể là số âm
mentee_data[].ai_brief_textStringNhận xét Gemini trả về; Gemini lỗi thì là câu dự phòng cố định (§7.2)
  • Số tiền gửi ở dạng số, chưa định dạng. Cách hiển thị trong email (bao nhiêu chữ số thập phân, ghi số âm thế nào) chưa chốt (§8 #3).
  • Mentee có nhiều tài khoản hoặc nhiều nền tảng thì gửi 1 hay nhiều phần tử trong mentee_data chưa chốt (§8 #1).
  • Không gửi sang Zapier: trade log, journal và nội dung file PDF.
  • Gửi trùng: Zapier không tự lọc trùng, mỗi webhook tạo 1 email. Cron cũng không chống gửi trùng (E_8.2.5.1).
  • Nguồn dữ liệu: cron đọc PostgreSQL (journal, link PDF Trading Plan, số liệu giao dịch đã đồng bộ). Cron chỉ đọc, không ghi dữ liệu nghiệp vụ nào, và không lưu việc đã gửi brief cho leader nào ở tuần nào.
  • Mọi thời điểm ghi xuống database theo CR-08.

8. Open Items

Chi tiết: QnA_init_docs.md.

#Câu hỏiID
1Mentee có nhiều tài khoản hoặc nhiều nền tảng thì 1 dòng hay nhiều dòng?A-03
2Công thức 2 distance: khách ghi trừ theo current_balance (total equity), nhưng Profit_Target và Market_Loss_When_Stopped là số tiền lời và lỗ của level. Có phải tính theo Net PnL (lời hoặc lỗ hiện tại trong level) không?A-05
3Định dạng số tiền trong email (số thập phân, số âm)A-10
4Email cần [Leader_Name] nhưng payload chỉ có mentor_email và mentee_data (không thêm field ngoài tài liệu). Zapier lấy tên leader ở đâu?A-13

9. Phân chia trách nhiệm

Hạng mụcSotatek buildStack Trading OpsBên thứ 3 tự chạy
Cron gom dữ liệu, gọi Gemini, webhook, Slack alert khi gửi webhook lỗi✅✅ Chạy lại cron bằng tay khi cầnGemini
Câu lệnh cho AI—✅ Cung cấp (đã gửi)—
Zap Flow 10.3 và template email✅ Map biến✅ Copy (đã gửi)AWS SES

Changelog

DateVersionUpdated itemBeforeAfterNotes
2026-10-12v1Initial document——Bản tiếng Việt để BA re-check trước khi chuyển tiếng Anh. Nguồn chính: QnA POD-BRIEF-01/02/05/07…15, POD-DISP-01. Spec V7 bị QnA thay thế: Gemini 1.5 Pro → 3.1 Pro Extended Thinking (POD-BRIEF-07); câu lệnh AI mới cho phép đưa lời khuyên trực tiếp (POD-BRIEF-10).
2026-10-12v1.1Thêm mục API & CronCron và webhook chỉ được nhắc 1 dòng trong BR_8.2.5.4Mục API & Cron: spec cron Generate Trading Activity vs Plan Brief (lịch chạy, điều kiện chọn, xử lý, lỗi, chạy lại), gọi Gemini (thời gian chờ 120 giây, thử lại 3 lần 2s → 4s → 8s, câu dự phòng), webhook sang Zapier (bảng trường payload), Zap Flow 10.3. Basic Flow trỏ tới từng API; BR_8.2.5.4 rút các dòng cron / webhook. Hạng mục mở: A-07 đã chốt theo QnA STAGE 6 Tóm tắt quyết định #8 + POD-BRIEF-07 (gỡ khỏi bảng, đánh lại số #7–#10); thêm A-12 (#11)BA tự định nghĩa theo RFQ_ Stack Trading Prop Tech V7.pdf §4.4 #11: trường mentor_name trong payload (suy trực tiếp từ [Leader_Name] của email T-09, V7 không có); kiểu dữ liệu payload; số tiền gửi dạng số chưa định dạng; lỗi ở 1 leader không dừng leader khác, bỏ qua leader lỗi đọc dữ liệu + ghi log
2026-10-12v1.2Basic Flow — mô tả lời gọi APIBước gọi API chỉ gắn "(Ref: API_x)", không rõ bên gọi / bên nhận / kết quảMỗi bước gọi giữa các hệ thống ghi dạng [Bên gọi → Bên nhận] tên API + input chính → kết quả; câu mở stage nêu tên cron Generate Trading Activity vs Plan Brief + lịch chạy (Thứ Tư 03:00 US/Central); ghi rõ Stage 1–3 bước 1 chạy trong cron; Stage 2 rẽ nhánh Gemini lỗi → thử lại → câu dự phòng; Stage 3 webhook Wednesday Brief 1 lần / leader, nhánh gửi lỗi trỏ Hạng mục mở #11; Stage 1 thêm nhánh lỗi đọc dữ liệu 1 leader (đã có trong API_8.2.5.1)—
2026-10-13v1.3Dùng tên API gốc; bỏ tên tự đặtmentor_name (payload webhook); tên cron Generate Trading Activity vs Plan Brief (thiếu "API"); "Gọi Gemini"; "Webhook Wednesday Brief"; "Zap Flow 10.3" bước 1–3Mô tả nội dung bằng lời ("Tên Pod Leader (cần cho email T-09)"); tên do BE chốt trong OpenAPI spec. Dùng tên gốc: Generate Trading Activity vs Plan Brief API (Internal Cron, 3:00 AM Wed); Gemini 3.1 Pro with Extended Thinking; webhook do Generate Trading Activity vs Plan Brief API gửi; Flow 10.3: Wednesday AI Brief Batch — Trigger, Action 1–3. Bảng payload đổi cột Trường → Nội dungChỉ giữ tên có trong nguồn
2026-10-13v1.4Payload webhook — tên Pod LeaderPayload có thêm "Tên Pod Leader"Bỏ; payload chỉ gồm mentor_email + mentee_data. Nguồn tên leader cho [Leader_Name]: Hạng mục mở #12 (A-13)POD-BRIEF-11: không thêm field ngoài tài liệu
2026-10-14v1.5Toàn UC — viết lại theo khuôn UC_8.1.xCó bảng Giải thích thuật ngữ; Basic Flow trỏ "(Ref: API_x)"; BR_8.2.5.4 "Thông tin kỹ thuật cho dev"; mục "API & Cron" liệt kê 4 mục API_8.2.5.1 Generate Trading Activity vs Plan Brief API (Internal Cron) · API_8.2.5.2 Gemini 3.1 Pro with Extended Thinking · API_8.2.5.3 webhook gửi Zapier · API_8.2.5.4 Flow 10.3: Wednesday AI Brief Batch (Action 1–3); mục "Hạng mục mở" đứng trước RACIBỏ bảng thuật ngữ (giải thích ngay câu dùng lần đầu). Cron ghi ở Trigger. Basic Flow 3 Stage, bước đánh số, rẽ nhánh [If …] → ngay trong bước: điều kiện chọn leader/mentee, chạy lại / dừng giữa chừng, lỗi đọc dữ liệu (Stage 1); input Gemini, thử lại, câu dự phòng (Stage 2); input webhook, Zap Action 1–3, lỗi Zap (Stage 3). Spec Gemini (thời gian chờ, thử lại, dự phòng) gộp vào BR_8.2.5.2, anchor API_8.2.5.2 đặt tại BR này. BR_8.2.5.4 đổi thành "Payload webhook gửi Zapier và nguồn dữ liệu" (bảng payload + quy định chung). Bỏ mục "API & Cron": 1 API đúng như nguồn — Generate Trading Activity vs Plan Brief (Internal Cron), output là webhook gửi Zapier; gọi Gemini là một bước trong cron, Flow 10.3 Action 1–3 là bước của Zap — không đánh số API. "Hạng mục mở" đổi tên "Open Items", đặt trước "Phân chia trách nhiệm"Theo yêu cầu BA: mô tả và thứ tự như UC_8.1.1 / UC_8.1.2. Nội dung nghiệp vụ, Open Items và BR ID giữ nguyên. Số API sửa theo RFQ_ Stack Trading Prop Tech V7.pdf §Generate Trading Activity vs Plan Brief (1 dòng endpoint: POST, Internal Cron, payload mentor_email + mentee_data) và Zapier Integration V7.pdf §Flow 10.3 (Trigger: webhook từ Middleware Hub; Action 1–3).
2026-10-14v1.6Cron Job task tách khỏi APICron ghi là Generate Trading Activity vs Plan Brief API và được đếm là API (1 API)Cron Job task Generate Trading Activity vs Plan Brief — không phải API; API của UC là webhook gửi Zapier (Trigger Flow 10.3). Overview thêm dòng API và Cron Job taskTheo yêu cầu BA: Cron Job task là tác vụ nền chạy theo lịch, khác API; phải ghi rõ "Cron Job task" như API ghi rõ "API". Nguồn: RFQ_ Stack Trading Prop Tech V7.pdf §3.3 Background Workers (Cron Jobs). Tên lấy theo Zapier Integration V7.pdf §Flow 10.3 ("Generate Trading Activity vs Plan Brief internal cron").
2026-10-22v1.7Pre-/Post-conditions · Stage 1 bước 1–2 · Stage 2 bước 1 · Stage 3 bước 1 · BR_8.2.5.1, BR_8.2.5.2, BR_8.2.5.4 · Open Items · Phân chia trách nhiệmMentee chưa nộp plan, leader 0 mentee, leader DTO / Hiatus, bản plan dùng, cắt trade log, chạy lại cron, webhook lỗi: Open Items · weekly_pnl trong 7 ngày lịch · chống gửi trùng theo leader + tuầnChưa nộp plan → vẫn gọi AI với câu Trading Plan: Not yet submitted by mentee · 0 mentee → không gửi · leader DTO / Hiatus vẫn nhận · pdf_url mới nhất · trade log + journal tối đa 50,000 ký tự, giữ gần nhất · 7 × 24 giờ tính ngược từ lúc chạy · chạy lại bằng tay gửi lại, không chống trùng · webhook lỗi → thử lại 3 lần, log + Slack #ops-general, không giữ sang tuần sau · Open Items còn 4 (đánh số lại)Khách trả lời 2026-10-22: A-01, A-02, A-04, A-06, A-08, A-09, A-11, A-12. Kênh #operations khách ghi → #ops-general theo P-01; nội dung alert theo mẫu UC_8.2.2
2026-10-22v1.7BR_8.2.5.1 — 2 distance, diễn giải 4 số liệu · Open Items #2distance_to_target = Profit_Target − current_balance; distance_to_stop = current_balance − Market_Loss_When_Stopped2 distance tính theo lời / lỗ hiện tại trong level (Net PnL) so với Profit_Target / Market_Loss_When_Stopped; công thức chính xác chờ khách (A-05). Thêm phần "Cách hiểu 4 số liệu" (ví dụ Level 1 Forex)Profit_Target / Market_Loss_When_Stopped trong Table A là số tiền lời / lỗ của level (Level 1: $1,875 / $1,250), không phải mức số dư → trừ thẳng current_balance (total equity) ra số sai. Cách hiểu Net PnL theo UC_4.8.1 BR_4.8.1.3
2026-10-22v1.7Stage 1 bước 1–2 · Stage 2 bước 2 · Stage 3 bước 1, 4 · BR_8.2.5.1 (Cách hiểu 4 số liệu) · BR_8.2.5.4 (Gửi webhook lỗi)Một số câu gộp nhiều ý trong 1 dòngTách thành các ý riêng (sub-bullet)Viết lại cho dễ hiểu, không đổi nghiệp vụ
2026-10-22v1.7Stage 1 bước 1–2 · Stage 2 bước 2 · Stage 3 bước 1, 2, 4 · BR_8.2.5.1 (payload 4 số liệu) · BR_8.2.5.3 ([Leader_Name]) · BR_8.2.5.4 (Open Items, gửi trùng, gửi webhook lỗi, nguồn dữ liệu)Một số câu viết tắt / mơ hồDiễn giải rõ nghĩaViết lại cho dễ hiểu, không đổi nghiệp vụ
2026-10-22v1.7Toàn UC — Basic Flow, Business RulesVăn phong ký hiệu, rút gọn, khó đọcViết lại bằng câu đầy đủ, kèm VDTheo mẫu BA duyệt 2026-10-22, không đổi nghiệp vụ
2026-10-22v1.7Basic Flow · Business Rules — cấu trúc lại theo flow gốcBasic Flow tự sắp xếp, tách rời Business RulesMỗi bước trích nguyên văn flow khách + bổ sung, edge case; BR ngắn gộp vào flow (giữ anchor), BR dài được trỏ từ flowTheo mẫu UC_8.2.2, không đổi nghiệp vụ
2026-10-29v1.8Toàn UC — cấu trúc lại theo khuôn UC_1.8.7 (giống UC_8.2.1 v1.12)Mỗi bước trích nguyên văn flow gốc của khách (Cron bước 1 đến 5, Trigger, Action 1 đến 3); đoạn "điểm khác nguồn"; edge case nằm dưới từng bước; mã QnA trong thân docBỏ dòng trích nguyên văn và đoạn "điểm khác nguồn" (model Gemini 3.1 Pro và câu lệnh mới ghi thẳng ở BR_8.2.5.2). Mục đánh số 1 đến 9; §5 chia 5.1 lấy dữ liệu, 5.2 AI nhận xét, 5.3 gửi webhook, 5.4 Zapier gửi email; bước đánh số liên tục 1 đến 16. Edge case gom vào bảng §6 (E_8.2.5.1 đến E_8.2.5.11). BR gom vào bảng §7, chi tiết ở §7.1 đến §7.4. Mọi BR đều được refer từ bước hoặc exception liên quan. Mã QnA chỉ giữ ở Document References, Open Items và Changelog. Giữ nguyên anchor BR_8.2.5.1 đến BR_8.2.5.4, API_8.2.5.2, trigger, open-items; 4 Open Items giữ nguyênBA yêu cầu viết dễ hiểu như UC_1.8.7, không đổi nghiệp vụ
2026-10-29v1.8§1 Overview — DescriptionMô tả chi tiết các bước, tên API, field và nhánh xử lýChỉ ghi tổng quan: UC dùng để làm gì và nội dung chính, bằng câu thường; chi tiết xem §5BA yêu cầu Description chỉ ghi tổng quan, không đổi nghiệp vụ

On this page