StackTrading Docs

QnA Init Docs — UC_4.17.3: Settings: Account Actions — Reset Associate Track (LIVE)

Ngày tạo: 2026-08-26 Phiên bản: v1 BA phụ trách: QuynhAnh12 Trạng thái: ⏳ Pending — 8 mục còn mở (A-42, A-43 đã đóng 2026-08-26 sau khi BA đưa frame Figma + chỉ đạo về disabled state)

Bối cảnh. UC_4.17.3 được viết theo chỉ đạo BA ngày 2026-08-26 để đóng open item A-23 của UC_4.11.1 ("LIVE counterpart — UC nào sở hữu, và trader LIVE mua cái gì khi nút enable").

Nguồn khách duy nhất cho toàn bộ tài liệu này là nửa LIVE của câu trả lời [RAT-BIZ-04] (Adrian Stack, 2026-08-12), Stage 2 - Dashboard & Fomula (Settings).csv, category Settings: Reset Associate Track, row Business logic:

"Live Traders: the button is Disabled. A live trader must use 'Resign & Close Account' first to safely flatten all live market exposure. The 'Start New Associate Track' button only becomes enabled once their status is Failed or Terminated."

Đúng một câu. Mọi thứ khác trong SRS đều là (a) suy ra từ predicate status, (b) reference sang UC_4.17.2 / UC_4.15.2 / UC_4.15.3, hoặc (c) để mở ở đây. Không có assumption nào được viết thẳng vào SRS mà không đánh dấu ⏳.

Chỉ đạo BA về cấu trúc reference (2026-08-26):

  • Phần "phải resign trước" → refer sang UC_4.17.2 (Account Actions - Resign Account, LIVE).
  • Phần "sau khi nút enable rồi" → refer sang UC_4.15.2 (Hard Breach - Level Stop, LIVE).
  • SRS bổ sung thêm reference tới UC_4.15.3 ở đúng chỗ modal mua hàng, vì UC_4.15.3 §2 đã đăng ký sẵn màn này là "Entry Point 2 — Account Actions screen". Không nhắc tới sẽ tạo mâu thuẫn cross-doc (xem A-49).

Quyết định đã chốt khi viết v1 (không hỏi lại)

#ĐiểmChốtCăn cứ
D-1Khách viết "status is Failed or Terminated" — SRS dùng status nào cho LIVE?Chỉ Terminated. 'Failed' là giá trị của SIM.[RES-ZAPF-01]: "SIM Resignation → status = Failed; LIVE Resignation → status = Terminated". UC_4.15.2 §4: LIVE Hard Breach ghi 'Terminated'. Không flow LIVE nào sinh ra 'Failed'. Câu 2 giá trị của khách là một predicate viết chung cho cả 2 môi trường (giống trigger Flow 7B và GET /failure-state, đều cố tình giữ 2 nhánh vì SIM/LIVE dùng chung endpoint — CR-65 BE-3). Áp vào màn LIVE-only thì rút về 1 giá trị. BA xác nhận cách hiểu này 2026-08-26.
D-2Discriminator SIM/LIVEIs_Professional == True, tuyệt đối không dùng Current_Level.CR-65 BE-1 + UC_4.11.2 A-39 — SIM được provision ở Current_Level 1/2/5 nên sẽ đè lên dải LIVE.
D-3Nút có bị ẩn khi Disabled không?Không ẩn. Render Disabled.Khách viết "the button is Disabled" — không phải "hidden". Cùng logic với BR_4.11.2.6: trạng thái Disabled phải reachable thì mới cần spec.
D-4Màn Account có vào được sau khi Terminated không?Có. Frosted Glass chỉ phủ Dashboard; Account/Settings render bình thường, login không hết hạn.UC_4.15.2 §4. Nếu không có điều này thì rule của khách bất khả thi — không ai chạm được tới nút đã enable.
D-5Cửa sổ Discount_Code_Duration_Days hết hạn có làm nút Disabled lại không?Không. Predicate của khách là status, hết cửa sổ chỉ đổi giá, không đổi enablement.BR_4.15.3.1 + BR_4.15.2.7. Khác SIM — SIM phải đổi label ở ranh giới cửa sổ vì có split Reset↔New Track; LIVE không có split đó.
D-6Backend LIVE có phải nới validation như SIM không?Không. Khách nói rõ POST /initiate-rebuy"No change". Việc nới validation (Active_SIM/Failed) áp cho POST /purchase-challenge-reset, SIM-only.Cùng câu trả lời 2026-08-12, row Endpoints.
D-7UC này có tự flatten/cancel/lock gì không?Không dòng code nào. Nó chỉ từ chối hành động cho tới khi Atomic Kill Switch đã chạy xong ở upstream.BR_4.17.3.4. Đây là toàn bộ ý đồ của rule khách đưa ra.

