Điều phối agent
Mỗi stage có thể ủy thác phần soạn cho agent chuyên, và dùng hành vi built-in khi không có agent nào được cài, đó là thứ giữ cho flow portable chứ không phụ thuộc registry agent của ai khác. Thang ưu tiên là agent chuyên trước, rồi skill tương đương, rồi fallback built-in. Bản đồ stage đúng như bạn dự đoán: research tới researcher, scope và PRD tới planner, ADR tới architect, contract tới kernel hướng spec, build tới fullstack developer, review tới code reviewer hoặc review đối kháng ba lớp, verify live tới tester.
Luật làm chuyện này an toàn là một câu: agent có thể cắm thêm, gate thì cố định. Gate giống nhau trên mọi path, nên thiếu agent cũng không bao giờ hạ chuẩn và agent xịn cũng không bao giờ nâng được một lần pass mà nó không xứng đáng. Việc ủy thác cũng được cô lập ngữ cảnh ngay từ thiết kế: subagent chỉ nhận task, file, tiêu chí chấp nhận, và trích đoạn law hoặc contract liên quan — không bao giờ nhận lịch sử session — và trả về một trong một tập nhỏ các verdict: DONE, DONE_WITH_CONCERNS, BLOCKED, NEEDS_CONTEXT. Sau mỗi lần ủy thác, gate sẽ chạy, thử thách ngữ nghĩa được áp dụng, hook bền vững được ghi, và path nào thực sự đã chạy sẽ được thông báo.
Trang này là nơi operator tra cứu bề mặt power quanh luật đó: một worktree mỗi agent, engine phụ tùy chọn, vòng recall/promote, và bằng chứng gắn fingerprint. Các sơ đồ maintainer nằm ở repo; chỉ link ở chân trang.
Workspace nhiều agent
Phần tiêu đề “Workspace nhiều agent”Nhiều agent trên nhiều terminal cùng một checkout là bẫy: một agent đổi nhánh thì mọi terminal khác lật theo. /flow workspace cấp mỗi agent một git worktree riêng (HEAD, index, file riêng, chia sẻ object store) để chuyện đó không xảy ra.
/flow workspace add <branch>/flow workspace add <branch> --card C-NNN --vendor <name> --task "<one line>" --copy-env/flow workspace list/flow workspace enter <branch>/flow workspace check <branch> --card C-NNN/flow workspace remove <branch>/flow workspace doctoradd <branch>tạo cây với port-offset riêng (hai server local không đụng nhau) và in khốicd/env dán vào là chạy. Các cờ tùy chọn ghim card, nhãn vendor, một dòng task, và có copy env sang cây mới hay không.listcho biết ai đang ở đâu.enter <branch>in lại môi trường cho terminal bị crash.check <branch> --cardgắn cờ khi trùng claim nhánh và overlap allowed-files trước khi bạn launch. Hãy chạy nó. Conflict lúc merge sau này nghĩa là check đó bị bỏ hoặc bị lách.removedỡ cây và không bao giờ auto-force. Nếu git từ chối thì bạn tự gỡ;flowkhông--forcehộ.doctorđối soát các cây mồ côi và bản ghi.
git mới chính là registry và lock thật. git worktree list là live; chính việc git từ chối checkout cùng một nhánh hai lần mới là thứ bảo vệ bạn. Side-file .flow/workspaces.jsonl chỉ thêm metadata về vendor, card, port, task lên trên.
Dùng các verb này để journal không bị thủng. Lệnh git worktree add chạy trực tiếp thì không ghi lại gì.
Engine thứ hai
Phần tiêu đề “Engine thứ hai”OpenAI Codex (plugin openai-codex) là engine thứ hai tùy chọn. Google Antigravity (CLI agy hoặc IDE Antigravity) là engine thứ ba tùy chọn. Cả hai là vendor thêm, dùng cùng những thời điểm giá trị cao, để một lần review được đánh giá bởi các model ít khi trùng điểm mù. Không cái nào thay thế được thang agent chuyên → skill → built-in. Engine mặc định vẫn là thang đó. Việc vắng Codex hay Antigravity không bao giờ làm hỏng lần chạy.
flow phân biệt installed với usable. Installed nghĩa là thư mục plugin, binary, hoặc IDE có mặt. Usable còn đòi thêm một probe rẻ, không tính phí, cho thấy engine thật sự ready và đã login. Chỉ engine usable mới được route tới. Nếu không, flow tự hạ về thang bình thường — lặng lẽ nhưng có báo cáo — và gate không dịch chuyển.
Antigravity nhận probe nghiêm nhất trong hai cái, vì một lý do đã được đo đạc: agy -p trả exit code 0 với stdout rỗng ngay cả khi chưa login, lỗi chỉ nằm trong file log. Nên flow chỉ route sang Antigravity khi output mong đợi không rỗng, không bao giờ dựa vào exit code (exit code nói dối). Việc capture headless trên platform đó không đáng tin cậy, nên chế độ mặc định được hỗ trợ là interactive: chạy review trong IDE Agent Manager hoặc terminal thật rồi dán kết quả lại. Kết quả Gemini rỗng nghĩa là “review không có sẵn”, và không bao giờ được tính là duyệt.
Vì những lời gọi này tính phí, và vì diff cùng trích đoạn contract hoặc PRD sẽ rời khỏi máy, đúng ba trigger mở cost gate:
- Deadlock two-strikes: agent cùng-model bị chặn hai lần. Antigravity là engine phụ đi sau: nó được kích hoạt ở đây sau Codex nếu cả luồng cùng-model và engine thứ hai đều kẹt.
- Review card security-class.
- Operator opt-in tường minh (“review this on Codex”, “review this on Antigravity”,
/flow … codex,/flow … antigravity).
Không bao giờ kích hoạt ở mọi stage theo mặc định. Với codebase nhạy, regulated, hoặc NDA, hãy opt-in khi đã hiểu rõ: việc chọn Codex sẽ gửi brief đó tới OpenAI theo điều khoản retention của plan bạn; chọn Antigravity gửi tới Google theo plan Gemini. Auth được ủy thác hoàn toàn cho plugin hoặc cho agy / IDE. flow không đọc, không lưu, không log credential đó.
Parity của gate là tuyệt đối. Codex hoặc Antigravity soạn hoặc phê; gate của stage đó vẫn giữ quyền phán xét. Review cross-model chỉ hỗ trợ triage. Không bao giờ tự pass và không bao giờ tự fail một card.
Sau mỗi lần sử dụng, flow báo engine nào đã chạy (hoặc engine/tầng nào không sẵn và đã degrade sang đâu). Run vẫn rõ ràng, dễ theo dõi.
Vòng kiến thức
Phần tiêu đề “Vòng kiến thức”Cửa sổ hội thoại thì chóng quên. Harness bền vững (store SQLite cộng RETRO.md, DEBT.md, và playbooks/) là vòng khép kín capture, reuse, improve, nên dự án do agent dẫn dắt tích lũy kinh nghiệm như một đội ngũ con người.
Capture do engine kích hoạt chứ không phải do người dùng tự làm:
- vượt qua stage 01 sẽ seed một intake
- một lần check card pass sẽ ghi trace kèm tier
- skip có chủ đích ghi debt
Reuse là /flow recall. Chạy lúc bắt đầu stage hoặc card, trước khi soạn gì. Nó đọc lại debt đang mở, retro gần nhất, scope card trước, friction và backlog harness, sức khỏe audit, và playbook đã promote, để công việc bắt đầu mà vẫn thấy rõ những nỗi đau cũ, thay vì phải phát hiện lại từ đầu.
Việc improve cũng mang tính cơ học: harness audit chấm entropy và drift, harness propose biến friction lặp lại thành backlog cải tiến khi một pattern xuất hiện ít nhất hai lần, và harness decision outcome khép vòng lặp dự đoán so với thực tế.
Các bước vào lại giữa chừng bắt đầu bằng resume rồi recall nằm ở
Resume giữa chừng.
Promote
Phần tiêu đề “Promote”Khi bài học lớn hơn một dự án, nâng nó:
/flow promote <playbook.md>Lệnh copy playbook vào KB liên dự án tại ~/.claude/flow/playbooks. Từ đó recall sẽ hiện nó ở mọi nơi chứ không chỉ nơi nó được học.
Thực thi có attest
Phần tiêu đề “Thực thi có attest”Khi lần chạy đã tự chủ, “cái này đã được review” phải có nghĩa là thứ mà script kiểm tra được. Control plane attested-execution phát hành bằng chứng gắn fingerprint: bằng chứng semantic_gate cho stage hoặc card đã review, bằng chứng live_verify cho lần deploy đã check, gắn với fingerprint của thứ mà chúng đã duyệt.
/flow attest semantic --stage <stage> --revision <rev> --owner <manifest>/flow attest semantic --card <id> --base <rev> --revision <rev> --owner <manifest>/flow attest live-verify <id> --revision <rev> --owner <manifest>/flow attest status [<stage|card>]/flow attest recover <C-NNN> --mark-failedMint chạy trên blob đã commit ở một revision cụ thể, chứ không phải những gì đang dở dang trong working tree. Bằng chứng live đòi đúng HEAD tip cộng với fingerprint được tính lại, nên sửa file sau khi duyệt sẽ làm mất hiệu lực lần duyệt đó, thay vì lặng lẽ thừa hưởng nó. status cho biết bằng chứng còn hiệu lực hay không. recover … --mark-failed là lối thoát Must-ask khi live verify kẹt giữa chừng: đánh dấu attempt đó là fail — không mint pass.
Khi /flow auto đang bật, check, lần flip card do CLI sở hữu, sẵn sàng dependency, và gỡ worktree đã merge đều đòi bằng chứng còn hiệu lực. /flow auto stop đưa bạn về mode thủ công chỉ-cảnh-báo. Không có đường tắt ẩn. Luật HALT của auto, kể cả HALT security-class, ở Khi việc phải dừng.
Bằng chứng phát hiện subject staleness. Chúng không xác thực actor, cũng không chống lại host thù địch. Chúng là hàng rào ngăn vòng tự chủ dùng lại chính lần duyệt đã cũ của nó.
Dành cho maintainer (không phải trang công khai): skills/flow/SKILL.md, skills/flow/references/codex-integration.md, skills/flow/references/antigravity-integration.md, skills/flow/references/attestations.md. Sơ đồ maintainer cần: docs/system-architecture.md.