8.7 KiB
8.7 KiB
name, description
| name | description |
|---|---|
| ba-pipeline | Điều phối quy trình BA (ba-1…ba-5) theo từng bước có con người verify & approve, dùng workflow ba-pipeline.js — mỗi bước gồm chốt input với người dùng, chạy đúng một stage/activity, trình kết quả tự chấm + OQ, người dùng Duyệt/Sửa/Trả lời, ghi chữ ký vào header qua stage sign, chấm gate độc lập qua audit trước khi ký gate. Dùng khi người dùng nói "chạy quy trình BA", "làm discovery/analysis/SRS có duyệt", "ký gate G1/G2/G3", "kiểm tra gate BA", "BA đang ở đâu". |
BA pipeline — từng bước, con người duyệt
Bạn (main assistant) là gatekeeper: không viết artifact (ba-stage-runner viết), không chấm gate (ba-gate-auditor chấm), không ký (con người ký — bạn chỉ ghi lại qua stage sign). Skill gốc ba-* không bị sửa; runner đọc và làm theo chúng ở chế độ go.
Engine: Workflow({ scriptPath: "<abs>/.claude/workflows/ba-pipeline.js", args }) — một stage/activity mỗi lần gọi, không có chế độ chạy liền.
args
| Tham số | Bắt buộc | Ý nghĩa |
|---|---|---|
project, date |
luôn | tên project (1 project/lần), ngày hôm nay YYYY-MM-DD (header) |
stage |
luôn | init · audit · discovery · analysis · specification · design · delivery · post-release · sign · sync |
activity |
nên dùng | 1 hoạt động của stage (mặc định cả stage): discovery `stakeholder |
scope |
specification/design/delivery | US-012,US-013 (≤3 US) · CR-004 · câu hỏi cụ thể |
profile |
init | {product, lifecycle, rigor} đã được người dùng xác nhận |
proto |
specification (screen) | Prototype tham chiếu: đường dẫn thư mục/file/URL hoặc mục SAD (docs/sections/07-giao-dien.md). Không có ⇒ runner tự tìm; vẫn không có ⇒ WF chạy chế độ ✏️ (đề xuất BA, cần Designer ký) |
brand |
design (screen) | Brand guideline / design system tham chiếu (đường dẫn, URL). Không có ⇒ runner tự tìm; vẫn không có ⇒ DS dùng token trung tính, độ tin cậy 🔴 + OQ |
inputs[], answers, notes, override |
tuỳ | file người dùng đưa · trả lời OQ · ghi chú sửa · khẳng định chạy dù gate trước chưa qua |
approvals[], gate, decisions[] |
sign | `{artifact, decision: approve |
Bước 0 — chốt với người dùng (thay cho Bước 0 của từng skill)
Hỏi bằng AskUserQuestion (≤4 câu/lượt), không hỏi lại điều đã có trong ba-output/<PROJECT>/00-index/:
- Project & phạm vi lần này (cả module hay US nào).
- Profile:
PRODUCT(screen | api-service | data-pipeline | ml-model | batch-job | process-only) ·LIFECYCLE(greenfield | brownfield | enhancement) ·RIGOR(light | standard | strict). Chưa có PROFILE ⇒ suy đoán từ tài liệu, nêu rõ là suy đoán, hỏi xác nhận. - Thư mục output: mặc định
ba-output/<PROJECT>/; nếu repo đã có thư mục BA khác ⇒ hỏi dùng cái nào, không tạo cấu trúc song song. - Input đã tìm thấy (Glob
docs/,ba-output/,sa-output/,design/,prototype/, file người dùng đưa) — trình bảngFile | Vai trò | Giai đoạn. Vớiscreentrước stagespecification: hỏi prototype/design system tham chiếu là gì (→proto) và dự án có Designer không (không có ⇒ PO ký thayUICONV/WF/DS/HIFI/DSPEC, ghi DEC). Trước stagedesign: hỏi brand guideline (→brand) và nói rõ ngay: gói Figma là SVG + token + PNG + HTML nhập được, không có file.fig. Lấy ngày hôm nay từ ngữ cảnh →date.
Vòng lặp chuẩn cho mỗi bước
- Vị trí: chưa có
ba-output/<PROJECT>⇒init(cần profile xác nhận). Có ⇒audit→ trình ① bảng gate (Profile ở dòng đầu) ② đang ở đâu ③ ≤3 việc tiếp ④ cảnh báo. - Chạy một activity của stage kế tiếp (mặc định một activity = một gate nhỏ; người dùng có thể yêu cầu cả stage). Trình trung thực từ
result:filesWritten,blocked/gateWarning,gateSelfCheck(nêu các ☐),openQuestions(ai trả lời, chặn gì),humanInputNeeded,tbdCount/ambiguousCount,confidence,summary. - Hỏi người dùng: Duyệt nội dung / Sửa (ghi chú) / Trả lời OQ rồi chạy lại / Dừng.
- Duyệt ⇒ hỏi tên + vai trò người duyệt ⇒
signvớidecision: approvecho từng artifact. Không có tên người ⇒ không sign. - Sửa ⇒
notes→ chạy lại đúng activity. Trả lời ⇒ gomanswers(OQ-012: …) → chạy lại. blocked⇒ trìnhgateWarning; hỏi có khẳng định chạy ngoại lệ không; có ⇒ chạy lại vớioverride: truevà ghidecisions: ["DEC: chạy <stage> khi <gate> chưa qua vì …"]ở lầnsignkế.
- Duyệt ⇒ hỏi tên + vai trò người duyệt ⇒
- Ký gate khi mọi artifact của stage đã 🔵 Approved:
audit⇒ gate 🟠 chỉ còn thiếu chữ ký và coverage đạt ⇒ hỏi ai ký đúng vai trò (G1 PO · G2 PO + Tech Lead · G3 PO + Tech Lead + QA,screenthêm Designer choUICONV/WF/DS/HIFI/DSPEC· G4 PO · G5 PO + BA Lead;strictthêm Bảo mật/Pháp chế) ⇒signvớigate+decision: baseline⇒sync⇒auditxác nhận ✅. Coverage fail / còn TBD /refused[]không rỗng ⇒ không ký, quay lại bước 2. - Kết thúc mỗi lượt: tóm tắt gate ✅/🟠/☐, OQ mở (ai, quá hạn?), việc kế tiếp.
Đặc thù
specification: ≤3 US mỗi lần; QA phải xác nhận "mọi AC test được" trước G3 (standard+). Vớiscreen: lần đầu của project chạyuiconvtrước;wfchạy saupart2+errorscủa cùng US, truyềnproto; trình riêng bảng lệch WF §5 (Tồn tại/Hành vi chưa quyết = blocker) và chế độ 🎨/✏️ để người dùng biết cần Designer ký hay không.- Sơ đồ (mọi activity có sơ đồ —
process,backlog,rules,srs/part2,cr,goals-scope): bạn (gatekeeper, có Bash) chạyA=.claude/skills/archify/bin/archify.mjs; node $A validate <type> <spec.json> --quality showcase --jsoncho từng spec runner liệt kê, 0 lỗi thìnode $A deliver <type> <spec.json> <spec.html> --quality showcase --json, rồinode .claude/skills/ba-lifecycle/scripts/diagram-check.mjs --md <artifact.md>. Còn 🔴 ⇒ chạy lại activity vớinotestrích đúng diagnostics, không ký. Chuẩn:ba-lifecycle/references/diagram-rules.md. design(chỉscreen): chạy sauwfcủa cùng US,≤3 US; lần đầu project chạydstrước. Sau mỗi activity bạn (gatekeeper, có Bash) chạy phép kiểm máy và trình kết quả nguyên văn cùngsummary:node .claude/skills/ba-design/scripts/design-check.mjs --tokens <ds/tokens.json> --css <ds/tokens.css> --components <ds/components.html> --html <HIFI> --srs <SRS> --wf <WF> --svg-dir <FIGMA/>(bỏ tham số của artifact chưa có). Saufigmachạy thêm.claude/skills/ba-design/scripts/render-figma.sh <HIFI> <FIGMA>/pngđể có PNG. Còn 🔴 ⇒ chạy lại activity vớinotestrích đúng dòng lỗi, không ký. Trình riêng: độ tin cậy visual (DS§0), bảng lệchDSPEC§6, và Designer có cần ký không.delivery: chạy theo từng câu hỏi/CR; CR phải qua 6 bước của ba-4, không sửa artifact Baselined trực tiếp.post-release:benefitcần KPI baseline từ G1 — không có ⇒ ghi bài học, không lấp liếm.- Liên kết SA: G2 cần
AG1củasa-pipeline(Tech Lead ký "khả thi" dựa trên OPT/ARISK). SA báo lệchNFR↔QAS,API↔ICD,RBAC↔SEC⇒ chạy lạispecificationactivity liên quan vớinotes(QAS/ICD thắng).
Không được
Chạy nhiều stage một lượt · tự sửa artifact · điền ✅/🔵 khi chưa có tên người duyệt · trả lời OQ thay stakeholder · bỏ gate mà không ghi DEC.