Câu hỏi & assumption còn mở

IDLoạiCâu hỏi / AssumptionGiả định (BA đề xuất)BA AnswerTrạng thái
A-40BA actionWBS chưa có row UC_4.17.3. References/WBS/[BA Internal] Stacktrading.csv dòng 252–253 chỉ có UC_4.17.1 (Market Data Management) và UC_4.17.2 (Account Actions - Resign Account). Mã 4.17.3 do BA chỉ định 2026-08-26.Thêm row UC_4.17.3 — Category STAGE 2.2: DASHBOARD LIVE, Module Settings, Function Account Actions - Reset Associate Track, BA PiC anh.hoang12. Đồng thời sửa dashboard_live/index.md (đang ghi UC_4.17 = Market Data Management, đã stale so với WBS).⏳ Pending BA
A-41GapDesign asset cho màn LIVE SettingsAccount Actions.🟡 Hạ cấp 2026-08-26 — không còn blocking. BA đưa frame Figma 1-15026 (Account Actions tab). Frame này chốt được shell mà LIVE kế thừa: 5 tab cố định, Controls panel, Reset Associate Track trên Resign & Close Account, Reset = Primary vàng / Resign = Danger đỏ. ⚠️ Nhưng đây là frame SIM — header hiện Days remaining 13d 20h, chip Lvl 5, nút Enabled (đúng 3 thứ BR_4.11.1.3UC_4.11.1 §2 đang trích). LIVE kế thừa layout nhưng đảo ngược enablement. Còn lại chỉ là housekeeping: frame chưa commit vào repo (References/Wireframe/ không có folder Settings ở bất kỳ Stage nào) — trùng đúng gap A-17 bên SIM.🟡 BA housekeeping
A-42QuestionNút Disabled có tooltip / helper text không?BA chốt 2026-08-26 — KHÔNG tooltip, KHÔNG helper line. "Figma không vẽ trạng thái disable thôi, nhưng state sẽ nên là disable, và bạn nên tự hiểu điều đó." Khách đã nói thẳng hành vi LIVE trong [RAT-BIZ-04]; Figma thiếu variant là thiếu sót của design, không phải gap của requirement — coi nó là câu hỏi mở là over-flag. Nút dùng đúng disabled state chuẩn của cùng component Primary; copy giải thích nằm ở dòng mô tả row 3.Đã đóng✅ Đã đóng
A-43AssumptionSoft Breach lockout và Defense Protocol / Shadow Mode — nút hành xử thế nào?Đóng bằng suy luận 2026-08-26 — Disabled ở cả hai. Cùng nguyên tắc BA đưa ra ở A-42: cái gì suy ra được từ rule đã confirm thì tự chốt, đừng park thành câu hỏi. Cả hai state không đổi users.status (vẫn 'Active_DMA'), mà predicate của khách là trên status. Thêm nữa: cả hai đều còn vị thế mở trên thị trường thật — tức là đúng cái tình huống rule sinh ra để chặn. Defense còn là cơ hội thứ hai ở tham số thu hẹp (Table F): cho trader mua thoát khỏi nó là phá vỡ chính protocol.Đã đóng✅ Đã đóng
A-44QuestionFounding Mentor overlay vs. entry point này. Founding Mentor có được vào thẳng Re-Buy Modal từ Settings mà chưa acknowledge overlay không, hay acknowledgement là prerequisite cứng mà màn này cũng phải enforce?Overlay được mô tả ở cả UC_4.15.2 §6UC_4.15.3 §2 như một cơ chế của Dashboard, nên đề xuất: entry point này bypass overlay giống như bypass Failure Modal. Giá vẫn là locked_rebuy_price nên không có rủi ro về tiền.🟡
A-45ContradictionLabel nút — 4 chuỗi đang cùng gọi 1 control: (1) "Start New Associate Track" — khách, [RAT-BIZ-04]; (2) "Re-Buy"UC_4.15.3 §2 Entry Point 2, mô tả đúng màn này; (3) "Start Associate Track"BR_4.15.3.1 (thực ra rule đó nói về CTA bên trong modal); (4) "Reset Associate Track" — tên section trong WBS + frame SIM. Kèm câu hỏi phụ: row title bên LIVE có nên đổi khỏi chữ "Reset" không?Dùng chuỗi của khách — "Start New Associate Track" — cho cả 2 trạng thái nút, và giữ row title "Reset Associate Track" để khớp WBS. Nhưng đây đúng là bản LIVE của item A-05 bên SIM (khách đã đưa 3 chuỗi qua 2 lần trả lời mà không chọn), nên gộp hỏi 1 lần cho cả SIM lẫn LIVE.🔴 Blocks FE
A-46QuestionCopy dòng mô tả của section bên LIVE. Chuỗi SIM "Reset and restart Associate Track. Current progress will be lost." sai sự thật trên LIVE: không có gì bị reset, và trader kết thúc trên một tài khoản SIM mới chứ không phải LIVE.Cần copy riêng cho LIVE, nội dung phải nói rõ 2 điều: (a) đây là mua evaluation mới, (b) trader quay lại SIM track, không phải LIVE. Đề xuất: "Start a brand-new Associate Track. Your live account is closed and you will begin a fresh evaluation from Day 1." Chưa viết vào SRS — copy hướng tới trader, phải khách duyệt.🔴 Blocks FE
A-47Gapproduct_id gửi lên POST /calculate-cart là gì? SIM gửi "RESET". Tài liệu Scenario B của LIVE chỉ ghi "with the full payload", không đặt tên product. Và A-25 còn đang mở về việc nhánh resignation có dùng "REBUY" hay không.Đề xuất product_id="REBUY" cho nhánh Hard Breach (khớp POST /initiate-rebuy). Nhánh resignation phụ thuộc A-25 → chưa chốt được.🔴 Blocks BE + FE
A-25 (kế thừa từ UC_4.11.2)QuestionTrader LIVE đã resign thì bị tính giá gì? BA quyết 2026-08-12: "a resigned LIVE trader re-enters as a new Associate Track purchase; the Scenario B In-App Re-Buy path (product_id="REBUY", POST /initiate-rebuy) and the Flow 7B Path B retention offer are not used on the resignation path"vẫn chưa có khách confirm.Nếu quyết định này đứng vững thì §6.2 (resignation) và §6.3 (breach) rẽ nhánh về cả giá lẫn endpoint, chứ không hội tụ như SRS đang viết ở happy case. SRS cố tình không chọn bên — đã ghi ⏳ tại §6.2 step 4. ⚠️ Lưu ý mâu thuẫn: [RES-ZAPF-01] nói khách muốn Flow 7B chạy cho mọi trader mất ghế ("every single trader who loses their seat… gets dropped into the retention marketing funnel") — tức là ngược với quyết định BA ở trên. Cần khách phân xử.🔴 Blocks BE
A-48Cross-UCMâu thuẫn nội bộ trong UC_4.15.2. §1 Description vẫn ghi sub-account LIVE bị "hard-deleted immediately" tại T+0, trong khi §4, §5 Step 7 và BR_4.15.2.7 (v4/v5) nói bị lock Read-Only và chỉ xoá tại archive_date hoặc khi mua Re-Buy.UC_4.17.3 theo bản v4/v5 (lock Read-Only). Câu ở §1 là tàn dư từ v1, trước khi FR-56..FR-61 (Rithmic Support, 2026-08-21) override. Owner là UC_4.15.2, không sửa từ tài liệu này.🟡 Owned by UC_4.15.2
A-49Cross-UCUC_4.15.3 §2 Entry Point 2 mô tả đúng màn này là "a 'Re-Buy' CTA" trên Settings → Account Actions, nhưng chưa cross-ref sang UC nào sở hữu.Sau khi A-45 chốt label, sửa câu đó cho khớp chuỗi được chọn và thêm link tới UC_4.17.3. Owner là UC_4.15.3.🟡 Owned by UC_4.15.3

