Sáu stage, một cổng cứng.
Kế hoạch triển khai Casa Quotation Estimator: stage nào làm gì, phase nào đi trước, môi trường nào dựng khi nào, và ai, người hay agent, đứng ở đâu. Bốn hình, ba bảng.
- Sáu stage, một cổng cứng. Không PR nào vào
mainmà không qua Review của người. Agent tìm lỗi, người bấm approve. - Agent làm nháp, người ký. BA Agent viết backlog, Sky và Anthony duyệt. Hermes hỏi DSM và ghi tiến độ, Anthony quyết.
- Phase trước mốc, mốc trước ngày. Thứ tự phase chốt hôm nay. Độ dài từng phase Anthony chốt sau khi có backlog.
- Môi trường dựng khi cần, không dựng trước. Có dòng trong
environments.mdmới gọi là có môi trường. - Dữ liệu khách chỉ chạy trên Anthropic và Odoo. DeepSeek và Hermes beta làm việc với dữ liệu sinh ra hoặc nội bộ, kể cả khi đã che tên.
Hình 1Sáu stage trên bốn phase: ai, việc gì, cổng nào
Một hàng một stage. Cột trái là người và agent cầm stage đó. Thanh nằm ở phase stage đó chạy, chữ trên thanh là việc. Dòng nhỏ dưới thanh là cổng phải qua. Trục ngang là thứ tự, không phải lịch: độ dài từng phase chốt sau. Hàng Review tô nhấn vì là cổng cứng duy nhất, chỉ người approve.
Hình 2Chi tiết theo người: ai cầm thanh nào
Cùng bốn phase của Hình 1, tách thanh theo từng người và agent để thấy ai bận ở đâu. Thanh BFF của Trung tô nhấn vì là đường tới hạn: nó chờ key theo vai, Supabase project và spec freeze.
Hình 3Môi trường: cái gì chạy ở đâu, dựng khi nào
Ba vùng, sáu máy chủ. Vùng trái là của team và miễn phí. Vùng giữa là Vercel team với Supabase dev, dùng chung cho Preview và Staging. Vùng phải chỉ mở ở phase Phát hành. Mỗi vùng nói với một Odoo khác nhau: mock, staging, production.
| Môi trường | Dựng ở phase | Ai quản | Secret ở đâu | Dữ liệu | Tốn gì |
|---|---|---|---|---|---|
| Local | G1, ngày đầu của mỗi dev | Dev đó, theo playbook setup | .env.local kéo bằng vercel env pull, git-ignore |
Sinh ra · Odoo là Prism mock | 0 |
| Preview | G1, ngay khi repo có CI xanh | Vercel tự tạo mỗi PR · Anthony chủ project | Vercel env, scope Preview | Sinh ra · Odoo staging, key dev | Vercel Pro khi cần bảo vệ link |
| Staging | G2, sau merge đầu tiên có /v1/health |
Anthony · tự deploy khi merge main | Cùng scope Preview, alias staging |
Sinh ra + 30 tin nhắn đã che · Supabase dev | Supabase dev free · mật khẩu cho Evane |
| Production | G4, sau UAT trên staging | Anthony, promote tay · rollback dưới một phút | Vercel env, scope Production, đánh dấu sensitive | Thật · không copy về dev | Supabase Pro · key Odoo prod từ Phillip |
Hình 4Ai gánh gì: người và agent
Bốn cụm theo stage. Người vẽ nền xám, agent đang chạy vẽ viền mảnh, agent chưa live vẽ nét đứt. Anthony là điểm cuối của mọi việc chưa có chủ; bất đồng về sản phẩm thì Sky phân xử.
Bảng chia việcTừng stage, từng người, từng agent
| Stage | Anthony | Sky | Trung | Nhật | Agent · chạy ở đâu | Cổng ra |
|---|---|---|---|---|---|---|
| 1 · BA | Dẫn, đọc lại từng luồng | Nghiệp vụ Casa, duyệt backlog | Đọc, hỏi, ghi chỗ chưa hiểu | Đọc, hỏi, ghi chỗ chưa hiểu | BA Agent Claude Code, gói Max của Anthony | Backlog không ô trống, Sky ký |
| 2 · PM | Timeline, follow-up, hiểu sâu kiến trúc | Ký ADR, phân xử bất đồng | — | — | Hermes WhatsApp beta trên miniPC: hỏi DSM, ghi tiến độ, đẩy lên site | 3 ADR ký, độ dài phase có số |
| 3 · Dev | Nhận việc tràn, flag hai số trong trang estimator | — | BFF Hono, Draft store, sáu cổng, Vercel preview | AI extractor, Trip có trạng thái, eval runner | Coding agent Claude Code gói Pro trên máy mỗi người: brainstorm → plan → TDD | PR dưới 400 dòng, CI xanh, không secret |
| 4 · QA/QC | Đọc bảng lệch giá, gửi Eloa xác nhận | Kéo Evane, Eloa vào UAT | Sửa theo bug của BFF | Cầm QA: chạy eval, differential, viết case | QA Agent vitest, eval runner, Prism mock, chạy trong CI | 0 field bịa, ≥ 95% field bắt buộc đúng |
| 5 · Review | Approve, squash merge, kiểm staging 10 phút | — | Resolve comment trên PR của mình | Resolve comment trên PR của mình | Review Agent /code-review và /security-review, chỉ Anthony chạy trước khi merge | 1 approval của người, mọi comment resolve |
| 6 · DevOps | Dựng bốn môi trường, giữ secret, promote | Duyệt gói trả tiền khi cần | Setup máy theo playbook, báo chỗ kẹt | Setup máy theo playbook, báo chỗ kẹt | Claude Code gói Max của Anthony: viết playbook setup, CI, ruleset | Mỗi môi trường có dòng trong environments.md |
Tài nguyênGói nào cho việc gì, và cấm gì
| Tài nguyên | Ai giữ | Dùng cho | Không dùng cho |
|---|---|---|---|
| Claude Max | Anthony | BA Agent, Review Agent, playbook DevOps, code giảm tải | — |
| Claude Pro × 2 | Trung, Nhật | Claude Code trên máy mỗi người, một task một session, plan trước code | Không phải API key cho extractor: Pro không cấp key |
| DeepSeek · ~40 USD | Cả team, key riêng mỗi người | Sinh dữ liệu test, cột so sánh thứ ba trong eval, LLM cho Hermes khi nói chuyện nội bộ | Tin nhắn khách, kể cả đã che tên. Không có structured output chuẩn, không dùng cho production |
| Anthropic API key · org TechNext | Anthony, giới hạn chi tiêu tháng | Extractor trên preview, staging, production; eval trong CI | Máy cá nhân, trang HTML, chat |
| miniPC | Anthony | Hermes beta, Prism mock cho cả team, job differential mỗi đêm | Production, dữ liệu thật, key Odoo hay Supabase |
| Gói free: GitHub, Vercel, Supabase | TechNext | G1 và G2: repo, preview, Supabase dev | Ruleset trên repo private, bảo vệ link preview, DB production: cần GitHub Team, Vercel Pro, Supabase Pro |
Minh bạchGiả định và việc treo
- Độ dài phase: chưa có số. Anthony chốt sau khi BA Agent ra backlog có cỡ việc.
- BA Agent: bộ skill đang được một bạn benchmark. Cho tới khi có kết quả, Anthony chạy BA bằng Claude Code thường và giữ cùng đầu ra: Epic → Feature → Story → Task → Subtask.
- Hermes: nối WhatsApp bằng gì chưa rõ. Trong beta nó chỉ được gọi BFF staging bằng token vai bot, không cầm key Odoo hay Supabase, và có công tắc tắt bằng một biến env.
- Ba việc chỉ Anthony làm được: 30 tin nhắn thật từ Eloa, key theo vai từ Phillip, Supabase project dưới TechNext. Cả ba nằm ở G1 và chặn thanh BFF.