Đã đóng

IDTrướcSau
A-23 (của UC_4.11.1)"The LIVE counterpart. The 2026-08-12 answer describes a LIVE button (Disabled until Failed or Terminated), which implies the control exists on the LIVE side — but the WBS LIVE Settings module has no Reset section… Which UC owns it, and what a LIVE trader buys once enabled"Owner = UC_4.17.3 (tài liệu này). Trader mua một Re-Buy — evaluation SIM hoàn toàn mới (rollback Live→SIM), không phải Reset — Ref: BR_4.17.3.6, BR_4.17.3.12. Còn lại: thêm row WBS (A-40).

Đề xuất bổ sung vào common_rules.md

Không có. Màn này không có input field nào, và cả 4 nhánh lỗi đều tái sử dụng ID sẵn có: TE-SYS-01, TE-AUTH-01, TE-DASH-01, FP-02. Không tạo ID toast/popup mới.

Pattern đáng chú ý (chưa đủ để đưa vào common rule, ghi lại để theo dõi). Đây là UC thứ 3 trong repo có shape "section trong Settings = entry point phụ vào một purchase flow đã có, bypass modal của Dashboard": UC_4.11.1 (SIM Reset), UC_4.17.3 (LIVE Re-Buy), và một phần UC_4.10.4 (Time Extension). Cả ba đều lặp lại đúng 4 rule: one-in-flight-request-per-click, no-separate-confirmation, hand-off-at-HTTP-200, flow-ends-on-Dashboard. Nếu xuất hiện thêm UC thứ 4 thì nên gom thành một common rule.

On this page